diff --git a/README-EN.md b/README-EN.md index 11044f8f6..13cf46805 100644 --- a/README-EN.md +++ b/README-EN.md @@ -29,16 +29,16 @@ FlutterUnit is a cross-platform experience app, Here, you can fully explore the --- -### Env and Build +### Env and Build #### Flutter Version ``` ·]>> flutter --version -Flutter 3.32.0 • channel stable • https://github.com/flutter/flutter.git -Framework • revision be698c48a6 (2 days ago) • 2025-05-19 12:59:14 -0700 -Engine • revision 1881800949 (2 days ago) • 2025-05-19 10:54:07 -0700 -Tools • Dart 3.8.0 • DevTools 2.45.1 +Flutter 3.35.1 • channel stable • https://github.com/flutter/flutter.git +Framework • revision 20f8274939 (6 days ago) • 2025-08-14 10:53:09 -0700 +Engine • hash 6cd51c08a88e7bbe848a762c20ad3ecb8b063c0e (revision 1e9a811bf8) (7 days ago) • 2025-08-13 23:35:25.000Z +Tools • Dart 3.9.0 • DevTools 2.48.0 ``` #### Build Application diff --git a/README.md b/README.md index 9e4306022..0881234c8 100644 --- a/README.md +++ b/README.md @@ -34,10 +34,10 @@ FlutterUnit 是一个全平台体验应用,你可以在这里尽情体验 Flut ``` ·]>> flutter --version -Flutter 3.32.0 • channel stable • https://github.com/flutter/flutter.git -Framework • revision be698c48a6 (2 days ago) • 2025-05-19 12:59:14 -0700 -Engine • revision 1881800949 (2 days ago) • 2025-05-19 10:54:07 -0700 -Tools • Dart 3.8.0 • DevTools 2.45.1 +Flutter 3.35.1 • channel stable • https://github.com/flutter/flutter.git +Framework • revision 20f8274939 (6 days ago) • 2025-08-14 10:53:09 -0700 +Engine • hash 6cd51c08a88e7bbe848a762c20ad3ecb8b063c0e (revision 1e9a811bf8) (7 days ago) • 2025-08-13 23:35:25.000Z +Tools • Dart 3.9.0 • DevTools 2.48.0 ``` #### 构建应用 diff --git a/assets/article.db b/assets/article.db new file mode 100644 index 000000000..2d4ee64f0 Binary files /dev/null and b/assets/article.db differ diff --git a/assets/flutter.db b/assets/flutter.db index b09da0bcc..4ca299955 100644 Binary files a/assets/flutter.db and b/assets/flutter.db differ diff --git a/assets/images/widgets/Banner.svg b/assets/images/widgets/Banner.svg index e4f8b66d7..27c390ff1 100644 --- a/assets/images/widgets/Banner.svg +++ b/assets/images/widgets/Banner.svg @@ -5,16 +5,6 @@ - - - - - - - - - - diff --git a/assets/images/widgets/Card.svg b/assets/images/widgets/Card.svg index b69099b84..62d2d4b8d 100644 --- a/assets/images/widgets/Card.svg +++ b/assets/images/widgets/Card.svg @@ -5,22 +5,6 @@ - - - - - - - - - - - - - - - - diff --git a/assets/images/widgets/Chip.svg b/assets/images/widgets/Chip.svg index cea4cbee4..a66547522 100644 --- a/assets/images/widgets/Chip.svg +++ b/assets/images/widgets/Chip.svg @@ -9,16 +9,6 @@ - - - - - - - - - - diff --git a/assets/images/widgets/Container.svg b/assets/images/widgets/Container.svg index be18043df..c1500829f 100644 --- a/assets/images/widgets/Container.svg +++ b/assets/images/widgets/Container.svg @@ -11,16 +11,6 @@ - - - - - - - - - - diff --git a/assets/images/widgets/FilterChip.svg b/assets/images/widgets/FilterChip.svg index 7a3f6fdd2..2c0214a26 100644 --- a/assets/images/widgets/FilterChip.svg +++ b/assets/images/widgets/FilterChip.svg @@ -11,16 +11,6 @@ - - - - - - - - - - diff --git a/assets/images/widgets/InputChip.svg b/assets/images/widgets/InputChip.svg index b739a7ae0..d50adf71c 100644 --- a/assets/images/widgets/InputChip.svg +++ b/assets/images/widgets/InputChip.svg @@ -13,16 +13,6 @@ - - - - - - - - - - diff --git a/assets/images/widgets/MaterialButton.svg b/assets/images/widgets/MaterialButton.svg index 7ace688c5..11b59f54b 100644 --- a/assets/images/widgets/MaterialButton.svg +++ b/assets/images/widgets/MaterialButton.svg @@ -5,16 +5,6 @@ - - - - - - - - - - diff --git a/assets/version.json b/assets/version.json index 231c882a0..0c311e970 100644 --- a/assets/version.json +++ b/assets/version.json @@ -1,3 +1,3 @@ { - "dbVersion": 4 + "dbVersion": 5 } \ No newline at end of file diff --git a/doc/development/architecture.md b/doc/development/architecture.md new file mode 100644 index 000000000..65c14cf2b --- /dev/null +++ b/doc/development/architecture.md @@ -0,0 +1,247 @@ +# FlutterUnit 架构设计文档 + +## 项目概述 + +FlutterUnit 是一个全平台的 Flutter 组件展示和学习应用,支持 Android、iOS、Web、Windows、macOS 和 Linux 平台。项目采用模块化架构,提供了 300+ Flutter 组件的详细展示、代码示例和交互演示。 + +## 技术栈 + +- **框架**: Flutter 3.35.1 +- **状态管理**: flutter_bloc (BLoC 模式) +- **路由管理**: go_router +- **数据库**: SQLite (本地数据存储) +- **网络请求**: dio +- **国际化**: flutter_localizations +- **UI组件**: 自研 TolyUI 组件库 + +## 整体架构 + +### 分层架构 + +``` +┌─────────────────────────────────────┐ +│ Presentation Layer │ ← UI层 (Views/Pages) +├─────────────────────────────────────┤ +│ Business Logic Layer │ ← 业务逻辑层 (BLoC) +├─────────────────────────────────────┤ +│ Repository Layer │ ← 仓储层 (Repository) +├─────────────────────────────────────┤ +│ Data Source Layer │ ← 数据源层 (Database/API) +└─────────────────────────────────────┘ +``` + +### 模块化设计 + +``` +FlutterUnit/ +├── modules/ +│ ├── basic_system/ # 基础系统模块 +│ │ ├── app/ # 应用核心配置 +│ │ ├── app_update/ # 应用更新 +│ │ ├── authentication/ # 用户认证 +│ │ ├── components/ # 通用组件 +│ │ ├── l10n/ # 国际化 +│ │ ├── storage/ # 数据存储 +│ │ ├── toly_ui/ # UI组件库 +│ │ └── utils/ # 工具类 +│ ├── widget_system/ # 组件系统模块 +│ │ ├── widget_module/ # 组件业务逻辑 +│ │ ├── widget_repository/ # 组件数据仓储 +│ │ └── widget_ui/ # 组件UI展示 +│ ├── knowledge_system/ # 知识系统模块 +│ │ ├── algorithm/ # 算法相关 +│ │ ├── artifact/ # 工件管理 +│ │ ├── awesome/ # 精选内容 +│ │ ├── layout/ # 布局相关 +│ │ └── note/ # 笔记功能 +│ ├── painting_system/ # 绘制系统模块 +│ │ └── draw_system/ # 自定义绘制 +│ └── tools_system/ # 工具系统模块 +│ └── treasure_tools/ # 实用工具集 +└── lib/ + ├── src/ + │ ├── navigation/ # 路由导航 + │ ├── l10n/ # 本地化 + │ └── starter/ # 应用启动 + └── main.dart +``` + +## 核心架构组件 + +### 1. 应用启动器 (FxApplication) + +```dart +class FxApplication with FxStarter { + @override + Widget get app => const AppBlocProvider(child: FlutterUnit3()); + + @override + AppStartRepository get repository => const FlutterUnitStartRepo(); +} +``` + +**职责**: +- 应用启动流程管理 +- 全局配置初始化 +- 错误处理和监控 + +### 2. 状态管理 (BLoC 模式) + +``` +Event → BLoC → State → UI + ↑ ↓ + └── User Interaction ┘ +``` + +**主要 BLoC**: +- `AppConfigBloc`: 应用配置管理 +- `WidgetsBloc`: 组件数据管理 +- `CategoryBloc`: 分类管理 +- `LikeWidgetBloc`: 收藏功能 + +### 3. 路由架构 + +```dart +GoRoute( + path: AppRoute.home.path, + routes: [ + if (kAppEnv.isDesktopUI) + ShellRoute( + builder: (_, __, Widget child) => AppDeskNavigation(content: child), + routes: body, + ), + if (!kAppEnv.isDesktopUI) ...body, + ], +) +``` + +**特点**: +- 支持桌面端和移动端不同导航 +- 声明式路由配置 +- 深度链接支持 + +### 4. 数据层架构 + +#### Repository 模式 + +```dart +abstract class WidgetRepository { + Future> loadWidgets(); + Future findWidget(int id); + Future> loadNodeByWidgetId(int widgetId); +} +``` + +**实现层**: +- `WidgetDbRepository`: 数据库实现 +- `MemoryWidgetRepository`: 内存缓存实现 + +#### 数据库设计 + +**核心表**: +- `widget`: Widget基本信息 +- `node`: 示例代码节点 +- `category`: Widget分类 + +详见: [数据表结构总览](../modules/widget_system/widget_repository/doc/tables_overview.md) + +## 平台适配 + +### 平台检测 + +```dart +class kAppEnv { + static bool get isWeb; + static bool get isDesktopUI; + static bool get isMobile; +} +``` + +### 响应式设计 + +- **移动端**: 底部导航 + 侧滑菜单 +- **桌面端**: 侧边栏导航 + 多窗口布局 +- **Web端**: 响应式布局适配 + +## 核心功能 + +### 1. 组件展示系统 + +- 300+ Flutter组件收录 +- 实时代码演示 +- 交互式组件体验 +- 组件关联跳转 + +### 2. 搜索与过滤 + +- 组件名称搜索 +- 星级过滤 +- 分类筛选 + +### 3. 收藏系统 + +- 自定义收藏集 +- 收藏集管理 +- 批量操作 + +### 4. 主题系统 + +- 明暗主题切换 +- 8种预设颜色主题 +- 6种字体选择 +- 自定义代码高亮 + +## 性能优化 + +### 1. 数据缓存 +- 内存缓存: 热点数据常驻内存 +- 数据库缓存: 本地SQLite存储 + +### 2. 懒加载 +- 路由懒加载: 按需加载页面 +- 组件懒加载: 滚动时动态加载 + +### 3. 构建优化 +- 代码分割: 模块化打包 +- 资源优化: 图片压缩、字体子集化 + +## 构建与部署 + +### 多平台构建 + +```bash +# Android +flutter build apk --target-platform --split-per-abi + +# iOS +flutter build ios + +# Web +flutter build web + +# Desktop +flutter build windows +flutter build macos +flutter build linux +``` + +### 发布渠道 + +- Android: APK 直接下载 +- iOS: App Store +- Web: 在线访问 +- Desktop: 可执行文件下载 + +## 开发规范 + +### 代码规范 +- 遵循 Dart 官方代码规范 +- 使用 `flutter_lints` 进行代码检查 + +### 模块规范 +- 每个模块独立的 `pubspec.yaml` +- 清晰的模块边界和依赖关系 + +### 测试规范 +- 单元测试覆盖核心业务逻辑 +- Widget测试验证UI行为 \ No newline at end of file diff --git a/lib/src/navigation/view/mobile/unit_navigation.dart b/lib/src/navigation/view/mobile/unit_navigation.dart index 702bca963..2873021dc 100644 --- a/lib/src/navigation/view/mobile/unit_navigation.dart +++ b/lib/src/navigation/view/mobile/unit_navigation.dart @@ -96,7 +96,7 @@ class _UnitPhoneNavigationState extends State { _controller.jumpToPage(index); _activeTab.value = AppTab.values[index]; if (index == 3) { - BlocProvider.of(context).add(const EventLoadLikeData()); + context.read().loadLikeData(); } } } diff --git a/lib/src/starter/fx_application.dart b/lib/src/starter/fx_application.dart index f66b52b39..b029751d0 100644 --- a/lib/src/starter/fx_application.dart +++ b/lib/src/starter/fx_application.dart @@ -24,12 +24,12 @@ class FxApplication with FxStarter { AppStartRepository get repository => const FlutterUnitStartRepo(); @override - void onLoaded(BuildContext context, int cost, AppConfig state) { + void onLoaded(BuildContext context, int cost, AppConfig state) async { debugPrint("App启动耗时:$cost ms"); context.read().init(state); context.initWidgetData(); if (!kAppEnv.isWeb) { - context.read().add(const EventLoadLikeData()); + context.read().loadLikeData(); context.read().add(const EventLoadCategory()); context.read().load(); } diff --git a/lib/src/starter/start_repository.dart b/lib/src/starter/start_repository.dart index 86aea38b0..e022bdf03 100644 --- a/lib/src/starter/start_repository.dart +++ b/lib/src/starter/start_repository.dart @@ -11,8 +11,9 @@ import 'package:shared_preferences/shared_preferences.dart'; import 'package:storage/storage.dart'; import 'package:path/path.dart' as path; import 'package:utils/utils.dart'; - +import 'package:path/path.dart' as p; import 'bridge/unit_bridge.dart'; +import 'package:widget_module/widget_module.dart'; class FlutterUnitStartRepo implements AppStartRepository { const FlutterUnitStartRepo(); @@ -31,6 +32,8 @@ class FlutterUnitStartRepo implements AppStartRepository { registerHttpClient(); NoteEnv().attachBridge(UnitNoteBridge()); if (!kAppEnv.isWeb) await initDb(); + await initWidgetStatistics(); // 加载统计数据 + HttpUtil.instance.rebase(PathUnit.baseUrl); AppConfigPo po = await SpStorage().appConfig.read(); AppConfig state = AppConfig.fromPo(po); @@ -54,11 +57,19 @@ class FlutterUnitStartRepo implements AppStartRepository { if (!dir.existsSync()) { await dir.create(recursive: true); } - ByteData data = await rootBundle.load("assets/flutter.db"); - List bytes = - data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes); - await File(dbPath).writeAsBytes(bytes, flush: true); - + { + ByteData data = await rootBundle.load("assets/flutter.db"); + List bytes = + data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes); + await File(dbPath).writeAsBytes(bytes, flush: true); + } + { + ByteData data = await rootBundle.load("assets/article.db"); + List bytes = + data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes); + await File(p.join(dir.path, 'article.db')) + .writeAsBytes(bytes, flush: true); + } print("=====flutter.db==== assets ======拷贝完成===="); } diff --git a/lib/src/starter/view/splash/Flutter_unit_splash.dart b/lib/src/starter/view/splash/Flutter_unit_splash.dart index e9d55f1eb..fadb85b50 100644 --- a/lib/src/starter/view/splash/Flutter_unit_splash.dart +++ b/lib/src/starter/view/splash/Flutter_unit_splash.dart @@ -22,6 +22,7 @@ class FlutterUnitSplash extends StatelessWidget { value: SystemUiOverlayStyle( statusBarColor: Colors.transparent, statusBarIconBrightness: Brightness.dark, + systemNavigationBarColor: Colors.transparent, ), child: Material(color: Colors.white, child: _SplashBody()), ), @@ -74,7 +75,7 @@ class _SplashBody extends StatelessWidget { crossAxisAlignment: WrapCrossAlignment.center, children: [ Text("Power By 张风捷特烈", style: shadowStyle), - Text("· 2021 · @编程之王 ", style: shadowStyle), + Text("· 2025 · @编程之王 ", style: shadowStyle), ], )), ], @@ -101,7 +102,11 @@ class ColorfulText extends StatelessWidget { ); return Text( "U", - style: TextStyle(fontSize: 26, height: 1, fontWeight: FontWeight.bold, foreground: paint), + style: TextStyle( + fontSize: 26, + height: 1, + fontWeight: FontWeight.bold, + foreground: paint), ); } } diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 43f825ccf..faea87d4e 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -6,19 +6,11 @@ #include "generated_plugin_registrant.h" -#include -#include #include #include #include void fl_register_plugins(FlPluginRegistry* registry) { - g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); - file_selector_plugin_register_with_registrar(file_selector_linux_registrar); - g_autoptr(FlPluginRegistrar) open_file_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "OpenFileLinuxPlugin"); - open_file_linux_plugin_register_with_registrar(open_file_linux_registrar); g_autoptr(FlPluginRegistrar) screen_retriever_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "ScreenRetrieverLinuxPlugin"); screen_retriever_linux_plugin_register_with_registrar(screen_retriever_linux_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 95b737f5c..4f427dd2a 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,8 +3,6 @@ # list(APPEND FLUTTER_PLUGIN_LIST - file_selector_linux - open_file_linux screen_retriever_linux url_launcher_linux window_manager diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 25112d2fa..ab2f2a3fc 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -6,10 +6,8 @@ import FlutterMacOS import Foundation import file_picker -import open_file_mac import package_info_plus import path_provider_foundation -import quill_native_bridge_macos import screen_retriever_macos import share_plus import shared_preferences_foundation @@ -20,10 +18,8 @@ import window_manager func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin")) - OpenFilePlugin.register(with: registry.registrar(forPlugin: "OpenFilePlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) - QuillNativeBridgePlugin.register(with: registry.registrar(forPlugin: "QuillNativeBridgePlugin")) ScreenRetrieverMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverMacosPlugin")) SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) diff --git a/modules/basic_system/app/lib/app/cons/global_value.dart b/modules/basic_system/app/lib/app/cons/global_value.dart index 3e1babfa4..36c8608b2 100644 --- a/modules/basic_system/app/lib/app/cons/global_value.dart +++ b/modules/basic_system/app/lib/app/cons/global_value.dart @@ -6,7 +6,7 @@ import 'package:uuid/uuid.dart'; double px1 = 1 / window.devicePixelRatio; -String get kAppVersion => "3.2.0"; +String get kAppVersion => "3.2.3"; bool kIsDesk = kIsWeb || Platform.isMacOS || Platform.isWindows || Platform.isLinux; diff --git a/modules/basic_system/app/lib/app/cons/str_unit.dart b/modules/basic_system/app/lib/app/cons/str_unit.dart index 4345daddf..abfa191a2 100644 --- a/modules/basic_system/app/lib/app/cons/str_unit.dart +++ b/modules/basic_system/app/lib/app/cons/str_unit.dart @@ -7,7 +7,7 @@ import 'package:l10n/l10n.dart'; class StrUnit { // 小文字大小 - static const String version = 'V3.2.0'; + static const String version = 'V3.2.2'; static const String appName = 'Flutter Unit'; static String galleryDesc(BuildContext context) => """ diff --git a/modules/basic_system/app/lib/app/theme/app_theme.dart b/modules/basic_system/app/lib/app/theme/app_theme.dart index 7940d16a0..125bd7147 100644 --- a/modules/basic_system/app/lib/app/theme/app_theme.dart +++ b/modules/basic_system/app/lib/app/theme/app_theme.dart @@ -3,13 +3,13 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; ThemeData darkTheme(AppConfig state) { - Color scaffoldBackgroundColor = const Color(0xff010201); + const Color scaffoldBackgroundColor = Color(0xff010201); SystemUiOverlayStyle overlayStyle = const SystemUiOverlayStyle( - statusBarColor: Colors.transparent, - statusBarBrightness: Brightness.dark, - statusBarIconBrightness: Brightness.light, - ); + statusBarColor: Colors.transparent, + statusBarBrightness: Brightness.dark, + statusBarIconBrightness: Brightness.light, + systemNavigationBarColor: Color(0xff181818)); return ThemeData( scaffoldBackgroundColor: scaffoldBackgroundColor, @@ -51,7 +51,7 @@ ThemeData darkTheme(AppConfig state) { dividerTheme: DividerThemeData( color: const Color(0xff2F2F2F), space: px1, - thickness: px1, + thickness: divHeight, ), bottomNavigationBarTheme: const BottomNavigationBarThemeData( backgroundColor: Color(0xff181818), @@ -59,17 +59,25 @@ ThemeData darkTheme(AppConfig state) { ); } +double get divHeight { + if (kAppEnv.isAndroid) { + return 0.2; + } + return px1; +} + ThemeData lightTheme(AppConfig state) { SystemUiOverlayStyle overlayStyle = const SystemUiOverlayStyle( - statusBarColor: Colors.transparent, - statusBarBrightness: Brightness.light, - statusBarIconBrightness: Brightness.dark, - ); + statusBarColor: Colors.transparent, + statusBarBrightness: Brightness.light, + statusBarIconBrightness: Brightness.dark, + systemNavigationBarColor: Colors.transparent); String fontFamily = state.fontFamily; if (kAppEnv.isWindows) { fontFamily = '宋体'; } + return ThemeData( fontFamily: fontFamily, primaryColor: state.themeColor.color, @@ -88,7 +96,7 @@ ThemeData lightTheme(AppConfig state) { dividerTheme: DividerThemeData( color: const Color(0xffDEE0E2), space: px1, - thickness: px1, + thickness: divHeight, ), pageTransitionsTheme: const PageTransitionsTheme(builders: { TargetPlatform.android: SlidePageTransitionsBuilder(), diff --git a/modules/basic_system/app/lib/view/data_manage/data_manage_page.dart b/modules/basic_system/app/lib/view/data_manage/data_manage_page.dart index a2a714dc3..a6a38d011 100644 --- a/modules/basic_system/app/lib/view/data_manage/data_manage_page.dart +++ b/modules/basic_system/app/lib/view/data_manage/data_manage_page.dart @@ -81,7 +81,7 @@ class DataManagePage extends StatelessWidget { await File(dbPath).writeAsBytes(bytes, flush: true); print("==== debug ===== assets ======拷贝完成===="); BlocProvider.of(context).add(const EventLoadCategory()); - BlocProvider.of(context).add(const EventLoadLikeData()); + context.read().loadLikeData(); Toast.toast(context, '重置成功!'); } @@ -116,7 +116,7 @@ class DataManagePage extends StatelessWidget { await repository.syncCategoryByData( result.data!.data, result.data!.likeData); BlocProvider.of(context).add(const EventLoadCategory()); - BlocProvider.of(context).add(const EventLoadLikeData()); + context.read().loadLikeData(); } else { // 说明还没有后台数据, // 这里防止有傻孩子没点备份,就点同步,哥哥好心,给备份一下。 diff --git a/modules/basic_system/authentication/lib/views/mobile/user/page_item.dart b/modules/basic_system/authentication/lib/views/mobile/user/page_item.dart index 5e6131ebf..c01c44496 100644 --- a/modules/basic_system/authentication/lib/views/mobile/user/page_item.dart +++ b/modules/basic_system/authentication/lib/views/mobile/user/page_item.dart @@ -18,25 +18,31 @@ class MePageItem extends StatelessWidget { return _buildChild(context); } + Widget get divider { + return const Divider(); + } + Widget _buildChild(BuildContext context) { return ScrollConfiguration( behavior: NoScrollBehavior(), child: ListView( padding: EdgeInsets.zero, children: [ - const SizedBox( - height: 10, - ), + const SizedBox(height: 10), Gap.sfl10, - _buildItem(context, TolyIcon.icon_them, context.l10n.appSettings, AppRoute.settings.url), - const Divider(), - _buildItem( - context, TolyIcon.icon_layout, context.l10n.dataManagement, AppRoute.dataManage.url), - const Divider(), + _buildItem(context, TolyIcon.icon_them, context.l10n.appSettings, + AppRoute.settings.url), + divider, + _buildItem(context, TolyIcon.icon_layout, context.l10n.dataManagement, + AppRoute.dataManage.url), + divider, _buildItem( - context, TolyIcon.icon_collect, context.l10n.userCollection, AppRoute.collection.url,), + context, + TolyIcon.icon_collect, + context.l10n.userCollection, + AppRoute.collection.url, + ), Gap.sfl10, - Stack( children: [ _buildItem( @@ -48,13 +54,15 @@ class MePageItem extends StatelessWidget { const Positioned(left: 40, top: 10, child: UpdateRedPoint()) ], ), - const Divider(), - _buildItem(context, Icons.info, context.l10n.aboutApplications, AppRoute.aboutApp.url), - + divider, + _buildItem(context, Icons.info, context.l10n.aboutApplications, + AppRoute.aboutApp.url), Gap.sfl10, - _buildItem(context, TolyIcon.icon_kafei, context.l10n.contactThisKing, AppRoute.aboutMe.url), - const Divider(), - _buildItem(context, Icons.sanitizer, context.l10n.homeAccountSupport, AppRoute.supportMe.url), + _buildItem(context, TolyIcon.icon_kafei, context.l10n.contactThisKing, + AppRoute.aboutMe.url), + divider, + _buildItem(context, Icons.sanitizer, context.l10n.homeAccountSupport, + AppRoute.supportMe.url), ], ), ); @@ -68,7 +76,7 @@ class MePageItem extends StatelessWidget { icon, color: Theme.of(context).primaryColor, ), - title: Text(title, style: const TextStyle(fontSize: 16)), + title: Text(title, style: const TextStyle(fontSize: 16)), trailing: Icon(Icons.chevron_right, color: Theme.of(context).primaryColor), onTap: () { diff --git a/modules/basic_system/components/lib/flutter_ui/toly_date_picker.dart b/modules/basic_system/components/lib/flutter_ui/toly_date_picker.dart index 7d7bc385a..495884cbc 100644 --- a/modules/basic_system/components/lib/flutter_ui/toly_date_picker.dart +++ b/modules/basic_system/components/lib/flutter_ui/toly_date_picker.dart @@ -144,20 +144,20 @@ Future showDatePicker({ firstDate = DateUtils.dateOnly(firstDate); lastDate = DateUtils.dateOnly(lastDate); assert( - !lastDate.isBefore(firstDate), - 'lastDate $lastDate must be on or after firstDate $firstDate.', + !lastDate.isBefore(firstDate), + 'lastDate $lastDate must be on or after firstDate $firstDate.', ); assert( - !initialDate.isBefore(firstDate), - 'initialDate $initialDate must be on or after firstDate $firstDate.', + !initialDate.isBefore(firstDate), + 'initialDate $initialDate must be on or after firstDate $firstDate.', ); assert( - !initialDate.isAfter(lastDate), - 'initialDate $initialDate must be on or before lastDate $lastDate.', + !initialDate.isAfter(lastDate), + 'initialDate $initialDate must be on or before lastDate $lastDate.', ); assert( - selectableDayPredicate == null || selectableDayPredicate(initialDate), - 'Provided initialDate $initialDate must satisfy provided selectableDayPredicate.', + selectableDayPredicate == null || selectableDayPredicate(initialDate), + 'Provided initialDate $initialDate must satisfy provided selectableDayPredicate.', ); assert(initialEntryMode != null); assert(useRootNavigator != null); @@ -237,7 +237,7 @@ class DatePickerDialog extends StatefulWidget { this.fieldLabelText, this.keyboardType, this.restorationId, - }) : assert(initialDate != null), + }) : assert(initialDate != null), assert(firstDate != null), assert(lastDate != null), initialDate = DateUtils.dateOnly(initialDate), @@ -247,20 +247,21 @@ class DatePickerDialog extends StatefulWidget { assert(initialEntryMode != null), assert(initialCalendarMode != null) { assert( - !this.lastDate.isBefore(this.firstDate), - 'lastDate ${this.lastDate} must be on or after firstDate ${this.firstDate}.', + !this.lastDate.isBefore(this.firstDate), + 'lastDate ${this.lastDate} must be on or after firstDate ${this.firstDate}.', ); assert( - !this.initialDate.isBefore(this.firstDate), - 'initialDate ${this.initialDate} must be on or after firstDate ${this.firstDate}.', + !this.initialDate.isBefore(this.firstDate), + 'initialDate ${this.initialDate} must be on or after firstDate ${this.firstDate}.', ); assert( - !this.initialDate.isAfter(this.lastDate), - 'initialDate ${this.initialDate} must be on or before lastDate ${this.lastDate}.', + !this.initialDate.isAfter(this.lastDate), + 'initialDate ${this.initialDate} must be on or before lastDate ${this.lastDate}.', ); assert( - selectableDayPredicate == null || selectableDayPredicate!(this.initialDate), - 'Provided initialDate ${this.initialDate} must satisfy provided selectableDayPredicate', + selectableDayPredicate == null || + selectableDayPredicate!(this.initialDate), + 'Provided initialDate ${this.initialDate} must satisfy provided selectableDayPredicate', ); } @@ -343,10 +344,14 @@ class DatePickerDialog extends StatefulWidget { State createState() => _DatePickerDialogState(); } -class _DatePickerDialogState extends State with RestorationMixin { - late final RestorableDateTime _selectedDate = RestorableDateTime(widget.initialDate); - late final _RestorableDatePickerEntryMode _entryMode = _RestorableDatePickerEntryMode(widget.initialEntryMode); - final _RestorableAutovalidateMode _autovalidateMode = _RestorableAutovalidateMode(AutovalidateMode.disabled); +class _DatePickerDialogState extends State + with RestorationMixin { + late final RestorableDateTime _selectedDate = + RestorableDateTime(widget.initialDate); + late final _RestorableDatePickerEntryMode _entryMode = + _RestorableDatePickerEntryMode(widget.initialEntryMode); + final _RestorableAutovalidateMode _autovalidateMode = + _RestorableAutovalidateMode(AutovalidateMode.disabled); @override String? get restorationId => widget.restorationId; @@ -362,7 +367,8 @@ class _DatePickerDialogState extends State with RestorationMix final GlobalKey _formKey = GlobalKey(); void _handleOk() { - if (_entryMode.value == DatePickerEntryMode.input || _entryMode.value == DatePickerEntryMode.inputOnly) { + if (_entryMode.value == DatePickerEntryMode.input || + _entryMode.value == DatePickerEntryMode.inputOnly) { final FormState form = _formKey.currentState!; if (!form.validate()) { setState(() => _autovalidateMode.value = AutovalidateMode.always); @@ -424,7 +430,8 @@ class _DatePickerDialogState extends State with RestorationMix } } - static const Map _formShortcutMap = { + static const Map _formShortcutMap = + { // Pressing enter on the field will move focus to the next field or control. SingleActivator(LogicalKeyboardKey.enter): NextFocusIntent(), }; @@ -433,12 +440,14 @@ class _DatePickerDialogState extends State with RestorationMix Widget build(BuildContext context) { final ThemeData theme = Theme.of(context); final ColorScheme colorScheme = theme.colorScheme; - final MaterialLocalizations localizations = MaterialLocalizations.of(context); + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); final Orientation orientation = MediaQuery.of(context).orientation; final TextTheme textTheme = theme.textTheme; // Constrain the textScaleFactor to the largest supported value to prevent // layout issues. - final double textScaleFactor = math.min(MediaQuery.of(context).textScaleFactor, 1.3); + final double textScaleFactor = + math.min(MediaQuery.of(context).textScaleFactor, 1.3); final String dateText = localizations.formatMediumDate(_selectedDate.value); final Color onPrimarySurface = colorScheme.brightness == Brightness.light @@ -486,7 +495,9 @@ class _DatePickerDialogState extends State with RestorationMix autovalidateMode: _autovalidateMode.value, child: Container( padding: const EdgeInsets.symmetric(horizontal: 24), - height: orientation == Orientation.portrait ? _inputFormPortraitHeight : _inputFormLandscapeHeight, + height: orientation == Orientation.portrait + ? _inputFormPortraitHeight + : _inputFormLandscapeHeight, child: Shortcuts( shortcuts: _formShortcutMap, child: Column( @@ -559,7 +570,8 @@ class _DatePickerDialogState extends State with RestorationMix final Size dialogSize = _dialogSize(context) * textScaleFactor; return Dialog( - insetPadding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0), + insetPadding: + const EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0), clipBehavior: Clip.antiAlias, child: AnimatedContainer( width: dialogSize.width, @@ -611,10 +623,11 @@ class _DatePickerDialogState extends State with RestorationMix // A restorable [DatePickerEntryMode] value. // // This serializes each entry as a unique `int` value. -class _RestorableDatePickerEntryMode extends RestorableValue { +class _RestorableDatePickerEntryMode + extends RestorableValue { _RestorableDatePickerEntryMode( - DatePickerEntryMode defaultValue, - ) : _defaultValue = defaultValue; + DatePickerEntryMode defaultValue, + ) : _defaultValue = defaultValue; final DatePickerEntryMode _defaultValue; @@ -628,7 +641,8 @@ class _RestorableDatePickerEntryMode extends RestorableValue DatePickerEntryMode.values[data! as int]; + DatePickerEntryMode fromPrimitives(Object? data) => + DatePickerEntryMode.values[data! as int]; @override Object? toPrimitives() => value.index; @@ -639,8 +653,8 @@ class _RestorableDatePickerEntryMode extends RestorableValue { _RestorableAutovalidateMode( - AutovalidateMode defaultValue, - ) : _defaultValue = defaultValue; + AutovalidateMode defaultValue, + ) : _defaultValue = defaultValue; final AutovalidateMode _defaultValue; @@ -654,7 +668,8 @@ class _RestorableAutovalidateMode extends RestorableValue { } @override - AutovalidateMode fromPrimitives(Object? data) => AutovalidateMode.values[data! as int]; + AutovalidateMode fromPrimitives(Object? data) => + AutovalidateMode.values[data! as int]; @override Object? toPrimitives() => value.index; @@ -672,7 +687,6 @@ class _RestorableAutovalidateMode extends RestorableValue { /// [helpText], [orientation], [icon], [onIconPressed] are required and must be /// non-null. class _DatePickerHeader extends StatelessWidget { - /// Creates a header for use in a date picker dialog. const _DatePickerHeader({ required this.helpText, @@ -682,7 +696,7 @@ class _DatePickerHeader extends StatelessWidget { required this.orientation, this.isShort = false, this.entryModeButton, - }) : assert(helpText != null), + }) : assert(helpText != null), assert(orientation != null), assert(isShort != null); @@ -727,8 +741,10 @@ class _DatePickerHeader extends StatelessWidget { // The header should use the primary color in light themes and surface color in dark final bool isDark = colorScheme.brightness == Brightness.dark; - final Color primarySurfaceColor = isDark ? colorScheme.surface : colorScheme.primary; - final Color onPrimarySurfaceColor = isDark ? colorScheme.onSurface : colorScheme.onPrimary; + final Color primarySurfaceColor = + isDark ? colorScheme.surface : colorScheme.primary; + final Color onPrimarySurfaceColor = + isDark ? colorScheme.onSurface : colorScheme.onPrimary; final TextStyle? helpStyle = textTheme.headlineMedium?.copyWith( color: onPrimarySurfaceColor, @@ -768,8 +784,7 @@ class _DatePickerHeader extends StatelessWidget { Row( children: [ Expanded(child: title), - if (entryModeButton != null) - entryModeButton!, + if (entryModeButton != null) entryModeButton!, ], ), ], @@ -935,37 +950,40 @@ Future showDateRangePicker({ }) async { assert(context != null); assert( - initialDateRange == null || (initialDateRange.start != null && initialDateRange.end != null), - 'initialDateRange must be null or have non-null start and end dates.', + initialDateRange == null || + (initialDateRange.start != null && initialDateRange.end != null), + 'initialDateRange must be null or have non-null start and end dates.', ); assert( - initialDateRange == null || !initialDateRange.start.isAfter(initialDateRange.end), - "initialDateRange's start date must not be after it's end date.", + initialDateRange == null || + !initialDateRange.start.isAfter(initialDateRange.end), + "initialDateRange's start date must not be after it's end date.", ); - initialDateRange = initialDateRange == null ? null : DateUtils.datesOnly(initialDateRange); + initialDateRange = + initialDateRange == null ? null : DateUtils.datesOnly(initialDateRange); assert(firstDate != null); firstDate = DateUtils.dateOnly(firstDate); assert(lastDate != null); lastDate = DateUtils.dateOnly(lastDate); assert( - !lastDate.isBefore(firstDate), - 'lastDate $lastDate must be on or after firstDate $firstDate.', + !lastDate.isBefore(firstDate), + 'lastDate $lastDate must be on or after firstDate $firstDate.', ); assert( - initialDateRange == null || !initialDateRange.start.isBefore(firstDate), - "initialDateRange's start date must be on or after firstDate $firstDate.", + initialDateRange == null || !initialDateRange.start.isBefore(firstDate), + "initialDateRange's start date must be on or after firstDate $firstDate.", ); assert( - initialDateRange == null || !initialDateRange.end.isBefore(firstDate), - "initialDateRange's end date must be on or after firstDate $firstDate.", + initialDateRange == null || !initialDateRange.end.isBefore(firstDate), + "initialDateRange's end date must be on or after firstDate $firstDate.", ); assert( - initialDateRange == null || !initialDateRange.start.isAfter(lastDate), - "initialDateRange's start date must be on or before lastDate $lastDate.", + initialDateRange == null || !initialDateRange.start.isAfter(lastDate), + "initialDateRange's start date must be on or before lastDate $lastDate.", ); assert( - initialDateRange == null || !initialDateRange.end.isAfter(lastDate), - "initialDateRange's end date must be on or before lastDate $lastDate.", + initialDateRange == null || !initialDateRange.end.isAfter(lastDate), + "initialDateRange's end date must be on or before lastDate $lastDate.", ); currentDate = DateUtils.dateOnly(currentDate ?? DateTime.now()); assert(initialEntryMode != null); @@ -1024,12 +1042,13 @@ Future showDateRangePicker({ /// is in the same year as the `endDate` then it will use the short month /// day format (i.e. 'Jan 21'). Otherwise it will return the short date format /// (i.e. 'Jan 21, 2020'). -String _formatRangeStartDate(MaterialLocalizations localizations, DateTime? startDate, DateTime? endDate) { +String _formatRangeStartDate(MaterialLocalizations localizations, + DateTime? startDate, DateTime? endDate) { return startDate == null ? localizations.dateRangeStartLabel : (endDate == null || startDate.year == endDate.year) - ? localizations.formatShortMonthDay(startDate) - : localizations.formatShortDate(startDate); + ? localizations.formatShortMonthDay(startDate) + : localizations.formatShortDate(startDate); } /// Returns an locale-appropriate string to describe the end of a date range. @@ -1038,12 +1057,15 @@ String _formatRangeStartDate(MaterialLocalizations localizations, DateTime? star /// is in the same year as the `startDate` and the `currentDate` then it will /// just use the short month day format (i.e. 'Jan 21'), otherwise it will /// include the year (i.e. 'Jan 21, 2020'). -String _formatRangeEndDate(MaterialLocalizations localizations, DateTime? startDate, DateTime? endDate, DateTime currentDate) { +String _formatRangeEndDate(MaterialLocalizations localizations, + DateTime? startDate, DateTime? endDate, DateTime currentDate) { return endDate == null ? localizations.dateRangeEndLabel - : (startDate != null && startDate.year == endDate.year && startDate.year == currentDate.year) - ? localizations.formatShortMonthDay(endDate) - : localizations.formatShortDate(endDate); + : (startDate != null && + startDate.year == endDate.year && + startDate.year == currentDate.year) + ? localizations.formatShortMonthDay(endDate) + : localizations.formatShortDate(endDate); } /// A Material-style date range picker dialog. @@ -1199,13 +1221,18 @@ class DateRangePickerDialog extends StatefulWidget { State createState() => _DateRangePickerDialogState(); } -class _DateRangePickerDialogState extends State with RestorationMixin { - late final _RestorableDatePickerEntryMode _entryMode = _RestorableDatePickerEntryMode(widget.initialEntryMode); - late final RestorableDateTimeN _selectedStart = RestorableDateTimeN(widget.initialDateRange?.start); - late final RestorableDateTimeN _selectedEnd = RestorableDateTimeN(widget.initialDateRange?.end); +class _DateRangePickerDialogState extends State + with RestorationMixin { + late final _RestorableDatePickerEntryMode _entryMode = + _RestorableDatePickerEntryMode(widget.initialEntryMode); + late final RestorableDateTimeN _selectedStart = + RestorableDateTimeN(widget.initialDateRange?.start); + late final RestorableDateTimeN _selectedEnd = + RestorableDateTimeN(widget.initialDateRange?.end); final RestorableBool _autoValidate = RestorableBool(false); final GlobalKey _calendarPickerKey = GlobalKey(); - final GlobalKey<_InputDateRangePickerState> _inputPickerKey = GlobalKey<_InputDateRangePickerState>(); + final GlobalKey<_InputDateRangePickerState> _inputPickerKey = + GlobalKey<_InputDateRangePickerState>(); @override String? get restorationId => widget.restorationId; @@ -1219,7 +1246,8 @@ class _DateRangePickerDialogState extends State with Rest } void _handleOk() { - if (_entryMode.value == DatePickerEntryMode.input || _entryMode.value == DatePickerEntryMode.inputOnly) { + if (_entryMode.value == DatePickerEntryMode.input || + _entryMode.value == DatePickerEntryMode.inputOnly) { final _InputDateRangePickerState picker = _inputPickerKey.currentState!; if (!picker.validate()) { setState(() { @@ -1248,19 +1276,23 @@ class _DateRangePickerDialogState extends State with Rest break; case DatePickerEntryMode.input: - // Validate the range dates + // Validate the range dates if (_selectedStart.value != null && - (_selectedStart.value!.isBefore(widget.firstDate) || _selectedStart.value!.isAfter(widget.lastDate))) { + (_selectedStart.value!.isBefore(widget.firstDate) || + _selectedStart.value!.isAfter(widget.lastDate))) { _selectedStart.value = null; // With no valid start date, having an end date makes no sense for the UI. _selectedEnd.value = null; } if (_selectedEnd.value != null && - (_selectedEnd.value!.isBefore(widget.firstDate) || _selectedEnd.value!.isAfter(widget.lastDate))) { + (_selectedEnd.value!.isBefore(widget.firstDate) || + _selectedEnd.value!.isAfter(widget.lastDate))) { _selectedEnd.value = null; } // If invalid range (start after end), then just use the start date - if (_selectedStart.value != null && _selectedEnd.value != null && _selectedStart.value!.isAfter(_selectedEnd.value!)) { + if (_selectedStart.value != null && + _selectedEnd.value != null && + _selectedStart.value!.isAfter(_selectedEnd.value!)) { _selectedEnd.value = null; } _entryMode.value = DatePickerEntryMode.calendar; @@ -1282,14 +1314,16 @@ class _DateRangePickerDialogState extends State with Rest setState(() => _selectedEnd.value = date); } - bool get _hasSelectedDateRange => _selectedStart.value != null && _selectedEnd.value != null; + bool get _hasSelectedDateRange => + _selectedStart.value != null && _selectedEnd.value != null; @override Widget build(BuildContext context) { final MediaQueryData mediaQuery = MediaQuery.of(context); final Orientation orientation = mediaQuery.orientation; final double textScaleFactor = math.min(mediaQuery.textScaleFactor, 1.3); - final MaterialLocalizations localizations = MaterialLocalizations.of(context); + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); final ColorScheme colors = Theme.of(context).colorScheme; final Color onPrimarySurface = colors.brightness == Brightness.light ? colors.onPrimary @@ -1319,12 +1353,12 @@ class _DateRangePickerDialogState extends State with Rest onCancel: _handleCancel, entryModeButton: showEntryModeButton ? IconButton( - icon: const Icon(Icons.edit), - padding: EdgeInsets.zero, - color: onPrimarySurface, - tooltip: localizations.inputDateModeButtonLabel, - onPressed: _handleEntryModeToggle, - ) + icon: const Icon(Icons.edit), + padding: EdgeInsets.zero, + color: onPrimarySurface, + tooltip: localizations.inputDateModeButtonLabel, + onPressed: _handleEntryModeToggle, + ) : null, confirmText: widget.saveText ?? localizations.saveButtonLabel, helpText: widget.helpText ?? localizations.dateRangePickerHelpText, @@ -1376,20 +1410,23 @@ class _DateRangePickerDialogState extends State with Rest onCancel: _handleCancel, entryModeButton: showEntryModeButton ? IconButton( - icon: const Icon(Icons.calendar_today), - padding: EdgeInsets.zero, - color: onPrimarySurface, - tooltip: localizations.calendarModeButtonLabel, - onPressed: _handleEntryModeToggle, - ) + icon: const Icon(Icons.calendar_today), + padding: EdgeInsets.zero, + color: onPrimarySurface, + tooltip: localizations.calendarModeButtonLabel, + onPressed: _handleEntryModeToggle, + ) : null, confirmText: widget.confirmText ?? localizations.okButtonLabel, cancelText: widget.cancelText ?? localizations.cancelButtonLabel, helpText: widget.helpText ?? localizations.dateRangePickerHelpText, ); final DialogThemeData dialogTheme = Theme.of(context).dialogTheme; - size = orientation == Orientation.portrait ? _inputPortraitDialogSize : _inputRangeLandscapeDialogSize; - insetPadding = const EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0); + size = orientation == Orientation.portrait + ? _inputPortraitDialogSize + : _inputRangeLandscapeDialogSize; + insetPadding = + const EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0); shape = dialogTheme.shape; elevation = dialogTheme.elevation ?? 24; break; @@ -1452,21 +1489,27 @@ class _CalendarRangePickerDialog extends StatelessWidget { Widget build(BuildContext context) { final ThemeData theme = Theme.of(context); final ColorScheme colorScheme = theme.colorScheme; - final MaterialLocalizations localizations = MaterialLocalizations.of(context); + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); final Orientation orientation = MediaQuery.of(context).orientation; final TextTheme textTheme = theme.textTheme; final Color headerForeground = colorScheme.brightness == Brightness.light ? colorScheme.onPrimary : colorScheme.onSurface; final Color headerDisabledForeground = headerForeground.withOpacity(0.38); - final String startDateText = _formatRangeStartDate(localizations, selectedStartDate, selectedEndDate); - final String endDateText = _formatRangeEndDate(localizations, selectedStartDate, selectedEndDate, DateTime.now()); + final String startDateText = _formatRangeStartDate( + localizations, selectedStartDate, selectedEndDate); + final String endDateText = _formatRangeEndDate( + localizations, selectedStartDate, selectedEndDate, DateTime.now()); final TextStyle? headlineStyle = textTheme.headlineMedium; final TextStyle? startDateStyle = headlineStyle?.apply( - color: selectedStartDate != null ? headerForeground : headerDisabledForeground, + color: selectedStartDate != null + ? headerForeground + : headerDisabledForeground, ); final TextStyle? endDateStyle = headlineStyle?.apply( - color: selectedEndDate != null ? headerForeground : headerDisabledForeground, + color: + selectedEndDate != null ? headerForeground : headerDisabledForeground, ); final TextStyle saveButtonStyle = textTheme.headlineMedium!.apply( color: onConfirm != null ? headerForeground : headerDisabledForeground, @@ -1493,7 +1536,8 @@ class _CalendarRangePickerDialog extends StatelessWidget { bottom: PreferredSize( preferredSize: const Size(double.infinity, 64), child: Row(children: [ - SizedBox(width: MediaQuery.of(context).size.width < 360 ? 42 : 72), + SizedBox( + width: MediaQuery.of(context).size.width < 360 ? 42 : 72), Expanded( child: Semantics( label: '$helpText $startDateText to $endDateText', @@ -1516,7 +1560,9 @@ class _CalendarRangePickerDialog extends StatelessWidget { maxLines: 1, overflow: TextOverflow.ellipsis, ), - Text(' – ', style: startDateStyle, + Text( + ' – ', + style: startDateStyle, ), Flexible( child: Text( @@ -1533,7 +1579,8 @@ class _CalendarRangePickerDialog extends StatelessWidget { ), ), ), - if (orientation == Orientation.portrait && entryModeButton != null) + if (orientation == Orientation.portrait && + entryModeButton != null) Padding( padding: const EdgeInsets.symmetric(horizontal: 8.0), child: entryModeButton, @@ -1577,20 +1624,25 @@ class _CalendarDateRangePicker extends StatefulWidget { DateTime? currentDate, required this.onStartDateChanged, required this.onEndDateChanged, - }) : initialStartDate = initialStartDate != null ? DateUtils.dateOnly(initialStartDate) : null, - initialEndDate = initialEndDate != null ? DateUtils.dateOnly(initialEndDate) : null, + }) : initialStartDate = initialStartDate != null + ? DateUtils.dateOnly(initialStartDate) + : null, + initialEndDate = + initialEndDate != null ? DateUtils.dateOnly(initialEndDate) : null, assert(firstDate != null), assert(lastDate != null), firstDate = DateUtils.dateOnly(firstDate), lastDate = DateUtils.dateOnly(lastDate), currentDate = DateUtils.dateOnly(currentDate ?? DateTime.now()) { assert( - this.initialStartDate == null || this.initialEndDate == null || !this.initialStartDate!.isAfter(initialEndDate!), - 'initialStartDate must be on or before initialEndDate.', + this.initialStartDate == null || + this.initialEndDate == null || + !this.initialStartDate!.isAfter(initialEndDate!), + 'initialStartDate must be on or before initialEndDate.', ); assert( - !this.lastDate.isBefore(this.firstDate), - 'firstDate must be on or before lastDate.', + !this.lastDate.isBefore(this.firstDate), + 'firstDate must be on or before lastDate.', ); } @@ -1616,7 +1668,8 @@ class _CalendarDateRangePicker extends StatefulWidget { final ValueChanged? onEndDateChanged; @override - _CalendarDateRangePickerState createState() => _CalendarDateRangePickerState(); + _CalendarDateRangePickerState createState() => + _CalendarDateRangePickerState(); } class _CalendarDateRangePickerState extends State<_CalendarDateRangePicker> { @@ -1665,7 +1718,8 @@ class _CalendarDateRangePickerState extends State<_CalendarDateRangePicker> { } } - int get _numberOfMonths => DateUtils.monthDelta(widget.firstDate, widget.lastDate) + 1; + int get _numberOfMonths => + DateUtils.monthDelta(widget.firstDate, widget.lastDate) + 1; void _vibrate() { switch (Theme.of(context).platform) { @@ -1693,7 +1747,9 @@ class _CalendarDateRangePickerState extends State<_CalendarDateRangePicker> { void _updateSelection(DateTime date) { _vibrate(); setState(() { - if (_startDate != null && _endDate == null && !date.isBefore(_startDate!)) { + if (_startDate != null && + _endDate == null && + !date.isBefore(_startDate!)) { _endDate = date; widget.onEndDateChanged?.call(_endDate); } else { @@ -1707,15 +1763,20 @@ class _CalendarDateRangePickerState extends State<_CalendarDateRangePicker> { }); } - Widget _buildMonthItem(BuildContext context, int index, bool beforeInitialMonth) { + Widget _buildMonthItem( + BuildContext context, int index, bool beforeInitialMonth) { final int monthIndex = beforeInitialMonth ? _initialMonthIndex - index - 1 : _initialMonthIndex + index; - final DateTime month = DateUtils.addMonthsToMonthDate(widget.firstDate, monthIndex); + final DateTime month = + DateUtils.addMonthsToMonthDate(widget.firstDate, monthIndex); return Stack( alignment: Alignment.center, children: [ - Text("${month.month}",style: TextStyle(fontSize: 200,color: Colors.grey.withOpacity(0.1)),), + Text( + "${month.month}", + style: TextStyle(fontSize: 200, color: Colors.grey.withOpacity(0.1)), + ), _MonthItem( selectedDateStart: _startDate, selectedDateEnd: _endDate, @@ -1741,7 +1802,8 @@ class _CalendarDateRangePickerState extends State<_CalendarDateRangePicker> { child: _CalendarKeyboardNavigator( firstDate: widget.firstDate, lastDate: widget.lastDate, - initialFocusedDay: _startDate ?? widget.initialStartDate ?? widget.currentDate, + initialFocusedDay: + _startDate ?? widget.initialStartDate ?? widget.currentDate, // In order to prevent performance issues when displaying the // correct initial month, 2 `SliverList`s are used to split the // months. The first item in the second SliverList is the initial @@ -1753,14 +1815,16 @@ class _CalendarDateRangePickerState extends State<_CalendarDateRangePicker> { slivers: [ SliverList( delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) => _buildMonthItem(context, index, true), + (BuildContext context, int index) => + _buildMonthItem(context, index, true), childCount: _initialMonthIndex, ), ), SliverList( key: sliverAfterKey, delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) => _buildMonthItem(context, index, false), + (BuildContext context, int index) => + _buildMonthItem(context, index, false), childCount: _numberOfMonths - _initialMonthIndex, ), ), @@ -1787,16 +1851,22 @@ class _CalendarKeyboardNavigator extends StatefulWidget { final DateTime initialFocusedDay; @override - _CalendarKeyboardNavigatorState createState() => _CalendarKeyboardNavigatorState(); + _CalendarKeyboardNavigatorState createState() => + _CalendarKeyboardNavigatorState(); } -class _CalendarKeyboardNavigatorState extends State<_CalendarKeyboardNavigator> { - - final Map _shortcutMap = const { - SingleActivator(LogicalKeyboardKey.arrowLeft): DirectionalFocusIntent(TraversalDirection.left), - SingleActivator(LogicalKeyboardKey.arrowRight): DirectionalFocusIntent(TraversalDirection.right), - SingleActivator(LogicalKeyboardKey.arrowDown): DirectionalFocusIntent(TraversalDirection.down), - SingleActivator(LogicalKeyboardKey.arrowUp): DirectionalFocusIntent(TraversalDirection.up), +class _CalendarKeyboardNavigatorState + extends State<_CalendarKeyboardNavigator> { + final Map _shortcutMap = + const { + SingleActivator(LogicalKeyboardKey.arrowLeft): + DirectionalFocusIntent(TraversalDirection.left), + SingleActivator(LogicalKeyboardKey.arrowRight): + DirectionalFocusIntent(TraversalDirection.right), + SingleActivator(LogicalKeyboardKey.arrowDown): + DirectionalFocusIntent(TraversalDirection.down), + SingleActivator(LogicalKeyboardKey.arrowUp): + DirectionalFocusIntent(TraversalDirection.up), }; late Map> _actionMap; late FocusNode _dayGridFocus; @@ -1808,9 +1878,12 @@ class _CalendarKeyboardNavigatorState extends State<_CalendarKeyboardNavigator> super.initState(); _actionMap = >{ - NextFocusIntent: CallbackAction(onInvoke: _handleGridNextFocus), - PreviousFocusIntent: CallbackAction(onInvoke: _handleGridPreviousFocus), - DirectionalFocusIntent: CallbackAction(onInvoke: _handleDirectionFocus), + NextFocusIntent: + CallbackAction(onInvoke: _handleGridNextFocus), + PreviousFocusIntent: CallbackAction( + onInvoke: _handleGridPreviousFocus), + DirectionalFocusIntent: CallbackAction( + onInvoke: _handleDirectionFocus), }; _dayGridFocus = FocusNode(debugLabel: 'Day Grid'); } @@ -1853,7 +1926,8 @@ class _CalendarKeyboardNavigatorState extends State<_CalendarKeyboardNavigator> void _handleDirectionFocus(DirectionalFocusIntent intent) { assert(_focusedDay != null); setState(() { - final DateTime? nextDate = _nextDateInDirection(_focusedDay!, intent.direction); + final DateTime? nextDate = + _nextDateInDirection(_focusedDay!, intent.direction); if (nextDate != null) { _focusedDay = nextDate; _dayTraversalDirection = intent.direction; @@ -1861,14 +1935,16 @@ class _CalendarKeyboardNavigatorState extends State<_CalendarKeyboardNavigator> }); } - static const Map _directionOffset = { + static const Map _directionOffset = + { TraversalDirection.up: -DateTime.daysPerWeek, TraversalDirection.right: 1, TraversalDirection.down: DateTime.daysPerWeek, TraversalDirection.left: -1, }; - int _dayDirectionOffset(TraversalDirection traversalDirection, TextDirection textDirection) { + int _dayDirectionOffset( + TraversalDirection traversalDirection, TextDirection textDirection) { // Swap left and right if the text direction if RTL if (textDirection == TextDirection.rtl) { if (traversalDirection == TraversalDirection.left) { @@ -1882,8 +1958,10 @@ class _CalendarKeyboardNavigatorState extends State<_CalendarKeyboardNavigator> DateTime? _nextDateInDirection(DateTime date, TraversalDirection direction) { final TextDirection textDirection = Directionality.of(context); - final DateTime nextDate = DateUtils.addDaysToDate(date, _dayDirectionOffset(direction, textDirection)); - if (!nextDate.isBefore(widget.firstDate) && !nextDate.isAfter(widget.lastDate)) { + final DateTime nextDate = DateUtils.addDaysToDate( + date, _dayDirectionOffset(direction, textDirection)); + if (!nextDate.isBefore(widget.firstDate) && + !nextDate.isAfter(widget.lastDate)) { return nextDate; } return null; @@ -1921,7 +1999,8 @@ class _FocusedDate extends InheritedWidget { @override bool updateShouldNotify(_FocusedDate oldWidget) { - return !DateUtils.isSameDay(date, oldWidget.date) || scrollDirection != oldWidget.scrollDirection; + return !DateUtils.isSameDay(date, oldWidget.date) || + scrollDirection != oldWidget.scrollDirection; } static _FocusedDate? of(BuildContext context) { @@ -1929,7 +2008,6 @@ class _FocusedDate extends InheritedWidget { } } - class _DayHeaders extends StatelessWidget { const _DayHeaders(); @@ -1951,7 +2029,8 @@ class _DayHeaders extends StatelessWidget { /// _ _ _ _ 1 2 3 /// 4 5 6 7 8 9 10 /// ``` - List _getDayHeaders(TextStyle headerStyle, MaterialLocalizations localizations) { + List _getDayHeaders( + TextStyle headerStyle, MaterialLocalizations localizations) { final List result = []; for (int i = localizations.firstDayOfWeekIndex; true; i = (i + 1) % 7) { final String weekday = localizations.narrowWeekdays[i]; @@ -1969,8 +2048,10 @@ class _DayHeaders extends StatelessWidget { Widget build(BuildContext context) { final ThemeData themeData = Theme.of(context); final ColorScheme colorScheme = themeData.colorScheme; - final TextStyle textStyle = themeData.textTheme.headlineMedium!.apply(color: colorScheme.onSurface); - final MaterialLocalizations localizations = MaterialLocalizations.of(context); + final TextStyle textStyle = + themeData.textTheme.headlineMedium!.apply(color: colorScheme.onSurface); + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); final List labels = _getDayHeaders(textStyle, localizations); // Add leading and trailing containers for edges of the custom grid layout. @@ -2001,7 +2082,9 @@ class _MonthItemGridDelegate extends SliverGridDelegate { @override SliverGridLayout getLayout(SliverConstraints constraints) { - final double tileWidth = (constraints.crossAxisExtent - 2 * _horizontalPadding) / DateTime.daysPerWeek; + final double tileWidth = + (constraints.crossAxisExtent - 2 * _horizontalPadding) / + DateTime.daysPerWeek; return _MonthSliverGridLayout( crossAxisCount: DateTime.daysPerWeek + 2, dayChildWidth: tileWidth, @@ -2028,7 +2111,7 @@ class _MonthSliverGridLayout extends SliverGridLayout { required this.dayChildWidth, required this.edgeChildWidth, required this.reverseCrossAxis, - }) : assert(crossAxisCount != null && crossAxisCount > 0), + }) : assert(crossAxisCount != null && crossAxisCount > 0), assert(dayChildWidth != null && dayChildWidth >= 0), assert(edgeChildWidth != null && edgeChildWidth >= 0), assert(reverseCrossAxis != null); @@ -2077,10 +2160,9 @@ class _MonthSliverGridLayout extends SliverGridLayout { double _getCrossAxisOffset(double crossAxisStart, bool isPadding) { if (reverseCrossAxis) { - return - ((crossAxisCount - 2) * dayChildWidth + 2 * edgeChildWidth) - - crossAxisStart - - (isPadding ? edgeChildWidth : dayChildWidth); + return ((crossAxisCount - 2) * dayChildWidth + 2 * edgeChildWidth) - + crossAxisStart - + (isPadding ? edgeChildWidth : dayChildWidth); } return crossAxisStart; } @@ -2088,8 +2170,10 @@ class _MonthSliverGridLayout extends SliverGridLayout { @override SliverGridGeometry getGeometryForChildIndex(int index) { final int adjustedIndex = index % crossAxisCount; - final bool isEdge = adjustedIndex == 0 || adjustedIndex == crossAxisCount - 1; - final double crossAxisStart = math.max(0, (adjustedIndex - 1) * dayChildWidth + edgeChildWidth); + final bool isEdge = + adjustedIndex == 0 || adjustedIndex == crossAxisCount - 1; + final double crossAxisStart = + math.max(0, (adjustedIndex - 1) * dayChildWidth + edgeChildWidth); return SliverGridGeometry( scrollOffset: (index ~/ crossAxisCount) * _rowHeight, @@ -2123,14 +2207,18 @@ class _MonthItem extends StatefulWidget { required this.lastDate, required this.displayedMonth, this.dragStartBehavior = DragStartBehavior.start, - }) : assert(firstDate != null), + }) : assert(firstDate != null), assert(lastDate != null), assert(!firstDate.isAfter(lastDate)), - assert(selectedDateStart == null || !selectedDateStart.isBefore(firstDate)), + assert(selectedDateStart == null || + !selectedDateStart.isBefore(firstDate)), assert(selectedDateEnd == null || !selectedDateEnd.isBefore(firstDate)), - assert(selectedDateStart == null || !selectedDateStart.isAfter(lastDate)), + assert( + selectedDateStart == null || !selectedDateStart.isAfter(lastDate)), assert(selectedDateEnd == null || !selectedDateEnd.isAfter(lastDate)), - assert(selectedDateStart == null || selectedDateEnd == null || !selectedDateStart.isAfter(selectedDateEnd)), + assert(selectedDateStart == null || + selectedDateEnd == null || + !selectedDateStart.isAfter(selectedDateEnd)), assert(currentDate != null), assert(onChanged != null), assert(displayedMonth != null), @@ -2191,10 +2279,12 @@ class _MonthItemState extends State<_MonthItem> { @override void initState() { super.initState(); - final int daysInMonth = DateUtils.getDaysInMonth(widget.displayedMonth.year, widget.displayedMonth.month); + final int daysInMonth = DateUtils.getDaysInMonth( + widget.displayedMonth.year, widget.displayedMonth.month); _dayFocusNodes = List.generate( daysInMonth, - (int index) => FocusNode(skipTraversal: true, debugLabel: 'Day ${index + 1}'), + (int index) => + FocusNode(skipTraversal: true, debugLabel: 'Day ${index + 1}'), ); } @@ -2203,7 +2293,8 @@ class _MonthItemState extends State<_MonthItem> { super.didChangeDependencies(); // Check to see if the focused date is in this month, if so focus it. final DateTime? focusedDate = _FocusedDate.of(context)?.date; - if (focusedDate != null && DateUtils.isSameMonth(widget.displayedMonth, focusedDate)) { + if (focusedDate != null && + DateUtils.isSameMonth(widget.displayedMonth, focusedDate)) { _dayFocusNodes[focusedDate.day - 1].requestFocus(); } } @@ -2222,9 +2313,11 @@ class _MonthItemState extends State<_MonthItem> { void _dayFocusChanged(bool focused) { if (focused) { - final TraversalDirection? focusDirection = _FocusedDate.of(context)?.scrollDirection; + final TraversalDirection? focusDirection = + _FocusedDate.of(context)?.scrollDirection; if (focusDirection != null) { - ScrollPositionAlignmentPolicy policy = ScrollPositionAlignmentPolicy.explicit; + ScrollPositionAlignmentPolicy policy = + ScrollPositionAlignmentPolicy.explicit; switch (focusDirection) { case TraversalDirection.up: case TraversalDirection.left: @@ -2235,7 +2328,8 @@ class _MonthItemState extends State<_MonthItem> { policy = ScrollPositionAlignmentPolicy.keepVisibleAtEnd; break; } - Scrollable.ensureVisible(primaryFocus!.context!, + Scrollable.ensureVisible( + primaryFocus!.context!, duration: _monthScrollDuration, alignmentPolicy: policy, ); @@ -2243,23 +2337,29 @@ class _MonthItemState extends State<_MonthItem> { } } - Widget _buildDayItem(BuildContext context, DateTime dayToBuild, int firstDayOffset, int daysInMonth) { + Widget _buildDayItem(BuildContext context, DateTime dayToBuild, + int firstDayOffset, int daysInMonth) { final ThemeData theme = Theme.of(context); final ColorScheme colorScheme = theme.colorScheme; final TextTheme textTheme = theme.textTheme; - final MaterialLocalizations localizations = MaterialLocalizations.of(context); + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); final TextDirection textDirection = Directionality.of(context); final Color highlightColor = _highlightColor(context); final int day = dayToBuild.day; - final bool isDisabled = dayToBuild.isAfter(widget.lastDate) || dayToBuild.isBefore(widget.firstDate); + final bool isDisabled = dayToBuild.isAfter(widget.lastDate) || + dayToBuild.isBefore(widget.firstDate); BoxDecoration? decoration; TextStyle? itemStyle = textTheme.headlineMedium; - final bool isRangeSelected = widget.selectedDateStart != null && widget.selectedDateEnd != null; - final bool isSelectedDayStart = widget.selectedDateStart != null && dayToBuild.isAtSameMomentAs(widget.selectedDateStart!); - final bool isSelectedDayEnd = widget.selectedDateEnd != null && dayToBuild.isAtSameMomentAs(widget.selectedDateEnd!); + final bool isRangeSelected = + widget.selectedDateStart != null && widget.selectedDateEnd != null; + final bool isSelectedDayStart = widget.selectedDateStart != null && + dayToBuild.isAtSameMomentAs(widget.selectedDateStart!); + final bool isSelectedDayEnd = widget.selectedDateEnd != null && + dayToBuild.isAtSameMomentAs(widget.selectedDateEnd!); final bool isInRange = isRangeSelected && dayToBuild.isAfter(widget.selectedDateStart!) && dayToBuild.isBefore(widget.selectedDateEnd!); @@ -2275,7 +2375,8 @@ class _MonthItemState extends State<_MonthItem> { shape: BoxShape.circle, ); - if (isRangeSelected && widget.selectedDateStart != widget.selectedDateEnd) { + if (isRangeSelected && + widget.selectedDateStart != widget.selectedDateEnd) { final _HighlightPainterStyle style = isSelectedDayStart ? _HighlightPainterStyle.highlightTrailing : _HighlightPainterStyle.highlightLeading; @@ -2293,7 +2394,8 @@ class _MonthItemState extends State<_MonthItem> { textDirection: textDirection, ); } else if (isDisabled) { - itemStyle = textTheme.headlineMedium?.apply(color: colorScheme.onSurface.withOpacity(0.38)); + itemStyle = textTheme.headlineMedium + ?.apply(color: colorScheme.onSurface.withOpacity(0.38)); } else if (DateUtils.isSameDay(widget.currentDate, dayToBuild)) { // The current day gets a different text color and a circle stroke // border. @@ -2310,11 +2412,14 @@ class _MonthItemState extends State<_MonthItem> { // day of month before the rest of the date, as they are looking // for the day of month. To do that we prepend day of month to the // formatted full date. - String semanticLabel = '${localizations.formatDecimal(day)}, ${localizations.formatFullDate(dayToBuild)}'; + String semanticLabel = + '${localizations.formatDecimal(day)}, ${localizations.formatFullDate(dayToBuild)}'; if (isSelectedDayStart) { - semanticLabel = localizations.dateRangeStartDateSemanticLabel(semanticLabel); + semanticLabel = + localizations.dateRangeStartDateSemanticLabel(semanticLabel); } else if (isSelectedDayEnd) { - semanticLabel = localizations.dateRangeEndDateSemanticLabel(semanticLabel); + semanticLabel = + localizations.dateRangeEndDateSemanticLabel(semanticLabel); } Widget dayWidget = Container( @@ -2359,7 +2464,8 @@ class _MonthItemState extends State<_MonthItem> { Widget build(BuildContext context) { final ThemeData themeData = Theme.of(context); final TextTheme textTheme = themeData.textTheme; - final MaterialLocalizations localizations = MaterialLocalizations.of(context); + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); final int year = widget.displayedMonth.year; final int month = widget.displayedMonth.month; final int daysInMonth = DateUtils.getDaysInMonth(year, month); @@ -2401,38 +2507,40 @@ class _MonthItemState extends State<_MonthItem> { ); final List weekList = dayItems.sublist(start, end); - final DateTime dateAfterLeadingPadding = DateTime(year, month, start - dayOffset + 1); + final DateTime dateAfterLeadingPadding = + DateTime(year, month, start - dayOffset + 1); // Only color the edge container if it is after the start date and // on/before the end date. - final bool isLeadingInRange = - !(dayOffset > 0 && i == 0) && - widget.selectedDateStart != null && - widget.selectedDateEnd != null && - dateAfterLeadingPadding.isAfter(widget.selectedDateStart!) && - !dateAfterLeadingPadding.isAfter(widget.selectedDateEnd!); + final bool isLeadingInRange = !(dayOffset > 0 && i == 0) && + widget.selectedDateStart != null && + widget.selectedDateEnd != null && + dateAfterLeadingPadding.isAfter(widget.selectedDateStart!) && + !dateAfterLeadingPadding.isAfter(widget.selectedDateEnd!); weekList.insert(0, _buildEdgeContainer(context, isLeadingInRange)); // Only add a trailing edge container if it is for a full week and not a // partial week. - if (end < dayItems.length || (end == dayItems.length && dayItems.length % DateTime.daysPerWeek == 0)) { + if (end < dayItems.length || + (end == dayItems.length && + dayItems.length % DateTime.daysPerWeek == 0)) { final DateTime dateBeforeTrailingPadding = - DateTime(year, month, end - dayOffset); + DateTime(year, month, end - dayOffset); // Only color the edge container if it is on/after the start date and // before the end date. - final bool isTrailingInRange = - widget.selectedDateStart != null && - widget.selectedDateEnd != null && - !dateBeforeTrailingPadding.isBefore(widget.selectedDateStart!) && - dateBeforeTrailingPadding.isBefore(widget.selectedDateEnd!); + final bool isTrailingInRange = widget.selectedDateStart != null && + widget.selectedDateEnd != null && + !dateBeforeTrailingPadding.isBefore(widget.selectedDateStart!) && + dateBeforeTrailingPadding.isBefore(widget.selectedDateEnd!); weekList.add(_buildEdgeContainer(context, isTrailingInRange)); } paddedDayItems.addAll(weekList); } - final double maxWidth = MediaQuery.of(context).orientation == Orientation.landscape - ? _maxCalendarWidthLandscape - : _maxCalendarWidthPortrait; + final double maxWidth = + MediaQuery.of(context).orientation == Orientation.landscape + ? _maxCalendarWidthLandscape + : _maxCalendarWidthPortrait; return Column( children: [ Container( @@ -2443,7 +2551,8 @@ class _MonthItemState extends State<_MonthItem> { child: ExcludeSemantics( child: Text( localizations.formatMonthYear(widget.displayedMonth), - style: textTheme.headlineMedium!.apply(color: themeData.colorScheme.onSurface), + style: textTheme.headlineMedium! + .apply(color: themeData.colorScheme.onSurface), ), ), ), @@ -2510,7 +2619,8 @@ class _HighlightPainter extends CustomPainter { ..style = PaintingStyle.fill; final Rect rectLeft = Rect.fromLTWH(0, 0, size.width / 2, size.height); - final Rect rectRight = Rect.fromLTWH(size.width / 2, 0, size.width / 2, size.height); + final Rect rectRight = + Rect.fromLTWH(size.width / 2, 0, size.width / 2, size.height); switch (style) { case _HighlightPainterStyle.highlightTrailing: @@ -2565,8 +2675,10 @@ class _InputDateRangePickerDialog extends StatelessWidget { final String? helpText; final Widget? entryModeButton; - String _formatDateRange(BuildContext context, DateTime? start, DateTime? end, DateTime now) { - final MaterialLocalizations localizations = MaterialLocalizations.of(context); + String _formatDateRange( + BuildContext context, DateTime? start, DateTime? end, DateTime now) { + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); final String startText = _formatRangeStartDate(localizations, start, end); final String endText = _formatRangeEndDate(localizations, start, end, now); if (start == null || end == null) { @@ -2583,18 +2695,22 @@ class _InputDateRangePickerDialog extends StatelessWidget { Widget build(BuildContext context) { final ThemeData theme = Theme.of(context); final ColorScheme colorScheme = theme.colorScheme; - final MaterialLocalizations localizations = MaterialLocalizations.of(context); + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); final Orientation orientation = MediaQuery.of(context).orientation; final TextTheme textTheme = theme.textTheme; - final Color onPrimarySurfaceColor = colorScheme.brightness == Brightness.light - ? colorScheme.onPrimary - : colorScheme.onSurface; + final Color onPrimarySurfaceColor = + colorScheme.brightness == Brightness.light + ? colorScheme.onPrimary + : colorScheme.onSurface; final TextStyle? dateStyle = orientation == Orientation.landscape ? textTheme.headlineMedium?.apply(color: onPrimarySurfaceColor) : textTheme.headlineMedium?.apply(color: onPrimarySurfaceColor); - final String dateText = _formatDateRange(context, selectedStartDate, selectedEndDate, currentDate!); - final String semanticDateText = selectedStartDate != null && selectedEndDate != null + final String dateText = _formatDateRange( + context, selectedStartDate, selectedEndDate, currentDate!); + final String semanticDateText = selectedStartDate != null && + selectedEndDate != null ? '${localizations.formatMediumDate(selectedStartDate!)} – ${localizations.formatMediumDate(selectedEndDate!)}' : ''; @@ -2684,8 +2800,11 @@ class _InputDateRangePicker extends StatefulWidget { this.fieldEndLabelText, this.autofocus = false, this.autovalidate = false, - }) : initialStartDate = initialStartDate == null ? null : DateUtils.dateOnly(initialStartDate), - initialEndDate = initialEndDate == null ? null : DateUtils.dateOnly(initialEndDate), + }) : initialStartDate = initialStartDate == null + ? null + : DateUtils.dateOnly(initialStartDate), + initialEndDate = + initialEndDate == null ? null : DateUtils.dateOnly(initialEndDate), assert(firstDate != null), firstDate = DateUtils.dateOnly(firstDate), assert(lastDate != null), @@ -2785,7 +2904,8 @@ class _InputDateRangePickerState extends State<_InputDateRangePicker> { @override void didChangeDependencies() { super.didChangeDependencies(); - final MaterialLocalizations localizations = MaterialLocalizations.of(context); + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); if (_startDate != null) { _startInputText = localizations.formatCompactDate(_startDate!); final bool selectText = widget.autofocus && !_autoSelected; @@ -2810,7 +2930,8 @@ class _InputDateRangePickerState extends State<_InputDateRangePicker> { final String? endError = _validateDate(_endDate); if (startError == null && endError == null) { if (_startDate!.isAfter(_endDate!)) { - startError = widget.errorInvalidRangeText ?? MaterialLocalizations.of(context).invalidDateRangeLabel; + startError = widget.errorInvalidRangeText ?? + MaterialLocalizations.of(context).invalidDateRangeLabel; } } setState(() { @@ -2821,23 +2942,29 @@ class _InputDateRangePickerState extends State<_InputDateRangePicker> { } DateTime? _parseDate(String? text) { - final MaterialLocalizations localizations = MaterialLocalizations.of(context); + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); return localizations.parseCompactDate(text); } String? _validateDate(DateTime? date) { if (date == null) { - return widget.errorFormatText ?? MaterialLocalizations.of(context).invalidDateFormatLabel; - } else if (date.isBefore(widget.firstDate) || date.isAfter(widget.lastDate)) { - return widget.errorInvalidText ?? MaterialLocalizations.of(context).dateOutOfRangeLabel; + return widget.errorFormatText ?? + MaterialLocalizations.of(context).invalidDateFormatLabel; + } else if (date.isBefore(widget.firstDate) || + date.isAfter(widget.lastDate)) { + return widget.errorInvalidText ?? + MaterialLocalizations.of(context).dateOutOfRangeLabel; } return null; } - void _updateController(TextEditingController controller, String text, bool selectText) { + void _updateController( + TextEditingController controller, String text, bool selectText) { TextEditingValue textEditingValue = controller.value.copyWith(text: text); if (selectText) { - textEditingValue = textEditingValue.copyWith(selection: TextSelection( + textEditingValue = textEditingValue.copyWith( + selection: TextSelection( baseOffset: 0, extentOffset: text.length, )); @@ -2869,8 +2996,10 @@ class _InputDateRangePickerState extends State<_InputDateRangePicker> { @override Widget build(BuildContext context) { - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - final InputDecorationTheme inputTheme = Theme.of(context).inputDecorationTheme; + final MaterialLocalizations localizations = + MaterialLocalizations.of(context); + final InputDecorationThemeData inputTheme = + Theme.of(context).inputDecorationTheme; return Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -2881,7 +3010,8 @@ class _InputDateRangePickerState extends State<_InputDateRangePicker> { border: inputTheme.border ?? const UnderlineInputBorder(), filled: inputTheme.filled, hintText: widget.fieldStartHintText ?? localizations.dateHelpText, - labelText: widget.fieldStartLabelText ?? localizations.dateRangeStartLabel, + labelText: widget.fieldStartLabelText ?? + localizations.dateRangeStartLabel, errorText: _startErrorText, ), keyboardType: TextInputType.datetime, @@ -2897,7 +3027,8 @@ class _InputDateRangePickerState extends State<_InputDateRangePicker> { border: inputTheme.border ?? const UnderlineInputBorder(), filled: inputTheme.filled, hintText: widget.fieldEndHintText ?? localizations.dateHelpText, - labelText: widget.fieldEndLabelText ?? localizations.dateRangeEndLabel, + labelText: + widget.fieldEndLabelText ?? localizations.dateRangeEndLabel, errorText: _endErrorText, ), keyboardType: TextInputType.datetime, diff --git a/modules/basic_system/components/lib/project_ui/refresh/refresh.dart b/modules/basic_system/components/lib/project_ui/refresh/refresh.dart index fa66aedd0..27edcb913 100644 --- a/modules/basic_system/components/lib/project_ui/refresh/refresh.dart +++ b/modules/basic_system/components/lib/project_ui/refresh/refresh.dart @@ -1,2 +1,2 @@ export 'refresh_config_wrapper.dart'; -export 'package:refresh/refresh.dart' show SmartRefresher,RefreshController; \ No newline at end of file +export 'package:tolyui_refresh/tolyui_refresh.dart' show TolyRefresh,RefreshController; \ No newline at end of file diff --git a/modules/basic_system/components/lib/project_ui/refresh/refresh_config_wrapper.dart b/modules/basic_system/components/lib/project_ui/refresh/refresh_config_wrapper.dart index 23d5dc367..d9ffba556 100644 --- a/modules/basic_system/components/lib/project_ui/refresh/refresh_config_wrapper.dart +++ b/modules/basic_system/components/lib/project_ui/refresh/refresh_config_wrapper.dart @@ -1,6 +1,6 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:refresh/refresh.dart'; +import 'package:tolyui_refresh/tolyui_refresh.dart'; import 'toly_refresh_indicator.dart'; @@ -11,10 +11,15 @@ class RefreshConfigWrapper extends StatelessWidget { @override Widget build(BuildContext context) { Color themeColor = Theme.of(context).primaryColor; - return RefreshConfiguration( + return RefreshConfigScope( headerTriggerDistance: 60, topHitBoundary: 20, child: child, + springDescription: SpringDescription.withDampingRatio( + mass: 0.5, + stiffness: 100.0, + ratio: 1.1, + ), headerBuilder: () => const TolyRefreshIndicator(), footerBuilder: () => CustomFooter( builder: (BuildContext context, LoadStatus? mode) { @@ -25,8 +30,7 @@ class RefreshConfigWrapper extends StatelessWidget { crossAxisAlignment: WrapCrossAlignment.center, children: [ Icon(Icons.arrow_upward, color: themeColor), - Text("上拉加载", - style: TextStyle(color: themeColor, height: 1)), + Text("上拉加载", style: TextStyle(color: themeColor, height: 1)), ], ); } else if (mode == LoadStatus.loading) { diff --git a/modules/basic_system/components/lib/project_ui/refresh/toly_refresh_indicator.dart b/modules/basic_system/components/lib/project_ui/refresh/toly_refresh_indicator.dart index d44ac625f..cd239d439 100644 --- a/modules/basic_system/components/lib/project_ui/refresh/toly_refresh_indicator.dart +++ b/modules/basic_system/components/lib/project_ui/refresh/toly_refresh_indicator.dart @@ -4,7 +4,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart' hide RefreshIndicator, RefreshIndicatorState; import 'package:flutter/services.dart'; -import 'package:refresh/refresh.dart'; +import 'package:tolyui_refresh/tolyui_refresh.dart'; class TolyRefreshIndicator extends RefreshIndicator { const TolyRefreshIndicator({super.key}); @@ -22,8 +22,8 @@ class _TolyRefreshIndicatorState @override void initState() { super.initState(); - _iconRotateCtrl = - AnimationController(vsync: this, duration: const Duration(milliseconds: 250)); + _iconRotateCtrl = AnimationController( + vsync: this, duration: const Duration(milliseconds: 250)); rotateAnima = Tween(begin: 0.0, end: -0.5).animate(_iconRotateCtrl); } @@ -63,8 +63,13 @@ class _TolyRefreshIndicatorState @override Widget buildContent(BuildContext context, RefreshStatus mode) { Widget child = switch (mode) { - RefreshStatus.refreshing => const CupertinoActivityIndicator(radius: 10,), - RefreshStatus.completed => const Icon(Icons.check,color: Colors.green,), + RefreshStatus.refreshing => const CupertinoActivityIndicator( + radius: 10, + ), + RefreshStatus.completed => const Icon( + Icons.check, + color: Colors.green, + ), RefreshStatus.idle || RefreshStatus.canRefresh => RotationTransition( turns: rotateAnima, child: Icon( diff --git a/modules/basic_system/l10n/lib/enum/language.dart b/modules/basic_system/l10n/lib/enum/language.dart index 2fbd17a56..7f969262d 100644 --- a/modules/basic_system/l10n/lib/enum/language.dart +++ b/modules/basic_system/l10n/lib/enum/language.dart @@ -1,19 +1,20 @@ import 'dart:ui'; enum Language { - zh_CN(locale: Locale('zh','CN'), label: '简体中文'), - en_US(locale: Locale('en','US'), label: 'English'), - ru_RU(locale: Locale('ru','RU'), label: 'Русский'), - fr_FR(locale: Locale('fr','FR'), label: 'Français'), - ko_KR(locale: Locale('ko','KR'), label: '한국어'), - de_DE(locale: Locale('de','DE'), label: 'Deutsch'), - ja_JP(locale: Locale('ja','JP'), label: '日本語'), - it_IT(locale: Locale('it','IT'), label: 'Italiano'), - pt_PT(locale: Locale('pt','PT'), label: 'Português'), - es_ES(locale: Locale('es','ES'), label: 'Español'), + zh_CN(locale: Locale('zh', 'CN'), label: '简体中文'), + en_US(locale: Locale('en', 'US'), label: 'English'), + // ru_RU(locale: Locale('ru','RU'), label: 'Русский'), + // fr_FR(locale: Locale('fr','FR'), label: 'Français'), + // ko_KR(locale: Locale('ko','KR'), label: '한국어'), + // de_DE(locale: Locale('de','DE'), label: 'Deutsch'), + // ja_JP(locale: Locale('ja','JP'), label: '日本語'), + // it_IT(locale: Locale('it','IT'), label: 'Italiano'), + // pt_PT(locale: Locale('pt','PT'), label: 'Português'), + // es_ES(locale: Locale('es','ES'), label: 'Español'), ; - String get code => '${locale.languageCode}-${locale.countryCode}'.toLowerCase(); + String get code => + '${locale.languageCode}-${locale.countryCode}'.toLowerCase(); final Locale locale; final String label; diff --git a/modules/basic_system/storage/lib/src/app_storage.dart b/modules/basic_system/storage/lib/src/app_storage.dart index 7e671a454..70af2ad9f 100644 --- a/modules/basic_system/storage/lib/src/app_storage.dart +++ b/modules/basic_system/storage/lib/src/app_storage.dart @@ -1,11 +1,10 @@ - import 'package:storage/storage.dart'; +import 'db_storage/flutter/article_db_store.dart'; import 'db_storage/flutter/flutter_db_store.dart'; import 'db_storage/flutter_unit/flutter_unit_db_store.dart'; class AppStorage { - AppStorage._(); static AppStorage? _instance; @@ -15,17 +14,21 @@ class AppStorage { final FlutterDbStore _flutterDb = FlutterDbStore(); final FlutterUnitDbStore _flutterUnitDb = FlutterUnitDbStore(); + final ArticleDbStore _articleDb = ArticleDbStore(); + FlutterDbStore get flutter => _flutterDb; + ArticleDbStore get article => _articleDb; FlutterUnitDbStore get flutterUnit => _flutterUnitDb; - Future init() async{ + Future init() async { await _flutterDb.open(); await _flutterUnitDb.open(); + await _articleDb.open(); } - void close() async{ + void close() async { await _flutterDb.close(); await _flutterUnitDb.close(); + await _articleDb.close(); } - } diff --git a/modules/basic_system/storage/lib/src/db_storage/flutter/article_db_store.dart b/modules/basic_system/storage/lib/src/db_storage/flutter/article_db_store.dart new file mode 100644 index 000000000..2bf579e54 --- /dev/null +++ b/modules/basic_system/storage/lib/src/db_storage/flutter/article_db_store.dart @@ -0,0 +1,27 @@ +import 'dart:async'; +import 'package:sqflite/sqflite.dart'; +import 'package:sqflite_common_ffi/sqflite_ffi.dart'; +import 'package:fx_dao/fx_dao.dart'; + +import 'package:widget_module/widget_module.dart'; +import 'package:artifact/artifact.dart'; + +class ArticleDbStore extends FxDb { + @override + String get dbname => 'article.db'; + + @override + int get version => 1; + + @override + Future onCreate(Database db, int version) async {} + + @override + Iterable<(int, MigrationOperation)> get migrations => []; + + @override + Iterable get tables => [ + ColumnizeDao(), + ArticleDao(), + ]; +} diff --git a/modules/basic_system/storage/lib/src/db_storage/flutter/flutter_db_store.dart b/modules/basic_system/storage/lib/src/db_storage/flutter/flutter_db_store.dart index e78b638c1..3386bd79c 100644 --- a/modules/basic_system/storage/lib/src/db_storage/flutter/flutter_db_store.dart +++ b/modules/basic_system/storage/lib/src/db_storage/flutter/flutter_db_store.dart @@ -4,7 +4,7 @@ import 'package:sqflite_common_ffi/sqflite_ffi.dart'; import 'package:fx_dao/fx_dao.dart'; import 'package:widget_module/widget_module.dart'; -import 'package:artifact/artifact.dart'; +import 'package:widget_repository/widget_repository.dart'; class FlutterDbStore extends FxDb { @override @@ -27,10 +27,9 @@ class FlutterDbStore extends FxDb { @override Iterable get tables => [ - ColumnizeDao(), - ArticleDao(), CategoryDao(), WidgetDao(), + WidgetStatisticsDao(), NodeDao(), LikeDao(), ]; diff --git a/modules/basic_system/toly_ui/lib/ti/panel.dart b/modules/basic_system/toly_ui/lib/ti/panel.dart index 2fc3bd777..cc6d0e2fb 100644 --- a/modules/basic_system/toly_ui/lib/ti/panel.dart +++ b/modules/basic_system/toly_ui/lib/ti/panel.dart @@ -1,21 +1,30 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; - class Panel extends StatelessWidget { final double radius; final Color? color; final Widget? child; final EdgeInsetsGeometry? margin; + final BoxConstraints? constraints; + final AlignmentGeometry? alignment; - const Panel({Key? key, this.radius = 5.0, this.color, this.child, this.margin=const EdgeInsets.all(10)}) : super(key: key); + const Panel( + {Key? key, + this.radius = 5.0, + this.color, + this.child, + this.margin = const EdgeInsets.all(10), + this.constraints, + this.alignment}) + : super(key: key); @override Widget build(BuildContext context) { - return Container( - alignment: Alignment.centerLeft, + alignment: alignment ?? Alignment.centerLeft, padding: margin, + constraints: constraints, decoration: BoxDecoration( color: color ?? const Color(0xffF6F8FA), borderRadius: BorderRadius.all(Radius.circular(radius))), @@ -23,5 +32,3 @@ class Panel extends StatelessWidget { ); } } - - diff --git a/modules/knowledge_system/artifact/lib/src/articles/data/repository/article_repository.dart b/modules/knowledge_system/artifact/lib/src/articles/data/repository/article_repository.dart index 094a7a982..8f27f1f85 100644 --- a/modules/knowledge_system/artifact/lib/src/articles/data/repository/article_repository.dart +++ b/modules/knowledge_system/artifact/lib/src/articles/data/repository/article_repository.dart @@ -1,16 +1,13 @@ - import 'package:storage/storage.dart'; import '../dao/article_dao.dart'; import '../exp.dart'; - - // 仓储: 提供数据 class ArticleRepository { const ArticleRepository(); - ArticleDao get dao => AppStorage().flutter(); + ArticleDao get dao => AppStorage().article(); // 从数据库加载资源 Future> queryByDb(ArticleFilter filter) async { diff --git a/modules/knowledge_system/artifact/lib/src/articles/data/repository/columnize_repository.dart b/modules/knowledge_system/artifact/lib/src/articles/data/repository/columnize_repository.dart index 60ac4d529..7b2b53c5d 100644 --- a/modules/knowledge_system/artifact/lib/src/articles/data/repository/columnize_repository.dart +++ b/modules/knowledge_system/artifact/lib/src/articles/data/repository/columnize_repository.dart @@ -1,15 +1,12 @@ - import 'package:storage/storage.dart'; import '../exp.dart'; // 仓储: 提供数据 class ColumnizeRepository { - const ColumnizeRepository(); - ColumnizeDao get dao => AppStorage().flutter(); - + ColumnizeDao get dao => AppStorage().article(); // 从数据库加载资源 Future> queryByDb({ @@ -22,6 +19,4 @@ class ColumnizeRepository { ); return caches; } - - } diff --git a/modules/knowledge_system/artifact/lib/src/articles/view/article/sliver_article.dart b/modules/knowledge_system/artifact/lib/src/articles/view/article/sliver_article.dart index 155a56962..2ec98f1c6 100644 --- a/modules/knowledge_system/artifact/lib/src/articles/view/article/sliver_article.dart +++ b/modules/knowledge_system/artifact/lib/src/articles/view/article/sliver_article.dart @@ -81,8 +81,9 @@ class ArticlePanel extends StatelessWidget { builder: (_) => ArticleDetailPage(article: article), ), ); + } else { + _launchURL('https://juejin.cn${article.url}'); } - _launchURL('https://juejin.cn${article.url}'); } void _launchURL(String url) async { diff --git a/modules/knowledge_system/artifact/lib/src/articles/view/article/toly_article_scroll_page.dart b/modules/knowledge_system/artifact/lib/src/articles/view/article/toly_article_scroll_page.dart index d1deb5d09..81815e97a 100644 --- a/modules/knowledge_system/artifact/lib/src/articles/view/article/toly_article_scroll_page.dart +++ b/modules/knowledge_system/artifact/lib/src/articles/view/article/toly_article_scroll_page.dart @@ -1,11 +1,10 @@ - import 'package:artifact/artifact.dart'; import 'package:components/components.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:refresh/refresh.dart'; +import 'package:tolyui_refresh/tolyui_refresh.dart'; import '../../bloc/exp.dart'; @@ -20,7 +19,6 @@ class TolyArticleScrollPage extends StatefulWidget { } class _TolyArticleScrollPageState extends State { - final RefreshController _refreshController = RefreshController(initialRefresh: false); @@ -35,7 +33,7 @@ class _TolyArticleScrollPageState extends State { @override Widget build(BuildContext context) { return RefreshConfigWrapper( - child: SmartRefresher( + child: TolyRefresh( enablePullUp: true, onRefresh: _onRefresh, onLoading: _loadMore, @@ -46,7 +44,7 @@ class _TolyArticleScrollPageState extends State { // handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), // ), SliverPadding( - padding: EdgeInsets.only(top: 10,bottom: 10), + padding: EdgeInsets.only(top: 10, bottom: 10), sliver: const SliverToBoxAdapter( child: ColumnizeViewPage(), ), @@ -76,7 +74,7 @@ class _TolyArticleScrollPageState extends State { await context.read().loadNextPageMore(); // int length = data.length; ArticleState state = bloc.state; - if(state is ArticleWithData){ + if (state is ArticleWithData) { if (state.data.length >= state.total) { _refreshController.loadNoData(); await Future.delayed(Duration(milliseconds: 2000)); @@ -86,8 +84,5 @@ class _TolyArticleScrollPageState extends State { _refreshController.loadComplete(); } - } - - } diff --git a/modules/knowledge_system/artifact/lib/src/articles/view/artifact_page.dart b/modules/knowledge_system/artifact/lib/src/articles/view/artifact_page.dart index 101e3bacc..1e7c65204 100644 --- a/modules/knowledge_system/artifact/lib/src/articles/view/artifact_page.dart +++ b/modules/knowledge_system/artifact/lib/src/articles/view/artifact_page.dart @@ -47,7 +47,7 @@ class _ArtifactPageState extends State @override void initState() { super.initState(); - controller = TabController(length: 4, vsync: this); + controller = TabController(length: 2, vsync: this); controller.addListener(_listen); data = List.generate(5, (index) => 'Init $index'); } @@ -70,8 +70,10 @@ class _ArtifactPageState extends State return MultiBlocProvider( providers: [ - BlocProvider(create: (_) => ColumnizeBloc(cRepository)..init()), - BlocProvider(create: (_) => ArticleBloc(aRepository)..init()), + BlocProvider( + create: (_) => ColumnizeBloc(cRepository)..init()), + BlocProvider( + create: (_) => ArticleBloc(aRepository)..init()), ], child: Scaffold( endDrawer: SortSettings(), @@ -92,7 +94,8 @@ class _ArtifactPageState extends State children: [ GestureDetector( onTap: () { - _launchURL('https://github.com/toly1994328/FlutterUnit/blob/master/packages/algorithm/lib/src/algorithm/sort/functions/${name}.dart'); + _launchURL( + 'https://github.com/toly1994328/FlutterUnit/blob/master/packages/algorithm/lib/src/algorithm/sort/functions/${name}.dart'); }, child: Text( '查看排序源码', @@ -109,8 +112,8 @@ class _ArtifactPageState extends State Expanded(child: SortPaper()), ], ), - BuildingPanel(), - BuildingPanel(), + // BuildingPanel(), + // BuildingPanel(), ], ), ), @@ -121,14 +124,12 @@ class _ArtifactPageState extends State _launchURL(String url) async { Uri uri = Uri.parse(url); if (await canLaunchUrl(Uri.parse(url))) { - await launchUrl(uri,mode: LaunchMode.externalApplication); + await launchUrl(uri, mode: LaunchMode.externalApplication); } else { debugPrint('Could not launch $url'); } } - - List _buildAppBar(BuildContext context, bool innerBoxIsScrolled) { // print('innerBoxIsScrolled:$innerBoxIsScrolled'); return [ @@ -203,8 +204,7 @@ class _ArtifactPageState extends State // ), bottom: TabBar( controller: controller, - tabs: - [ + tabs: [ Tab( // icon: Icon(Icons.account_balance_wallet_outlined), text: context.l10n.knowledgeTabToly, @@ -213,14 +213,14 @@ class _ArtifactPageState extends State // icon: Icon(Icons.account_balance_wallet_outlined), text: context.l10n.knowledgeTabAlgo, ), - Tab( - // icon: Icon(Icons.account_balance_wallet_outlined), - text:context.l10n.knowledgeTabLayout, - ), - Tab( - // icon: Icon(Icons.account_balance_wallet_outlined), - text:context.l10n.knowledgeTabPoint, - ), + // Tab( + // // icon: Icon(Icons.account_balance_wallet_outlined), + // text:context.l10n.knowledgeTabLayout, + // ), + // Tab( + // // icon: Icon(Icons.account_balance_wallet_outlined), + // text:context.l10n.knowledgeTabPoint, + // ), ], ), ), // ) diff --git a/modules/widget_system/widget_module/lib/blocs/action/widget_action.dart b/modules/widget_system/widget_module/lib/blocs/action/widget_action.dart index 422951199..09b814078 100644 --- a/modules/widget_system/widget_module/lib/blocs/action/widget_action.dart +++ b/modules/widget_system/widget_module/lib/blocs/action/widget_action.dart @@ -2,6 +2,7 @@ import 'package:flutter/cupertino.dart'; import 'package:app/app.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:widget_module/blocs/blocs.dart'; +import 'package:widget_ui/widget_ui.dart'; import '../../widget_module.dart'; @@ -16,6 +17,17 @@ extension WidgetContext on BuildContext { } void toggleLike(int widgetId) { - read().add(ToggleLikeWidgetEvent(id: widgetId)); + read().toggle(widgetId); + } + + void handleWidgetAction(WidgetAction value) { + switch (value) { + case JumpWidgetDetail(): + String? name = value.widgetName ?? value.model?.name; + push('${AppRoute.widgetDetail.url}$name', extra: value.model); + return; + case ToggleLikeWidget(): + toggleLike(value.widgetId); + } } } diff --git a/modules/widget_system/widget_module/lib/blocs/blocs.dart b/modules/widget_system/widget_module/lib/blocs/blocs.dart index 3844b6083..443306fb9 100644 --- a/modules/widget_system/widget_module/lib/blocs/blocs.dart +++ b/modules/widget_system/widget_module/lib/blocs/blocs.dart @@ -1,5 +1,4 @@ export 'category_bloc/category_bloc.dart'; export 'category_widget_bloc/category_widget_bloc.dart'; -export 'liked_widget_bloc/liked_widget_bloc.dart'; export 'widget_detail_bloc/widget_detail_bloc.dart'; -export 'widgets_bloc/widgets_bloc.dart'; \ No newline at end of file +export 'widgets_bloc/widgets_bloc.dart'; diff --git a/modules/widget_system/widget_module/lib/blocs/category_widget_bloc/category_widget_bloc.dart b/modules/widget_system/widget_module/lib/blocs/category_widget_bloc/category_widget_bloc.dart index b263c2bdc..9ddea8b70 100644 --- a/modules/widget_system/widget_module/lib/blocs/category_widget_bloc/category_widget_bloc.dart +++ b/modules/widget_system/widget_module/lib/blocs/category_widget_bloc/category_widget_bloc.dart @@ -2,8 +2,6 @@ import 'package:equatable/equatable.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:widget_repository/widget_repository.dart'; - - import '../category_bloc/category_bloc.dart'; part 'category_widget_event.dart'; @@ -18,24 +16,26 @@ class CategoryWidgetBloc final CategoryBloc categoryBloc; CategoryWidgetBloc({required this.categoryBloc}) - : super(CategoryWidgetEmptyState()){ + : super(CategoryWidgetEmptyState()) { on(_onEventLoadCategoryWidget); on(_onEventToggleCategoryWidget); } CategoryRepository get repository => categoryBloc.repository; - void _onEventLoadCategoryWidget(EventLoadCategoryWidget event, Emitter emit) async{ + void _onEventLoadCategoryWidget( + EventLoadCategoryWidget event, Emitter emit) async { final widgets = - await repository.loadCategoryWidgets(categoryId: event.categoryId); - widgets.isNotEmpty + await repository.loadCategoryWidgets(categoryId: event.categoryId); + widgets.isNotEmpty ? emit(CategoryWidgetLoadedState(widgets)) : emit(CategoryWidgetEmptyState()); categoryBloc.add(const EventLoadCategory()); } - void _onEventToggleCategoryWidget(EventToggleCategoryWidget event, Emitter emit) async{ + void _onEventToggleCategoryWidget(EventToggleCategoryWidget event, + Emitter emit) async { await repository.toggleCategory(event.categoryId, event.widgetId); - add(EventLoadCategoryWidget(event.categoryId)); + add(EventLoadCategoryWidget(event.categoryId, 'zh-cn')); } } diff --git a/modules/widget_system/widget_module/lib/blocs/category_widget_bloc/category_widget_event.dart b/modules/widget_system/widget_module/lib/blocs/category_widget_bloc/category_widget_event.dart index 1e2d62bc2..45a23fd69 100644 --- a/modules/widget_system/widget_module/lib/blocs/category_widget_bloc/category_widget_event.dart +++ b/modules/widget_system/widget_module/lib/blocs/category_widget_bloc/category_widget_event.dart @@ -2,28 +2,29 @@ part of 'category_widget_bloc.dart'; /// create by 张风捷特烈 on 2020-04-21 /// contact me by email 1981462002@qq.com -/// 说明: +/// 说明: -abstract class CategoryWidgetEvent extends Equatable{ +abstract class CategoryWidgetEvent extends Equatable { @override List get props => []; } -class EventLoadCategoryWidget extends CategoryWidgetEvent{ +class EventLoadCategoryWidget extends CategoryWidgetEvent { final int categoryId; + final String locale; - EventLoadCategoryWidget(this.categoryId); + EventLoadCategoryWidget(this.categoryId, this.locale); @override - List get props => [categoryId]; + List get props => [categoryId, locale]; } -class EventToggleCategoryWidget extends CategoryWidgetEvent{ +class EventToggleCategoryWidget extends CategoryWidgetEvent { final int categoryId; final int widgetId; - EventToggleCategoryWidget(this.categoryId,this.widgetId); + EventToggleCategoryWidget(this.categoryId, this.widgetId); @override - List get props => [categoryId,widgetId]; + List get props => [categoryId, widgetId]; } diff --git a/modules/widget_system/widget_module/lib/blocs/liked_widget_bloc/liked_widget_bloc.dart b/modules/widget_system/widget_module/lib/blocs/liked_widget_bloc/liked_widget_bloc.dart deleted file mode 100644 index 0ab2ef17f..000000000 --- a/modules/widget_system/widget_module/lib/blocs/liked_widget_bloc/liked_widget_bloc.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:equatable/equatable.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:widget_repository/widget_repository.dart'; - - - - -part 'liked_widget_event.dart'; -part 'liked_widget_state.dart'; - -/// create by 张风捷特烈 on 2020-04-07 -/// contact me by email 1981462002@qq.com -/// 说明: - -class LikeWidgetBloc extends Bloc { - final WidgetRepository repository; - - LikeWidgetBloc({required this.repository}):super(const LikeWidgetState(widgets: [])){ - on(_onEventLoadLikeData) ; - on(_onToggleLikeWidgetEvent) ; - } - - void _onEventLoadLikeData(EventLoadLikeData event, Emitter emit) async{ - final widgets = await repository.loadLikeWidgets(); - emit(LikeWidgetState(widgets: widgets)); - } - - void _onToggleLikeWidgetEvent(ToggleLikeWidgetEvent event, Emitter emit) async{ - await repository.toggleLike(event.id); - final widgets = await repository.loadLikeWidgets(); - emit(LikeWidgetState(widgets: widgets)); - } -} diff --git a/modules/widget_system/widget_module/lib/blocs/liked_widget_bloc/liked_widget_event.dart b/modules/widget_system/widget_module/lib/blocs/liked_widget_bloc/liked_widget_event.dart deleted file mode 100644 index f3e1d4873..000000000 --- a/modules/widget_system/widget_module/lib/blocs/liked_widget_bloc/liked_widget_event.dart +++ /dev/null @@ -1,33 +0,0 @@ -part of 'liked_widget_bloc.dart'; - -/// create by 张风捷特烈 on 2020-04-09 -/// contact me by email 1981462002@qq.com -/// 说明: - -abstract class LikeWidgetEvent extends Equatable { - const LikeWidgetEvent(); -} - -class EventLoadLikeData extends LikeWidgetEvent { - const EventLoadLikeData(); - - @override - List get props => []; -} - -class ToggleLikeWidgetEvent extends LikeWidgetEvent { - final int id; - - const ToggleLikeWidgetEvent({required this.id}); - - @override - // TODO: implement props - List get props => [id]; -} - -class LoadCollectEvent extends LikeWidgetEvent { - const LoadCollectEvent(); - - @override - List get props => []; -} diff --git a/modules/widget_system/widget_module/lib/blocs/liked_widget_bloc/liked_widget_state.dart b/modules/widget_system/widget_module/lib/blocs/liked_widget_bloc/liked_widget_state.dart deleted file mode 100644 index 34b57f14a..000000000 --- a/modules/widget_system/widget_module/lib/blocs/liked_widget_bloc/liked_widget_state.dart +++ /dev/null @@ -1,14 +0,0 @@ -part of 'liked_widget_bloc.dart'; - -/// create by 张风捷特烈 on 2020-04-09 -/// contact me by email 1981462002@qq.com -/// 说明: - -class LikeWidgetState extends Equatable { - final List widgets; - - const LikeWidgetState({required this.widgets}); - - @override - List get props => [widgets]; -} diff --git a/modules/widget_system/widget_module/lib/blocs/widget_detail_bloc/widget_detail_bloc.dart b/modules/widget_system/widget_module/lib/blocs/widget_detail_bloc/widget_detail_bloc.dart index be4d555d3..73ae25c0e 100644 --- a/modules/widget_system/widget_module/lib/blocs/widget_detail_bloc/widget_detail_bloc.dart +++ b/modules/widget_system/widget_module/lib/blocs/widget_detail_bloc/widget_detail_bloc.dart @@ -49,11 +49,7 @@ class WidgetDetailBloc extends Cubit { await nodeRepo.loadNode(widget.id, locale: locale); final List links = await widgetRepo.loadWidget(widget.links, locale); - if (nodes.isEmpty) { - emit(DetailEmpty()); - } else { - emit(DetailWithData(widgetModel: widget, nodes: nodes, links: links)); - } + emit(DetailWithData(widgetModel: widget, nodes: nodes, links: links)); } catch (e, s) { print("queryDetail=error===${e}=$s=="); emit(DetailFailed()); diff --git a/modules/widget_system/widget_module/lib/blocs/widget_detail_bloc/widget_detail_state.dart b/modules/widget_system/widget_module/lib/blocs/widget_detail_bloc/widget_detail_state.dart index d54e96638..31376c33c 100644 --- a/modules/widget_system/widget_module/lib/blocs/widget_detail_bloc/widget_detail_state.dart +++ b/modules/widget_system/widget_module/lib/blocs/widget_detail_bloc/widget_detail_state.dart @@ -45,6 +45,4 @@ class DetailWithData extends DetailState { class DetailLoading extends DetailState {} -class DetailEmpty extends DetailState {} - class DetailFailed extends DetailState {} diff --git a/modules/widget_system/widget_module/lib/blocs/widgets_bloc/widgets_bloc.dart b/modules/widget_system/widget_module/lib/blocs/widgets_bloc/widgets_bloc.dart index 3da35ffcc..8a809104f 100644 --- a/modules/widget_system/widget_module/lib/blocs/widgets_bloc/widgets_bloc.dart +++ b/modules/widget_system/widget_module/lib/blocs/widgets_bloc/widgets_bloc.dart @@ -1,9 +1,9 @@ import 'dart:async'; import 'dart:ui'; -import 'package:app/app.dart'; import 'package:equatable/equatable.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:fx_platform_adapter/fx_platform_adapter.dart'; import 'package:widget_repository/widget_repository.dart'; part 'widgets_event.dart'; @@ -27,8 +27,9 @@ class WidgetsBloc extends Bloc { /// 切换页签,以 [family] 为过滤项 void _onEventTabTap(EventTabTap event, Emitter emit) async { // emit(const WidgetsLoading(operate: LoadOperate.load)); - int size = kIsDesk ? 1000 : 20; - WidgetFilter filter = WidgetFilter.family(event.family, pageSize: size,locale: event.locale); + int size = kAppEnv.isDesktop ? 1000 : 20; + WidgetFilter filter = + WidgetFilter.family(event.family, pageSize: size, locale: event.locale); try { final List widgets = await repository.searchWidgets(filter); emit(WidgetsLoaded( @@ -129,9 +130,7 @@ class WidgetsBloc extends Bloc { } void changeLocale(Locale locale) { - add(EventTabTap( - state.filter.family??WidgetFamily.stateless, - locale: '${locale.languageCode}-${locale.countryCode}'.toLowerCase() - )); + add(EventTabTap(state.filter.family ?? WidgetFamily.stateless, + locale: '${locale.languageCode}-${locale.countryCode}'.toLowerCase())); } } diff --git a/modules/widget_system/widget_module/lib/event/widget_statistics_event.dart b/modules/widget_system/widget_module/lib/event/widget_statistics_event.dart new file mode 100644 index 000000000..31830feb1 --- /dev/null +++ b/modules/widget_system/widget_module/lib/event/widget_statistics_event.dart @@ -0,0 +1,10 @@ +import 'package:flutter/material.dart'; +import 'package:storage/storage.dart'; +import 'package:widget_repository/widget_repository.dart'; + +/// 初始化统计数据 +Future initWidgetStatistics() async { + await WidgetStatisticsProvider().loadStatistics( + AppStorage().flutter(), + ); +} diff --git a/modules/widget_system/widget_module/lib/views/components/collected_tag.dart b/modules/widget_system/widget_module/lib/views/components/collected_tag.dart index 62a1d2da6..f39b3f82d 100644 --- a/modules/widget_system/widget_module/lib/views/components/collected_tag.dart +++ b/modules/widget_system/widget_module/lib/views/components/collected_tag.dart @@ -1,29 +1,29 @@ -import 'package:flutter/material.dart'; -import 'package:l10n/ext.dart'; -import 'package:wrapper/wrapper.dart'; - -class CollectedTag extends StatelessWidget { - const CollectedTag({super.key}); - - @override - Widget build(BuildContext context) { - bool isDark = Theme.of(context).brightness == Brightness.dark; - Color color = Theme.of(context).primaryColor; - String text = context.l10n.favorite; - return Wrapper.just( - radius: 10, - color: isDark ? const Color(0xff292A2D) : const Color(0xffF3F3F5), - padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), - child: Text( - text, - style: TextStyle(color: color, height: 1, fontSize: 10, shadows: [ - Shadow( - color: isDark ? Colors.black : Colors.white, - blurRadius: 2, - offset: const Offset(1, 1), - ) - ]), - ), - ); - } -} +// import 'package:flutter/material.dart'; +// import 'package:l10n/ext.dart'; +// import 'package:wrapper/wrapper.dart'; +// +// class CollectedTag extends StatelessWidget { +// const CollectedTag({super.key}); +// +// @override +// Widget build(BuildContext context) { +// bool isDark = Theme.of(context).brightness == Brightness.dark; +// Color color = Theme.of(context).primaryColor; +// String text = context.l10n.favorite; +// return Wrapper.just( +// radius: 10, +// color: isDark ? const Color(0xff292A2D) : const Color(0xffF3F3F5), +// padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), +// child: Text( +// text, +// style: TextStyle(color: color, height: 1, fontSize: 10, shadows: [ +// Shadow( +// color: isDark ? Colors.black : Colors.white, +// blurRadius: 2, +// offset: const Offset(1, 1), +// ) +// ]), +// ), +// ); +// } +// } diff --git a/modules/widget_system/widget_module/lib/views/desk_ui/category_panel/desk_category_page.dart b/modules/widget_system/widget_module/lib/views/desk_ui/category_panel/desk_category_page.dart index 6550094e9..7817fd20f 100644 --- a/modules/widget_system/widget_module/lib/views/desk_ui/category_panel/desk_category_page.dart +++ b/modules/widget_system/widget_module/lib/views/desk_ui/category_panel/desk_category_page.dart @@ -20,7 +20,6 @@ class DeskCategoryPage extends StatefulWidget { } class _DeskCategoryPageState extends State { - final PageController _ctrl = PageController(); @override @@ -28,16 +27,20 @@ class _DeskCategoryPageState extends State { return Scaffold( body: Column( children: [ - DeskTabTopBar(onTabPressed: (int value) { - _ctrl.jumpToPage(value); - }, tabs: ['组件酒肆','珍藏组件'],), - Expanded(child: PageView( - controller: _ctrl, - children: [ - DeskCateGoryPage(), - DeskLikePage(), - ], - )) + DeskTabTopBar( + onTabPressed: (int value) { + _ctrl.jumpToPage(value); + }, + tabs: ['组件酒肆', '珍藏组件'], + ), + Expanded( + child: PageView( + controller: _ctrl, + children: [ + DeskCateGoryPage(), + DeskLikePage(), + ], + )) ], ), ); @@ -47,39 +50,35 @@ class _DeskCategoryPageState extends State { class DeskCateGoryPage extends StatelessWidget { const DeskCateGoryPage({Key? key}) : super(key: key); - - @override Widget build(BuildContext context) { - const SliverGridDelegate deskGridDelegate = SliverGridDelegateWithMaxCrossAxisExtent( + const SliverGridDelegate deskGridDelegate = + SliverGridDelegateWithMaxCrossAxisExtent( maxCrossAxisExtent: 240, mainAxisSpacing: 8, mainAxisExtent: 220, crossAxisSpacing: 8, ); - CategoryBloc bloc = context.read(); + CategoryBloc bloc = context.read(); CategoryState state = bloc.state; - if(state is CategoryLoadedState){ + if (state is CategoryLoadedState) { return GridView.builder( - itemCount: state.categories.length, + itemCount: state.categories.length, padding: EdgeInsets.all(12), - gridDelegate: deskGridDelegate, itemBuilder: (_, index) => GestureDetector( - onTap: () => _toDetailPage(context, state.categories[index]), - child: CategoryListItem( - data: state.categories[index], - onDeleteItemClick: (model) => - _deleteCollect(context, model), - onEditItemClick: (model) => - _editCollect(context, model), - ))); + gridDelegate: deskGridDelegate, + itemBuilder: (_, index) => GestureDetector( + onTap: () => _toDetailPage(context, state.categories[index]), + child: CategoryListItem( + data: state.categories[index], + onDeleteItemClick: (model) => _deleteCollect(context, model), + onEditItemClick: (model) => _editCollect(context, model), + ))); } return SizedBox.shrink(); - } - ShapeBorder get rRectBorder => const RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(10))); @@ -87,65 +86,68 @@ class DeskCateGoryPage extends StatelessWidget { showDialog( context: context, builder: (ctx) => Dialog( - elevation: 5, - shape: rRectBorder, - child: SizedBox( - width: 50, - child: DeleteCategoryDialog( - title: '删除收藏集', - content: ' 删除【${model.name}】收藏集,你将会失去其中的所有收藏组件,是否确定继续执行?', - onSubmit: () { - BlocProvider.of(context) - .add(EventDeleteCategory(id: model.id!)); - Navigator.of(context).pop(); - }, - ), - ), - )); + elevation: 5, + shape: rRectBorder, + child: SizedBox( + width: 50, + child: DeleteCategoryDialog( + title: '删除收藏集', + content: ' 删除【${model.name}】收藏集,你将会失去其中的所有收藏组件,是否确定继续执行?', + onSubmit: () { + BlocProvider.of(context) + .add(EventDeleteCategory(id: model.id!)); + Navigator.of(context).pop(); + }, + ), + ), + )); } void _editCollect(BuildContext context, CategoryModel model) { showDialog( context: context, builder: (ctx) => Dialog( - backgroundColor: const Color(0xFFF2F2F2), - elevation: 5, - shape: rRectBorder, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Gap.H5, - Row( + backgroundColor: const Color(0xFFF2F2F2), + elevation: 5, + shape: rRectBorder, + child: Column( + mainAxisSize: MainAxisSize.min, children: [ + Gap.H5, + Row( + children: [ + Padding( + padding: const EdgeInsets.only(left: 20, right: 10), + child: Circle( + color: Theme.of(context).primaryColor, + ), + ), + const Text( + '修改收藏集', + style: TextStyle(fontSize: 20), + ), + const Spacer(), + const CloseButton() + ], + ), Padding( - padding: const EdgeInsets.only(left: 20, right: 10), - child: Circle( - color: Theme.of(context).primaryColor, + padding: const EdgeInsets.all(8.0), + child: EditCategoryPanel( + model: model, + type: EditType.update, ), ), - const Text( - '修改收藏集', - style: TextStyle(fontSize: 20), - ), - const Spacer(), - const CloseButton() ], ), - Padding( - padding: const EdgeInsets.all(8.0), - child: EditCategoryPanel(model: model,type: EditType.update,), - ), - ], - ), - )); + )); } void _toDetailPage(BuildContext context, CategoryModel model) { - BlocProvider.of(context).add(EventLoadCategoryWidget(model.id!)); - BlocProvider.of(context).add(EventLoadCategoryWidget(model.id!)); + String locale = context.read().language.code; + + BlocProvider.of(context) + .add(EventLoadCategoryWidget(model.id!, locale)); // Navigator.pushNamed(context, UnitRouter.category_show, arguments: model); - context.push('${AppRoute.collectionDetail.url}${model.id}',extra: model); + context.push('${AppRoute.collectionDetail.url}${model.id}', extra: model); } - - } diff --git a/modules/widget_system/widget_module/lib/views/desk_ui/category_panel/desk_top_like_panel.dart b/modules/widget_system/widget_module/lib/views/desk_ui/category_panel/desk_top_like_panel.dart index ff2f7f1ae..2c1d06ac4 100644 --- a/modules/widget_system/widget_module/lib/views/desk_ui/category_panel/desk_top_like_panel.dart +++ b/modules/widget_system/widget_module/lib/views/desk_ui/category_panel/desk_top_like_panel.dart @@ -1,10 +1,11 @@ import 'package:app/app.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:widget_module/blocs/action/widget_action.dart'; import 'package:widget_module/blocs/blocs.dart'; import 'package:widget_repository/widget_repository.dart'; - +import 'package:widget_ui/widget_ui.dart'; import '../../mobile/widget_detail/collect_widget_list_item.dart'; import '../../mobile/widget_detail/widget_detail_page.dart'; @@ -12,7 +13,7 @@ class DeskLikePage extends StatelessWidget { const DeskLikePage({Key? key}) : super(key: key); final SliverGridDelegate deskGridDelegate = - const SliverGridDelegateWithMaxCrossAxisExtent( + const SliverGridDelegateWithMaxCrossAxisExtent( maxCrossAxisExtent: 300, mainAxisSpacing: 15, mainAxisExtent: 80, @@ -21,36 +22,26 @@ class DeskLikePage extends StatelessWidget { @override Widget build(BuildContext context) { - - LikeWidgetBloc bloc = context.watch(); - LikeWidgetState state = bloc.state; + LikeWidgetBloc bloc = context.watch(); + List state = bloc.state; return GridView.builder( - itemCount: state.widgets.length, + itemCount: state.length, padding: EdgeInsets.all(20), - gridDelegate: deskGridDelegate, itemBuilder: (_, index) => GestureDetector( - onTap: () => _toDetailPage(context, state.widgets[index]), - child: CollectWidgetListItem( - data: state.widgets[index], - onDeleteItemClick: (model) => - _deleteCollect(context, model), - ))); - - return SizedBox.shrink(); - + gridDelegate: deskGridDelegate, + itemBuilder: (_, index) => GestureDetector( + onTap: () => _toDetailPage(context, state[index]), + child: CollectWidgetListItem( + data: state[index], + onDeleteItemClick: (model) => context.toggleLike(model.id), + ))); } - ShapeBorder get rRectBorder => const RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(10))); - - _deleteCollect(BuildContext context, WidgetModel model) => - BlocProvider.of(context).add(ToggleLikeWidgetEvent(id: model.id)); - _toDetailPage(BuildContext context, WidgetModel model) { // BlocProvider.of(context).add(FetchWidgetDetail(model)); - Navigator.push(context, SlidePageRoute(child: WidgetDetailPageScope(model: model))); + Navigator.push( + context, SlidePageRoute(child: WidgetDetailPageScope(model: model))); } - - -} \ No newline at end of file +} diff --git a/modules/widget_system/widget_module/lib/views/desk_ui/like_tag.dart b/modules/widget_system/widget_module/lib/views/desk_ui/like_tag.dart deleted file mode 100644 index ad6b1249e..000000000 --- a/modules/widget_system/widget_module/lib/views/desk_ui/like_tag.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; - -import '../../blocs/blocs.dart'; -import '../../widget_module.dart'; -import '../components/collected_tag.dart'; - - -class LikeTag extends StatelessWidget { - final WidgetModel widget; - - const LikeTag({super.key, required this.widget}); - - @override - Widget build(BuildContext context) { - bool show = context.select( - (LikeWidgetBloc bloc) => bloc.state.widgets.contains(widget), - ); - if (show) { - return GestureDetector( - onTap: (){ - context.read().add(ToggleLikeWidgetEvent(id: widget.id)); - }, - child: Container( - width: 24, - height: 24, - decoration: BoxDecoration( - color: Colors.white.withValues(alpha: 0.3), - borderRadius: BorderRadius.only( - topLeft: Radius.circular(6), - bottomRight: Radius.circular(8), - ) - ), - child: Icon(Icons.star,color: Colors.white,size: 16,), - ), - ); - } - return const SizedBox(); - } -} diff --git a/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_bar.dart b/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_bar.dart index 274a2bfaf..5fcdba687 100644 --- a/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_bar.dart +++ b/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_bar.dart @@ -6,12 +6,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:toly_ui/toly_ui.dart'; import 'package:utils/utils.dart'; - +import 'package:widget_module/blocs/action/widget_action.dart'; +import 'package:widget_ui/widget_ui.dart'; import 'package:widget_module/blocs/blocs.dart'; import 'package:widget_repository/widget_repository.dart'; - class DeskSliverWidgetDetailBar extends StatelessWidget { final WidgetModel model; @@ -25,13 +25,16 @@ class DeskSliverWidgetDetailBar extends StatelessWidget { Widget build(BuildContext context) { bool isDark = Theme.of(context).brightness == Brightness.dark; Color? appBarColor = Theme.of(context).appBarTheme.backgroundColor; - Color? appBarTextColor = Theme.of(context).appBarTheme.titleTextStyle?.color; + Color? appBarTextColor = + Theme.of(context).appBarTheme.titleTextStyle?.color; return SliverAppBar( pinned: true, - backgroundColor: isDark? appBarColor:backgroundColor, - titleTextStyle: TextStyle(color: isDark?appBarTextColor:Color(0xff696969)), - iconTheme: IconThemeData(color: isDark?appBarTextColor:Color(0xff696969)), + backgroundColor: isDark ? appBarColor : backgroundColor, + titleTextStyle: + TextStyle(color: isDark ? appBarTextColor : Color(0xff696969)), + iconTheme: + IconThemeData(color: isDark ? appBarTextColor : Color(0xff696969)), expandedHeight: 120.0, scrolledUnderElevation: 0.5, flexibleSpace: DragToMoveWrapper( @@ -44,13 +47,16 @@ class DeskSliverWidgetDetailBar extends StatelessWidget { ), fixedSubtitle: Text( model.name, - style: TextStyle(color:isDark?appBarTextColor:Color(0xff696969), fontSize: 12), + style: TextStyle( + color: isDark ? appBarTextColor : Color(0xff696969), + fontSize: 12), ), title: Padding( padding: const EdgeInsets.only(bottom: 3), child: Text( model.nameCN, - style: TextStyle(color:isDark?appBarTextColor: textColor, fontSize: 16), + style: TextStyle( + color: isDark ? appBarTextColor : textColor, fontSize: 16), ), ), //伸展处布局 @@ -61,32 +67,25 @@ class DeskSliverWidgetDetailBar extends StatelessWidget { ), elevation: 0, actions: [ - - WindowButtons( - actions: [ - _buildToHome(context), - FeedbackWidget( - onPressed: () => _toggleLikeState(context), - child: BlocConsumer( - listener: _listenLikeStateChange, - builder: _buildByLikeState, - ), - ), - ], - ) + WindowButtons( + actions: [ + _buildToHome(context), + FeedbackWidget( + onPressed: () => context.toggleLike(model.id), + child: BlocConsumer>( + listener: _listenLikeStateChange, + builder: _buildByLikeState, + ), + ), + ], + ) ], ); } - void _toggleLikeState(BuildContext context) { - BlocProvider.of(context).add( - ToggleLikeWidgetEvent(id: model.id), - ); - } - // 监听 LikeWidgetBloc 伺机弹出 toast - void _listenLikeStateChange(BuildContext context, LikeWidgetState state) { - bool collected = state.widgets.contains(model); + void _listenLikeStateChange(BuildContext context, List state) { + bool collected = state.contains(model); String msg = collected ? "收藏【${model.name}】组件成功!" : "已取消【${model.name}】组件收藏!"; Toast.toast( @@ -103,8 +102,8 @@ class DeskSliverWidgetDetailBar extends StatelessWidget { } // 根据 [LikeWidgetState ] 构建图标 - Widget _buildByLikeState(BuildContext context, LikeWidgetState state) { - bool liked = state.widgets.contains(model); + Widget _buildByLikeState(BuildContext context, List state) { + bool liked = state.contains(model); return SizedBox( width: 30, height: 30, @@ -117,10 +116,13 @@ class DeskSliverWidgetDetailBar extends StatelessWidget { Widget _buildToHome(BuildContext context) => GestureDetector( onLongPress: () => Scaffold.of(context).openEndDrawer(), - child:const SizedBox( + child: const SizedBox( width: 30, height: 30, - child: Icon(Icons.home,size: 20,), + child: Icon( + Icons.home, + size: 20, + ), ), onTap: () => Navigator.of(context).pop()); } diff --git a/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_page.dart b/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_page.dart index c6ed47264..cfa080ac1 100644 --- a/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_page.dart +++ b/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_page.dart @@ -10,6 +10,7 @@ import 'package:widget_repository/widget_repository.dart'; import '../../mobile/mobile_ui.dart'; import '../../mobile/widget_detail/category_end_drawer.dart'; import '../../mobile/widget_detail/node_display/node_display.dart'; +import '../../mobile/widget_detail/widget_fields_sliver.dart'; import 'link_widget_buttons.dart'; import 'widget_detail_bar.dart'; import 'widget_detail_panel.dart'; @@ -55,11 +56,12 @@ class _DeskWidgetDetailPageScopeState extends State { Widget build(BuildContext context) { if (_model == null) return const Center(child: CupertinoActivityIndicator()); - Locale locale = context.read().state.language.locale; + Locale locale = context.read().state.language.locale; // Locale locale = Localizations.localeOf(context); // String? countryCode = locale.countryCode; // if (countryCode == null) {} - String localeStr = '${locale.languageCode}-${locale.countryCode}'.toLowerCase(); + String localeStr = + '${locale.languageCode}-${locale.countryCode}'.toLowerCase(); return BlocProvider( create: (_) => WidgetDetailBloc( @@ -119,16 +121,23 @@ class DeskWidgetDetailPage extends StatelessWidget { SliverToBoxAdapter( child: Column( children: [ - DeskWidgetDetailPanel(model: bloc.currentWidget, state: state,), - const Divider(height: 18,) + DeskWidgetDetailPanel( + model: bloc.currentWidget, + state: state, + ), + const Divider( + height: 18, + ) ], ), ), if (state is DetailWithData) - SliverNodeList( - nodes: state.nodes, - model: state.widgetModel, - ) + state.nodes.isNotEmpty + ? SliverNodeList( + nodes: state.nodes, + model: state.widgetModel, + ) + : SliverWidgetFieldsList(widgetId: model!.id), ], )); } diff --git a/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_panel.dart b/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_panel.dart index ea3b269a5..3ca8a6c91 100644 --- a/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_panel.dart +++ b/modules/widget_system/widget_module/lib/views/desk_ui/widget_detail/widget_detail_panel.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_star/flutter_star.dart'; import 'package:toly_ui/toly_ui.dart'; import 'package:widget_repository/widget_repository.dart'; +import 'package:widget_ui/widget_ui.dart'; import 'dart:math'; import '../../../blocs/blocs.dart'; @@ -31,7 +32,14 @@ class DeskWidgetDetailPanel extends StatelessWidget { children: [ _buildLeft(model, context), const SizedBox(width: 12), - _buildRight(color, model), + Hero( + tag: "hero_widget_image_${model.id}", + child: WidgetDetailLogo( + model: model, + background: color, + widgetName: model.name, + ), + ) ], ), ); @@ -67,77 +75,4 @@ class DeskWidgetDetailPanel extends StatelessWidget { ], ), ); - - Widget _buildRight(Color color, WidgetModel model) => Column( - mainAxisSize: MainAxisSize.min, - children: [ - Hero( - tag: "hero_widget_image_${model.id}", - child: WidgetLogo( - widgetId: model.id, - background: color, - widgetName: model.name, - ), - ), - const SizedBox( - height: 6, - ), - StarScore( - score: model.lever, - star: Star(size: 15, fillColor: color), - ) - ], - ); -} - -class WidgetLogo extends StatelessWidget { - final Color background; - final String widgetName; - final int widgetId; - - const WidgetLogo({ - super.key, - required this.background, - required this.widgetName, - required this.widgetId, - }); - - @override - Widget build(BuildContext context) { - return Stack( - children: [ - Container( - width: 240, - height: 160, - alignment: Alignment.center, - decoration: BoxDecoration( - color: background, - gradient: LinearGradient( - transform: const GradientRotation(270 * 180 / pi), - colors: [ - background.withValues(alpha: 0.9), - background.withValues(alpha: 0.5) - ]), - borderRadius: BorderRadius.circular(6), - ), - child: SvgPicture.asset( - 'assets/images/widgets/${widgetLogo(widgetName)}', - width: 140, - ), - ), - Positioned( - bottom: 2, - left: 6, - child: Text( - "#$widgetId", - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 12, - color: Colors.white70, - ), - )) - ], - ); - } } diff --git a/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/desk_widget_top_bar.dart b/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/desk_widget_top_bar.dart index a8908c885..f5dcb97dc 100644 --- a/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/desk_widget_top_bar.dart +++ b/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/desk_widget_top_bar.dart @@ -2,32 +2,94 @@ import 'package:app/app.dart'; import 'package:l10n/l10n.dart'; import 'package:toly_ui/toly_ui.dart'; import 'package:flutter/material.dart'; +import 'package:widget_repository/widget_repository.dart'; import 'desk_search_bar.dart'; class DeskWidgetTopBar extends StatefulWidget { final ValueChanged onTabPressed; - const DeskWidgetTopBar({Key? key,required this.onTabPressed}) : super(key: key); + const DeskWidgetTopBar({Key? key, required this.onTabPressed}) + : super(key: key); @override State createState() => _DeskWidgetTopBarState(); } -class _DeskWidgetTopBarState extends State with SingleTickerProviderStateMixin { +class _DeskWidgetTopBarState extends State + with SingleTickerProviderStateMixin { late TabController tabController; + List get _tabs { + final provider = WidgetStatisticsProvider(); + final stats = provider.statistics; - List get _tabs =>[ - context.l10n.stateless, - context.l10n.stateful, - context.l10n.single, - context.l10n.multi, - context.l10n.sliver, - context.l10n.proxy, - context.l10n.other, - ]; + if (stats == null) { + return [ + context.l10n.stateless, + context.l10n.stateful, + context.l10n.single, + context.l10n.multi, + context.l10n.sliver, + context.l10n.proxy, + context.l10n.other, + ]; + } + return [ + context.l10n.stateless, + context.l10n.stateful, + context.l10n.single, + context.l10n.multi, + context.l10n.sliver, + context.l10n.proxy, + context.l10n.other, + ]; + } + + List _buildTabWidgets() { + final provider = WidgetStatisticsProvider(); + final stats = provider.statistics; + final counts = [ + stats?.familyCount[WidgetFamily.stateless] ?? 0, + stats?.familyCount[WidgetFamily.stateful] ?? 0, + stats?.familyCount[WidgetFamily.singleChildRender] ?? 0, + stats?.familyCount[WidgetFamily.multiChildRender] ?? 0, + stats?.familyCount[WidgetFamily.sliver] ?? 0, + stats?.familyCount[WidgetFamily.proxy] ?? 0, + stats?.familyCount[WidgetFamily.other] ?? 0, + ]; + + return List.generate( + _tabs.length, + (index) => Stack( + clipBehavior: Clip.none, + children: [ + Text(_tabs[index]), + if (tabController.index == index) + Positioned( + right: -10, + top: -6, + child: Container( + padding: const EdgeInsets.symmetric( + horizontal: 6, vertical: 3), + decoration: BoxDecoration( + color: Theme.of(context) + .primaryColor + .withValues(alpha: 0.6), + borderRadius: BorderRadius.circular(6), + ), + child: Text('${counts[index]}', + style: const TextStyle( + fontFamily: '黑体', + height: 1, + fontSize: 9, + color: Colors.white)), + ), + ), + ], + )); + } @override void initState() { @@ -44,7 +106,7 @@ class _DeskWidgetTopBarState extends State with SingleTickerP child: Container( padding: const EdgeInsets.only(left: 20), height: 64, - color: isDark?Color(0xff2C3036):Colors.white, + color: isDark ? Color(0xff2C3036) : Colors.white, child: Row( children: [ SizedBox( @@ -67,16 +129,15 @@ class _DeskWidgetTopBarState extends State with SingleTickerP indicatorWeight: 3, unselectedLabelColor: Colors.grey, indicatorColor: themeColor, - tabs: - _tabs.map((String name) => Tab(text: name)).toList(), + tabs: _buildTabWidgets() + .map((Widget widget) => Tab(child: widget)) + .toList(), ), ), Spacer(), Padding( padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: SizedBox( - width: 250, height: 30, child: DeskSearchBar( - )), + child: SizedBox(width: 250, height: 30, child: DeskSearchBar()), ), // const SizedBox(width: 20,), const WindowButtons(), diff --git a/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/widget_panel.dart b/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/widget_panel.dart index e79767fe7..85165ba15 100644 --- a/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/widget_panel.dart +++ b/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/widget_panel.dart @@ -1,20 +1,15 @@ -import 'package:app/app.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:go_router/go_router.dart'; import 'package:widget_module/blocs/blocs.dart'; -import 'package:widget_module/event/widget_event.dart'; import 'package:widget_module/widget_module.dart'; import 'package:widget_repository/widget_repository.dart'; -import 'package:fx_trace/fx_trace.dart'; -import 'package:toly_ui/toly_ui.dart'; import 'desk_widget_top_bar.dart'; -import 'widget_tiled.dart'; +import 'package:widget_ui/widget_ui.dart'; class DeskWidgetPanel extends StatefulWidget { final Widget? header; + const DeskWidgetPanel({super.key, this.header}); @override @@ -86,28 +81,14 @@ class WidgetList extends StatelessWidget { padding: const EdgeInsets.only(left: 14, right: 14, bottom: 8), sliver: SliverGrid.builder( gridDelegate: gridDelegate, - itemBuilder: _buildItem, + itemBuilder: (_, index) => WidgetItem( + model: state.widgets[index], + onWidget: context.handleWidgetAction, + ), itemCount: state.widgets.length, ), ) ], ); - - return GridView.builder( - padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 8), - gridDelegate: gridDelegate, - itemBuilder: _buildItem, - itemCount: state.widgets.length, - ); - } - - Widget _buildItem(BuildContext context, int index) { - WidgetModel model = state.widgets[index]; - return WidgetTiled( - model: model, - onTap: () { - context.push('${AppRoute.widgetDetail.url}${model.name}', extra: model); - }, - ); } } diff --git a/modules/widget_system/widget_module/lib/views/mobile/category_page/category_page.dart b/modules/widget_system/widget_module/lib/views/mobile/category_page/category_page.dart index 555e94368..05e953fc1 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/category_page/category_page.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/category_page/category_page.dart @@ -10,9 +10,6 @@ import 'package:widget_module/blocs/blocs.dart'; import 'package:widget_repository/widget_repository.dart'; - - - import 'category_list_item.dart'; import 'delete_category_dialog.dart'; import 'edit_category_panel.dart'; @@ -21,22 +18,23 @@ import 'empty_category.dart'; class CategoryPage extends StatelessWidget { final SliverGridDelegateWithMaxCrossAxisExtent gridDelegate = const SliverGridDelegateWithMaxCrossAxisExtent( - maxCrossAxisExtent: 200, - mainAxisExtent: 200, - mainAxisSpacing: 8, - crossAxisSpacing: 8, + maxCrossAxisExtent: 200, + mainAxisExtent: 200, + mainAxisSpacing: 8, + crossAxisSpacing: 8, // crossAxisCount: 2, // childAspectRatio: 0.8, ); - final SliverGridDelegateWithFixedCrossAxisCount deskGridDelegate = const SliverGridDelegateWithFixedCrossAxisCount( + final SliverGridDelegateWithFixedCrossAxisCount deskGridDelegate = + const SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, mainAxisSpacing: 10, crossAxisSpacing: 10, childAspectRatio: 0.9, ); - + const CategoryPage({Key? key}) : super(key: key); @override @@ -61,14 +59,14 @@ class CategoryPage extends StatelessWidget { double bottom = MediaQuery.of(context).padding.bottom; return SliverPadding( - padding: EdgeInsets.only(top: 10, left: 10, right: 10, bottom: 20+bottom), - sliver: SliverLayoutBuilder( - builder: (_,c){ - SliverGridDelegate delegate = gridDelegate; - if(c.crossAxisExtent>500){ - delegate = deskGridDelegate; - } - return SliverGrid( + padding: + EdgeInsets.only(top: 10, left: 10, right: 10, bottom: 20 + bottom), + sliver: SliverLayoutBuilder(builder: (_, c) { + SliverGridDelegate delegate = gridDelegate; + if (c.crossAxisExtent > 500) { + delegate = deskGridDelegate; + } + return SliverGrid( delegate: SliverChildBuilderDelegate( (_, index) => GestureDetector( onTap: () => @@ -77,12 +75,11 @@ class CategoryPage extends StatelessWidget { data: state.categories[index], onDeleteItemClick: (model) => _deleteCollect(context, model), - onEditItemClick: (model) => - _editCollect(context, model), + onEditItemClick: (model) => _editCollect(context, model), )), childCount: state.categories.length), - gridDelegate: delegate); } - ), + gridDelegate: delegate); + }), ); } @@ -139,7 +136,10 @@ class CategoryPage extends StatelessWidget { ), Padding( padding: const EdgeInsets.all(8.0), - child: EditCategoryPanel(model: model,type: EditType.update,), + child: EditCategoryPanel( + model: model, + type: EditType.update, + ), ), ], ), @@ -147,9 +147,15 @@ class CategoryPage extends StatelessWidget { } void _toDetailPage(BuildContext context, CategoryModel model) { - BlocProvider.of(context).add(EventLoadCategoryWidget(model.id!)); - context.push('/collection_widgets/${model.id}',extra: model); + Locale l = Localizations.localeOf(context); + String locale = '${l.languageCode}'; + if (l.countryCode == null) { + if (locale == 'en') { + locale += '-US'; + } + } + BlocProvider.of(context) + .add(EventLoadCategoryWidget(model.id!, locale.toLowerCase())); + context.push('/collection/widgets/${model.id}', extra: model); } - - } diff --git a/modules/widget_system/widget_module/lib/views/mobile/category_page/like_widget_page.dart b/modules/widget_system/widget_module/lib/views/mobile/category_page/like_widget_page.dart index be108c610..0284a6d04 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/category_page/like_widget_page.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/category_page/like_widget_page.dart @@ -3,15 +3,14 @@ import 'package:components/project_ui/project_ui.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:widget_module/blocs/action/widget_action.dart'; import 'package:widget_repository/widget_repository.dart'; - +import 'package:widget_ui/widget_ui.dart'; import 'package:widget_module/blocs/blocs.dart'; import '../widget_detail/collect_widget_list_item.dart'; import '../widget_detail/widget_detail_page.dart'; - - /// create by 张风捷特烈 on 2020/6/16 /// contact me by email 1981462002@qq.com /// 说明: @@ -28,7 +27,7 @@ class LikeWidgetPage extends StatelessWidget { ); final SliverGridDelegate deskGridDelegate = - const SliverGridDelegateWithFixedCrossAxisCount( + const SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, mainAxisSpacing: 10, crossAxisSpacing: 10, @@ -37,7 +36,8 @@ class LikeWidgetPage extends StatelessWidget { @override Widget build(BuildContext context) { - return BlocBuilder(builder: (ctx, state) { + return BlocBuilder>( + builder: (ctx, state) { return CustomScrollView( slivers: [ SliverOverlapInjector( @@ -52,35 +52,32 @@ class LikeWidgetPage extends StatelessWidget { }); } - Widget _buildContent(BuildContext context, LikeWidgetState state) { + Widget _buildContent(BuildContext context, List state) { return SliverPadding( - padding: const EdgeInsets.only(top: 10, left: 10, right: 10, bottom: 0), - sliver: SliverLayoutBuilder( - builder: (_,c){ + padding: const EdgeInsets.only(top: 10, left: 10, right: 10, bottom: 0), + sliver: SliverLayoutBuilder( + builder: (_, c) { SliverGridDelegate delegate = gridDelegate; - if(c.crossAxisExtent>500){ + if (c.crossAxisExtent > 500) { delegate = deskGridDelegate; } return SliverGrid( - delegate: SliverChildBuilderDelegate( - (_, index) => GestureDetector( - onTap: () => - _toDetailPage(context, state.widgets[index]), - child: CollectWidgetListItem( - data: state.widgets[index], - onDeleteItemClick: (model) => - _deleteCollect(context, model), - )), - childCount: state.widgets.length), - gridDelegate: delegate);}, - )); + delegate: SliverChildBuilderDelegate( + (_, index) => GestureDetector( + onTap: () => _toDetailPage(context, state[index]), + child: CollectWidgetListItem( + data: state[index], + onDeleteItemClick: (model) => + context.toggleLike(model.id), + )), + childCount: state.length), + gridDelegate: delegate); + }, + )); } - _deleteCollect(BuildContext context, WidgetModel model) => - BlocProvider.of(context) - .add(ToggleLikeWidgetEvent(id: model.id)); - _toDetailPage(BuildContext context, WidgetModel model) { - Navigator.push(context, SlidePageRoute(child: WidgetDetailPageScope(model: model))); + Navigator.push( + context, SlidePageRoute(child: WidgetDetailPageScope(model: model))); } } diff --git a/modules/widget_system/widget_module/lib/views/mobile/category_page/sync/async_button.dart b/modules/widget_system/widget_module/lib/views/mobile/category_page/sync/async_button.dart index be83c4add..7acd72988 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/category_page/sync/async_button.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/category_page/sync/async_button.dart @@ -11,7 +11,7 @@ import 'package:widget_module/blocs/blocs.dart'; import 'package:storage/storage.dart'; import 'package:widget_repository/widget_repository.dart'; - +import 'package:widget_ui/widget_ui.dart'; import 'package:toly_ui/toly_ui.dart'; @@ -85,7 +85,7 @@ class _SyncCategoryButtonState extends State { CategoryRepository repository = BlocProvider.of(context).repository; await repository.syncCategoryByData(result.data!.data,result.data!.likeData); BlocProvider.of(context).add(const EventLoadCategory()); - BlocProvider.of(context).add(const EventLoadLikeData()); + context.read().loadLikeData(); } else { // 说明还没有后台数据, // 这里防止有傻孩子没点备份,就点同步,哥哥好心,给备份一下。 diff --git a/modules/widget_system/widget_module/lib/views/mobile/search_page/standard_search_page.dart b/modules/widget_system/widget_module/lib/views/mobile/search_page/standard_search_page.dart index 0dd26148d..335659242 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/search_page/standard_search_page.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/search_page/standard_search_page.dart @@ -6,9 +6,10 @@ import 'package:go_router/go_router.dart'; import 'package:widget_module/blocs/blocs.dart'; import 'package:l10n/l10n.dart'; +import 'package:widget_module/widget_module.dart'; import 'package:widget_repository/widget_repository.dart'; -import '../widget_page/mobile_widget_tiled.dart'; +import 'package:widget_ui/widget_ui.dart'; import 'standard_search_bar.dart'; // SearchPage 可以复用 WidgetsBloc,进行局部的 Bloc @@ -34,23 +35,22 @@ class StandardSearchPage extends StatelessWidget { @override Widget build(BuildContext context) { bool isDark = Theme.of(context).brightness == Brightness.dark; - + Color color = isDark + ? Theme.of(context).appBarTheme.backgroundColor ?? Colors.black + : Colors.white; return Scaffold( body: Column( children: [ - SizedBox( + Container( + color: color, height: MediaQuery.of(context).padding.top, width: MediaQuery.of(context).size.width, - child: ColoredBox( - color: isDark - ? Theme.of(context).appBarTheme.backgroundColor ?? - Colors.black - : Colors.white), ), const StandardSearchBarInner(), Expanded( child: BlocBuilder( - builder: _buildBodyByState)) + builder: _buildBodyByState, + )) ], ), ); @@ -66,16 +66,18 @@ class StandardSearchPage extends StatelessWidget { if (state is WidgetsLoaded) { if (state.widgets.isEmpty) { - return EmptyShower( - message: context.l10n.emptySearch, - ); + return EmptyShower(message: context.l10n.emptySearch); } return ListView.builder( padding: EdgeInsets.zero, - itemBuilder: (_, index) => MobileWidgetTiled( - searchArg: state.filter.name, + itemBuilder: (_, index) => Padding( + padding: const EdgeInsets.only(left: 8.0, right: 8, top: 8), + child: WidgetItem( + searchArgs: state.filter.name, model: state.widgets[index], - onTap: () => _toDetail(context, state.widgets[index])), + onWidget: context.handleWidgetAction, + ), + ), itemCount: state.widgets.length, ); } @@ -90,9 +92,4 @@ class StandardSearchPage extends StatelessWidget { return noSearchArg; } - - void _toDetail(BuildContext context, WidgetModel model) { - // BlocProvider.of(context).add(FetchWidgetDetail(model)); - context.push('/widget/detail/${model.name}', extra: model); - } } diff --git a/modules/widget_system/widget_module/lib/views/mobile/widget_detail/category_end_drawer.dart b/modules/widget_system/widget_module/lib/views/mobile/widget_detail/category_end_drawer.dart index c14f6b832..1e8ae41a5 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/widget_detail/category_end_drawer.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/widget_detail/category_end_drawer.dart @@ -131,8 +131,10 @@ class _CategoryInfoState extends State { onSelected: (v) async { await repository.toggleCategory(category.id!, widget.id); _loadCategoryIds(); + String locale = context.read().language.code; + BlocProvider.of(context) - .add(EventLoadCategoryWidget(category.id!)); + .add(EventLoadCategoryWidget(category.id!, locale)); }); } diff --git a/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_bar.dart b/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_bar.dart index 2af9060cd..b12089cc5 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_bar.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_bar.dart @@ -6,9 +6,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:toly_ui/toly_ui.dart'; import 'package:utils/utils.dart'; +import 'package:widget_module/blocs/action/widget_action.dart'; import 'package:widget_module/blocs/blocs.dart'; import 'package:widget_repository/widget_repository.dart'; - +import 'package:widget_ui/widget_ui.dart'; class SliverWidgetDetailBar extends StatelessWidget { final WidgetModel model; @@ -61,8 +62,8 @@ class SliverWidgetDetailBar extends StatelessWidget { actions: [ _buildToHome(context), FeedbackWidget( - onPressed: () => _toggleLikeState(context), - child: BlocConsumer( + onPressed: () => context.toggleLike(model.id), + child: BlocConsumer>( listener: _listenLikeStateChange, builder: _buildByLikeState, ), @@ -71,15 +72,10 @@ class SliverWidgetDetailBar extends StatelessWidget { ); } - void _toggleLikeState(BuildContext context) { - BlocProvider.of(context).add( - ToggleLikeWidgetEvent(id: model.id), - ); - } // 监听 LikeWidgetBloc 伺机弹出 toast - void _listenLikeStateChange(BuildContext context, LikeWidgetState state) { - bool collected = state.widgets.contains(model); + void _listenLikeStateChange(BuildContext context, List state) { + bool collected = state.contains(model); String msg = collected ? "收藏【${model.name}】组件成功!" : "已取消【${model.name}】组件收藏!"; Toast.toast( @@ -96,8 +92,8 @@ class SliverWidgetDetailBar extends StatelessWidget { } // 根据 [LikeWidgetState ] 构建图标 - Widget _buildByLikeState(BuildContext context, LikeWidgetState state) { - bool liked = state.widgets.contains(model); + Widget _buildByLikeState(BuildContext context, List state) { + bool liked = state.contains(model); return Padding( padding: const EdgeInsets.only(right: 20.0), child: Icon( diff --git a/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_page.dart b/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_page.dart index c9c97f3f9..34d1db6e4 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_page.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_page.dart @@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:l10n/l10n.dart'; +import 'package:unit_widgets_display/unit_widgets_display.dart'; import 'package:widget_repository/widget_repository.dart'; import '../../desk_ui/widget_detail/link_widget_buttons.dart'; @@ -14,7 +15,7 @@ import 'package:widget_module/blocs/blocs.dart'; import 'category_end_drawer.dart'; import 'widget_detail_bar.dart'; import 'widget_detail_panel.dart'; -import 'package:widgets/widgets.dart'; +import 'widget_fields_sliver.dart'; import 'package:tolyui/tolyui.dart'; // 用于组件详情不需要在一开始就加载 @@ -88,10 +89,12 @@ class WidgetDetailPage extends StatelessWidget { ), ), if (state is DetailWithData) - SliverNodeList( - nodes: state.nodes, - model: state.widgetModel, - ), + state.nodes.isNotEmpty + ? SliverNodeList( + nodes: state.nodes, + model: state.widgetModel, + ) + : SliverWidgetFieldsList(widgetId: model.id), ], )); } diff --git a/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_panel.dart b/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_panel.dart index 96dc2abd6..cfd417555 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_panel.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_detail_panel.dart @@ -2,7 +2,7 @@ import 'package:toly_ui/toly_ui.dart'; import 'package:flutter/material.dart'; import 'package:flutter_star/flutter_star.dart'; import 'package:widget_repository/widget_repository.dart'; - +import 'package:widget_ui/widget_ui.dart'; class WidgetDetailPanel extends StatelessWidget { final WidgetModel model; @@ -11,43 +11,31 @@ class WidgetDetailPanel extends StatelessWidget { @override Widget build(BuildContext context) { + Color color = Theme.of(context).primaryColor; + return Row( children: [ _buildLeft(model, context), - _buildRight(model), + Hero( + tag: "hero_widget_image_${model.id}", + child: WidgetDetailLogo( + model: model, + background: color, + widgetName: model.name, + ), + ) ], ); } Widget _buildLeft(WidgetModel model, BuildContext context) => Expanded( - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Panel( - color: Theme.of(context).scaffoldBackgroundColor, - child: Text(model.info)), - ), - ); - - Widget _buildRight(WidgetModel model) => Column( - mainAxisSize: MainAxisSize.min, - children: [ - SizedBox( - height: 100, child: Padding( padding: const EdgeInsets.all(8.0), - child: Hero( - tag: "hero_widget_image_${model.id}", - child: ClipRRect( - borderRadius: const BorderRadius.all(Radius.circular(8)), - child: model.image == null - ? Image.asset('assets/images/caver.webp') - : Image(image: model.image!))), + child: Panel( + constraints: BoxConstraints(minHeight: 110), + alignment: Alignment.topLeft, + color: Theme.of(context).scaffoldBackgroundColor, + child: Text(model.info)), ), - ), - StarScore( - score: model.lever, - star: const Star(size: 15, fillColor: Colors.blue), - ) - ], - ); + ); } diff --git a/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_fields_sliver.dart b/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_fields_sliver.dart new file mode 100644 index 000000000..17393aa59 --- /dev/null +++ b/modules/widget_system/widget_module/lib/views/mobile/widget_detail/widget_fields_sliver.dart @@ -0,0 +1,150 @@ +import 'package:flutter/material.dart'; +import 'package:widget_repository/widget_repository.dart'; + +class SliverWidgetFieldsList extends StatefulWidget { + final int widgetId; + + const SliverWidgetFieldsList({ + super.key, + required this.widgetId, + }); + + @override + State createState() => _SliverWidgetFieldsListState(); +} + +class _SliverWidgetFieldsListState extends State { + List? _fields; + bool _isLoading = true; + + @override + void initState() { + super.initState(); + _loadFields(); + } + + Future _loadFields() async { + try { + final repository = const WidgetDbRepository(); + final fields = await repository.loadWidgetFields(widget.widgetId); + setState(() { + _isLoading = false; + _fields = fields; + }); + } catch (e) { + setState(() { + _isLoading = false; + _fields = []; + }); + } + } + + @override + Widget build(BuildContext context) { + if (_isLoading) { + return const SliverToBoxAdapter( + child: Center( + child: Padding( + padding: EdgeInsets.all(32), + child: CircularProgressIndicator(), + ), + ), + ); + } + + if (_fields!.isEmpty) { + return const SliverToBoxAdapter( + child: Center( + child: Padding( + padding: EdgeInsets.all(32), + child: Text('暂无属性信息'), + ), + ), + ); + } + + return SliverPadding( + padding: const EdgeInsets.all(16), + sliver: SliverList( + delegate: SliverChildBuilderDelegate( + (context, index) => _buildFieldItem(_fields![index]), + childCount: _fields!.length, + ), + ), + ); + } + + Widget _buildFieldItem(WidgetFieldModel field) { + return Padding( + padding: const EdgeInsets.all(12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + width: 4, + height: 20, + decoration: BoxDecoration( + color: Theme.of(context).primaryColor, + borderRadius: BorderRadius.circular(2), + ), + ), + const SizedBox(width: 12), + Expanded( + child: Text( + field.fieldName, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + color: Colors.black87, + ), + ), + ), + // if (field.isRequired) _buildRequiredBadge(), + ], + ), + const SizedBox(height: 2), + Padding( + padding: const EdgeInsets.only(left: 16), + child: Text( + field.fieldType, + style: TextStyle( + color: Theme.of(context).primaryColor, + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + if (field.fieldDescZh != null) const SizedBox(height: 8), + Text( + field.fieldDescZh!, + style: const TextStyle( + fontSize: 13, + color: Colors.grey, + height: 1.4, + ), + ), + ], + ), + ); + } + + Widget _buildRequiredBadge() { + return Container( + padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), + decoration: BoxDecoration( + color: Colors.red, + borderRadius: BorderRadius.circular(12), + ), + child: const Text( + '必需', + style: TextStyle( + color: Colors.white, + fontSize: 11, + fontWeight: FontWeight.w500, + ), + ), + ); + } +} diff --git a/modules/widget_system/widget_module/lib/views/mobile/widget_page/mobile_widget_tiled.dart b/modules/widget_system/widget_module/lib/views/mobile/widget_page/mobile_widget_tiled.dart deleted file mode 100644 index ac1c637f8..000000000 --- a/modules/widget_system/widget_module/lib/views/mobile/widget_page/mobile_widget_tiled.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'package:widget_repository/widget_repository.dart'; -import '../../desk_ui/widget_panel/widget_tiled.dart'; - -class MobileWidgetTiled extends StatelessWidget { - final WidgetModel model; - final VoidCallback onTap; - final String? searchArg; - - const MobileWidgetTiled({ - Key? key, - required this.model, - required this.onTap, - this.searchArg, - }) : super(key: key); - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.only(left: 8.0, right: 8, top: 8), - child: WidgetTiled( - model: model, - onTap: onTap, - searchArg: searchArg, - ), - ); - } -} diff --git a/modules/widget_system/widget_module/lib/views/mobile/widget_page/phone_widget_content.dart b/modules/widget_system/widget_module/lib/views/mobile/widget_page/phone_widget_content.dart index 131608018..9b1ded9a1 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/widget_page/phone_widget_content.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/widget_page/phone_widget_content.dart @@ -1,25 +1,26 @@ import 'package:app/app.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; +import 'package:widget_module/widget_module.dart'; import 'package:widget_repository/widget_repository.dart'; - -import 'mobile_widget_tiled.dart'; - - +import 'package:widget_ui/widget_ui.dart'; class PhoneWidgetContent extends StatelessWidget { final List items; - const PhoneWidgetContent({Key? key,required this.items}) : super(key: key); + const PhoneWidgetContent({Key? key, required this.items}) : super(key: key); @override Widget build(BuildContext context) { return SliverList( delegate: SliverChildBuilderDelegate( - (_, int index) => MobileWidgetTiled( - model: items[index], - onTap: () => _toDetail(context, items[index]), + (_, int index) => Padding( + padding: const EdgeInsets.only(left: 8.0, right: 8, top: 8), + child: WidgetItem( + model: items[index], + onWidget: context.handleWidgetAction, + ), ), childCount: items.length, ), @@ -27,7 +28,6 @@ class PhoneWidgetContent extends StatelessWidget { } void _toDetail(BuildContext context, WidgetModel model) { - context.push('/widget/detail/${model.name}',extra: model); - + context.push('/widget/detail/${model.name}', extra: model); } } diff --git a/modules/widget_system/widget_module/lib/views/mobile/widget_page/standard_home_page.dart b/modules/widget_system/widget_module/lib/views/mobile/widget_page/standard_home_page.dart index 06e3c6479..93f03eee7 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/widget_page/standard_home_page.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/widget_page/standard_home_page.dart @@ -13,6 +13,7 @@ import 'widget_page.dart'; class StandardHomePage extends StatefulWidget { final Widget? heard; + const StandardHomePage({super.key, this.heard}); @override @@ -21,7 +22,12 @@ class StandardHomePage extends StatefulWidget { class _StandardHomePageState extends State with SingleTickerProviderStateMixin, AutomaticKeepAliveClientMixin { - List get _tabs => [ + List get _tabs { + final provider = WidgetStatisticsProvider(); + final stats = provider.statistics; + + if (stats == null) { + return [ context.l10n.stateless, context.l10n.stateful, context.l10n.single, @@ -30,6 +36,68 @@ class _StandardHomePageState extends State context.l10n.proxy, context.l10n.other, ]; + } + + return [ + context.l10n.stateless, + context.l10n.stateful, + context.l10n.single, + context.l10n.multi, + context.l10n.sliver, + context.l10n.proxy, + context.l10n.other, + ]; + } + + ValueNotifier indexValue = ValueNotifier(0); + + List _buildTabWidgets() { + final provider = WidgetStatisticsProvider(); + final stats = provider.statistics; + final counts = [ + stats?.familyCount[WidgetFamily.stateless] ?? 0, + stats?.familyCount[WidgetFamily.stateful] ?? 0, + stats?.familyCount[WidgetFamily.singleChildRender] ?? 0, + stats?.familyCount[WidgetFamily.multiChildRender] ?? 0, + stats?.familyCount[WidgetFamily.sliver] ?? 0, + stats?.familyCount[WidgetFamily.proxy] ?? 0, + stats?.familyCount[WidgetFamily.other] ?? 0, + ]; + + return List.generate( + _tabs.length, + (index) => ValueListenableBuilder( + valueListenable: indexValue, + builder: (context, value, __) { + return Stack( + clipBehavior: Clip.none, + children: [ + Text(_tabs[index]), + if (value == index) + Positioned( + right: -10, + top: -6, + child: Container( + padding: const EdgeInsets.symmetric( + horizontal: 6, vertical: 3), + decoration: BoxDecoration( + color: Theme.of(context) + .primaryColor + .withValues(alpha: 0.6), + borderRadius: BorderRadius.circular(6), + ), + child: Text('${counts[index]}', + style: const TextStyle( + fontFamily: '黑体', + height: 1, + fontSize: 9, + color: Colors.white)), + ), + ), + ], + ); + })); + } late TabController tabController; @@ -37,12 +105,15 @@ class _StandardHomePageState extends State void initState() { super.initState(); tabController = TabController(length: 7, vsync: this); + tabController.addListener(_onChange); } int maxCount = 60; @override void dispose() { + tabController.removeListener(_onChange); + tabController.dispose(); super.dispose(); } @@ -58,7 +129,7 @@ class _StandardHomePageState extends State @override Widget build(BuildContext context) { super.build(context); - final AppBarTheme appBarTheme = AppBarTheme.of(context); + final AppBarThemeData appBarTheme = AppBarTheme.of(context); bool isDark = Theme.of(context).brightness == Brightness.dark; double bottom = MediaQuery.of(context).padding.bottom; return Scaffold( @@ -76,7 +147,6 @@ class _StandardHomePageState extends State Expanded( child: NestedScrollView( floatHeaderSlivers: true, - physics: const BouncingScrollPhysics(), headerSliverBuilder: _buildHeader, body: const WidgetPage()), ), @@ -100,7 +170,7 @@ class _StandardHomePageState extends State SliverToBoxAdapter( child: Container( height: 168, - color: Colors.white, + color: isDark ? Colors.black : Colors.white, child: widget.heard, ), ), @@ -123,7 +193,9 @@ class _StandardHomePageState extends State indicatorWeight: 3, unselectedLabelColor: Colors.grey, indicatorColor: themeColor, - tabs: _tabs.map((String name) => Tab(text: name)).toList(), + tabs: _buildTabWidgets() + .map((Widget widget) => Tab(child: widget)) + .toList(), )), // handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), // ), @@ -132,4 +204,8 @@ class _StandardHomePageState extends State @override bool get wantKeepAlive => true; + + void _onChange() { + indexValue.value = tabController.index; + } } diff --git a/modules/widget_system/widget_module/lib/views/mobile/widget_page/standard_home_search.dart b/modules/widget_system/widget_module/lib/views/mobile/widget_page/standard_home_search.dart index cec885812..174f01dfc 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/widget_page/standard_home_search.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/widget_page/standard_home_search.dart @@ -18,7 +18,7 @@ class StandardHomeSearch extends StatelessWidget bool isDark = Theme.of(context).brightness == Brightness.dark; return ColoredBox( - color: isDark ? Colors.transparent : Colors.white, + color: isDark ? Colors.black : Colors.white, child: Row( children: [ _buildHead(context), @@ -94,6 +94,6 @@ class StandardHomeSearch extends StatelessWidget } void _openDrawer(BuildContext context) { - Scaffold.of(context).openDrawer(); + // Scaffold.of(context).openDrawer(); } } diff --git a/modules/widget_system/widget_module/lib/views/mobile/widget_page/widget_page.dart b/modules/widget_system/widget_module/lib/views/mobile/widget_page/widget_page.dart index 51326cf8a..4bb471810 100644 --- a/modules/widget_system/widget_module/lib/views/mobile/widget_page/widget_page.dart +++ b/modules/widget_system/widget_module/lib/views/mobile/widget_page/widget_page.dart @@ -5,6 +5,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:widget_module/blocs/blocs.dart'; import 'package:note/note.dart'; import 'widget_list_panel.dart'; +import 'package:tolyui_refresh/tolyui_refresh.dart'; class WidgetPage extends StatefulWidget { const WidgetPage({Key? key}) : super(key: key); @@ -28,14 +29,13 @@ class _WidgetPageState extends State { return BlocListener( listener: _listenStateChange, child: RefreshConfigWrapper( - child: SmartRefresher( + child: TolyRefresh( physics: BouncingScrollPhysics(), controller: _refreshController, onRefresh: _onRefresh, enablePullUp: true, onLoading: _onLoadMore, child: CustomScrollView( - physics: BouncingScrollPhysics(), // key: PageStorageKey(name), slivers: [ const WidgetListPanel(), diff --git a/modules/widget_system/widget_module/lib/views/widgets_bloc_provider.dart b/modules/widget_system/widget_module/lib/views/widgets_bloc_provider.dart index f3aa6314c..3dc693d02 100644 --- a/modules/widget_system/widget_module/lib/views/widgets_bloc_provider.dart +++ b/modules/widget_system/widget_module/lib/views/widgets_bloc_provider.dart @@ -1,11 +1,10 @@ -import 'package:app/app.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; - +import 'package:fx_platform_adapter/fx_platform_adapter.dart'; +import 'package:widget_ui/widget_ui.dart'; import '../blocs/blocs.dart'; import 'package:widget_repository/widget_repository.dart'; - class WidgetsBlocProvider extends StatefulWidget { final Widget child; @@ -17,7 +16,8 @@ class WidgetsBlocProvider extends StatefulWidget { class _WidgetsBlocProviderState extends State { late WidgetRepository repository; - final CategoryBloc categoryBloc = CategoryBloc(repository: CategoryDbRepository()); + final CategoryBloc categoryBloc = + CategoryBloc(repository: CategoryDbRepository()); @override void initState() { @@ -33,9 +33,11 @@ class _WidgetsBlocProviderState extends State { Widget build(BuildContext context) { return MultiBlocProvider( providers: [ - BlocProvider(create: (_) => WidgetsBloc(repository: repository)), + BlocProvider( + create: (_) => WidgetsBloc(repository: repository)), BlocProvider(create: (_) => categoryBloc), - BlocProvider(create: (_) => LikeWidgetBloc(repository: repository)), + BlocProvider( + create: (_) => LikeWidgetBloc(repository: repository)), BlocProvider( create: (_) => CategoryWidgetBloc(categoryBloc: categoryBloc)), ], @@ -43,7 +45,6 @@ class _WidgetsBlocProviderState extends State { ); } - @override void dispose() { categoryBloc.close(); diff --git a/modules/widget_system/widget_module/lib/widget_module.dart b/modules/widget_system/widget_module/lib/widget_module.dart index 90affcabf..05012141f 100644 --- a/modules/widget_system/widget_module/lib/widget_module.dart +++ b/modules/widget_system/widget_module/lib/widget_module.dart @@ -4,7 +4,9 @@ export 'views/desk_ui/desk_ui.dart'; export 'views/mobile/mobile_ui.dart'; export 'views/widgets_bloc_provider.dart'; export 'event/widget_event.dart'; +export 'event/widget_statistics_event.dart'; export 'blocs/action/widget_action.dart'; +export 'package:widget_ui/widget_ui.dart' show LikeWidgetBloc; export 'package:widget_repository/widget_repository.dart' show WidgetFilter, diff --git a/modules/widget_system/widget_module/pubspec.yaml b/modules/widget_system/widget_module/pubspec.yaml index 63ee4db3a..0add345f4 100644 --- a/modules/widget_system/widget_module/pubspec.yaml +++ b/modules/widget_system/widget_module/pubspec.yaml @@ -11,10 +11,14 @@ resolution: workspace dependencies: flutter: sdk: flutter + unit_widgets_display: ^0.0.1+2 + widget_ui: + path: ../widget_ui widget_repository: path: ../widget_repository - +#dependency_overrides: +# intl: 0.19.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/modules/widget_system/widget_repository/doc/tables_overview.md b/modules/widget_system/widget_repository/doc/tables_overview.md new file mode 100644 index 000000000..2770af6d5 --- /dev/null +++ b/modules/widget_system/widget_repository/doc/tables_overview.md @@ -0,0 +1,110 @@ +# 数据表结构总览 + +## 核心表 (6张) + +### 1. widget - Widget基本信息 +```sql +CREATE TABLE widget( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(64) NOT NULL UNIQUE, + path TEXT NOT NULL, + is_abstract INTEGER NOT NULL DEFAULT 0, + is_private INTEGER NOT NULL DEFAULT 0, + deprecated INTEGER DEFAULT 0, + family INTEGER NOT NULL, + lever FLOAT(2) NOT NULL, + linkWidget TEXT DEFAULT '' +); +``` + +### 2. widget_inheritance - Widget继承关系 +```sql +CREATE TABLE widget_inheritance ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + widget_id INTEGER NOT NULL, + parent_name TEXT NOT NULL, + inheritance_order INTEGER NOT NULL +); +``` + +### 3. widget_fields - Widget字段信息 +```sql +CREATE TABLE widget_fields ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + widget_id INTEGER NOT NULL, + field_name TEXT NOT NULL, + field_type TEXT NOT NULL, + field_desc TEXT, + field_desc_zh TEXT, + field_order INTEGER NOT NULL, + is_required INTEGER NOT NULL DEFAULT 0 +); +``` + +### 4. widget_desc - Widget描述信息 +```sql +CREATE TABLE widget_desc( + id INTEGER PRIMARY KEY AUTOINCREMENT, + widget_id INTEGER NOT NULL, + name VARCHAR(128) NOT NULL, + info TEXT NOT NULL, + locale VARCHAR(16) DEFAULT 'zh-cn' +); +``` + +### 5. node - 示例代码节点 +```sql +CREATE TABLE node( + id INTEGER PRIMARY KEY AUTOINCREMENT, + widgetId INTEGER NOT NULL, + priority INTEGER DEFAULT 0, + code TEXT NOT NULL +); +``` + +### 6. node_desc - 节点描述信息 +```sql +CREATE TABLE node_desc( + id INTEGER PRIMARY KEY AUTOINCREMENT, + node_id INTEGER NOT NULL, + name VARCHAR(128) NOT NULL, + subtitle TEXT NOT NULL, + locale VARCHAR(16) DEFAULT 'zh-cn' +); +``` + +## 扩展表 (2张) + +### 7. category - Widget分类 +```sql +CREATE TABLE category( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(64) NOT NULL UNIQUE, + type INTEGER DEFAULT 0, + color VARCHAR(9) DEFAULT '#FF2196F3', + info VARCHAR(256) DEFAULT '这里什么都没有...', + created DATETIME NOT NULL, + updated DATETIME NOT NULL, + priority INTEGER DEFAULT 0, + image VARCHAR(128) DEFAULT '' +); +``` + +### 8. category_widget - 分类Widget关联 +```sql +CREATE TABLE category_widget( + id INTEGER PRIMARY KEY AUTOINCREMENT, + categoryId INTEGER NOT NULL, + widgetId INTEGER NOT NULL +); +``` + +## 表关系图 +``` +widget (1) ←→ (N) widget_inheritance +widget (1) ←→ (N) widget_fields +widget (1) ←→ (N) widget_desc +widget (1) ←→ (N) node +node (1) ←→ (N) node_desc +widget (N) ←→ (N) category [through category_widget] +``` \ No newline at end of file diff --git a/modules/widget_system/widget_repository/lib/src/database/dao/category_dao.dart b/modules/widget_system/widget_repository/lib/src/database/dao/category_dao.dart index 43990a561..9f4b6f7ce 100644 --- a/modules/widget_system/widget_repository/lib/src/database/dao/category_dao.dart +++ b/modules/widget_system/widget_repository/lib/src/database/dao/category_dao.dart @@ -168,13 +168,15 @@ class CategoryDao extends Dao { await toggleCollect(1, widgetId); } - Future>> loadCollectWidgets(int categoryId) async { + Future>> loadCollectWidgets(int categoryId, [String locale = 'zh-cn']) async { String querySql = - "SELECT * FROM widget " - "WHERE id IN (SELECT widgetId FROM category_widget WHERE categoryId = ?) " - "ORDER BY lever DESC"; + "SELECT w.*, wd.name as localeName, wd.info as info " + "FROM widget w " + "LEFT JOIN widget_desc wd ON w.id = wd.widget_id AND wd.locale = ? " + "WHERE w.id IN (SELECT widgetId FROM category_widget WHERE categoryId = ?) " + "ORDER BY w.lever DESC"; - return await database.rawQuery(querySql, [categoryId]); + return await database.rawQuery(querySql, [locale, categoryId]); } Future> loadCollectWidgetIds(int categoryId) async { diff --git a/modules/widget_system/widget_repository/lib/src/database/dao/like_dao.dart b/modules/widget_system/widget_repository/lib/src/database/dao/like_dao.dart index f533415d1..210a207f9 100644 --- a/modules/widget_system/widget_repository/lib/src/database/dao/like_dao.dart +++ b/modules/widget_system/widget_repository/lib/src/database/dao/like_dao.dart @@ -8,7 +8,13 @@ class LikeDao extends Dao { String get name => 'like_widget'; Future> likeWidgetIds() async { - var result = await database.rawQuery("SELECT widget_id FROM like_widget"); + String sql = """ +SELECT cw.widgetId as widget_id +FROM category c +JOIN category_widget cw ON c.id = cw.categoryId +WHERE c.type = 1; + """; + var result = await database.rawQuery(sql); var ids = result.map((e) => e['widget_id'] as int).toList(); return ids; } @@ -31,12 +37,12 @@ class LikeDao extends Dao { bool liked = await isLiked(widgetId); if (liked) return 0; } + String sql = """ +INSERT INTO category_widget (categoryId, widgetId) +SELECT id, ? FROM category WHERE type = 1; + """; - return await database.rawInsert( - "INSERT INTO " - "like_widget(widget_id) " - "VALUES (?);", - [widgetId]); + return await database.rawInsert(sql, [widgetId]); } Future unlike(int widgetId, {bool check = true}) async { @@ -45,21 +51,28 @@ class LikeDao extends Dao { bool liked = await isLiked(widgetId); if (!liked) return; } - await database.execute( - "DELETE FROM like_widget " - "WHERE widget_id = ?", - [widgetId]); + String sql = """ +DELETE FROM category_widget +WHERE categoryId IN (SELECT id FROM category WHERE type = 1) +AND widgetId = ?; + """; + await database.execute(sql, [widgetId]); } // 判断组件是否已 liked Future isLiked(int widgetId) async { - var data = await database.rawQuery( - "Select count(id) as `count` FROM like_widget " - "WHERE widget_id = ?", - [widgetId]); + String sql = """ +SELECT EXISTS( + SELECT 1 + FROM category c + JOIN category_widget cw ON c.id = cw.categoryId + WHERE c.type = 1 AND cw.widgetId = ? +) as is_liked; + """; + var data = await database.rawQuery(sql, [widgetId]); if (data.isNotEmpty) { var result = data[0]; - return result['count'] as int > 0; + return result['is_liked'] != 0; } return false; } diff --git a/modules/widget_system/widget_repository/lib/src/database/dao/widget_dao.dart b/modules/widget_system/widget_repository/lib/src/database/dao/widget_dao.dart index debeeefeb..337af7b4d 100644 --- a/modules/widget_system/widget_repository/lib/src/database/dao/widget_dao.dart +++ b/modules/widget_system/widget_repository/lib/src/database/dao/widget_dao.dart @@ -125,4 +125,14 @@ widget_desc.locale = ? } return null; } + + Future>> queryWidgetFields(int widgetId) async { + String sql = """ +SELECT * +FROM widget_fields +WHERE widget_id = ? +ORDER BY is_required DESC, field_order ASC +"""; + return database.rawQuery(sql, [widgetId]); + } } diff --git a/modules/widget_system/widget_repository/lib/src/database/dao/widget_statistics_dao.dart b/modules/widget_system/widget_repository/lib/src/database/dao/widget_statistics_dao.dart new file mode 100644 index 000000000..0b9adfa69 --- /dev/null +++ b/modules/widget_system/widget_repository/lib/src/database/dao/widget_statistics_dao.dart @@ -0,0 +1,93 @@ +import 'package:fx_dao/fx_dao.dart'; + +class WidgetStatisticsDao extends Dao { + @override + String get createSql => ''; + + @override + String get name => 'widget_statistics'; + + /// 获取各Family对应的组件数量 + Future> getFamilyCount() async { + String sql = ''' + SELECT family, COUNT(*) as count + FROM widget + GROUP BY family + '''; + + List> result = await database.rawQuery(sql); + Map familyCount = {}; + + for (var row in result) { + familyCount[row['family'] as int] = row['count'] as int; + } + + return familyCount; + } + + /// 获取总组件数量 + Future getTotalWidgets() async { + String sql = 'SELECT COUNT(*) as count FROM widget'; + List> result = await database.rawQuery(sql); + return result.first['count'] as int; + } + + /// 获取总字段数量 + Future getTotalFields() async { + String sql = 'SELECT COUNT(*) as count FROM widget_fields'; + List> result = await database.rawQuery(sql); + return result.first['count'] as int; + } + + /// 获取星级分布 + Future> getLeverDistribution() async { + String sql = ''' + SELECT CAST(lever as INTEGER) as lever_int, COUNT(*) as count + FROM widget + GROUP BY CAST(lever as INTEGER) + '''; + + List> result = await database.rawQuery(sql); + Map leverDistribution = {}; + + for (var row in result) { + leverDistribution[row['lever_int'] as int] = row['count'] as int; + } + + return leverDistribution; + } + + /// 获取平均字段数量 + Future getAverageFields() async { + String sql = ''' + SELECT AVG(field_count) as avg_fields + FROM ( + SELECT widget_id, COUNT(*) as field_count + FROM widget_fields + GROUP BY widget_id + ) + '''; + + List> result = await database.rawQuery(sql); + var avgFields = result.first['avg_fields']; + return avgFields != null ? (avgFields as num).toDouble() : 0.0; + } + + /// 获取每个组件的属性个数 + Future> getWidgetFieldsCount() async { + String sql = ''' + SELECT widget_id, COUNT(*) as field_count + FROM widget_fields + GROUP BY widget_id + '''; + + List> result = await database.rawQuery(sql); + Map fieldsCount = {}; + + for (var row in result) { + fieldsCount[row['widget_id'] as int] = row['field_count'] as int; + } + + return fieldsCount; + } +} \ No newline at end of file diff --git a/modules/widget_system/widget_repository/lib/src/database/database.dart b/modules/widget_system/widget_repository/lib/src/database/database.dart index 03fed7c20..13eea01a5 100644 --- a/modules/widget_system/widget_repository/lib/src/database/database.dart +++ b/modules/widget_system/widget_repository/lib/src/database/database.dart @@ -6,6 +6,7 @@ export 'dao/like_dao.dart'; export 'dao/node_dao.dart'; export 'dao/widget_dao.dart'; export 'dao/category_dao.dart'; +export 'dao/widget_statistics_dao.dart'; export 'db_impl/category_db_repository.dart'; export 'db_impl/node_db_repository.dart'; diff --git a/modules/widget_system/widget_repository/lib/src/database/db_impl/category_db_repository.dart b/modules/widget_system/widget_repository/lib/src/database/db_impl/category_db_repository.dart index 456c216d4..cb94f5f14 100644 --- a/modules/widget_system/widget_repository/lib/src/database/db_impl/category_db_repository.dart +++ b/modules/widget_system/widget_repository/lib/src/database/db_impl/category_db_repository.dart @@ -38,9 +38,10 @@ class CategoryDbRepository implements CategoryRepository { } @override - Future> loadCategoryWidgets({int categoryId = 0}) async { + Future> loadCategoryWidgets( + {int categoryId = 0, String locale = 'zh-cn'}) async { List> rawData = - await categoryDao.loadCollectWidgets(categoryId); + await categoryDao.loadCollectWidgets(categoryId, locale); List widgets = rawData.map((e) => WidgetPo.fromJson(e)).toList(); return widgets.map(WidgetModel.fromPo).toList(); } @@ -74,7 +75,8 @@ class CategoryDbRepository implements CategoryRepository { for (int i = 0; i < data.length; i++) { List ids = await categoryDao.loadCollectWidgetIds(data[i]['id']); - collects.add(CategoryTo(widgetIds: ids, model: CategoryPo.fromJson(data[i]))); + collects + .add(CategoryTo(widgetIds: ids, model: CategoryPo.fromJson(data[i]))); if (i == data.length - 1) { completer.complete(collects); } diff --git a/modules/widget_system/widget_repository/lib/src/database/db_impl/node_db_repository.dart b/modules/widget_system/widget_repository/lib/src/database/db_impl/node_db_repository.dart index 743fb4caa..617d8ee68 100644 --- a/modules/widget_system/widget_repository/lib/src/database/db_impl/node_db_repository.dart +++ b/modules/widget_system/widget_repository/lib/src/database/db_impl/node_db_repository.dart @@ -1,18 +1,20 @@ - import 'package:storage/storage.dart'; import 'package:widget_repository/widget_repository.dart'; -class NodeDbRepository implements NodeRepository{ - +class NodeDbRepository implements NodeRepository { const NodeDbRepository(); NodeDao get nodeDao => AppStorage().flutter(); @override - Future> loadNode(int widgetId,{String? locale}) async{ - List> data = await nodeDao.queryById(widgetId,locale: locale); - List nodes = data.map((e) => NodeModel.fromJson(e)).toList(); + Future> loadNode(int widgetId, {String? locale}) async { + List> data = + await nodeDao.queryById(widgetId, locale: locale); + List nodes = []; + for (int i = 0; i < data.length; i++) { + Map e = data[i]; + nodes.add(NodeModel.fromJson(e, i)); + } return nodes; } - -} \ No newline at end of file +} diff --git a/modules/widget_system/widget_repository/lib/src/database/db_impl/widget_db_repository.dart b/modules/widget_system/widget_repository/lib/src/database/db_impl/widget_db_repository.dart index 3f2bef0eb..e132cb68d 100644 --- a/modules/widget_system/widget_repository/lib/src/database/db_impl/widget_db_repository.dart +++ b/modules/widget_system/widget_repository/lib/src/database/db_impl/widget_db_repository.dart @@ -64,4 +64,10 @@ class WidgetDbRepository implements WidgetRepository { } return null; } + + @override + Future> loadWidgetFields(int widgetId) async { + List> data = await widgetDao.queryWidgetFields(widgetId); + return data.map((e) => WidgetFieldModel.fromJson(e)).toList(); + } } diff --git a/modules/widget_system/widget_repository/lib/src/database/po/widget_po.dart b/modules/widget_system/widget_repository/lib/src/database/po/widget_po.dart index c90072f11..cfea36dc1 100644 --- a/modules/widget_system/widget_repository/lib/src/database/po/widget_po.dart +++ b/modules/widget_system/widget_repository/lib/src/database/po/widget_po.dart @@ -1,4 +1,3 @@ - /// create by 张风捷特烈 on 2020-03-04 /// contact me by email 1981462002@qq.com /// 说明: 组件信息-数据库-数据模型 @@ -28,12 +27,12 @@ class WidgetPo { return WidgetPo( id: map['id'], name: map['name'], - nameCN: map["nameCN"], - family: map["family"], + nameCN: map["nameCN"] ?? map['localeName'] ?? '', + family: map["family"] ?? '', deprecated: map["deprecated"] ?? 0, lever: map["lever"].toDouble(), - linkWidget: map["linkWidget"], - info: map["info"]); + linkWidget: map["linkWidget"] ?? '', + info: map["info"] ?? ''); } factory WidgetPo.fromDesc(Map map) { @@ -70,4 +69,3 @@ class WidgetPo { List get props => [id, name, nameCN, deprecated, family, linkWidget, lever, info]; } - diff --git a/modules/widget_system/widget_repository/lib/src/memory/memory_widget_repository.dart b/modules/widget_system/widget_repository/lib/src/memory/memory_widget_repository.dart index 955d418b4..fa1993a34 100644 --- a/modules/widget_system/widget_repository/lib/src/memory/memory_widget_repository.dart +++ b/modules/widget_system/widget_repository/lib/src/memory/memory_widget_repository.dart @@ -5,7 +5,6 @@ import 'package:widget_repository/widget_repository.dart'; import '../model/widget_filter.dart'; import '../repository/widget_repository.dart'; - /// create by 张风捷特烈 on 2020-03-03 /// contact me by email 1981462002@qq.com /// 说明 : Widget 数据仓库 @@ -30,21 +29,25 @@ class MemoryWidgetRepository implements WidgetRepository { @override Future> searchWidgets(WidgetFilter args) async { await _initData(); - var result = widgets.map(WidgetModel.fromPo).where((e) => checkSearch(e, args)).toList(); + var result = widgets + .map(WidgetModel.fromPo) + .where((e) => checkSearch(e, args)) + .toList(); result.sort((a, b) => b.lever.compareTo(a.lever)); return result; } bool checkSearch(WidgetModel model, WidgetFilter args) { bool nameMatch = model.name.toLowerCase().contains(args.name.toLowerCase()); - bool nameCNMatch = model.nameCN.toLowerCase().contains(args.name.toLowerCase()); + bool nameCNMatch = + model.nameCN.toLowerCase().contains(args.name.toLowerCase()); bool familyMatch = model.family == args.family; return nameMatch || nameCNMatch || familyMatch; } @override - Future> loadWidget(List id,String? locale) async { + Future> loadWidget(List id, String? locale) async { await _initData(); var data = widgets.where((element) => id.contains(element.id)); return data.map(WidgetModel.fromPo).toList(); @@ -58,8 +61,9 @@ class MemoryWidgetRepository implements WidgetRepository { @override Future queryWidgetByName(String? name) async { await _initData(); - Iterable ret = - widgets.map(WidgetModel.fromPo).where((element) => element.name == name); + Iterable ret = widgets + .map(WidgetModel.fromPo) + .where((element) => element.name == name); if (ret.isNotEmpty) { return ret.first; } @@ -78,4 +82,10 @@ class MemoryWidgetRepository implements WidgetRepository { Future collected(int id) async { return 0; } + + @override + Future> loadWidgetFields(int widgetId) { + // TODO: implement loadWidgetFields + throw UnimplementedError(); + } } diff --git a/modules/widget_system/widget_repository/lib/src/model/model.dart b/modules/widget_system/widget_repository/lib/src/model/model.dart index 399e0f3c6..900537b01 100644 --- a/modules/widget_system/widget_repository/lib/src/model/model.dart +++ b/modules/widget_system/widget_repository/lib/src/model/model.dart @@ -1,4 +1,6 @@ export 'node_model.dart'; export 'widget_model.dart'; export 'category_model.dart'; -export 'widget_filter.dart'; \ No newline at end of file +export 'widget_filter.dart'; +export 'widget_statistics.dart'; +export 'widget_field_model.dart'; \ No newline at end of file diff --git a/modules/widget_system/widget_repository/lib/src/model/node_model.dart b/modules/widget_system/widget_repository/lib/src/model/node_model.dart index b74a45f33..4cee384a5 100644 --- a/modules/widget_system/widget_repository/lib/src/model/node_model.dart +++ b/modules/widget_system/widget_repository/lib/src/model/node_model.dart @@ -38,12 +38,12 @@ class NodeModel extends Equatable { return NodeType.display; } - factory NodeModel.fromJson(Map map) { + factory NodeModel.fromJson(Map map, int index) { return NodeModel( name: map['name'], subtitle: map["subtitle"], code: map["code"], - priority: map['priority']); + priority: index); } @override diff --git a/modules/widget_system/widget_repository/lib/src/model/widget_field_model.dart b/modules/widget_system/widget_repository/lib/src/model/widget_field_model.dart new file mode 100644 index 000000000..6d41090ee --- /dev/null +++ b/modules/widget_system/widget_repository/lib/src/model/widget_field_model.dart @@ -0,0 +1,49 @@ +import 'package:equatable/equatable.dart'; + +/// Widget字段模型 +class WidgetFieldModel extends Equatable { + final int id; + final int widgetId; + final String fieldName; + final String fieldType; + final String? fieldDesc; + final String? fieldDescZh; + final int fieldOrder; + final bool isRequired; + + const WidgetFieldModel({ + required this.id, + required this.widgetId, + required this.fieldName, + required this.fieldType, + this.fieldDesc, + this.fieldDescZh, + required this.fieldOrder, + required this.isRequired, + }); + + @override + List get props => [ + id, + widgetId, + fieldName, + fieldType, + fieldDesc, + fieldDescZh, + fieldOrder, + isRequired, + ]; + + factory WidgetFieldModel.fromJson(Map json) { + return WidgetFieldModel( + id: json['id'], + widgetId: json['widget_id'], + fieldName: json['field_name'], + fieldType: json['field_type'], + fieldDesc: json['field_desc'], + fieldDescZh: json['field_desc_zh'], + fieldOrder: json['field_order'], + isRequired: json['is_required'] == 1, + ); + } +} \ No newline at end of file diff --git a/modules/widget_system/widget_repository/lib/src/model/widget_model.dart b/modules/widget_system/widget_repository/lib/src/model/widget_model.dart index ae2bd01ed..7c422fb16 100644 --- a/modules/widget_system/widget_repository/lib/src/model/widget_model.dart +++ b/modules/widget_system/widget_repository/lib/src/model/widget_model.dart @@ -33,18 +33,19 @@ class WidgetModel extends Equatable { String get heroId => 'hero_widget_image_$id'; - const WidgetModel( - {required this.id, - required this.name, - required this.nameCN, - required this.family, - this.deprecated = false, - this.death = false, - required this.links, - // required this.type, - required this.lever, - this.image, - required this.info}); + const WidgetModel({ + required this.id, + required this.name, + required this.nameCN, + required this.family, + this.deprecated = false, + this.death = false, + required this.links, + // required this.type, + required this.lever, + this.image, + required this.info, + }); @override List get props => [id]; diff --git a/modules/widget_system/widget_repository/lib/src/model/widget_statistics.dart b/modules/widget_system/widget_repository/lib/src/model/widget_statistics.dart new file mode 100644 index 000000000..7b9d70b18 --- /dev/null +++ b/modules/widget_system/widget_repository/lib/src/model/widget_statistics.dart @@ -0,0 +1,52 @@ +import 'package:equatable/equatable.dart'; +import 'widget_filter.dart'; + +/// Widget统计数据模型 +class WidgetStatistics extends Equatable { + /// 各Family对应的组件数量 + final Map familyCount; + + /// 总组件数量 + final int totalWidgets; + + /// 总字段数量 + final int totalFields; + + /// 平均字段数量 + final double averageFields; + + /// 星级分布 (1-5星对应的组件数量) + final Map leverDistribution; + + /// 每个组件的属性个数 (widgetId -> 属性个数) + final Map widgetFieldsCount; + + const WidgetStatistics({ + required this.familyCount, + required this.totalWidgets, + required this.totalFields, + required this.averageFields, + required this.leverDistribution, + required this.widgetFieldsCount, + }); + + @override + List get props => [ + familyCount, + totalWidgets, + totalFields, + averageFields, + leverDistribution, + widgetFieldsCount, + ]; + + /// 获取指定组件的属性个数 + int getWidgetFieldCount(int widgetId) { + return widgetFieldsCount[widgetId] ?? 0; + } + + @override + String toString() { + return 'WidgetStatistics{familyCount: $familyCount, totalWidgets: $totalWidgets, totalFields: $totalFields, averageFields: $averageFields, leverDistribution: $leverDistribution, widgetFieldsCount: ${widgetFieldsCount.length} widgets}'; + } +} \ No newline at end of file diff --git a/modules/widget_system/widget_repository/lib/src/repository/repository.dart b/modules/widget_system/widget_repository/lib/src/repository/repository.dart index 2f73ddde4..e7464d8aa 100644 --- a/modules/widget_system/widget_repository/lib/src/repository/repository.dart +++ b/modules/widget_system/widget_repository/lib/src/repository/repository.dart @@ -1,3 +1,5 @@ export 'category_repository.dart'; export 'node_repository.dart'; -export 'widget_repository.dart'; \ No newline at end of file +export 'widget_repository.dart'; +export 'widget_statistics_service.dart'; +export 'widget_statistics_provider.dart'; \ No newline at end of file diff --git a/modules/widget_system/widget_repository/lib/src/repository/widget_repository.dart b/modules/widget_system/widget_repository/lib/src/repository/widget_repository.dart index 684d91099..9ffbfe3a9 100644 --- a/modules/widget_system/widget_repository/lib/src/repository/widget_repository.dart +++ b/modules/widget_system/widget_repository/lib/src/repository/widget_repository.dart @@ -21,4 +21,6 @@ abstract class WidgetRepository { Future> loadLikeWidgets(); Future collected(int id); + + Future> loadWidgetFields(int widgetId); } diff --git a/modules/widget_system/widget_repository/lib/src/repository/widget_statistics_provider.dart b/modules/widget_system/widget_repository/lib/src/repository/widget_statistics_provider.dart new file mode 100644 index 000000000..ac74cf978 --- /dev/null +++ b/modules/widget_system/widget_repository/lib/src/repository/widget_statistics_provider.dart @@ -0,0 +1,90 @@ +import 'package:flutter/foundation.dart'; +import '../../widget_repository.dart'; +import '../model/widget_statistics.dart'; +import 'widget_statistics_service.dart'; + +/// 全局统计数据提供器 +class WidgetStatisticsProvider extends ChangeNotifier { + static final WidgetStatisticsProvider _instance = + WidgetStatisticsProvider._internal(); + factory WidgetStatisticsProvider() => _instance; + WidgetStatisticsProvider._internal(); + + WidgetStatistics? _statistics; + bool _isLoaded = false; + + WidgetStatistics? get statistics => _statistics; + bool get isLoaded => _isLoaded; + + /// 加载统计数据 + Future loadStatistics(WidgetStatisticsDao dao) async { + if (_isLoaded) return; + + final stopwatch = Stopwatch()..start(); + try { + _statistics = await getStatistics(dao); + _isLoaded = true; + stopwatch.stop(); + debugPrint('统计数据加载耗时: ${stopwatch.elapsedMilliseconds} ms'); + notifyListeners(); + } catch (e) { + stopwatch.stop(); + debugPrint('加载统计数据失败: $e (耗时: ${stopwatch.elapsedMilliseconds} ms)'); + } + } + + /// 获取Widget统计数据 + Future getStatistics(WidgetStatisticsDao dao) async { + final results = await Future.wait([ + dao.getFamilyCount(), + dao.getTotalWidgets(), + dao.getTotalFields(), + dao.getAverageFields(), + dao.getLeverDistribution(), + dao.getWidgetFieldsCount(), + ]); + + final rawFamilyCount = results[0] as Map; + final totalWidgets = results[1] as int; + final totalFields = results[2] as int; + final averageFields = results[3] as double; + final leverDistribution = results[4] as Map; + final widgetFieldsCount = results[5] as Map; + + final familyCount = {}; + for (var entry in rawFamilyCount.entries) { + final family = _intToWidgetFamily(entry.key); + familyCount[family] = entry.value; + } + + return WidgetStatistics( + familyCount: familyCount, + totalWidgets: totalWidgets, + totalFields: totalFields, + averageFields: averageFields, + leverDistribution: leverDistribution, + widgetFieldsCount: widgetFieldsCount, + ); + } + + WidgetFamily _intToWidgetFamily(int index) { + switch (index) { + case 0: + return WidgetFamily.stateless; + case 1: + return WidgetFamily.stateful; + case 2: + return WidgetFamily.singleChildRender; + case 3: + return WidgetFamily.multiChildRender; + case 4: + return WidgetFamily.sliver; + case 5: + return WidgetFamily.proxy; + case 6: + return WidgetFamily.other; + default: + return WidgetFamily.stateless; + } + } +} diff --git a/modules/widget_system/widget_repository/lib/src/repository/widget_statistics_service.dart b/modules/widget_system/widget_repository/lib/src/repository/widget_statistics_service.dart new file mode 100644 index 000000000..f5812e18c --- /dev/null +++ b/modules/widget_system/widget_repository/lib/src/repository/widget_statistics_service.dart @@ -0,0 +1,57 @@ +import '../model/widget_statistics.dart'; +import '../database/dao/widget_statistics_dao.dart'; +import '../model/widget_filter.dart'; + +/// Widget统计服务 +class WidgetStatisticsService { + final WidgetStatisticsDao dao; + + const WidgetStatisticsService({required this.dao}); + + /// 获取Widget统计数据 + Future getStatistics() async { + final results = await Future.wait([ + dao.getFamilyCount(), + dao.getTotalWidgets(), + dao.getTotalFields(), + dao.getAverageFields(), + dao.getLeverDistribution(), + dao.getWidgetFieldsCount(), + ]); + + final rawFamilyCount = results[0] as Map; + final totalWidgets = results[1] as int; + final totalFields = results[2] as int; + final averageFields = results[3] as double; + final leverDistribution = results[4] as Map; + final widgetFieldsCount = results[5] as Map; + + final familyCount = {}; + for (var entry in rawFamilyCount.entries) { + final family = _intToWidgetFamily(entry.key); + familyCount[family] = entry.value; + } + + return WidgetStatistics( + familyCount: familyCount, + totalWidgets: totalWidgets, + totalFields: totalFields, + averageFields: averageFields, + leverDistribution: leverDistribution, + widgetFieldsCount: widgetFieldsCount, + ); + } + + WidgetFamily _intToWidgetFamily(int index) { + switch (index) { + case 0: return WidgetFamily.stateless; + case 1: return WidgetFamily.stateful; + case 2: return WidgetFamily.singleChildRender; + case 3: return WidgetFamily.multiChildRender; + case 4: return WidgetFamily.sliver; + case 5: return WidgetFamily.proxy; + case 6: return WidgetFamily.other; + default: return WidgetFamily.stateless; + } + } +} \ No newline at end of file diff --git a/modules/widget_system/widgets/.gitignore b/modules/widget_system/widget_ui/.gitignore similarity index 91% rename from modules/widget_system/widgets/.gitignore rename to modules/widget_system/widget_ui/.gitignore index a17a495d3..eb6c05cd3 100644 --- a/modules/widget_system/widgets/.gitignore +++ b/modules/widget_system/widget_ui/.gitignore @@ -26,6 +26,6 @@ migrate_working_dir/ /pubspec.lock **/doc/api/ .dart_tool/ -.packages +.flutter-plugins +.flutter-plugins-dependencies build/ -example/ \ No newline at end of file diff --git a/modules/widget_system/widgets/.metadata b/modules/widget_system/widget_ui/.metadata similarity index 76% rename from modules/widget_system/widgets/.metadata rename to modules/widget_system/widget_ui/.metadata index 541c2f65c..ab15d7afa 100644 --- a/modules/widget_system/widgets/.metadata +++ b/modules/widget_system/widget_ui/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: 135454af32477f815a7525073027a3ff9eff1bfd - channel: stable + revision: "c519ee916eaeb88923e67befb89c0f1dabfa83e6" + channel: "stable" project_type: package diff --git a/modules/widget_system/widgets/CHANGELOG.md b/modules/widget_system/widget_ui/CHANGELOG.md similarity index 100% rename from modules/widget_system/widgets/CHANGELOG.md rename to modules/widget_system/widget_ui/CHANGELOG.md diff --git a/modules/widget_system/widgets/LICENSE b/modules/widget_system/widget_ui/LICENSE similarity index 100% rename from modules/widget_system/widgets/LICENSE rename to modules/widget_system/widget_ui/LICENSE diff --git a/modules/widget_system/widgets/README.md b/modules/widget_system/widget_ui/README.md similarity index 82% rename from modules/widget_system/widgets/README.md rename to modules/widget_system/widget_ui/README.md index 02fe8ecab..4a260d8d2 100644 --- a/modules/widget_system/widgets/README.md +++ b/modules/widget_system/widget_ui/README.md @@ -3,12 +3,12 @@ This README describes the package. If you publish this package to pub.dev, this README's contents appear on the landing page for your package. For information about how to write a good package README, see the guide for -[writing package pages](https://dart.dev/guides/libraries/writing-package-pages). +[writing package pages](https://dart.dev/tools/pub/writing-package-pages). For general information about developing packages, see the Dart guide for -[creating packages](https://dart.dev/guides/libraries/create-library-packages) +[creating packages](https://dart.dev/guides/libraries/create-packages) and the Flutter guide for -[developing packages and plugins](https://flutter.dev/developing-packages). +[developing packages and plugins](https://flutter.dev/to/develop-packages). --> TODO: Put a short description of the package here that helps potential users diff --git a/modules/widget_system/widgets/analysis_options.yaml b/modules/widget_system/widget_ui/analysis_options.yaml similarity index 100% rename from modules/widget_system/widgets/analysis_options.yaml rename to modules/widget_system/widget_ui/analysis_options.yaml diff --git a/modules/widget_system/widget_ui/lib/src/bloc/bloc.dart b/modules/widget_system/widget_ui/lib/src/bloc/bloc.dart new file mode 100644 index 000000000..c9833f0be --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/bloc/bloc.dart @@ -0,0 +1 @@ +export 'liked_widget_bloc.dart'; diff --git a/modules/widget_system/widget_ui/lib/src/bloc/liked_widget_bloc.dart b/modules/widget_system/widget_ui/lib/src/bloc/liked_widget_bloc.dart new file mode 100644 index 000000000..5acdbc57c --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/bloc/liked_widget_bloc.dart @@ -0,0 +1,22 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:widget_repository/widget_repository.dart'; + +/// create by 张风捷特烈 on 2020-04-07 +/// contact me by email 1981462002@qq.com +/// 说明: + +class LikeWidgetBloc extends Cubit> { + final WidgetRepository repository; + + LikeWidgetBloc({required this.repository}) : super(const []); + + Future loadLikeData() async { + List widgets = await repository.loadLikeWidgets(); + emit(widgets); + } + + Future toggle(int widgetId) async { + await repository.toggleLike(widgetId); + return loadLikeData(); + } +} diff --git a/modules/widget_system/widget_ui/lib/src/view/field/filed.dart b/modules/widget_system/widget_ui/lib/src/view/field/filed.dart new file mode 100644 index 000000000..f94d92fd1 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/field/filed.dart @@ -0,0 +1,2 @@ +export 'widget_fields_dialog.dart'; +export 'widget_fields_page.dart'; diff --git a/modules/widget_system/widget_ui/lib/src/view/field/widget_fields_dialog.dart b/modules/widget_system/widget_ui/lib/src/view/field/widget_fields_dialog.dart new file mode 100644 index 000000000..c8ea26d06 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/field/widget_fields_dialog.dart @@ -0,0 +1,139 @@ +import 'package:flutter/material.dart'; +import 'package:widget_repository/widget_repository.dart'; + +class WidgetFieldsDialog extends StatefulWidget { + final int widgetId; + final String widgetName; + + const WidgetFieldsDialog({ + super.key, + required this.widgetId, + required this.widgetName, + }); + + @override + State createState() => _WidgetFieldsDialogState(); +} + +class _WidgetFieldsDialogState extends State { + List? _fields; + bool _isLoading = true; + + @override + void initState() { + super.initState(); + _loadFields(); + } + + Future _loadFields() async { + try { + final repository = const WidgetDbRepository(); + final fields = await repository.loadWidgetFields(widget.widgetId); + // SQL已经按必需属性排序,不需要再次排序 + setState(() { + _isLoading = false; + _fields = fields; + }); + } catch (e) { + setState(() { + _isLoading = false; + _fields = []; + }); + } + } + + @override + Widget build(BuildContext context) { + return Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Container( + width: 500, + height: 600, + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildHeader(context), + const Divider(), + const SizedBox(height: 16), + Expanded(child: _buildContent()), + ], + ), + ), + ); + } + + Widget _buildHeader(BuildContext context) { + return Row( + children: [ + Icon(Icons.widgets, color: Theme.of(context).primaryColor), + const SizedBox(width: 8), + Text( + '${widget.widgetName} 属性', + style: const TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const Spacer(), + IconButton( + onPressed: () => Navigator.of(context).pop(), + icon: const Icon(Icons.close), + ), + ], + ); + } + + Widget _buildContent() { + if (_isLoading) return const Center(child: CircularProgressIndicator()); + if (_fields!.isEmpty) return const Center(child: Text('暂无属性信息')); + + return ListView.builder( + itemCount: _fields!.length, + itemBuilder: (context, index) => _buildFieldItem(_fields![index]), + ); + } + + Widget _buildFieldItem(WidgetFieldModel field) { + return Container( + margin: const EdgeInsets.only(bottom: 8), + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Theme.of(context).cardColor, + borderRadius: BorderRadius.circular(8), + border: Border.all(color: Colors.grey.withOpacity(0.2)), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + RichText( + text: TextSpan( + children: [ + TextSpan( + text: '${field.fieldName} : ', + style: const TextStyle( + fontWeight: FontWeight.bold, color: Colors.black), + ), + TextSpan( + text: field.fieldType, + style: TextStyle( + fontWeight: FontWeight.bold, + color: Theme.of(context).primaryColor), + ), + ], + ), + ), + // if (field.isRequired) _buildRequiredBadge(), + ], + ), + if (field.fieldDescZh != null) ...[ + const SizedBox(height: 4), + Text( + field.fieldDescZh!, + style: const TextStyle(fontSize: 11, color: Colors.grey), + ), + ], + ], + ), + ); + } +} diff --git a/modules/widget_system/widget_ui/lib/src/view/field/widget_fields_page.dart b/modules/widget_system/widget_ui/lib/src/view/field/widget_fields_page.dart new file mode 100644 index 000000000..d8df9d6d8 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/field/widget_fields_page.dart @@ -0,0 +1,140 @@ +import 'package:flutter/material.dart'; +import 'package:widget_repository/widget_repository.dart'; + +class WidgetFieldsPage extends StatefulWidget { + final int widgetId; + final String widgetName; + + const WidgetFieldsPage({ + super.key, + required this.widgetId, + required this.widgetName, + }); + + @override + State createState() => _WidgetFieldsPageState(); +} + +class _WidgetFieldsPageState extends State { + List? _fields; + bool _isLoading = true; + + @override + void initState() { + super.initState(); + _loadFields(); + } + + Future _loadFields() async { + try { + final repository = const WidgetDbRepository(); + final fields = await repository.loadWidgetFields(widget.widgetId); + // SQL已经按必需属性排序,不需要再次排序 + setState(() { + _isLoading = false; + _fields = fields; + }); + } catch (e) { + setState(() { + _isLoading = false; + _fields = []; + }); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + bottom: PreferredSize( + preferredSize: Size(0, 10), + child: Container( + height: 10, + color: Color(0xfff3f4f6), + )), + title: Text('${widget.widgetName} 属性'), + centerTitle: true, + ), + body: _buildContent(), + ); + } + + Widget _buildContent() { + if (_isLoading) return const Center(child: CircularProgressIndicator()); + if (_fields!.isEmpty) return const Center(child: Text('暂无属性信息')); + bool isZh = Localizations.localeOf(context).languageCode == 'zh'; + return ListView.separated( + separatorBuilder: (_, __) => Divider(), + itemCount: _fields!.length, + itemBuilder: (context, index) => _buildFieldItem(_fields![index], isZh), + ); + } + + Widget _buildFieldItem(WidgetFieldModel field, bool isZh) { + Color color = Theme.of(context).primaryColor; + return Container( + color: Colors.white, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + width: 4, + height: 20, + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.circular(2), + ), + ), + const SizedBox(width: 12), + Expanded( + child: RichText( + text: TextSpan( + children: [ + TextSpan( + text: field.fieldName, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + color: Colors.black87, + ), + ), + ], + ), + ), + ), + // if (field.isRequired) _buildRequiredBadge(), + ], + ), + const SizedBox(height: 2), + Padding( + padding: const EdgeInsets.only(left: 16), + child: Text( + field.fieldType, + style: TextStyle( + color: Theme.of(context).primaryColor, + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + if (field.fieldDescZh != null) ...[ + const SizedBox(height: 8), + Text( + isZh ? field.fieldDescZh! : '${field.fieldDesc}', + style: const TextStyle( + fontSize: 13, + color: Colors.grey, + height: 1.4, + ), + ), + ], + ], + ), + ), + ); + } +} diff --git a/modules/widget_system/widget_ui/lib/src/view/node_tiled/node_tiled.dart b/modules/widget_system/widget_ui/lib/src/view/node_tiled/node_tiled.dart new file mode 100644 index 000000000..613744d49 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/node_tiled/node_tiled.dart @@ -0,0 +1 @@ +// TODO Implement this library. diff --git a/modules/widget_system/widget_ui/lib/src/view/view.dart b/modules/widget_system/widget_ui/lib/src/view/view.dart new file mode 100644 index 000000000..3d2dcfe20 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/view.dart @@ -0,0 +1,3 @@ +export 'widget_tiled/widget_tiled.dart'; +export 'node_tiled/node_tiled.dart'; +export 'field/filed.dart'; diff --git a/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_detail_logo.dart b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_detail_logo.dart new file mode 100644 index 000000000..4a5cfbe3b --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_detail_logo.dart @@ -0,0 +1,135 @@ +import 'dart:math'; + +import 'package:flutter/material.dart'; +import 'package:flutter_star/star.dart'; +import 'package:flutter_star/star_score.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:widget_repository/widget_repository.dart'; +import 'package:fx_env/fx_env.dart'; +import 'package:widget_ui/widget_ui.dart'; + +class WidgetDetailLogo extends StatelessWidget { + final Color background; + final String widgetName; + final WidgetModel model; + + const WidgetDetailLogo({ + super.key, + required this.background, + required this.widgetName, + required this.model, + }); + + @override + Widget build(BuildContext context) { + if (!kApp.isDesktop) { + return Padding( + padding: const EdgeInsets.only(right: 8.0, top: 0), + child: WidgetLogo( + background: background, + widgetName: widgetName, + widgetId: model.id, + lever: model.lever, + inDetail: true, + ), + ); + } + + return Stack( + children: [ + Container( + width: 240, + height: 160, + alignment: Alignment.center, + decoration: BoxDecoration( + color: background, + gradient: LinearGradient( + transform: const GradientRotation(270 * 180 / pi), + colors: [ + background.withValues(alpha: 0.9), + background.withValues(alpha: 0.5) + ]), + borderRadius: BorderRadius.circular(6), + ), + child: SvgPicture.asset( + 'assets/images/widgets/${widgetLogo(widgetName)}', + width: 120, + ), + ), + Positioned( + top: 6, + right: 0, + child: StarScore( + score: model.lever, + star: Star(size: 15, fillColor: Colors.white), + ), + ), + Positioned( + bottom: 2, + left: 6, + child: Text( + "#${model.id}", + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 14, + color: Colors.white70, + ), + )), + _buildFieldCountBadge(context), + ], + ); + } + + Widget _buildFieldCountBadge(BuildContext context) { + final provider = WidgetStatisticsProvider(); + final stats = provider.statistics; + if (stats == null) return const SizedBox.shrink(); + + final fieldCount = stats.getWidgetFieldCount(model.id); + if (fieldCount == 0) return const SizedBox.shrink(); + + return Positioned( + right: 0, + bottom: 0, + child: GestureDetector( + behavior: HitTestBehavior.opaque, + onTap: () => _showFieldsDialog(context), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 6.0, vertical: 4), + child: Text( + '属性:$fieldCount 个', + style: const TextStyle( + fontSize: 14, + color: Colors.white, + decoration: TextDecoration.underline, + decorationColor: Colors.white, + ), + ), + ), + ), + ); + } + + void _showFieldsDialog(BuildContext context) { + if (kApp.isMobile) { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => WidgetFieldsPage( + widgetId: model.id, + widgetName: widgetName, + ), + ), + ); + } else { + showDialog( + context: context, + builder: (context) => WidgetFieldsDialog( + widgetId: model.id, + widgetName: widgetName, + ), + ); + } + } +} diff --git a/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_fields_dialog.dart b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_fields_dialog.dart new file mode 100644 index 000000000..83588aac3 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_fields_dialog.dart @@ -0,0 +1,155 @@ +import 'package:flutter/material.dart'; +import 'package:widget_repository/widget_repository.dart'; +import 'package:storage/storage.dart'; + +class WidgetFieldsDialog extends StatefulWidget { + final int widgetId; + final String widgetName; + + const WidgetFieldsDialog({ + super.key, + required this.widgetId, + required this.widgetName, + }); + + @override + State createState() => _WidgetFieldsDialogState(); +} + +class _WidgetFieldsDialogState extends State { + List? _fields; + bool _isLoading = true; + + @override + void initState() { + super.initState(); + _loadFields(); + } + + Future _loadFields() async { + try { + final repository = const WidgetDbRepository(); + final fields = await repository.loadWidgetFields(widget.widgetId); + // SQL已经按必需属性排序,不需要再次排序 + setState(() { + _isLoading = false; + _fields = fields; + }); + } catch (e) { + setState(() { + _isLoading = false; + _fields = []; + }); + } + } + + @override + Widget build(BuildContext context) { + return Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Container( + width: 500, + height: 600, + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildHeader(context), + const Divider(), + const SizedBox(height: 16), + Expanded(child: _buildContent()), + ], + ), + ), + ); + } + + Widget _buildHeader(BuildContext context) { + return Row( + children: [ + Icon(Icons.widgets, color: Theme.of(context).primaryColor), + const SizedBox(width: 8), + Text( + '${widget.widgetName} 属性', + style: const TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const Spacer(), + IconButton( + onPressed: () => Navigator.of(context).pop(), + icon: const Icon(Icons.close), + ), + ], + ); + } + + Widget _buildContent() { + if (_isLoading) return const Center(child: CircularProgressIndicator()); + if (_fields!.isEmpty) return const Center(child: Text('暂无属性信息')); + + return ListView.builder( + itemCount: _fields!.length, + itemBuilder: (context, index) => _buildFieldItem(_fields![index]), + ); + } + + Widget _buildFieldItem(WidgetFieldModel field) { + return Container( + margin: const EdgeInsets.only(bottom: 8), + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Theme.of(context).cardColor, + borderRadius: BorderRadius.circular(8), + border: Border.all(color: Colors.grey.withOpacity(0.2)), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + RichText( + text: TextSpan( + children: [ + TextSpan( + text: '${field.fieldName} : ', + style: const TextStyle( + fontWeight: FontWeight.bold, color: Colors.black), + ), + TextSpan( + text: field.fieldType, + style: TextStyle( + fontWeight: FontWeight.bold, + color: Theme.of(context).primaryColor), + ), + ], + ), + ), + // if (field.isRequired) _buildRequiredBadge(), + ], + ), + if (field.fieldDescZh != null) ...[ + const SizedBox(height: 4), + Text( + field.fieldDescZh!, + style: const TextStyle(fontSize: 11, color: Colors.grey), + ), + ], + ], + ), + ); + } + + Widget _buildRequiredBadge() { + return Container( + margin: const EdgeInsets.only(left: 8), + padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 1), + decoration: BoxDecoration( + color: Colors.red, + borderRadius: BorderRadius.circular(4), + ), + child: const Text( + '必需', + style: TextStyle(color: Colors.white, fontSize: 10), + ), + ); + } +} diff --git a/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_fields_page.dart b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_fields_page.dart new file mode 100644 index 000000000..99f7bd7d8 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_fields_page.dart @@ -0,0 +1,160 @@ +import 'package:flutter/material.dart'; +import 'package:widget_repository/widget_repository.dart'; +import 'package:storage/storage.dart'; + +class WidgetFieldsPage extends StatefulWidget { + final int widgetId; + final String widgetName; + + const WidgetFieldsPage({ + super.key, + required this.widgetId, + required this.widgetName, + }); + + @override + State createState() => _WidgetFieldsPageState(); +} + +class _WidgetFieldsPageState extends State { + List? _fields; + bool _isLoading = true; + + @override + void initState() { + super.initState(); + _loadFields(); + } + + Future _loadFields() async { + try { + final repository = const WidgetDbRepository(); + final fields = await repository.loadWidgetFields(widget.widgetId); + // SQL已经按必需属性排序,不需要再次排序 + setState(() { + _isLoading = false; + _fields = fields; + }); + } catch (e) { + setState(() { + _isLoading = false; + _fields = []; + }); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + bottom: PreferredSize( + preferredSize: Size(0, 10), + child: Container( + height: 10, + color: Color(0xfff3f4f6), + )), + title: Text('${widget.widgetName} 属性'), + centerTitle: true, + ), + body: _buildContent(), + ); + } + + Widget _buildContent() { + if (_isLoading) return const Center(child: CircularProgressIndicator()); + if (_fields!.isEmpty) return const Center(child: Text('暂无属性信息')); + + return ListView.separated( + separatorBuilder: (_, __) => Divider(), + itemCount: _fields!.length, + itemBuilder: (context, index) => _buildFieldItem(_fields![index]), + ); + } + + Widget _buildFieldItem(WidgetFieldModel field) { + return Container( + color: Colors.white, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + width: 4, + height: 20, + decoration: BoxDecoration( + color: field.isRequired + ? Colors.red + : Theme.of(context).primaryColor, + borderRadius: BorderRadius.circular(2), + ), + ), + const SizedBox(width: 12), + Expanded( + child: RichText( + text: TextSpan( + children: [ + TextSpan( + text: field.fieldName, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + color: Colors.black87, + ), + ), + ], + ), + ), + ), + // if (field.isRequired) _buildRequiredBadge(), + ], + ), + const SizedBox(height: 2), + Padding( + padding: const EdgeInsets.only(left: 16), + child: Text( + field.fieldType, + style: TextStyle( + color: Theme.of(context).primaryColor, + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + if (field.fieldDescZh != null) ...[ + const SizedBox(height: 8), + Text( + field.fieldDescZh!, + style: const TextStyle( + fontSize: 13, + color: Colors.grey, + height: 1.4, + ), + ), + ], + ], + ), + ), + ); + } + + Widget _buildRequiredBadge() { + return Container( + padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), + decoration: BoxDecoration( + color: Colors.red, + borderRadius: BorderRadius.circular(12), + ), + child: const Text( + '必需', + style: TextStyle( + color: Colors.white, + fontSize: 11, + fontWeight: FontWeight.w500, + ), + ), + ); + } +} diff --git a/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/widget_id_view.dart b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_id_view.dart similarity index 58% rename from modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/widget_id_view.dart rename to modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_id_view.dart index 073713ffc..bc73ced7b 100644 --- a/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/widget_id_view.dart +++ b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_id_view.dart @@ -1,21 +1,18 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import '../../../widget_module.dart'; - class WidgetIdView extends StatelessWidget { - final WidgetModel model; + final int id; - const WidgetIdView({super.key, required this.model}); + const WidgetIdView({super.key, required this.id}); @override Widget build(BuildContext context) { return Text( - "#${model.id}", + "#$id", maxLines: 1, overflow: TextOverflow.ellipsis, style: const TextStyle( - fontSize: 12, + fontSize: 10, color: Colors.white70, ), ); diff --git a/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/widget_tiled.dart b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_item.dart similarity index 57% rename from modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/widget_tiled.dart rename to modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_item.dart index 631d5a12f..b7e6468c4 100644 --- a/modules/widget_system/widget_module/lib/views/desk_ui/widget_panel/widget_tiled.dart +++ b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_item.dart @@ -1,27 +1,46 @@ -import 'package:app/app.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:flutter_star/flutter_star.dart'; -import 'package:widget_module/blocs/action/widget_action.dart'; +import 'package:flutter_star/star.dart'; +import 'package:flutter_star/star_score.dart'; +import 'package:tolyui_message/tolyui_message.dart'; +import 'package:tolyui_text/tolyui_text.dart'; import 'package:widget_repository/widget_repository.dart'; import 'package:wrapper/wrapper.dart'; -import 'package:tolyui/tolyui.dart'; -import '../../components/widget_logo_map.dart'; -import '../like_tag.dart'; -import 'package:l10n/l10n.dart'; -import 'widget_id_view.dart'; +import '../../../widget_ui.dart'; -class WidgetTiled extends StatelessWidget { +sealed class WidgetAction {} + +class JumpWidgetDetail extends WidgetAction { + final int? widgetId; + final String? widgetName; + final WidgetModel? model; + + JumpWidgetDetail({ + this.widgetId, + this.model, + this.widgetName, + }); +} + +class ToggleLikeWidget extends WidgetAction { + final int widgetId; + + ToggleLikeWidget(this.widgetId); +} + +/// 组价主页单体的样式 +class WidgetItem extends StatelessWidget { final WidgetModel model; - final VoidCallback onTap; - final String? searchArg; + final String? searchArgs; + + final ValueChanged onWidget; - const WidgetTiled({ + const WidgetItem({ super.key, required this.model, - required this.onTap, - this.searchArg, + this.searchArgs, + required this.onWidget, }); @override @@ -33,14 +52,16 @@ class WidgetTiled extends StatelessWidget { bool isDark = theme.brightness == Brightness.dark; textColor = isDark ? textColor : const Color(0xff2F3032); Color color = theme.primaryColor; - EdgeInsetsGeometry padding = - const EdgeInsets.symmetric(horizontal: 12, vertical: 8); + EdgeInsetsGeometry padding = const EdgeInsets.symmetric( + horizontal: 12, + vertical: 8, + ); return Stack( children: [ InkWell( borderRadius: BorderRadius.circular(6), - onTap: onTap, + onTap: () => onWidget.call(JumpWidgetDetail(model: model)), child: Ink( decoration: BoxDecoration( color: tileColor, @@ -55,11 +76,14 @@ class WidgetTiled extends StatelessWidget { child: Row( children: [ GestureDetector( - onLongPress: () => context.toggleLike(model.id), + onLongPress: () => onWidget.call(ToggleLikeWidget(model.id)), child: Hero( tag: model.heroId, child: WidgetLogo( - background: color, widgetName: model.name)), + lever: model.lever, + background: color, + widgetName: model.name, + widgetId: model.id)), ), Expanded( child: Padding( @@ -68,7 +92,7 @@ class WidgetTiled extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - _buildTitle(color, textColor, isDark), + listTitle(textColor), _buildContent(textColor), _buildFoot(isDark) ], @@ -79,33 +103,27 @@ class WidgetTiled extends StatelessWidget { ), ), ), - LikeTag(widget: model), - Positioned(bottom: 2, left: 6, child: WidgetIdView(model: model)) + LikeTag(model: model, onWidget: onWidget), ], ); } - Widget linkText(BuildContext context) => Row( - children: [ - const Padding( - padding: EdgeInsets.only(left: 15, right: 5), - child: Icon(Icons.link, color: Colors.blue), - ), - Text(context.l10n.relatedComponents, style: UnitTextStyle.labelBold), - ], - ); - Widget listTitle(Color? textColor) { + TextStyle style = TextStyle( + fontSize: 14, + color: textColor, + fontWeight: FontWeight.bold, + ); + return GestureDetector( - child: Text( + child: HighlightText.withArg( model.name, + arg: searchArgs, + caseSensitive: false, + highlightStyle: style.copyWith(color: Colors.red), maxLines: 1, overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 14, - color: textColor, - fontWeight: FontWeight.bold, - ), + style: style, ), onLongPress: () async { await Clipboard.setData(ClipboardData(text: model.name)); @@ -114,29 +132,16 @@ class WidgetTiled extends StatelessWidget { ); } - Widget _buildTitle(Color color, Color? textColor, bool isDark) { - Widget title; - if (searchArg == null) { - title = listTitle(textColor); - } else { - title = Text.rich(formSpan(model.name, searchArg!)); - } - return Row( - children: [ - Expanded(child: title), - StarScore( - star: Star(emptyColor: Colors.white, size: 12, fillColor: color), - score: model.lever, - ), - ], - ); - } - Widget _buildContent(Color? textColor) { + TextStyle style = TextStyle(fontSize: 13, color: textColor); + return Padding( padding: const EdgeInsets.symmetric(vertical: 8), - child: Text( + child: HighlightText.withArg( model.info, + arg: searchArgs, + caseSensitive: false, + highlightStyle: style.copyWith(color: Colors.red), maxLines: 2, overflow: TextOverflow.ellipsis, style: TextStyle(fontSize: 13, color: textColor), @@ -145,6 +150,8 @@ class WidgetTiled extends StatelessWidget { } Widget _buildFoot(bool isDark) { + TextStyle style = + const TextStyle(fontSize: 12, height: 1, color: Color(0xff86909c)); return Row( children: [ Container( @@ -155,12 +162,14 @@ class WidgetTiled extends StatelessWidget { color: Color(0xff86909c), shape: BoxShape.circle), ), Expanded( - child: Text( + child: HighlightText.withArg( model.nameCN, + arg: searchArgs, + caseSensitive: false, + highlightStyle: style.copyWith(color: Colors.red), maxLines: 1, overflow: TextOverflow.ellipsis, - style: const TextStyle( - fontSize: 12, height: 1, color: Color(0xff86909c)), + style: style, ), ), Wrapper.just( @@ -168,7 +177,7 @@ class WidgetTiled extends StatelessWidget { color: isDark ? const Color(0xff292A2D) : const Color(0xffF3F3F5), padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), child: Text( - Cons.kWidgetFamilyLabelMap[model.family]!, + kWidgetFamilyLabelMap[model.family]!, style: TextStyle( color: isDark ? const Color(0xffCCCCCC) : const Color(0xff878D96), @@ -185,25 +194,14 @@ class WidgetTiled extends StatelessWidget { ], ); } - - final TextStyle lightTextStyle = const TextStyle( - color: Colors.red, - fontSize: 16, - fontWeight: FontWeight.bold, - ); - - InlineSpan formSpan(String src, String pattern) { - List span = []; - RegExp regExp = RegExp(pattern, caseSensitive: false); - src.splitMapJoin(regExp, onMatch: (Match match) { - span.add(TextSpan(text: match.group(0), style: lightTextStyle)); - return ''; - }, onNonMatch: (str) { - span.add(TextSpan( - text: str, - style: lightTextStyle.copyWith(color: const Color(0xff2F3032)))); - return ''; - }); - return TextSpan(children: span); - } } + +Map get kWidgetFamilyLabelMap => { + WidgetFamily.stateless: "Stateless", + WidgetFamily.stateful: "Stateful", + WidgetFamily.singleChildRender: "SingleChild", + WidgetFamily.multiChildRender: "MultiChild", + WidgetFamily.sliver: "Sliver", + WidgetFamily.proxy: "Proxy", + WidgetFamily.other: "Other", + }; diff --git a/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_like_tag.dart b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_like_tag.dart new file mode 100644 index 000000000..384f24755 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_like_tag.dart @@ -0,0 +1,43 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:widget_repository/widget_repository.dart'; +import 'package:widget_ui/widget_ui.dart'; + +class LikeTag extends StatelessWidget { + final WidgetModel model; + final ValueChanged onWidget; + + const LikeTag({ + super.key, + required this.model, + required this.onWidget, + }); + + @override + Widget build(BuildContext context) { + bool show = + context.select((LikeWidgetBloc bloc) => bloc.state.contains(model)); + if (show) { + return GestureDetector( + onTap: () => onWidget(ToggleLikeWidget(model.id)), + child: Container( + width: 24, + height: 24, + decoration: BoxDecoration( + color: Colors.white.withValues(alpha: 0.3), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(6), + bottomRight: Radius.circular(8), + )), + child: Icon( + Icons.star, + color: Colors.white, + size: 16, + ), + ), + ); + } + return const SizedBox(); + } +} diff --git a/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_logo.dart b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_logo.dart new file mode 100644 index 000000000..ca82e7748 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_logo.dart @@ -0,0 +1,246 @@ +import 'dart:math'; +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:flutter_star/star.dart'; +import 'package:flutter_star/star_score.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:widget_repository/widget_repository.dart'; +import 'package:fx_env/fx_env.dart'; +import 'package:widget_ui/widget_ui.dart'; + +class WidgetLogo extends StatelessWidget { + final Color background; + final String widgetName; + final int? widgetId; + final double lever; + final bool inDetail; + + const WidgetLogo({ + super.key, + required this.background, + required this.widgetName, + this.widgetId, + required this.lever, + this.inDetail = false, + }); + + @override + Widget build(BuildContext context) { + return Stack( + children: [ + Container( + width: 110, + height: 110, + alignment: Alignment.center, + decoration: BoxDecoration( + color: background, + gradient: LinearGradient( + transform: const GradientRotation(270 * 180 / pi), + colors: [ + background.withValues(alpha: 0.9), + background.withValues(alpha: 0.5) + ]), + borderRadius: inDetail + ? BorderRadius.circular(6) + : const BorderRadius.only( + topLeft: Radius.circular(6), + bottomLeft: Radius.circular(6)), + ), + child: SvgPicture.asset( + 'assets/images/widgets/${widgetLogo(widgetName)}', + width: 80, + ), + ), + Positioned( + bottom: 4, + left: 6, + child: WidgetIdView( + id: widgetId ?? 0, + )), + Positioned( + top: 6, + right: -4, + child: StarScore( + score: lever, + star: Star(size: 10, fillColor: Colors.white), + ), + ), + if (widgetId != null) _buildFieldCountBadge(context), + ], + ); + } + + Widget _buildFieldCountBadge(BuildContext context) { + final provider = WidgetStatisticsProvider(); + final stats = provider.statistics; + if (stats == null) return const SizedBox.shrink(); + + final fieldCount = stats.getWidgetFieldCount(widgetId!); + if (fieldCount == 0) return const SizedBox.shrink(); + + return Positioned( + right: 0, + bottom: 0, + child: GestureDetector( + behavior: HitTestBehavior.opaque, + onTap: () => _showFieldsDialog(context), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 6.0, vertical: 4), + child: Text( + '属性:$fieldCount', + style: const TextStyle( + fontSize: 10, + color: Colors.white, + decoration: TextDecoration.underline, + decorationColor: Colors.white, + ), + ), + ), + ), + ); + } + + void _showFieldsDialog(BuildContext context) { + if (kApp.isMobile) { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => WidgetFieldsPage( + widgetId: widgetId!, + widgetName: widgetName, + ), + ), + ); + } else { + showDialog( + context: context, + builder: (context) => WidgetFieldsDialog( + widgetId: widgetId!, + widgetName: widgetName, + ), + ); + } + } +} + +String widgetLogo(String widgetName) { + return switch (widgetName) { + 'Container' => 'Container.svg', + 'Text' => 'Text.svg', + 'GestureDetector' => 'GestureDetector.svg', + 'CircleAvatar' => 'CircleAvatar.svg', + 'Card' => 'Card.svg', + 'ListView' => 'ListView.svg', + 'GridView' => 'GridView.svg', + 'SingleChildScrollView' => 'SingleChildScrollView.svg', + 'PageView' => 'PageView.svg', + 'InputChip' => 'InputChip.svg', + 'Chip' => 'Chip.svg', + 'FilterChip' => 'FilterChip.svg', + 'MaterialButton' => 'MaterialButton.svg', + 'FlutterLogo' => 'FlutterLogo.svg', + 'RichText' => 'RichText.svg', + 'FloatingActionButton' => 'FloatingActionButton.svg', + 'Banner' => 'Banner.svg', + 'Icon' => 'Icon.svg', + _ => 'Widget.svg', + }; +} + +class GlassSquare extends StatelessWidget { + final Color color; // 主颜色 + final double size; // 边长 + final Widget? child; // 子组件 + + const GlassSquare({ + super.key, + required this.color, + this.size = 300, + this.child, + }); + + @override + Widget build(BuildContext context) { + return ClipRRect( + borderRadius: BorderRadius.circular(20), + child: Stack( + alignment: Alignment.center, + children: [ + // 背景渐变层 + Container( + width: size, + height: size, + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [ + color, + Color.lerp(color, Colors.white, 0.4)!, + ], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.4), + blurRadius: 25, + offset: const Offset(0, 8), + ), + ], + ), + ), + + // 毛玻璃效果层 + BackdropFilter( + filter: ImageFilter.blur(sigmaX: 18, sigmaY: 18), + child: Container( + width: size, + height: size, + decoration: BoxDecoration( + border: Border.all(color: Colors.white.withOpacity(0.2)), + color: Colors.white.withOpacity(0.05), + ), + ), + ), + + // 高光层 + Container( + width: size, + height: size, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + gradient: RadialGradient( + colors: [ + Colors.white.withOpacity(0.45), + Colors.transparent, + ], + radius: 0.6, + center: const Alignment(-0.6, -0.6), + ), + ), + ), + + // 柔光层 + Container( + width: size, + height: size, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + gradient: const LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Color.fromRGBO(255, 255, 255, 0.15), + Color.fromRGBO(0, 0, 0, 0.25), + ], + ), + ), + ), + + // 子组件 + if (child != null) child!, + ], + ), + ); + } +} diff --git a/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_tiled.dart b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_tiled.dart new file mode 100644 index 000000000..e16dd00c6 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/src/view/widget_tiled/widget_tiled.dart @@ -0,0 +1,5 @@ +export 'widget_item.dart'; +export 'widget_logo.dart'; +export 'widget_id_view.dart'; +export 'widget_like_tag.dart'; +export 'widget_detail_logo.dart'; diff --git a/modules/widget_system/widget_ui/lib/widget_ui.dart b/modules/widget_system/widget_ui/lib/widget_ui.dart new file mode 100644 index 000000000..5c47bd8d0 --- /dev/null +++ b/modules/widget_system/widget_ui/lib/widget_ui.dart @@ -0,0 +1,4 @@ +library; + +export "src/view/view.dart"; +export 'src/bloc/bloc.dart'; diff --git a/modules/widget_system/widgets/pubspec.yaml b/modules/widget_system/widget_ui/pubspec.yaml similarity index 66% rename from modules/widget_system/widgets/pubspec.yaml rename to modules/widget_system/widget_ui/pubspec.yaml index d1999a168..b78ce0970 100644 --- a/modules/widget_system/widgets/pubspec.yaml +++ b/modules/widget_system/widget_ui/pubspec.yaml @@ -1,16 +1,31 @@ -name: widgets -description: A new Flutter package project. +name: widget_ui +description: "A new Flutter package project." version: 0.0.1 homepage: environment: - sdk: ">=3.5.0 <4.0.0" + sdk: ^3.6.1 flutter: ">=1.17.0" -resolution: workspace + dependencies: flutter: sdk: flutter + flutter_bloc: ^8.1.6 # 状态管理 + equatable: ^2.0.5 # 相等辅助 + tolyui_message: ^0.2.6+1 + flutter_star: ^1.0.2 # 星星组件 + wrapper: ^1.0.2 # 气泡包裹 + tolyui_text: ^0.0.1+4 + + fx_platform_adapter: 0.0.3 # 平台适配器 + flutter_svg: ^2.0.17 # svg 展示 + widget_repository: + path: ../widget_repository +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^5.0.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -24,10 +39,10 @@ flutter: # - images/a_dot_ham.jpeg # # For details regarding assets in packages, see - # https://flutter.dev/assets-and-images/#from-packages + # https://flutter.dev/to/asset-from-package # # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware + # https://flutter.dev/to/resolution-aware-images # To add custom fonts to your package, add a fonts section here, # in this "flutter" section. Each entry in this list should have a @@ -47,4 +62,4 @@ flutter: # weight: 700 # # For details regarding fonts in packages, see - # https://flutter.dev/custom-fonts/#from-packages + # https://flutter.dev/to/font-from-package diff --git a/modules/widget_system/widget_ui/test/widget_ui_test.dart b/modules/widget_system/widget_ui/test/widget_ui_test.dart new file mode 100644 index 000000000..849487fbc --- /dev/null +++ b/modules/widget_system/widget_ui/test/widget_ui_test.dart @@ -0,0 +1,5 @@ +import 'package:flutter_test/flutter_test.dart'; + +import 'package:widget_ui/widget_ui.dart'; + +void main() {} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_de_DE.json deleted file mode 100644 index b00b56ff8..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 96, - "name": "Column", - "localName": "Spaltenlayout", - "info": "Flex-Layout mit vertikaler Ausrichtung, das mehrere Komponenten aufnehmen kann. Alle anderen Eigenschaften sind identisch, siehe Flex.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Grundlegende Verwendung von Column", - "desc": [ - "【children】 : Liste der Komponenten 【List】", - "【mainAxisAlignment】 : Hauptachsenausrichtung 【MainAxisAlignment】", - "【crossAxisAlignment】 : Kreuzachsenausrichtung 【CrossAxisAlignment】", - "【textBaseline】 : Textbaseline 【TextBaseline】", - "【verticalDirection】 : Vertikale Richtung 【VerticalDirection】", - "【mainAxisSize】 : Hauptachsengröße 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_en_US.json deleted file mode 100644 index f7250c415..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 96, - "name": "Column", - "localName": "Column Layout", - "info": "A Flex layout with a vertical arrangement direction, capable of accommodating multiple components. All other properties are the same, see Flex for details.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Basic Usage of Column", - "desc": [ - "【children】: Component list 【List】", - "【mainAxisAlignment】: Main axis alignment 【MainAxisAlignment】", - "【crossAxisAlignment】: Cross axis alignment 【CrossAxisAlignment】", - "【textBaseline】: Text baseline 【TextBaseline】", - "【verticalDirection】: Vertical direction 【VerticalDirection】", - "【mainAxisSize】: Main axis size 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_es_ES.json deleted file mode 100644 index 933b7ab56..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 96, - "name": "Column", - "localName": "Disposición de columna", - "info": "Disposición Flex con dirección vertical, puede contener múltiples componentes. Todas las demás propiedades son iguales, consulte Flex para más detalles.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Uso básico de Column", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【mainAxisAlignment】 : Alineación del eje principal 【MainAxisAlignment】", - "【crossAxisAlignment】 : Alineación del eje transversal 【CrossAxisAlignment】", - "【textBaseline】 : Línea base del texto 【TextBaseline】", - "【verticalDirection】 : Dirección vertical 【VerticalDirection】", - "【mainAxisSize】 : Tamaño del eje principal 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_fr_FR.json deleted file mode 100644 index 105e2a1d4..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 96, - "name": "Column", - "localName": "Disposition en colonne", - "info": "Une disposition Flex avec une orientation verticale, capable de contenir plusieurs composants. Toutes les autres propriétés sont identiques, voir Flex pour plus de détails.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Utilisation de base de Column", - "desc": [ - "【children】 : Liste des composants 【List】", - "【mainAxisAlignment】 : Alignement de l'axe principal 【MainAxisAlignment】", - "【crossAxisAlignment】 : Alignement de l'axe secondaire 【CrossAxisAlignment】", - "【textBaseline】 : Ligne de base du texte 【TextBaseline】", - "【verticalDirection】 : Direction verticale 【VerticalDirection】", - "【mainAxisSize】 : Taille de l'axe principal 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_it_IT.json deleted file mode 100644 index b8ca8dff4..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 96, - "name": "Column", - "localName": "Layout Colonna", - "info": "Un layout Flex con direzione di disposizione verticale, in grado di contenere più componenti. Tutte le altre proprietà sono le stesse, vedi Flex per maggiori dettagli.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Uso di base di Column", - "desc": [ - "【children】 : Lista di componenti 【List】", - "【mainAxisAlignment】 : Allineamento dell'asse principale 【MainAxisAlignment】", - "【crossAxisAlignment】 : Allineamento dell'asse trasversale 【CrossAxisAlignment】", - "【textBaseline】 : Linea di base del testo 【TextBaseline】", - "【verticalDirection】 : Direzione verticale 【VerticalDirection】", - "【mainAxisSize】 : Dimensione dell'asse principale 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_ja_JP.json deleted file mode 100644 index a432e0544..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 96, - "name": "Column", - "localName": "列レイアウト", - "info": "縦方向に配置するFlexレイアウトで、複数のコンポーネントを収容できます。他の属性はすべて同じです。詳細はFlexを参照してください。", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Columnの基本的な使用法", - "desc": [ - "【children】 : コンポーネントリスト 【List】", - "【mainAxisAlignment】 : 主軸の整列 【MainAxisAlignment】", - "【crossAxisAlignment】 : 交差軸の整列 【CrossAxisAlignment】", - "【textBaseline】 : テキストベースライン 【TextBaseline】", - "【verticalDirection】 : 垂直方向 【VerticalDirection】", - "【mainAxisSize】 : 主軸サイズ 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_ko_KR.json deleted file mode 100644 index 93f2ed269..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 96, - "name": "Column", - "localName": "열 레이아웃", - "info": "세로 방향으로 배열되는 Flex 레이아웃으로, 여러 컴포넌트를 수용할 수 있습니다. 다른 속성은 모두 동일하며, 자세한 내용은 Flex를 참조하십시오.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Column 기본 사용", - "desc": [ - "【children】 : 컴포넌트 목록 【List】", - "【mainAxisAlignment】 : 메인 축 정렬 【MainAxisAlignment】", - "【crossAxisAlignment】 : 교차 축 정렬 【CrossAxisAlignment】", - "【textBaseline】 : 텍스트 기준선 【TextBaseline】", - "【verticalDirection】 : 세로 방향 【VerticalDirection】", - "【mainAxisSize】 : 메인 축 크기 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_pt_PT.json deleted file mode 100644 index 937db6d0f..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 96, - "name": "Column", - "localName": "Layout de Coluna", - "info": "Layout Flex com direção de disposição vertical, pode acomodar vários componentes. Todas as outras propriedades são iguais, consulte Flex para mais detalhes.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Uso Básico do Column", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【mainAxisAlignment】 : Alinhamento do eixo principal 【MainAxisAlignment】", - "【crossAxisAlignment】 : Alinhamento do eixo transversal 【CrossAxisAlignment】", - "【textBaseline】 : Linha de base do texto 【TextBaseline】", - "【verticalDirection】 : Direção vertical 【VerticalDirection】", - "【mainAxisSize】 : Tamanho do eixo principal 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_ru_RU.json deleted file mode 100644 index 82d8686c5..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 96, - "name": "Column", - "localName": "Колонка", - "info": "Гибкий макет с вертикальным направлением размещения, который может содержать несколько компонентов. Все остальные свойства идентичны, подробнее см. Flex.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Основное использование Column", - "desc": [ - "【children】 : Список компонентов 【List】", - "【mainAxisAlignment】 : Выравнивание по главной оси 【MainAxisAlignment】", - "【crossAxisAlignment】 : Выравнивание по поперечной оси 【CrossAxisAlignment】", - "【textBaseline】 : Базовая линия текста 【TextBaseline】", - "【verticalDirection】 : Вертикальное направление 【VerticalDirection】", - "【mainAxisSize】 : Размер главной оси 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_zh-CN.json deleted file mode 100644 index 5dc8af0c0..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 96, - "name": "Column", - "localName": "列布局", - "info": "排布方向为竖向的Flex布局,可容纳多个组件。其他属性全部一致,详见Flex。", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Column基本使用", - "desc": [ - "【children】 : 组件列表 【List】", - "【mainAxisAlignment】 : 主轴对齐 【MainAxisAlignment】", - "【crossAxisAlignment】 : 交叉轴对齐 【CrossAxisAlignment】", - "【textBaseline】 : 文字基线 【TextBaseline】", - "【verticalDirection】 : 竖直方向 【VerticalDirection】", - "【mainAxisSize】 : 主轴尺寸 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/node_01.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/node_01.dart deleted file mode 100644 index b90694f27..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Column/node_01.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class ColumnNode1 extends StatelessWidget { - const ColumnNode1({super.key}); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildTitle(), - _buildContent(context), - ], - ); - } - - Widget _buildTitle() { - return Container( - height: 70, - color: const Color(0x4484FFFF), - child: Row( - children: const [ - Padding( - child: Icon( - Icons.add_location, - size: 30, - color: Colors.pink, - ), - padding: EdgeInsets.only(left: 25, right: 20), - ), - Expanded( - child: Text( - "附近", - style: TextStyle(fontSize: 18), - ), - ), - Padding( - child: Icon(Icons.keyboard_arrow_right, color: Colors.black38), - padding: EdgeInsets.only(right: 25), - ), - ], - )); - } - - Widget _buildContent(ctx) => Container( - width: MediaQuery.of(ctx).size.width, - color: Colors.orangeAccent, - height: 100, - child: const Icon( - Icons.android, - size: 50, - color: Colors.white, - ), - ); -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_de_DE.json deleted file mode 100644 index 0259fe268..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 341, - "name": "CustomMultiChildLayout", - "localName": "Allgemeines Multi-Kind-Layout", - "info": "Verwenden Sie eine Proxy-Klasse, um das Layout einer Gruppe von Kinderkomponenten zu steuern. Die Kinderkomponenten müssen mit der LayoutId-Komponente gekennzeichnet werden.", - "lever": 4, - "family": 3, - "linkIds": [ - 315, - 285 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Grundlegende Verwendung von CustomMultiChildLayout", - "desc": [ - "【children】 : Kinderkomponentensammlung 【List】", - "【delegate】 : Layout-Proxy 【MultiChildLayoutDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_en_US.json deleted file mode 100644 index b93a246d5..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 341, - "name": "CustomMultiChildLayout", - "localName": "General Multi-Child Layout", - "info": "Use a delegate class to control the layout of a set of child components. Child components must be identified using the LayoutId component.", - "lever": 4, - "family": 3, - "linkIds": [ - 315, - 285 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Basic Usage of CustomMultiChildLayout", - "desc": [ - "【children】: Set of child components 【List】", - "【delegate】: Layout delegate 【MultiChildLayoutDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_es_ES.json deleted file mode 100644 index ab14f34d6..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 341, - "name": "CustomMultiChildLayout", - "localName": "Diseño de múltiples hijos genérico", - "info": "Utiliza una clase delegada para controlar el diseño de un conjunto de componentes hijos. Los componentes hijos deben identificarse utilizando el componente LayoutId.", - "lever": 4, - "family": 3, - "linkIds": [ - 315, - 285 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Uso básico de CustomMultiChildLayout", - "desc": [ - "【children】: Conjunto de componentes hijos 【List】", - "【delegate】: Delegado de diseño 【MultiChildLayoutDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_fr_FR.json deleted file mode 100644 index 111364635..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 341, - "name": "CustomMultiChildLayout", - "localName": "Disposition multi-enfants universelle", - "info": "Utilise une classe déléguée pour contrôler la disposition d'un ensemble de composants enfants. Les composants enfants doivent être identifiés à l'aide du composant LayoutId.", - "lever": 4, - "family": 3, - "linkIds": [ - 315, - 285 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Utilisation de base de CustomMultiChildLayout", - "desc": [ - "【children】 : Ensemble de composants enfants 【List】", - "【delegate】 : Délégué de disposition 【MultiChildLayoutDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_it_IT.json deleted file mode 100644 index 8280c9815..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 341, - "name": "CustomMultiChildLayout", - "localName": "Layout Multi-Figlio Generico", - "info": "Utilizza una classe delegata per controllare il layout di un insieme di componenti figli. I componenti figli devono essere identificati utilizzando il componente LayoutId.", - "lever": 4, - "family": 3, - "linkIds": [ - 315, - 285 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Uso di base di CustomMultiChildLayout", - "desc": [ - "【children】 : Insieme di componenti figli 【List】", - "【delegate】 : Delegato di layout 【MultiChildLayoutDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_ja_JP.json deleted file mode 100644 index fe9199dec..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 341, - "name": "CustomMultiChildLayout", - "localName": "汎用マルチチャイルドレイアウト", - "info": "プロキシクラスを使用して子コンポーネントセットのレイアウトを制御します。子コンポーネントはLayoutIdコンポーネントで識別する必要があります。", - "lever": 4, - "family": 3, - "linkIds": [ - 315, - 285 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "CustomMultiChildLayoutの基本使用", - "desc": [ - "【children】 : 子コンポーネントセット 【List】", - "【delegate】 : レイアウトプロキシ 【MultiChildLayoutDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_ko_KR.json deleted file mode 100644 index c21b94969..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 341, - "name": "CustomMultiChildLayout", - "localName": "일반 다중 자식 레이아웃", - "info": "프록시 클래스를 사용하여 자식 위젯 집합의 레이아웃을 제어하며, 자식 위젯은 LayoutId 위젯으로 식별되어야 합니다.", - "lever": 4, - "family": 3, - "linkIds": [ - 315, - 285 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "CustomMultiChildLayout 기본 사용", - "desc": [ - "【children】 : 자식 위젯 집합 【List】", - "【delegate】 : 레이아웃 프록시 【MultiChildLayoutDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_pt_PT.json deleted file mode 100644 index 09a840f65..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 341, - "name": "CustomMultiChildLayout", - "localName": "Layout Multi-Filho Personalizado", - "info": "Usa uma classe delegada para controlar o layout de um conjunto de componentes filhos, os componentes filhos devem ser identificados usando o componente LayoutId.", - "lever": 4, - "family": 3, - "linkIds": [ - 315, - 285 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Uso Básico do CustomMultiChildLayout", - "desc": [ - "【children】 : Conjunto de componentes filhos 【List】", - "【delegate】 : Delegado de layout 【MultiChildLayoutDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_ru_RU.json deleted file mode 100644 index ad443c2a6..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 341, - "name": "CustomMultiChildLayout", - "localName": "Универсальная компоновка с несколькими дочерними элементами", - "info": "Использует класс-делегат для управления компоновкой набора дочерних элементов, дочерние элементы должны быть идентифицированы с помощью компонента LayoutId.", - "lever": 4, - "family": 3, - "linkIds": [ - 315, - 285 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Основное использование CustomMultiChildLayout", - "desc": [ - "【children】 : Набор дочерних элементов 【List】", - "【delegate】 : Делегат компоновки 【MultiChildLayoutDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_zh-CN.json deleted file mode 100644 index 20f890552..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 341, - "name": "CustomMultiChildLayout", - "localName": "通用多子布局", - "info": "使用一个代理类对子组件集进行布局控制,子组件必须使用LayoutId组件进行标识。", - "lever": 4, - "family": 3, - "linkIds": [ - 315, - 285 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "CustomMultiChildLayout基本使用", - "desc": [ - "【children】 : 子组件集 【List】", - "【delegate】 : 布局代理 【MultiChildLayoutDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/node_01.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/node_01.dart deleted file mode 100644 index 136fdf647..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/CustomMultiChildLayout/node_01.dart +++ /dev/null @@ -1,85 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/6/6 -/// contact me by email 1981462002@qq.com - - - -class CustomMultiChildLayoutNode1 extends StatelessWidget { - const CustomMultiChildLayoutNode1({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - width: 300, - height: 150, - color: Colors.grey.withAlpha(33), - child: CustomMultiChildLayout( - delegate: CornerCustomMultiChildLayout( - padding:const EdgeInsets.only(left: 10,top: 5,right: 10,bottom: 5), - ), - children: [ - LayoutId(id: CornerType.topLeft, child: const Box50(Colors.red)), - LayoutId(id: CornerType.topRight, child: const Box50(Colors.yellow)), - LayoutId(id: CornerType.bottomLeft, child: const Box50(Colors.blue)), - LayoutId(id: CornerType.bottomRight, child: const Box50(Colors.green)), - ], - ), - ); - } -} - -// 50 颜色盒 -class Box50 extends StatelessWidget { - final Color color; - const Box50(this.color, {Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - width: 50, - height: 50, - color: color, - ); - } -} - - -enum CornerType{ - topLeft, - topRight, - bottomLeft, - bottomRight -} - - -class CornerCustomMultiChildLayout extends MultiChildLayoutDelegate{ - final EdgeInsets padding; - - CornerCustomMultiChildLayout({this.padding = EdgeInsets.zero}); - - @override - void performLayout(Size size) { - if (hasChild(CornerType.topLeft)) { - layoutChild(CornerType.topLeft, BoxConstraints.loose(size)); - positionChild(CornerType.topLeft, Offset.zero.translate(padding.left, padding.top)); - } - if (hasChild(CornerType.topRight)) { - var childSize = layoutChild(CornerType.topRight, BoxConstraints.loose(size)); - positionChild(CornerType.topRight, Offset(size.width-childSize.width,0).translate(-padding.right, padding.top)); - } - if (hasChild(CornerType.bottomLeft)) { - var childSize = layoutChild(CornerType.bottomLeft, BoxConstraints.loose(size)); - positionChild(CornerType.bottomLeft, Offset(0,size.height-childSize.height).translate(padding.left, -padding.bottom)); - } - if (hasChild(CornerType.bottomRight)) { - var childSize = layoutChild(CornerType.bottomRight, BoxConstraints.loose(size)); - positionChild(CornerType.bottomRight, Offset(size.width-childSize.width,size.height-childSize.height).translate(-padding.right, -padding.bottom)); - } - } - - @override - bool shouldRelayout(CornerCustomMultiChildLayout oldDelegate) => oldDelegate.padding!=padding; - -} - diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_de_DE.json deleted file mode 100644 index fa3418e5c..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_de_DE.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 94, - "name": "Flex", - "localName": "Flexibles Layout", - "info": "Übergeordnete Klasse von Row und Column, die leistungsstärkste Layout-Methode in Flutter. Kann mehrere Komponenten aufnehmen und kann mit Spacer, Expended, Flexible Komponenten für flexibles Layout verwendet werden", - "lever": 5, - "family": 3, - "linkIds": [ - 95, - 96, - 106, - 107, - 109 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Ausrichtung von Flex", - "desc": [ - "【children】 : Komponentenliste 【List】", - "【direction】 : Richtung 【Axis】" - ] - }, - { - "file": "node_02.dart", - "name": "Hauptachsenausrichtung von Flex", - "desc": [ - "【mainAxisAlignment】 : Hauptachsenausrichtung 【MainAxisAlignment】" - ] - }, - { - "file": "node_03.dart", - "name": "Kreuzachsenausrichtung von Flex", - "desc": [ - "【crossAxisAlignment】 : Kreuzachsenausrichtung 【CrossAxisAlignment】" - ] - }, - { - "file": "node_04.dart", - "name": "Vertikale Richtungsreihenfolge von Flex", - "desc": [ - "【verticalDirection】 : Vertikale Richtungsreihenfolge 【VerticalDirection】" - ] - }, - { - "file": "node_05.dart", - "name": "Horizontale Richtungsreihenfolge von Flex", - "desc": [ - "【textDirection】 : Horizontale Richtungsreihenfolge 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_en_US.json deleted file mode 100644 index 75a4dfa9a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_en_US.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 94, - "name": "Flex", - "localName": "Flex Layout", - "info": "The parent class of Row and Column, the most powerful layout method in Flutter. It can accommodate multiple components and can be used in conjunction with Spacer, Expended, and Flexible components for flexible layout.", - "lever": 5, - "family": 3, - "linkIds": [ - 95, - 96, - 106, - 107, - 109 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Flex Direction", - "desc": [ - "【children】: Component list 【List】", - "【direction】: Direction 【Axis】" - ] - }, - { - "file": "node_02.dart", - "name": "Flex Main Axis Alignment", - "desc": [ - "【mainAxisAlignment】: Main axis alignment 【MainAxisAlignment】" - ] - }, - { - "file": "node_03.dart", - "name": "Flex Cross Axis Alignment", - "desc": [ - "【crossAxisAlignment】: Cross axis alignment 【CrossAxisAlignment】" - ] - }, - { - "file": "node_04.dart", - "name": "Flex Vertical Direction", - "desc": [ - "【verticalDirection】: Vertical direction 【VerticalDirection】" - ] - }, - { - "file": "node_05.dart", - "name": "Flex Horizontal Direction", - "desc": [ - "【textDirection】: Horizontal direction 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_es_ES.json deleted file mode 100644 index 1936f39c5..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_es_ES.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 94, - "name": "Flex", - "localName": "Diseño Flexible", - "info": "Clase padre de Row y Column, el método de diseño más potente en Flutter. Puede contener múltiples componentes y se puede usar con los componentes Spacer, Expended y Flexible para un diseño flexible.", - "lever": 5, - "family": 3, - "linkIds": [ - 95, - 96, - 106, - 107, - 109 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Dirección de disposición de Flex", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【direction】 : Dirección 【Axis】" - ] - }, - { - "file": "node_02.dart", - "name": "Alineación del eje principal de Flex", - "desc": [ - "【mainAxisAlignment】 : Alineación del eje principal 【MainAxisAlignment】" - ] - }, - { - "file": "node_03.dart", - "name": "Alineación del eje transversal de Flex", - "desc": [ - "【crossAxisAlignment】 : Alineación del eje transversal 【CrossAxisAlignment】" - ] - }, - { - "file": "node_04.dart", - "name": "Orden de dirección vertical de Flex", - "desc": [ - "【verticalDirection】 : Orden de dirección vertical 【VerticalDirection】" - ] - }, - { - "file": "node_05.dart", - "name": "Orden de dirección horizontal de Flex", - "desc": [ - "【textDirection】 : Orden de dirección horizontal 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_fr_FR.json deleted file mode 100644 index 0a6f6f78f..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_fr_FR.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 94, - "name": "Flex", - "localName": "Disposition flexible", - "info": "Classe parente de Row et Column, la méthode de disposition la plus puissante dans Flutter. Peut contenir plusieurs composants, peut être utilisé avec les composants Spacer, Expended, Flexible pour une disposition flexible", - "lever": 5, - "family": 3, - "linkIds": [ - 95, - 96, - 106, - 107, - 109 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Direction de disposition de Flex", - "desc": [ - "【children】 : Liste des composants 【List】", - "【direction】 : Direction 【Axis】" - ] - }, - { - "file": "node_02.dart", - "name": "Alignement de l'axe principal de Flex", - "desc": [ - "【mainAxisAlignment】 : Alignement de l'axe principal 【MainAxisAlignment】" - ] - }, - { - "file": "node_03.dart", - "name": "Alignement de l'axe transversal de Flex", - "desc": [ - "【crossAxisAlignment】 : Alignement de l'axe transversal 【CrossAxisAlignment】" - ] - }, - { - "file": "node_04.dart", - "name": "Ordre de direction vertical de Flex", - "desc": [ - "【verticalDirection】 : Ordre de direction vertical 【VerticalDirection】" - ] - }, - { - "file": "node_05.dart", - "name": "Ordre de direction horizontale de Flex", - "desc": [ - "【textDirection】 : Ordre de direction horizontale 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_it_IT.json deleted file mode 100644 index a38b40337..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_it_IT.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 94, - "name": "Flex", - "localName": "Layout Flessibile", - "info": "Classe genitore di Row e Column, il metodo di layout più potente in Flutter. Può contenere più componenti e può essere utilizzato con i componenti Spacer, Expended e Flexible per un layout flessibile", - "lever": 5, - "family": 3, - "linkIds": [ - 95, - 96, - 106, - 107, - 109 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Direzione di disposizione di Flex", - "desc": [ - "【children】 : Lista dei componenti 【List】", - "【direction】 : Direzione 【Axis】" - ] - }, - { - "file": "node_02.dart", - "name": "Allineamento dell'asse principale di Flex", - "desc": [ - "【mainAxisAlignment】 : Allineamento dell'asse principale 【MainAxisAlignment】" - ] - }, - { - "file": "node_03.dart", - "name": "Allineamento dell'asse trasversale di Flex", - "desc": [ - "【crossAxisAlignment】 : Allineamento dell'asse trasversale 【CrossAxisAlignment】" - ] - }, - { - "file": "node_04.dart", - "name": "Ordine della direzione verticale di Flex", - "desc": [ - "【verticalDirection】 : Ordine della direzione verticale 【VerticalDirection】" - ] - }, - { - "file": "node_05.dart", - "name": "Ordine della direzione orizzontale di Flex", - "desc": [ - "【textDirection】 : Ordine della direzione orizzontale 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_ja_JP.json deleted file mode 100644 index 37e83a2ac..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_ja_JP.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 94, - "name": "Flex", - "localName": "フレックスレイアウト", - "info": "RowとColumnの親クラス、Flutterで最も強力なレイアウト方法。複数のコンポーネントを収容でき、Spacer、Expended、Flexibleコンポーネントと連携して柔軟なレイアウトを実現できます", - "lever": 5, - "family": 3, - "linkIds": [ - 95, - 96, - 106, - 107, - 109 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Flexの配置方向", - "desc": [ - "【children】 : コンポーネントリスト 【List】", - "【direction】 : 方向 【Axis】" - ] - }, - { - "file": "node_02.dart", - "name": "Flex主軸の整列方法", - "desc": [ - "【mainAxisAlignment】 : 主軸整列 【MainAxisAlignment】" - ] - }, - { - "file": "node_03.dart", - "name": "Flex交差軸の整列方法", - "desc": [ - "【crossAxisAlignment】 : 交差軸整列 【CrossAxisAlignment】" - ] - }, - { - "file": "node_04.dart", - "name": "Flex垂直方向の順序", - "desc": [ - "【verticalDirection】 : 垂直方向の順序 【VerticalDirection】" - ] - }, - { - "file": "node_05.dart", - "name": "Flex水平方向の順序", - "desc": [ - "【textDirection】 : 水平方向の順序 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_ko_KR.json deleted file mode 100644 index a0c898881..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_ko_KR.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 94, - "name": "Flex", - "localName": "유연한 레이아웃", - "info": "Row와 Column의 상위 클래스, Flutter에서 가장 강력한 레이아웃 방식. 여러 컴포넌트를 수용할 수 있으며, Spacer, Expended, Flexible 컴포넌트와 함께 사용하여 유연한 레이아웃을 구성할 수 있습니다.", - "lever": 5, - "family": 3, - "linkIds": [ - 95, - 96, - 106, - 107, - 109 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Flex의 배치 방향", - "desc": [ - "【children】 : 컴포넌트 리스트 【List】", - "【direction】 : 방향 【Axis】" - ] - }, - { - "file": "node_02.dart", - "name": "Flex 주축 정렬 방식", - "desc": [ - "【mainAxisAlignment】 : 주축 정렬 【MainAxisAlignment】" - ] - }, - { - "file": "node_03.dart", - "name": "Flex 교차축 정렬 방식", - "desc": [ - "【crossAxisAlignment】 : 교차축 정렬 【CrossAxisAlignment】" - ] - }, - { - "file": "node_04.dart", - "name": "Flex 수직 방향 순서", - "desc": [ - "【verticalDirection】 : 수직 방향 순서 【VerticalDirection】" - ] - }, - { - "file": "node_05.dart", - "name": "Flex 수평 방향 순서", - "desc": [ - "【textDirection】 : 수평 방향 순서 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_pt_PT.json deleted file mode 100644 index 022b95f4b..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_pt_PT.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 94, - "name": "Flex", - "localName": "Layout Flexível", - "info": "Classe pai de Row e Column, o método de layout mais poderoso no Flutter. Pode conter vários componentes e pode ser usado em conjunto com os componentes Spacer, Expended e Flexible para um layout flexível", - "lever": 5, - "family": 3, - "linkIds": [ - 95, - 96, - 106, - 107, - 109 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Direção de disposição do Flex", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【direction】 : Direção 【Axis】" - ] - }, - { - "file": "node_02.dart", - "name": "Alinhamento do eixo principal do Flex", - "desc": [ - "【mainAxisAlignment】 : Alinhamento do eixo principal 【MainAxisAlignment】" - ] - }, - { - "file": "node_03.dart", - "name": "Alinhamento do eixo cruzado do Flex", - "desc": [ - "【crossAxisAlignment】 : Alinhamento do eixo cruzado 【CrossAxisAlignment】" - ] - }, - { - "file": "node_04.dart", - "name": "Ordem vertical do Flex", - "desc": [ - "【verticalDirection】 : Ordem vertical 【VerticalDirection】" - ] - }, - { - "file": "node_05.dart", - "name": "Ordem horizontal do Flex", - "desc": [ - "【textDirection】 : Ordem horizontal 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_ru_RU.json deleted file mode 100644 index 4eeff29db..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_ru_RU.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 94, - "name": "Flex", - "localName": "Гибкий макет", - "info": "Родительский класс для Row и Column, самый мощный способ компоновки во Flutter. Может содержать несколько компонентов, может использоваться вместе с компонентами Spacer, Expended, Flexible для гибкой компоновки", - "lever": 5, - "family": 3, - "linkIds": [ - 95, - 96, - 106, - 107, - 109 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Направление расположения Flex", - "desc": [ - "【children】 : Список компонентов 【List】", - "【direction】 : Направление 【Axis】" - ] - }, - { - "file": "node_02.dart", - "name": "Выравнивание по главной оси Flex", - "desc": [ - "【mainAxisAlignment】 : Выравнивание по главной оси 【MainAxisAlignment】" - ] - }, - { - "file": "node_03.dart", - "name": "Выравнивание по поперечной оси Flex", - "desc": [ - "【crossAxisAlignment】 : Выравнивание по поперечной оси 【CrossAxisAlignment】" - ] - }, - { - "file": "node_04.dart", - "name": "Порядок по вертикали Flex", - "desc": [ - "【verticalDirection】 : Порядок по вертикали 【VerticalDirection】" - ] - }, - { - "file": "node_05.dart", - "name": "Порядок по горизонтали Flex", - "desc": [ - "【textDirection】 : Порядок по горизонтали 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_zh-CN.json deleted file mode 100644 index f4dc48172..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/desc_zh-CN.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 94, - "name": "Flex", - "localName": "弹性布局", - "info": "Row和Column的父类,Flutter中最强大的布局方式。可容纳多个组件,可与Spacer、Expended、Flexible组件联用进行灵活布局", - "lever": 5, - "family": 3, - "linkIds": [ - 95, - 96, - 106, - 107, - 109 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Flex的排布方向", - "desc": [ - "【children】 : 组件列表 【List】", - "【direction】 : 方向 【Axis】" - ] - }, - { - "file": "node_02.dart", - "name": "Flex主轴对齐方式", - "desc": [ - "【mainAxisAlignment】 : 主轴对齐 【MainAxisAlignment】" - ] - }, - { - "file": "node_03.dart", - "name": "Flex交叉轴对齐方式", - "desc": [ - "【crossAxisAlignment】 : 交叉轴对齐 【CrossAxisAlignment】" - ] - }, - { - "file": "node_04.dart", - "name": "Flex垂直方向顺序", - "desc": [ - "【verticalDirection】 : 垂直方向顺序 【VerticalDirection】" - ] - }, - { - "file": "node_05.dart", - "name": "Flex水平方向顺序", - "desc": [ - "【textDirection】 : 水平方向顺序 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_01.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_01.dart deleted file mode 100644 index 06c2d13f9..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_01.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class FlexNode1 extends StatelessWidget { - const FlexNode1({super.key}); - - static TextStyle textStyle = - const TextStyle(color: Colors.white, fontWeight: FontWeight.bold); - - Widget get blueBox => Container( - alignment: Alignment.center, - color: Colors.blue, - height: 20, - width: 30, - child: Text('1', style: textStyle), - ); - - Widget get redBox => Container( - alignment: Alignment.center, - color: Colors.red, - height: 30, - width: 40, - child: Text('2', style: textStyle), - ); - - Widget get greenBox => Container( - alignment: Alignment.center, - color: Colors.green, - height: 20, - width: 20, - child: Text('3', style: textStyle), - ); - - @override - Widget build(BuildContext context) { - return Wrap( - children: Axis.values - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 160, - height: 80, - color: Colors.grey.withAlpha(33), - child: _buildItem(mode)), - Text(mode.toString().split('.')[1]) - ])) - .toList()); - } - - Widget _buildItem(mode) => Flex( - direction: mode, - children: [ - blueBox, redBox, greenBox - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_02.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_02.dart deleted file mode 100644 index e5f0b0f0a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_02.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class FlexNode2 extends StatelessWidget { - const FlexNode2({super.key}); - - static TextStyle textStyle = - const TextStyle(color: Colors.white, fontWeight: FontWeight.bold); - - Widget get blueBox => Container( - alignment: Alignment.center, - color: Colors.blue, - height: 20, - width: 30, - child: Text('1', style: textStyle), - ); - - Widget get redBox => Container( - alignment: Alignment.center, - color: Colors.red, - height: 30, - width: 40, - child: Text('2', style: textStyle), - ); - - Widget get greenBox => Container( - alignment: Alignment.center, - color: Colors.green, - height: 20, - width: 20, - child: Text('3', style: textStyle), - ); - - @override - Widget build(BuildContext context) { - return Wrap( - runSpacing: 5, - children: MainAxisAlignment.values - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 160, - height: 80, - color: Colors.grey.withAlpha(33), - child: _buildItem(mode)), - Text(mode.toString().split('.')[1]) - ])) - .toList()); - } - - Widget _buildItem(mode) => Flex( - direction: Axis.horizontal, - mainAxisAlignment: mode, - children: [ - blueBox, redBox, greenBox - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_03.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_03.dart deleted file mode 100644 index 417772e26..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_03.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class FlexNode3 extends StatelessWidget { - const FlexNode3({super.key}); - - static TextStyle textStyle = - const TextStyle(color: Colors.white, fontWeight: FontWeight.bold); - - Widget get blueBox => Container( - alignment: Alignment.center, - color: Colors.blue, - height: 20, - width: 30, - child: Text('1', style: textStyle), - ); - - Widget get redBox => Container( - alignment: Alignment.center, - color: Colors.red, - height: 30, - width: 40, - child: Text('2', style: textStyle), - ); - - Widget get greenBox => Container( - alignment: Alignment.center, - color: Colors.green, - height: 20, - width: 20, - child: Text('3', style: textStyle), - ); - - - @override - Widget build(BuildContext context) { - return Wrap( - runSpacing: 5, - children: CrossAxisAlignment.values - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 160, - height: 80, - color: Colors.grey.withAlpha(33), - child: _buildItem(mode)), - Text(mode.toString().split('.')[1]) - ])) - .toList()); - } - - Widget _buildItem(mode) => Flex( - direction: Axis.horizontal, - crossAxisAlignment: mode, - textBaseline: TextBaseline.alphabetic, - children: [ - blueBox, redBox, greenBox - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_04.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_04.dart deleted file mode 100644 index 154f280f2..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_04.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class FlexNode4 extends StatelessWidget { - const FlexNode4({super.key}); - - static TextStyle textStyle = - const TextStyle(color: Colors.white, fontWeight: FontWeight.bold); - - Widget get blueBox => Container( - alignment: Alignment.center, - color: Colors.blue, - height: 20, - width: 30, - child: Text('1', style: textStyle), - ); - - Widget get redBox => Container( - alignment: Alignment.center, - color: Colors.red, - height: 30, - width: 40, - child: Text('2', style: textStyle), - ); - - Widget get greenBox => Container( - alignment: Alignment.center, - color: Colors.green, - height: 20, - width: 20, - child: Text('3', style: textStyle), - ); - - @override - Widget build(BuildContext context) { - return Wrap( - runSpacing: 5, - children: VerticalDirection.values - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 160, - height: 80, - color: Colors.grey.withAlpha(33), - child: _buildItem(mode)), - Text(mode.toString().split('.')[1]) - ])) - .toList()); - } - - Widget _buildItem(mode) => Flex( - direction: Axis.vertical, - verticalDirection: mode, - children: [blueBox, redBox, greenBox], - ); -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_05.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_05.dart deleted file mode 100644 index 39e35fc92..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flex/node_05.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class FlexNode5 extends StatelessWidget { - const FlexNode5({super.key}); - - static TextStyle textStyle = - const TextStyle(color: Colors.white, fontWeight: FontWeight.bold); - - Widget get blueBox => Container( - alignment: Alignment.center, - color: Colors.blue, - height: 20, - width: 30, - child: Text('1', style: textStyle), - ); - - Widget get redBox => Container( - alignment: Alignment.center, - color: Colors.red, - height: 30, - width: 40, - child: Text('2', style: textStyle), - ); - - Widget get greenBox => Container( - alignment: Alignment.center, - color: Colors.green, - height: 20, - width: 20, - child: Text('3', style: textStyle), - ); - - @override - Widget build(BuildContext context) { - return Wrap( - runSpacing: 5, - children: TextDirection.values - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 160, - height: 80, - color: Colors.grey.withAlpha(33), - child: _buildItem(mode)), - Text(mode.toString().split('.')[1]) - ])) - .toList()); - } - - Widget _buildItem(mode) => Flex( - direction: Axis.horizontal, - textDirection: mode, - children: [blueBox, redBox, greenBox], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_de_DE.json deleted file mode 100644 index 9b39ec33d..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 99, - "name": "Flow", - "localName": "Fließendes Layout", - "info": "Kann mehrere Komponenten aufnehmen, erfordert die Festlegung eines Delegaten für die Anordnung, ermöglicht eine hochgradige Anpassung der Komponentenanordnung und erreicht Effekte, die mit normalen Layouts nicht möglich sind. Der König der Layouts, zu Recht.", - "lever": 5, - "family": 3, - "linkIds": [ - 98, - 94 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Runde Anordnung mit Flow", - "desc": [ - "【children】 : Komponentenliste 【List】", - "【delegate】 : Delegat 【FlowDelegate】" - ] - }, - { - "file": "node_02.dart", - "name": "Runde Anordnung mit Flow und Animation", - "desc": [ - "Erzielt Effekte durch die Änderung der Position umliegender Komponenten mittels Animation" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_en_US.json deleted file mode 100644 index 890475c63..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 99, - "name": "Flow", - "localName": "Flow Layout", - "info": "Can accommodate multiple components, requires custom arrangement agents, allows high customization of component arrangement, achieving effects that ordinary layouts cannot. The king of layouts, well-deserved.", - "lever": 5, - "family": 3, - "linkIds": [ - 98, - 94 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Flow Circular Arrangement", - "desc": [ - "【children】: Component list 【List】", - "【delegate】: Agent 【FlowDelegate】" - ] - }, - { - "file": "node_02.dart", - "name": "Flow Circular with Animation", - "desc": [ - "Achieve effects by changing the position of surrounding components through animation" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_es_ES.json deleted file mode 100644 index aa0a65f42..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 99, - "name": "Flow", - "localName": "Diseño de flujo", - "info": "Puede contener múltiples componentes, requiere que especifiques un delegado para la disposición, permite una alta personalización en la distribución de los componentes, logrando efectos que los diseños comunes no pueden alcanzar. El rey de los diseños, sin duda.", - "lever": 5, - "family": 3, - "linkIds": [ - 98, - 94 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Disposición circular de Flow", - "desc": [ - "【children】: Lista de componentes 【List】", - "【delegate】: Delegado 【FlowDelegate】" - ] - }, - { - "file": "node_02.dart", - "name": "Combinación de Flow circular con animación", - "desc": [ - "Logra el efecto cambiando la posición de los componentes circundantes a través de la animación" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_fr_FR.json deleted file mode 100644 index c7bbb2085..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 99, - "name": "Flow", - "localName": "Disposition fluide", - "info": "Peut contenir plusieurs composants, nécessite de définir un délégué pour l'agencement, permet une personnalisation élevée de l'agencement des composants, atteignant des effets impossibles avec des dispositions ordinaires. Le roi des dispositions, sans aucun doute.", - "lever": 5, - "family": 3, - "linkIds": [ - 98, - 94 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Disposition circulaire Flow", - "desc": [ - "【children】 : Liste des composants 【List】", - "【delegate】 : Délégué 【FlowDelegate】" - ] - }, - { - "file": "node_02.dart", - "name": "Combinaison de Flow circulaire et animation", - "desc": [ - "Modifier la position des composants environnants via une animation pour obtenir l'effet" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_it_IT.json deleted file mode 100644 index 1bb53fc3a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 99, - "name": "Flow", - "localName": "Layout di Flusso", - "info": "Può contenere più componenti, richiede la definizione di un delegato per la disposizione, permette un alto livello di personalizzazione della disposizione dei componenti, raggiungendo effetti che i layout comuni non possono ottenere. Il re dei layout, a pieno titolo.", - "lever": 5, - "family": 3, - "linkIds": [ - 98, - 94 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Disposizione Circolare di Flow", - "desc": [ - "【children】 : Lista dei componenti 【List】", - "【delegate】 : Delegato 【FlowDelegate】" - ] - }, - { - "file": "node_02.dart", - "name": "Combinazione di Flow Circolare e Animazione", - "desc": [ - "Modifica la posizione dei componenti circostanti attraverso l'animazione per ottenere l'effetto desiderato" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_ja_JP.json deleted file mode 100644 index 37f10f4cb..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 99, - "name": "Flow", - "localName": "フローレイアウト", - "info": "複数のコンポーネントを収容でき、自身で配置のプロキシを指定する必要があります。コンポーネントの配置を高度にカスタマイズでき、通常のレイアウトでは実現できない効果を実現します。レイアウトの王者、その名にふさわしい。", - "lever": 5, - "family": 3, - "linkIds": [ - 98, - 94 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Flow円形配置", - "desc": [ - "【children】 : コンポーネントリスト 【List】", - "【delegate】 : プロキシ 【FlowDelegate】" - ] - }, - { - "file": "node_02.dart", - "name": "Flow円形とアニメーションの組み合わせ", - "desc": [ - "アニメーションを使用して周囲のコンポーネントの位置を変更することで効果を実現" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_ko_KR.json deleted file mode 100644 index ae91c33a8..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 99, - "name": "Flow", - "localName": "플로우 레이아웃", - "info": "여러 컴포넌트를 수용할 수 있으며, 배치를 위한 대리자를 직접 지정해야 합니다. 컴포넌트 배치를 고도로 커스터마이징할 수 있어 일반 레이아웃으로는 달성할 수 없는 효과를 구현할 수 있습니다. 레이아웃의 왕, 그 이름에 걸맞습니다.", - "lever": 5, - "family": 3, - "linkIds": [ - 98, - 94 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Flow 원형 배치", - "desc": [ - "【children】 : 컴포넌트 리스트 【List】", - "【delegate】 : 대리자 【FlowDelegate】" - ] - }, - { - "file": "node_02.dart", - "name": "Flow 원형과 애니메이션 결합", - "desc": [ - "애니메이션을 통해 주변 컴포넌트의 위치를 변경하여 효과를 구현" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_pt_PT.json deleted file mode 100644 index c7149affd..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 99, - "name": "Flow", - "localName": "Layout de Fluxo", - "info": "Pode acomodar vários componentes, é necessário definir um agente de disposição, permitindo uma alta personalização da disposição dos componentes, alcançando efeitos que layouts comuns não conseguem. O rei dos layouts, sem dúvida.", - "lever": 5, - "family": 3, - "linkIds": [ - 98, - 94 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Disposição Circular do Flow", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【delegate】 : Agente 【FlowDelegate】" - ] - }, - { - "file": "node_02.dart", - "name": "Combinação de Flow Circular com Animação", - "desc": [ - "Alterar a posição dos componentes ao redor através de animação para alcançar o efeito" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_ru_RU.json deleted file mode 100644 index b280e78f1..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 99, - "name": "Flow", - "localName": "Макет потока", - "info": "Может вмещать несколько компонентов, требует самостоятельного определения прокси для размещения, позволяет высоко настраивать расположение компонентов, достигая эффектов, недоступных для обычных макетов. Безусловный король макетов.", - "lever": 5, - "family": 3, - "linkIds": [ - 98, - 94 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Круговое расположение Flow", - "desc": [ - "【children】 : Список компонентов 【List】", - "【delegate】 : Прокси 【FlowDelegate】" - ] - }, - { - "file": "node_02.dart", - "name": "Круговое расположение Flow с анимацией", - "desc": [ - "Достижение эффекта путем изменения положения окружающих компонентов с помощью анимации" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_zh-CN.json deleted file mode 100644 index d448bc13d..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 99, - "name": "Flow", - "localName": "流动布局", - "info": "可容纳多个组件, 需要自己制定排布的代理,可以高强度自定义组件的排布,实现普通布局无法达到的效果。布局王者,当之无愧。", - "lever": 5, - "family": 3, - "linkIds": [ - 98, - 94 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Flow圆形排布", - "desc": [ - "【children】 : 组件列表 【List】", - "【delegate】 : 代理 【FlowDelegate】" - ] - }, - { - "file": "node_02.dart", - "name": "Flow圆形与动画结合", - "desc": [ - "通过动画来更改周围组件的位置实现效果" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/node_01.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/node_01.dart deleted file mode 100644 index dca7b68eb..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/node_01.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class FlowNode1 extends StatelessWidget { - const FlowNode1({super.key}); - - List get data => List.generate( - 16, - (index) => index.isEven - ? "assets/images/icon_head.webp" - : "assets/images/wy_300x200.webp"); - - @override - Widget build(BuildContext context) { - return Container( - width: 300, - height: 300, - alignment: Alignment.center, - child: Flow( - delegate: _CircleFlowDelegate(), - children: data - .map((e) => CircleAvatar(backgroundImage: AssetImage(e))) - .toList(), - ), - ); - } -} - -class _CircleFlowDelegate extends FlowDelegate { - - @override //绘制孩子的方法 - void paintChildren(FlowPaintingContext context) { - final double radius = context.size.shortestSide / 2; - final int count = context.childCount; - final double perRad = 2 * pi / count; - for (int i = 0; i < count; i++) { - final Size size = context.getChildSize(i) ?? Size.zero; - final double offsetX = - (radius - size.width / 2) * cos(i * perRad) + radius; - final double offsetY = - (radius - size.height / 2) * sin(i * perRad) + radius; - context.paintChild(i, - transform: Matrix4.translationValues( - offsetX - size.width / 2, offsetY - size.height / 2, 0.0)); - } - } - - @override - bool shouldRepaint(FlowDelegate oldDelegate) => false; -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/node_02.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/node_02.dart deleted file mode 100644 index 4dc644f9b..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Flow/node_02.dart +++ /dev/null @@ -1,100 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class FlowNode02 extends StatefulWidget { - const FlowNode02({ - super.key, - }); - - @override - State createState() => _FlowNode02State(); -} - -class _FlowNode02State extends State - with SingleTickerProviderStateMixin { - late AnimationController _controller; - double _rad = 0.0; - bool _closed = true; - - List get data => List.generate( - 16, - (index) => index.isEven - ? "assets/images/icon_head.webp" - : "assets/images/wy_300x200.webp"); - - @override - void initState() { - _controller = AnimationController( - duration: const Duration(milliseconds: 1000), - vsync: this, - ) - ..addListener(() => setState( - () => _rad = (_closed ? (_controller.value) : 1 - _controller.value))) - ..addStatusListener((status) { - if (status == AnimationStatus.completed) { - _closed = !_closed; - } - }); - super.initState(); - } - - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Flow( - delegate: _BurstFlowDelegate(_rad), - children: [ - ...data.map((e) => CircleAvatar(backgroundImage: AssetImage(e))), - InkWell( - onTap: () { - _controller.reset(); - _controller.forward(); - }, - child: const CircleAvatar( - backgroundImage: AssetImage('assets/images/icon_head.webp'), - )) - ], - ); - } -} - -class _BurstFlowDelegate extends FlowDelegate { - final double rad; - - _BurstFlowDelegate(this.rad); - - @override //绘制孩子的方法 - void paintChildren(FlowPaintingContext context) { - double radius = context.size.shortestSide / 2; - final int count = context.childCount - 1; - final double perRad = 2 * pi / count; - for (int i = 0; i < count; i++) { - Size size = context.getChildSize(i) ?? Size.zero; - final double offsetX = - rad * (radius - size.width / 2) * cos(i * perRad) + radius; - final double offsetY = - rad * (radius - size.height / 2) * sin(i * perRad) + radius; - context.paintChild(i, - transform: Matrix4.translationValues( - offsetX - size.width / 2, offsetY - size.height / 2, 0.0)); - } - - Size size = context.getChildSize(context.childCount - 1) ?? Size.zero; - - context.paintChild(context.childCount - 1, - transform: Matrix4.translationValues( - radius - size.width / 2, radius - size.height / 2, 0.0)); - } - - @override - bool shouldRepaint(_BurstFlowDelegate oldDelegate) => oldDelegate.rad != rad; -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_de_DE.json deleted file mode 100644 index f4efeef84..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 161, - "name": "IndexedStack", - "localName": "Indexierter Stapel", - "info": "Unterklasse der Stack-Komponente, kann mehrere Komponenten stapeln und durch den Index die anzuzeigende Komponente angeben, die anderen werden ausgeblendet.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von IndexedStack", - "desc": [ - "【children】 : Liste der Unterkomponenten 【Lis】", - "【alignment】 : Ausrichtung 【AlignmentGeometry】", - "【index】 : Aktuell angezeigte Komponente 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_en_US.json deleted file mode 100644 index e25fb5f7c..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 161, - "name": "IndexedStack", - "localName": "Indexed Stack", - "info": "A subclass of the Stack component that can stack multiple components and specify the index of the component to be displayed, while the rest are hidden.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of IndexedStack", - "desc": [ - "【children】: List of child components 【List】", - "【alignment】: Alignment 【AlignmentGeometry】", - "【index】: Currently displayed component 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_es_ES.json deleted file mode 100644 index 48b4714a5..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 161, - "name": "IndexedStack", - "localName": "Pila indexada", - "info": "Subclase del componente Stack, puede apilar múltiples componentes y especificar el índice del componente que se mostrará a través del índice, el resto se ocultará.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de IndexedStack", - "desc": [ - "【children】 : Lista de componentes hijos 【Lis】", - "【alignment】 : Alineación 【AlignmentGeometry】", - "【index】 : Componente actualmente visible 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_fr_FR.json deleted file mode 100644 index 8eb40e30a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 161, - "name": "IndexedStack", - "localName": "Empilement indexé", - "info": "Sous-classe du composant Stack, permet d'empiler plusieurs composants et de spécifier l'index du composant à afficher via l'index, les autres seront masqués.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'IndexedStack", - "desc": [ - "【children】 : Liste des composants enfants 【Lis】", - "【alignment】 : Alignement 【AlignmentGeometry】", - "【index】 : Composant actuellement affiché 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_it_IT.json deleted file mode 100644 index b153327d5..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 161, - "name": "IndexedStack", - "localName": "Pila indicizzata", - "info": "Sottoclasse del componente Stack, può impilare più componenti e specificare l'indice del componente da visualizzare tramite index, gli altri verranno nascosti.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di IndexedStack", - "desc": [ - "【children】 : Lista dei componenti figli 【Lis】", - "【alignment】 : Allineamento 【AlignmentGeometry】", - "【index】 : Componente attualmente visualizzato 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_ja_JP.json deleted file mode 100644 index 74da171b2..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 161, - "name": "IndexedStack", - "localName": "インデックススタック", - "info": "Stackコンポーネントのサブクラスで、複数のコンポーネントをスタックし、indexを指定して表示するコンポーネントを指定できます。それ以外のコンポーネントは非表示になります。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IndexedStackの基本使用", - "desc": [ - "【children】 : 子コンポーネントリスト 【Lis】", - "【alignment】 : 配置方法 【AlignmentGeometry】", - "【index】 : 現在表示されているコンポーネント 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_ko_KR.json deleted file mode 100644 index 6352262c7..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 161, - "name": "IndexedStack", - "localName": "인덱스 스택", - "info": "Stack 컴포넌트의 하위 클래스로, 여러 컴포넌트를 쌓아 놓고 index를 통해 표시할 컴포넌트의 인덱스를 지정할 수 있으며, 나머지는 숨겨집니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IndexedStack 기본 사용", - "desc": [ - "【children】 : 자식 컴포넌트 리스트 【Lis】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】", - "【index】 : 현재 표시되는 컴포넌트 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_pt_PT.json deleted file mode 100644 index f785b891d..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 161, - "name": "IndexedStack", - "localName": "Pilha Indexada", - "info": "Subclasse do componente Stack, pode empilhar vários componentes e especificar o índice do componente a ser exibido através do index, os restantes serão ocultados.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do IndexedStack", - "desc": [ - "【children】 : Lista de componentes filhos 【Lis】", - "【alignment】 : Alinhamento 【AlignmentGeometry】", - "【index】 : Componente atualmente exibido 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_ru_RU.json deleted file mode 100644 index bb8625ec2..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 161, - "name": "IndexedStack", - "localName": "Индексированный стек", - "info": "Подкласс компонента Stack, который позволяет складывать несколько компонентов и указывать индекс отображаемого компонента через index, остальные будут скрыты.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование IndexedStack", - "desc": [ - "【children】 : Список дочерних компонентов 【Lis】", - "【alignment】 : Способ выравнивания 【AlignmentGeometry】", - "【index】 : Текущий отображаемый компонент 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_zh-CN.json deleted file mode 100644 index c3d9fe37e..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 161, - "name": "IndexedStack", - "localName": "索引堆叠", - "info": "Stack组件的子类,可以堆叠多个组件,并通过index来指定展示的组件索引,其余的会被隐藏。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IndexedStack基本使用", - "desc": [ - "【children】 : 子组件列表 【Lis】", - "【alignment】 : 对齐方式 【AlignmentGeometry】", - "【index】 : 当前显示组件 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/node1_base.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/node1_base.dart deleted file mode 100644 index aa33f43ca..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/IndexedStack/node1_base.dart +++ /dev/null @@ -1,53 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class IndexedStackNode01 extends StatefulWidget { - const IndexedStackNode01({Key? key}) : super(key: key); - - @override - State createState() => _IndexedStackNode01State(); -} - -class _IndexedStackNode01State extends State { - int _index = 1; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildSwitch(), - Container( - width: 200, - height: 100, - color: Colors.grey.withAlpha(33), - child: IndexedStack( - index: _index, - children: [ - Container( - color: Colors.red, - width: 80, - height: 80 - ), - Positioned( - bottom: 10, - right: 10, - child: Container( - color: Colors.blue, - width: 80, - height: 80, - ), - ) - ], - ), - ), - ], - ); - } - - Widget _buildSwitch() => Switch( - value: _index == 0, - onChanged: (v) => setState(() => _index = v ? 0 : 1), - ); -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_de_DE.json deleted file mode 100644 index 17a86062e..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 342, - "name": "ListBody", - "localName": "Listenkörper", - "info": "Ordnet mehrere Unterkomponenten entlang einer Achse an, hat wenige einstellbare Attribute und wird selten verwendet, stattdessen wird meist ListView bevorzugt.", - "lever": 4, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ListView", - "desc": [ - "【mainAxis】: Hauptachsenrichtung 【Axis】", - "【reverse】: Umgekehrt oder nicht 【bool】", - "【children】: Sammlung von Unterkomponenten 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_en_US.json deleted file mode 100644 index 33f49ae5a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 342, - "name": "ListBody", - "localName": "List Body", - "info": "Arranges several child components along the axis, with few properties that can be set. It is rarely used, and ListView is generally chosen instead.", - "lever": 4, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ListView", - "desc": [ - "【mainAxis】: Main axis direction 【Axis】", - "【reverse】: Whether to reverse 【bool】", - "【children】: Child component collection 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_es_ES.json deleted file mode 100644 index 11dc24b02..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 342, - "name": "ListBody", - "localName": "Cuerpo de la lista", - "info": "Organiza varios subcomponentes a lo largo de un eje, con pocas propiedades configurables, generalmente se usa poco y se prefiere usar ListView.", - "lever": 4, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ListView", - "desc": [ - "【mainAxis】 : Dirección del eje principal 【Axis】", - "【reverse】: Si es inverso 【bool】", - "【children】: Conjunto de subcomponentes 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_fr_FR.json deleted file mode 100644 index 8627f7319..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 342, - "name": "ListBody", - "localName": "Corps de liste", - "info": "Dispose plusieurs sous-composants selon un axe, avec peu de propriétés configurables, rarement utilisé, on préfère généralement utiliser ListView.", - "lever": 4, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ListView", - "desc": [ - "【mainAxis】 : Direction de l'axe principal 【Axis】", - "【reverse】: Inverser ou non 【bool】", - "【children】: Ensemble de sous-composants 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_it_IT.json deleted file mode 100644 index 0034881b6..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 342, - "name": "ListBody", - "localName": "Corpo della lista", - "info": "Dispone diversi componenti figli lungo un asse, con poche proprietà configurabili. Viene utilizzato raramente, preferendo invece l'uso di ListView.", - "lever": 4, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ListView", - "desc": [ - "【mainAxis】 : Direzione dell'asse principale 【Axis】", - "【reverse】: Inversione 【bool】", - "【children】: Insieme di componenti figli 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_ja_JP.json deleted file mode 100644 index 988ec58bc..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 342, - "name": "ListBody", - "localName": "リストボディ", - "info": "複数の子コンポーネントを軸方向に並べ替えます。設定可能な属性は少なく、通常はあまり使用されず、代わりにListViewが選択されます。", - "lever": 4, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListViewの基本的な使用", - "desc": [ - "【mainAxis】 : 主軸方向 【Axis】", - "【reverse】: 逆方向かどうか 【bool】", - "【children】: 子コンポーネント集 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_ko_KR.json deleted file mode 100644 index 53f44f103..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 342, - "name": "ListBody", - "localName": "리스트 바디", - "info": "여러 하위 컴포넌트를 축 방향으로 배열하며, 설정 가능한 속성이 적어 일반적으로 잘 사용되지 않고, 대신 ListView를 선택하여 사용합니다.", - "lever": 4, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListView의 기본 사용법", - "desc": [ - "【mainAxis】 : 주축 방향 【Axis】", - "【reverse】: 역방향 여부 【bool】", - "【children】: 하위 컴포넌트 집합 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_pt_PT.json deleted file mode 100644 index 0d9afb7f9..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 342, - "name": "ListBody", - "localName": "Corpo da Lista", - "info": "Organiza vários subcomponentes ao longo de um eixo, com poucas propriedades configuráveis, geralmente pouco utilizado, optando-se por usar ListView.", - "lever": 4, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ListView", - "desc": [ - "【mainAxis】 : Direção do eixo principal 【Axis】", - "【reverse】: Se é invertido 【bool】", - "【children】: Conjunto de subcomponentes 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_ru_RU.json deleted file mode 100644 index 527c1623a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 342, - "name": "ListBody", - "localName": "Тело списка", - "info": "Располагает несколько дочерних компонентов по оси, имеет мало настраиваемых свойств, обычно редко используется, вместо этого выбирают ListView.", - "lever": 4, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ListView", - "desc": [ - "【mainAxis】 : Направление основной оси 【Axis】", - "【reverse】: Обратное направление 【bool】", - "【children】: Набор дочерних компонентов 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_zh-CN.json deleted file mode 100644 index f870d8fea..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 342, - "name": "ListBody", - "localName": "列表体", - "info": "将若干子组件按照轴向进行排列,可设置的属性很少,一般很少使用,而选择使用ListView。", - "lever": 4, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListView的基本使用", - "desc": [ - "【mainAxis】 : 主轴方向 【Axis】", - "【reverse】: 是否反向 【bool】", - "【children】: 子组件集 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/node1_base.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/node1_base.dart deleted file mode 100644 index 1529b12a7..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ListBody/node1_base.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/8/2 -/// contact me by email 1981462002@qq.com - - -class ListBodyDemo extends StatelessWidget { - const ListBodyDemo({Key? key}) : super(key: key); - - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: ListView( - children: [ - ListBody( - mainAxis: Axis.vertical, - reverse: false, - children: [ - Container(color: Colors.red, height: 50.0,), - Container(color: Colors.orange, height: 50.0,), - Container(color: Colors.yellow, height: 50.0,), - ], - ), - Container(color: Colors.green, height: 80.0,), - ListBody( - mainAxis: Axis.vertical, - reverse: false, - children: [ - Container(color: Colors.blue, height: 50.0,), - Container(color: Colors.indigo, height: 50.0,), - Container(color: Colors.purple, height: 50.0,), - ], - ) - ] - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_de_DE.json deleted file mode 100644 index 1ac519046..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 344, - "name": "NestedScrollViewViewport", - "localName": "Verschachtelter Scroll-Viewport", - "info": "Ein in NestedScrollView verwendeter Viewport, der ein SliverOverlapAbsorberHandle enthält und es benachrichtigt, wenn der Viewport sein Layout neu berechnen muss. Zum Beispiel, wenn es gescrollt wird.", - "lever": 1, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in NestedScrollViewViewport", - "desc": [ - "【offset】 : *Versatz 【ViewportOffset】", - "【handle】 : *Handler 【SliverOverlapAbsorberHandle】", - "【axisDirection】 : Achsenrichtung 【AxisDirection】", - "【crossAxisDirection】 : Querachsenrichtung 【AxisDirection】", - "【slivers】 : Unterkomponenten 【List】", - "【clipBehavior】 : Abschneideverhalten 【Clip】", - "【anchor】 : Ankerpunkt 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_en_US.json deleted file mode 100644 index 6ee55a667..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 344, - "name": "NestedScrollViewViewport", - "localName": "Nested Scroll Viewport", - "info": "A viewport used in NestedScrollView, which holds a SliverOverlapAbsorberHandle and notifies it when the viewport needs to recalculate its layout. For example, when scrolling it.", - "lever": 1, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to NestedScrollViewViewport", - "desc": [ - "【offset】 : *Offset 【ViewportOffset】", - "【handle】 : *Handle 【SliverOverlapAbsorberHandle】", - "【axisDirection】 : Axis Direction 【AxisDirection】", - "【crossAxisDirection】 : Cross Axis Direction 【AxisDirection】", - "【slivers】 : Child Components 【List】", - "【clipBehavior】 : Clip Behavior 【Clip】", - "【anchor】 : Anchor 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_es_ES.json deleted file mode 100644 index 139e1c8ca..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 344, - "name": "NestedScrollViewViewport", - "localName": "Ventana de desplazamiento anidado", - "info": "Ventana utilizada en NestedScrollView que contiene un SliverOverlapAbsorberHandle y lo notifica cuando la ventana necesita recalcular su diseño. Por ejemplo, cuando se desplaza.", - "lever": 1, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a NestedScrollViewViewport", - "desc": [ - "【offset】 : *desplazamiento 【ViewportOffset】", - "【handle】 : *manejador 【SliverOverlapAbsorberHandle】", - "【axisDirection】 : dirección del eje 【AxisDirection】", - "【crossAxisDirection】 : dirección del eje cruzado 【AxisDirection】", - "【slivers】 : componentes hijos 【List】", - "【clipBehavior】 : comportamiento de recorte 【Clip】", - "【anchor】 : punto de anclaje 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_fr_FR.json deleted file mode 100644 index 89464bb17..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 344, - "name": "NestedScrollViewViewport", - "localName": "Vue de défilement imbriquée", - "info": "Une vue utilisée dans NestedScrollView, qui détient un SliverOverlapAbsorberHandle et le notifie lorsque la vue a besoin de recalculer sa disposition. Par exemple, lors du défilement.", - "lever": 1, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à NestedScrollViewViewport", - "desc": [ - "【offset】 : *décalage 【ViewportOffset】", - "【handle】 : *gestionnaire 【SliverOverlapAbsorberHandle】", - "【axisDirection】 : direction de l'axe 【AxisDirection】", - "【crossAxisDirection】 : direction de l'axe croisé 【AxisDirection】", - "【slivers】 : composants enfants 【List】", - "【clipBehavior】 : comportement de découpage 【Clip】", - "【anchor】 : point d'ancrage 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_it_IT.json deleted file mode 100644 index 8aebc1641..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 344, - "name": "NestedScrollViewViewport", - "localName": "Vista scorrevole annidata", - "info": "Vista utilizzata in NestedScrollView, che detiene SliverOverlapAbsorberHandle e lo notifica quando la vista necessita di ricalcolare il layout. Ad esempio, quando viene scorsa.", - "lever": 1, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a NestedScrollViewViewport", - "desc": [ - "【offset】 : *offset 【ViewportOffset】", - "【handle】 : *gestore 【SliverOverlapAbsorberHandle】", - "【axisDirection】 : direzione dell'asse 【AxisDirection】", - "【crossAxisDirection】 : direzione dell'asse incrociato 【AxisDirection】", - "【slivers】 : componenti figli 【List】", - "【clipBehavior】 : comportamento di ritaglio 【Clip】", - "【anchor】 : punto di ancoraggio 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_ja_JP.json deleted file mode 100644 index 3d54dbd1c..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 344, - "name": "NestedScrollViewViewport", - "localName": "ネストされたスクロールビューポート", - "info": "NestedScrollView で使用されるビューポートで、このビューポートは SliverOverlapAbsorberHandle を保持し、ビューポートがレイアウトを再計算する必要があるときに通知します。例えば、スクロールするときなどです。", - "lever": 1, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NestedScrollViewViewport の紹介", - "desc": [ - "【offset】 : *オフセット 【ViewportOffset】", - "【handle】 : *ハンドル 【SliverOverlapAbsorberHandle】", - "【axisDirection】 : 軸方向 【AxisDirection】", - "【crossAxisDirection】 : 交差軸方向 【AxisDirection】", - "【slivers】 : 子コンポーネント 【List】", - "【clipBehavior】 : クリップ動作 【Clip】", - "【anchor】 : アンカー 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_ko_KR.json deleted file mode 100644 index 832a8215b..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 344, - "name": "NestedScrollViewViewport", - "localName": "중첩 스크롤 뷰포트", - "info": "NestedScrollView에서 사용되는 뷰포트로, 이 뷰포트는 SliverOverlapAbsorberHandle을 보유하고 있으며, 뷰포트가 레이아웃을 다시 계산해야 할 때 이를 알립니다. 예를 들어, 스크롤할 때.", - "lever": 1, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NestedScrollViewViewport 소개", - "desc": [ - "【offset】 : *오프셋 【ViewportOffset】", - "【handle】 : *핸들러 【SliverOverlapAbsorberHandle】", - "【axisDirection】 : 축 방향 【AxisDirection】", - "【crossAxisDirection】 : 교차 축 방향 【AxisDirection】", - "【slivers】 : 자식 위젯 【List】", - "【clipBehavior】 : 클립 동작 【Clip】", - "【anchor】 : 앵커 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_pt_PT.json deleted file mode 100644 index 972d73045..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 344, - "name": "NestedScrollViewViewport", - "localName": "Porto de Rolagem Aninhado", - "info": "Porto utilizado no NestedScrollView, que detém o SliverOverlapAbsorberHandle e notifica-o quando o porto precisa recalcular o layout. Por exemplo, quando é rolado.", - "lever": 1, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao NestedScrollViewViewport", - "desc": [ - "【offset】 : *deslocamento 【ViewportOffset】", - "【handle】 : *manipulador 【SliverOverlapAbsorberHandle】", - "【axisDirection】 : direção do eixo 【AxisDirection】", - "【crossAxisDirection】 : direção do eixo cruzado 【AxisDirection】", - "【slivers】 : componentes filhos 【List】", - "【clipBehavior】 : comportamento de corte 【Clip】", - "【anchor】 : âncora 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_ru_RU.json deleted file mode 100644 index c3d2ff600..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 344, - "name": "NestedScrollViewViewport", - "localName": "Вложенный скроллируемый вид", - "info": "Вид, используемый в NestedScrollView, который содержит SliverOverlapAbsorberHandle и уведомляет его, когда вид требует пересчета макета. Например, при его прокрутке.", - "lever": 1, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Описание NestedScrollViewViewport", - "desc": [ - "【offset】 : *смещение 【ViewportOffset】", - "【handle】 : *обработчик 【SliverOverlapAbsorberHandle】", - "【axisDirection】 : направление оси 【AxisDirection】", - "【crossAxisDirection】 : направление поперечной оси 【AxisDirection】", - "【slivers】 : дочерние компоненты 【List】", - "【clipBehavior】 : поведение обрезки 【Clip】", - "【anchor】 : якорь 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_zh-CN.json deleted file mode 100644 index ef14cc74a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 344, - "name": "NestedScrollViewViewport", - "localName": "嵌套滑动视口", - "info": "在 NestedScrollView 中使用的视口,该视口持有 SliverOverlapAbsorberHandle,会在视口需要重新计算布局时通知它。例如,当滚动它时。", - "lever": 1, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NestedScrollViewViewport 介绍", - "desc": [ - "【offset】 : *偏移 【ViewportOffset】", - "【handle】 : *处理器 【SliverOverlapAbsorberHandle】", - "【axisDirection】 : 轴向 【AxisDirection】", - "【crossAxisDirection】 : 交叉轴向 【AxisDirection】", - "【slivers】 : 子组件 【List】", - "【clipBehavior】 : 裁剪行为 【Clip】", - "【anchor】 : 锚点 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/node1_base.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/node1_base.dart deleted file mode 100644 index 5da8f860d..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/NestedScrollViewViewport/node1_base.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class NestedScrollViewViewportDemo extends StatelessWidget { - const NestedScrollViewViewportDemo({Key? key}) : super(key: key); - - final String info = - 'NestedScrollViewViewport 在源码中只有一处使用:' - '_NestedScrollViewCustomScrollView 继承自 CustomScrollView,复写了 buildViewport 方法,返回 NestedScrollViewViewport 。' - '而 NestedScrollView 构建时使用了 _NestedScrollViewCustomScrollView,也就是 NestedScrollView 的视口依赖于 NestedScrollViewViewport。' - 'NestedScrollViewViewport 的特点是持有 SliverOverlapAbsorberHandle 类对象 handle,源码中该 handle 在 NestedScrollViewState 中初始化。' - '可通过上下文获取,用于 SliverOverlapAbsorber/SliverOverlapInjector 组件,使用详见相关组件。'; - - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_de_DE.json deleted file mode 100644 index 2152ab6f9..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 101, - "name": "RichText", - "localName": "RichText", - "info": "Eine RichText-Komponente, die verschiedene Textstile oder verschiedene Komponenten aufnehmen kann und weit verbreitet ist.", - "lever": 5, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RichText", - "desc": [ - "【text】: Text 【TextSpan】", - " Andere Eigenschaften sind identisch mit Text, siehe dazu." - ] - }, - { - "file": "node2_widget.dart", - "name": "RichText enthält andere Komponenten", - "desc": [ - "Verwenden Sie WidgetSpan, um normale Komponenten zu tragen, als Inhalt von RichText" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_en_US.json deleted file mode 100644 index d8ed9ff92..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 101, - "name": "RichText", - "localName": "Rich Text", - "info": "A rich text component that can accommodate various text styles or various components, widely used.", - "lever": 5, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RichText", - "desc": [ - "【text】: text 【TextSpan】", - " Other properties are the same as Text, see it for details." - ] - }, - { - "file": "node2_widget.dart", - "name": "RichText Contains Other Components", - "desc": [ - "Use WidgetSpan to carry ordinary components as the content of RichText" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_es_ES.json deleted file mode 100644 index c0d3ccfd0..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 101, - "name": "RichText", - "localName": "Texto enriquecido", - "info": "Componente de texto enriquecido que puede contener varios estilos de texto o varios componentes, ampliamente utilizado.", - "lever": 5, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RichText", - "desc": [ - "【text】 : texto 【TextSpan】", - " Otras propiedades son las mismas que Text, consulte para más detalles." - ] - }, - { - "file": "node2_widget.dart", - "name": "RichText contiene otros componentes", - "desc": [ - "Usa WidgetSpan para contener componentes comunes como contenido de RichText" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_fr_FR.json deleted file mode 100644 index 7af0eae17..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 101, - "name": "RichText", - "localName": "Texte enrichi", - "info": "Un composant de texte enrichi qui peut contenir divers styles de texte ou divers composants, largement utilisé.", - "lever": 5, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RichText", - "desc": [ - "【text】 : texte 【TextSpan】", - " Les autres propriétés sont les mêmes que Text, voir pour plus de détails." - ] - }, - { - "file": "node2_widget.dart", - "name": "RichText contenant d'autres composants", - "desc": [ - "Utilisez WidgetSpan pour contenir des composants ordinaires, en tant que contenu de RichText" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_it_IT.json deleted file mode 100644 index ffcd03457..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 101, - "name": "RichText", - "localName": "Testo Arricchito", - "info": "Un componente di testo arricchito che può contenere vari stili di testo o vari componenti, ampiamente utilizzato.", - "lever": 5, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di RichText", - "desc": [ - "【text】: testo 【TextSpan】", - " Altre proprietà sono le stesse di Text, vedi dettagli." - ] - }, - { - "file": "node2_widget.dart", - "name": "RichText Contiene Altri Componenti", - "desc": [ - "Utilizza WidgetSpan per contenere componenti comuni, come contenuto di RichText" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_ja_JP.json deleted file mode 100644 index 813973ee1..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 101, - "name": "RichText", - "localName": "リッチテキスト", - "info": "さまざまなテキストスタイルやコンポーネントを包含できるリッチテキストコンポーネントで、広く使用されています。", - "lever": 5, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RichTextの基本的な使用", - "desc": [ - "【text】 : テキスト 【TextSpan】", - " 他のプロパティはTextと同じです。詳細はそちらを参照してください。" - ] - }, - { - "file": "node2_widget.dart", - "name": "RichTextに他のコンポーネントを含める", - "desc": [ - "WidgetSpanを使用して通常のコンポーネントをリッチテキストの内容として含める" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_ko_KR.json deleted file mode 100644 index 834b5ad3e..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 101, - "name": "RichText", - "localName": "리치 텍스트", - "info": "다양한 텍스트 스타일이나 다양한 컴포넌트를 포함할 수 있는 리치 텍스트 컴포넌트로, 널리 사용됩니다.", - "lever": 5, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RichText 기본 사용", - "desc": [ - "【text】 : 텍스트 【TextSpan】", - " 다른 속성은 Text와 동일하며, 자세한 내용은 해당 항목을 참조하세요." - ] - }, - { - "file": "node2_widget.dart", - "name": "RichText에 다른 컴포넌트 포함", - "desc": [ - "WidgetSpan을 사용하여 일반 컴포넌트를 포함하고, 이를 RichText의 내용으로 사용합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_pt_PT.json deleted file mode 100644 index 018135f9d..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 101, - "name": "RichText", - "localName": "Texto Rico", - "info": "Um componente de texto rico que pode acomodar vários estilos de texto ou vários componentes, amplamente utilizado.", - "lever": 5, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do RichText", - "desc": [ - "【text】 : texto 【TextSpan】", - " Outras propriedades são as mesmas que Text, consulte para mais detalhes." - ] - }, - { - "file": "node2_widget.dart", - "name": "RichText Contendo Outros Componentes", - "desc": [ - "Use WidgetSpan para suportar componentes comuns como conteúdo do RichText" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_ru_RU.json deleted file mode 100644 index f9f078362..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 101, - "name": "RichText", - "localName": "Форматированный текст", - "info": "Компонент форматированного текста, который может содержать различные стили текста или компоненты, широко применяется.", - "lever": 5, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RichText", - "desc": [ - "【text】 : текст 【TextSpan】", - " Другие свойства такие же, как у Text, подробнее см. там." - ] - }, - { - "file": "node2_widget.dart", - "name": "RichText содержит другие компоненты", - "desc": [ - "Используйте WidgetSpan для размещения обычных компонентов в качестве содержимого RichText" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_zh-CN.json deleted file mode 100644 index 6f1447ba2..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 101, - "name": "RichText", - "localName": "富文本", - "info": "可以容纳多种文字样式或各种组件的富文本组件,应用较为广泛。", - "lever": 5, - "family": 3, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RichText基本使用", - "desc": [ - "【text】 : 文字 【TextSpan】", - " 其他属性与Text相同,详见之。" - ] - }, - { - "file": "node2_widget.dart", - "name": "RichText包含其他组件", - "desc": [ - "使用WidgetSpan来承载普通组件,作为RichText的内容" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/node1_base.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/node1_base.dart deleted file mode 100644 index 7e24b821d..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/node1_base.dart +++ /dev/null @@ -1,38 +0,0 @@ -import 'package:flutter/material.dart'; - -import '../../utils/color_utils.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class CustomRichText extends StatelessWidget { - const CustomRichText({Key? key}) : super(key: key); - - final str = " 发光强度简称光强,国际单位是(坎德拉)简写cd。" - "1cd是指光源在指定方向的单位立体角内发出的光通量。" - "光源辐射是均匀时,则光强为I=F/Ω,Ω为立体角,单位为球面度(sr),F为光通量," - "单位是流明,对于点光源由I=F/4π 。光亮度是表示发光面明亮程度的," - "指发光表面在指定方向的发光强度与垂直且指定方向的发光面的面积之比," - "单位是坎德拉/平方米。对于一个漫散射面,尽管各个方向的光强和光通量不同," - "但各个方向的亮度都是相等的。电视机的荧光屏就是近似于这样的漫散射面," - "所以从各个方向上观看图像,都有相同的亮度感。"; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.only( - left: 10.0, - right: 10, - ), - child: RichText( - text: TextSpan( - children: str - .split("") - .map((str) => TextSpan( - text: str, - style: TextStyle( - fontSize: 14, color: ColorUtils.randomColor()))) - .toList())), - ); - } -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/node2_widget.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/node2_widget.dart deleted file mode 100644 index dc9c93200..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/RichText/node2_widget.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class RichTextWithWidget extends StatelessWidget { - const RichTextWithWidget({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return RichText( - text: TextSpan( - text: 'hello ', - style: const TextStyle(color: Colors.black, fontSize: 18), - children: [ - WidgetSpan( - child: Image.asset( - 'assets/images/icon_head.webp', - width: 30, - ), - alignment: PlaceholderAlignment.baseline, - baseline: TextBaseline.ideographic), - const TextSpan( - text: ' , welcome to ', - style: TextStyle(color: Colors.blue, fontSize: 18), - ), - const WidgetSpan( - child: FlutterLogo(), - alignment: PlaceholderAlignment.baseline, - baseline: TextBaseline.ideographic), - const TextSpan( - text: ' .\n', - ), - const TextSpan( - text: 'focus me on ', - style: TextStyle(color: Colors.orange, fontSize: 16), - ), - const TextSpan( - text: 'https://github.com/toly1994328', - style: TextStyle( - color: Colors.blue, - fontSize: 18, - decoration: TextDecoration.underline), - ), - const TextSpan( - text: ' .\n', - ), - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_de_DE.json deleted file mode 100644 index fbca374e1..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 95, - "name": "Row", - "localName": "Zeilenlayout", - "info": "Ein Flex-Layout mit horizontaler Ausrichtung, das mehrere Komponenten aufnehmen kann. Alle anderen Eigenschaften sind identisch, siehe Flex.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 96 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Row", - "desc": [ - "【children】: Komponentenliste 【List】", - "【mainAxisAlignment】: Hauptachsenausrichtung 【MainAxisAlignment】", - "【crossAxisAlignment】: Kreuzachsenausrichtung 【CrossAxisAlignment】", - "【textBaseline】: Textbaseline 【TextBaseline】", - "【verticalDirection】: Vertikale Richtung 【VerticalDirection】", - "【mainAxisSize】: Hauptachsengröße 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_en_US.json deleted file mode 100644 index 21e94e2ed..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 95, - "name": "Row", - "localName": "Row Layout", - "info": "A Flex layout with a horizontal arrangement direction that can accommodate multiple components. All other properties are the same, see Flex for details.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 96 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Row", - "desc": [ - "【children】: Component list 【List】", - "【mainAxisAlignment】: Main axis alignment 【MainAxisAlignment】", - "【crossAxisAlignment】: Cross axis alignment 【CrossAxisAlignment】", - "【textBaseline】: Text baseline 【TextBaseline】", - "【verticalDirection】: Vertical direction 【VerticalDirection】", - "【mainAxisSize】: Main axis size 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_es_ES.json deleted file mode 100644 index d52d04801..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 95, - "name": "Row", - "localName": "Disposición de fila", - "info": "Disposición Flex con dirección horizontal, puede contener múltiples componentes. Todas las demás propiedades son iguales, consulte Flex para más detalles.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 96 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Row", - "desc": [ - "【children】: Lista de componentes 【List】", - "【mainAxisAlignment】: Alineación del eje principal 【MainAxisAlignment】", - "【crossAxisAlignment】: Alineación del eje transversal 【CrossAxisAlignment】", - "【textBaseline】: Línea base del texto 【TextBaseline】", - "【verticalDirection】: Dirección vertical 【VerticalDirection】", - "【mainAxisSize】: Tamaño del eje principal 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_fr_FR.json deleted file mode 100644 index d663af768..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 95, - "name": "Row", - "localName": "Disposition en ligne", - "info": "Une disposition Flex avec une orientation horizontale, capable de contenir plusieurs composants. Toutes les autres propriétés sont identiques, voir Flex pour plus de détails.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 96 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Row", - "desc": [ - "【children】 : Liste des composants 【List】", - "【mainAxisAlignment】 : Alignement de l'axe principal 【MainAxisAlignment】", - "【crossAxisAlignment】 : Alignement de l'axe secondaire 【CrossAxisAlignment】", - "【textBaseline】 : Ligne de base du texte 【TextBaseline】", - "【verticalDirection】 : Direction verticale 【VerticalDirection】", - "【mainAxisSize】 : Taille de l'axe principal 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_it_IT.json deleted file mode 100644 index 1bcf1ed46..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 95, - "name": "Row", - "localName": "Layout a righe", - "info": "Layout Flex con direzione orizzontale, può contenere più componenti. Tutte le altre proprietà sono le stesse, vedi Flex per i dettagli.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 96 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Row", - "desc": [ - "【children】 : Lista di componenti 【List】", - "【mainAxisAlignment】 : Allineamento dell'asse principale 【MainAxisAlignment】", - "【crossAxisAlignment】 : Allineamento dell'asse trasversale 【CrossAxisAlignment】", - "【textBaseline】 : Linea di base del testo 【TextBaseline】", - "【verticalDirection】 : Direzione verticale 【VerticalDirection】", - "【mainAxisSize】 : Dimensione dell'asse principale 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_ja_JP.json deleted file mode 100644 index 4330b8874..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 95, - "name": "Row", - "localName": "行レイアウト", - "info": "レイアウト方向が横向きのFlexレイアウトで、複数のコンポーネントを収容できます。他の属性はすべて同じです。詳細はFlexを参照してください。", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 96 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Rowの基本使用", - "desc": [ - "【children】 : コンポーネントリスト 【List】", - "【mainAxisAlignment】 : 主軸の整列 【MainAxisAlignment】", - "【crossAxisAlignment】 : 交差軸の整列 【CrossAxisAlignment】", - "【textBaseline】 : テキストベースライン 【TextBaseline】", - "【verticalDirection】 : 垂直方向 【VerticalDirection】", - "【mainAxisSize】 : 主軸のサイズ 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_ko_KR.json deleted file mode 100644 index 6ee04586d..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 95, - "name": "Row", - "localName": "행 레이아웃", - "info": "배치 방향이 가로인 Flex 레이아웃으로, 여러 컴포넌트를 수용할 수 있습니다. 다른 속성은 모두 동일하며, 자세한 내용은 Flex를 참조하세요.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 96 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Row 기본 사용법", - "desc": [ - "【children】 : 컴포넌트 리스트 【List】", - "【mainAxisAlignment】 : 주축 정렬 【MainAxisAlignment】", - "【crossAxisAlignment】 : 교차축 정렬 【CrossAxisAlignment】", - "【textBaseline】 : 텍스트 기준선 【TextBaseline】", - "【verticalDirection】 : 수직 방향 【VerticalDirection】", - "【mainAxisSize】 : 주축 크기 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_pt_PT.json deleted file mode 100644 index 0dfd304b2..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 95, - "name": "Row", - "localName": "Layout de Linha", - "info": "Um layout Flex com direção de disposição horizontal, que pode acomodar vários componentes. Todas as outras propriedades são as mesmas, consulte Flex para mais detalhes.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 96 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Row", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【mainAxisAlignment】 : Alinhamento do eixo principal 【MainAxisAlignment】", - "【crossAxisAlignment】 : Alinhamento do eixo transversal 【CrossAxisAlignment】", - "【textBaseline】 : Linha de base do texto 【TextBaseline】", - "【verticalDirection】 : Direção vertical 【VerticalDirection】", - "【mainAxisSize】 : Tamanho do eixo principal 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_ru_RU.json deleted file mode 100644 index 5f557d635..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 95, - "name": "Row", - "localName": "Строка", - "info": "Горизонтальная компоновка Flex, которая может содержать несколько компонентов. Все остальные свойства такие же, как у Flex. Подробнее см. Flex.", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 96 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Row", - "desc": [ - "【children】: Список компонентов 【List】", - "【mainAxisAlignment】: Выравнивание по главной оси 【MainAxisAlignment】", - "【crossAxisAlignment】: Выравнивание по поперечной оси 【CrossAxisAlignment】", - "【textBaseline】: Базовая линия текста 【TextBaseline】", - "【verticalDirection】: Вертикальное направление 【VerticalDirection】", - "【mainAxisSize】: Размер главной оси 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_zh-CN.json deleted file mode 100644 index 0221c6a7b..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 95, - "name": "Row", - "localName": "行布局", - "info": "排布方向为横向的Flex布局,可容纳多个组件。其他属性全部一致,详见Flex。", - "lever": 4, - "family": 3, - "linkIds": [ - 94, - 96 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Row基本使用", - "desc": [ - "【children】 : 组件列表 【List】", - "【mainAxisAlignment】 : 主轴对齐 【MainAxisAlignment】", - "【crossAxisAlignment】 : 交叉轴对齐 【CrossAxisAlignment】", - "【textBaseline】 : 文字基线 【TextBaseline】", - "【verticalDirection】 : 竖直方向 【VerticalDirection】", - "【mainAxisSize】 : 主轴尺寸 【MainAxisSize】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/node1_base.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/node1_base.dart deleted file mode 100644 index dc090a771..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Row/node1_base.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - - -class CustomRow extends StatelessWidget { - const CustomRow({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - height: 70, - color: const Color(0x4484FFFF), - child: Row( - children: const [ - Padding( - child: Icon( - Icons.add_location, - size: 30, - color: Colors.pink, - ), - padding: EdgeInsets.only(left: 25, right: 20), - ), - Expanded( - child: Text( - "附近", - style: TextStyle(fontSize: 18), - ), - ), - Padding( - child: Icon(Icons.keyboard_arrow_right, color: Colors.black38), - padding: EdgeInsets.only(right: 25), - ), - ], - )); - } -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_de_DE.json deleted file mode 100644 index 2e5a4eec9..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 343, - "name": "ShrinkWrappingViewport", - "localName": "Schrumpfende Umhüllungsansicht", - "info": "Beziehung zur shrinkWrap-Eigenschaft von ScrollView. Die ShrinkWrappingViewport passt ihre Größe auf der Hauptachse an ihre untergeordneten Knoten an und wird verwendet, wenn keine Randbeschränkungen vorhanden sind.", - "lever": 1, - "family": 3, - "linkIds": [ - 349, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in NestedScrollViewViewport", - "desc": [ - "【offset】 : *Versatz 【ViewportOffset】", - "【axisDirection】 : Achsenrichtung 【AxisDirection】", - "【crossAxisDirection】 : Kreuzachsenrichtung 【AxisDirection】", - "【slivers】 : Untergeordnete Komponenten 【List】", - "【clipBehavior】 : Beschneidungsverhalten 【Clip】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_en_US.json deleted file mode 100644 index ca49de6b8..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 343, - "name": "ShrinkWrappingViewport", - "localName": "Shrink Wrap Viewport", - "info": "Related to the shrinkWrap property of ScrollView. ShrinkWrappingViewport adjusts its size on the main axis to fit its children, used when there are no boundary constraints.", - "lever": 1, - "family": 3, - "linkIds": [ - 349, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to NestedScrollViewViewport", - "desc": [ - "【offset】: *offset 【ViewportOffset】", - "【axisDirection】: Axis direction 【AxisDirection】", - "【crossAxisDirection】: Cross axis direction 【AxisDirection】", - "【slivers】: Child components 【List】", - "【clipBehavior】: Clip behavior 【Clip】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_es_ES.json deleted file mode 100644 index fae42a2a8..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 343, - "name": "ShrinkWrappingViewport", - "localName": "Vista de Envoltura Reducida", - "info": "Relación con la propiedad shrinkWrap de ScrollView. ShrinkWrappingViewport ajusta su tamaño en el eje principal para adaptarse a sus nodos hijos, utilizado en ausencia de restricciones de límites.", - "lever": 1, - "family": 3, - "linkIds": [ - 349, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a NestedScrollViewViewport", - "desc": [ - "【offset】 : *desplazamiento 【ViewportOffset】", - "【axisDirection】 : dirección del eje 【AxisDirection】", - "【crossAxisDirection】 : dirección del eje cruzado 【AxisDirection】", - "【slivers】 : componentes hijos 【List】", - "【clipBehavior】 : comportamiento de recorte 【Clip】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_fr_FR.json deleted file mode 100644 index 3e91e0aad..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 343, - "name": "ShrinkWrappingViewport", - "localName": "Vue enveloppante rétrécissante", - "info": "Lié à la propriété shrinkWrap de ScrollView. ShrinkWrappingViewport ajuste sa taille sur l'axe principal pour s'adapter à ses enfants, utilisé en l'absence de contraintes de limites.", - "lever": 1, - "family": 3, - "linkIds": [ - 349, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à NestedScrollViewViewport", - "desc": [ - "【offset】 : *décalage 【ViewportOffset】", - "【axisDirection】 : direction de l'axe 【AxisDirection】", - "【crossAxisDirection】 : direction de l'axe croisé 【AxisDirection】", - "【slivers】 : composants enfants 【List】", - "【clipBehavior】 : comportement de découpage 【Clip】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_it_IT.json deleted file mode 100644 index 51a691a68..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 343, - "name": "ShrinkWrappingViewport", - "localName": "Vista di avvolgimento a contrazione", - "info": "Relazione con la proprietà shrinkWrap di ScrollView. ShrinkWrappingViewport ridimensiona se stesso sull'asse principale per adattarsi ai suoi figli, utilizzato in assenza di vincoli di confine.", - "lever": 1, - "family": 3, - "linkIds": [ - 349, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a NestedScrollViewViewport", - "desc": [ - "【offset】 : *offset 【ViewportOffset】", - "【axisDirection】 : direzione dell'asse 【AxisDirection】", - "【crossAxisDirection】 : direzione dell'asse incrociato 【AxisDirection】", - "【slivers】 : componenti figli 【List】", - "【clipBehavior】 : comportamento di ritaglio 【Clip】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_ja_JP.json deleted file mode 100644 index a2ed4d80c..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 343, - "name": "ShrinkWrappingViewport", - "localName": "収縮ラッピングビューポート", - "info": "ScrollViewのshrinkWrap属性との関連性。ShrinkWrappingViewportは、主軸上で自身のサイズを子ノードに合わせて調整し、境界制約がない場合に使用されます。", - "lever": 1, - "family": 3, - "linkIds": [ - 349, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NestedScrollViewViewport 紹介", - "desc": [ - "【offset】 : *オフセット 【ViewportOffset】", - "【axisDirection】 : 軸方向 【AxisDirection】", - "【crossAxisDirection】 : 交差軸方向 【AxisDirection】", - "【slivers】 : 子コンポーネント 【List】", - "【clipBehavior】 : クリップ動作 【Clip】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_ko_KR.json deleted file mode 100644 index f5992c13b..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 343, - "name": "ShrinkWrappingViewport", - "localName": "축소 래핑 뷰포트", - "info": "ScrollView의 shrinkWrap 속성과의 관계. ShrinkWrappingViewport는 주축에서 자식 노드에 맞게 크기를 조정하며, 경계 제약이 없는 경우에 사용됩니다.", - "lever": 1, - "family": 3, - "linkIds": [ - 349, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NestedScrollViewViewport 소개", - "desc": [ - "【offset】 : *오프셋 【ViewportOffset】", - "【axisDirection】 : 축 방향 【AxisDirection】", - "【crossAxisDirection】 : 교차 축 방향 【AxisDirection】", - "【slivers】 : 자식 위젯 【List】", - "【clipBehavior】 : 클립 동작 【Clip】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_pt_PT.json deleted file mode 100644 index 6873fd27b..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 343, - "name": "ShrinkWrappingViewport", - "localName": "Vista de Envolvimento de Redução", - "info": "Associado à propriedade shrinkWrap do ScrollView. O ShrinkWrappingViewport ajusta o seu tamanho no eixo principal para se adaptar aos seus filhos, usado em casos sem restrições de limite.", - "lever": 1, - "family": 3, - "linkIds": [ - 349, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao NestedScrollViewViewport", - "desc": [ - "【offset】 : *deslocamento 【ViewportOffset】", - "【axisDirection】 : direção do eixo 【AxisDirection】", - "【crossAxisDirection】 : direção do eixo cruzado 【AxisDirection】", - "【slivers】 : componentes filhos 【List】", - "【clipBehavior】 : comportamento de corte 【Clip】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_ru_RU.json deleted file mode 100644 index 71edc861f..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 343, - "name": "ShrinkWrappingViewport", - "localName": "Сжимающаяся оболочка Viewport", - "info": "Связь с атрибутом shrinkWrap ScrollView. ShrinkWrappingViewport регулирует свой размер по основной оси, чтобы соответствовать своим дочерним элементам, используется при отсутствии ограничений.", - "lever": 1, - "family": 3, - "linkIds": [ - 349, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в NestedScrollViewViewport", - "desc": [ - "【offset】 : *смещение 【ViewportOffset】", - "【axisDirection】 : направление оси 【AxisDirection】", - "【crossAxisDirection】 : направление поперечной оси 【AxisDirection】", - "【slivers】 : дочерние компоненты 【List】", - "【clipBehavior】 : поведение обрезки 【Clip】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_zh-CN.json deleted file mode 100644 index 0939d13fc..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 343, - "name": "ShrinkWrappingViewport", - "localName": "收缩包围视图", - "info": "和 ScrollView 的 shrinkWrap 属性之间关联。ShrinkWrappingViewport 在主轴上调整自身的大小以适应它的子节点,在无边界约束的情况下使用。", - "lever": 1, - "family": 3, - "linkIds": [ - 349, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NestedScrollViewViewport 介绍", - "desc": [ - "【offset】 : *偏移 【ViewportOffset】", - "【axisDirection】 : 轴向 【AxisDirection】", - "【crossAxisDirection】 : 交叉轴向 【AxisDirection】", - "【slivers】 : 子组件 【List】", - "【clipBehavior】 : 裁剪行为 【Clip】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/node1_base.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/node1_base.dart deleted file mode 100644 index 152e603f4..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/ShrinkWrappingViewport/node1_base.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class ShrinkWrappingViewportDemo extends StatelessWidget { - - const ShrinkWrappingViewportDemo({Key? key}) : super(key: key); - - final String info = - 'ShrinkWrappingViewport 在源码中只有一处使用:' - '在 ScrollView 中如果 shrinkWrap 为 true,会使用 ShrinkWrappingViewport,该属性在其子类 ListView、GridView、CustomScrollView 中可指定。' - '如果 shrinkWrap 为 false,视口会使用 Viewport,此时,视图区域将会沿滑动方向尽可能延伸。在无边界约束的情况下,shrinkWrap 需要是 true。' - '另外 ShrinkWrappingViewport 使用比较昂贵,因为滑动时需要重新计算滑动视图的尺寸。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_de_DE.json deleted file mode 100644 index 916acaba9..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_de_DE.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 97, - "name": "Stack", - "localName": "Stapellayout", - "info": "Kann mehrere Komponenten aufnehmen, Unterkomponenten werden gestapelt platziert, wobei die letzte oben liegt. Verfügt über eine alignment-Eigenschaft, die in Kombination mit der Positioned-Komponente verwendet werden kann, um eine präzise Positionierung zu erreichen.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95, - 161 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Stack", - "desc": [ - "【children】: Komponentenliste 【List】", - "【textDirection】: Ausrichtung der Kinder 【MainAxisAlignment】", - "【alignment】: Ausrichtungsmethode 【AlignmentGeometry】", - "【overflow】: Überlaufmodus 【Overflow】", - "【fit】: Anpassungsmodus 【StackFit】" - ] - }, - { - "file": "node2_positioned.dart", - "name": "Kombinierte Verwendung von Stack und Positioned", - "desc": [ - "Die Positioned-Komponente kann nur innerhalb eines Stacks verwendet werden und ermöglicht die präzise Platzierung einer Komponente durch Angabe der Abstände von oben, links, rechts und unten." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_en_US.json deleted file mode 100644 index 27bd446e2..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_en_US.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 97, - "name": "Stack", - "localName": "Stack Layout", - "info": "Can accommodate multiple components, arranging child components in a stacked manner, with the latter on top. Has the alignment property, which can be used in conjunction with the Positioned component for precise positioning.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95, - 161 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Stack", - "desc": [ - "【children】: Component list 【List】", - "【textDirection】: Child arrangement direction 【MainAxisAlignment】", - "【alignment】: Alignment method 【AlignmentGeometry】", - "【overflow】: Overflow mode 【Overflow】", - "【fit】: Fit mode 【StackFit】" - ] - }, - { - "file": "node2_positioned.dart", - "name": "Combined Usage of Stack and Positioned", - "desc": [ - "The Positioned component can only be used within a Stack, allowing precise placement of a component by specifying distances from the top, left, right, and bottom." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_es_ES.json deleted file mode 100644 index d3df90938..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_es_ES.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 97, - "name": "Stack", - "localName": "Diseño apilado", - "info": "Puede contener múltiples componentes, colocando los componentes hijos de manera apilada, el último encima. Tiene la propiedad de alineación, que se puede usar junto con el componente Positioned para un posicionamiento preciso.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95, - 161 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Stack", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【textDirection】 : Dirección de disposición de los hijos 【MainAxisAlignment】", - "【alignment】 : Modo de alineación 【AlignmentGeometry】", - "【overflow】 : Modo de desbordamiento 【Overflow】", - "【fit】 : Modo de ajuste 【StackFit】" - ] - }, - { - "file": "node2_positioned.dart", - "name": "Uso combinado de Stack y Positioned", - "desc": [ - "El componente Positioned solo se puede usar en Stack, y se puede especificar la distancia desde la parte superior, izquierda, derecha e inferior para colocar un componente con precisión." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_fr_FR.json deleted file mode 100644 index 90c39694b..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_fr_FR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 97, - "name": "Stack", - "localName": "Disposition en pile", - "info": "Peut contenir plusieurs composants, disposant les composants enfants de manière empilée, le dernier étant au-dessus. Possède une propriété d'alignement, pouvant être utilisée conjointement avec le composant Positioned pour un positionnement précis.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95, - 161 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Stack", - "desc": [ - "【children】 : Liste des composants 【List】", - "【textDirection】 : Direction de disposition des enfants 【MainAxisAlignment】", - "【alignment】 : Mode d'alignement 【AlignmentGeometry】", - "【overflow】 : Mode de débordement 【Overflow】", - "【fit】 : Mode d'adaptation 【StackFit】" - ] - }, - { - "file": "node2_positioned.dart", - "name": "Utilisation combinée de Stack et Positioned", - "desc": [ - "Le composant Positioned ne peut être utilisé qu'avec Stack, permettant de positionner précisément un composant en spécifiant les distances en haut, bas, gauche et droite." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_it_IT.json deleted file mode 100644 index 06457d8f9..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_it_IT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 97, - "name": "Stack", - "localName": "Layout a Pila", - "info": "Può contenere più componenti, disposti in modo sovrapposto, con il successivo sopra il precedente. Possiede la proprietà alignment, che può essere utilizzata in combinazione con il componente Positioned per un posizionamento preciso.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95, - 161 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di Stack", - "desc": [ - "【children】: Lista di componenti 【List】", - "【textDirection】: Direzione di disposizione dei figli 【MainAxisAlignment】", - "【alignment】: Modalità di allineamento 【AlignmentGeometry】", - "【overflow】: Modalità di overflow 【Overflow】", - "【fit】: Modalità di adattamento 【StackFit】" - ] - }, - { - "file": "node2_positioned.dart", - "name": "Uso Combinato di Stack e Positioned", - "desc": [ - "Il componente Positioned può essere utilizzato solo con Stack, consentendo di specificare le distanze da sinistra, alto, destra e basso per posizionare con precisione un componente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_ja_JP.json deleted file mode 100644 index f9d786559..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_ja_JP.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 97, - "name": "Stack", - "localName": "スタックレイアウト", - "info": "複数のコンポーネントを収容でき、子コンポーネントをスタック方式で配置し、後者が上に来ます。alignment属性を持ち、Positionedコンポーネントと組み合わせて使用することで、正確な位置指定が可能です。", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95, - 161 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Stackの基本的な使用", - "desc": [ - "【children】 : コンポーネントリスト 【List】", - "【textDirection】 : 子要素の配置方向 【MainAxisAlignment】", - "【alignment】 : 配置方法 【AlignmentGeometry】", - "【overflow】 : オーバーフローモード 【Overflow】", - "【fit】 : フィットモード 【StackFit】" - ] - }, - { - "file": "node2_positioned.dart", - "name": "StackとPositionedの組み合わせ使用", - "desc": [ - "PositionedコンポーネントはStack内でのみ使用でき、左上右下の距離を指定して特定のコンポーネントを正確に配置できます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_ko_KR.json deleted file mode 100644 index a8299959c..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_ko_KR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 97, - "name": "Stack", - "localName": "스택 레이아웃", - "info": "여러 컴포넌트를 수용할 수 있으며, 자식 컴포넌트를 겹쳐서 배치합니다. 후자가 위에 위치합니다. alignment 속성을 가지고 있으며, Positioned 컴포넌트와 함께 사용하여 정확한 위치를 지정할 수 있습니다.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95, - 161 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Stack 기본 사용법", - "desc": [ - "【children】 : 컴포넌트 리스트 【List】", - "【textDirection】 : 자식 배치 방향 【MainAxisAlignment】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】", - "【overflow】 : 오버플로우 모드 【Overflow】", - "【fit】 : 적응 모드 【StackFit】" - ] - }, - { - "file": "node2_positioned.dart", - "name": "Stack과 Positioned 함께 사용", - "desc": [ - "Positioned 컴포넌트는 Stack에서만 사용할 수 있으며, 특정 컴포넌트의 위치를 정확히 배치하기 위해 상하좌우 거리를 지정할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_pt_PT.json deleted file mode 100644 index c06bc8b58..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_pt_PT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 97, - "name": "Stack", - "localName": "Layout Empilhado", - "info": "Pode acomodar vários componentes, dispondo os subcomponentes de forma empilhada, com o último ficando por cima. Possui a propriedade alignment, que pode ser usada em conjunto com o componente Positioned para um posicionamento preciso.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95, - 161 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Stack", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【textDirection】 : Direção de disposição dos filhos 【MainAxisAlignment】", - "【alignment】 : Modo de alinhamento 【AlignmentGeometry】", - "【overflow】 : Modo de overflow 【Overflow】", - "【fit】 : Modo de ajuste 【StackFit】" - ] - }, - { - "file": "node2_positioned.dart", - "name": "Uso Combinado do Stack e Positioned", - "desc": [ - "O componente Positioned só pode ser usado dentro de um Stack, permitindo especificar as distâncias de topo, esquerda, direita e inferior para posicionar um componente com precisão." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_ru_RU.json deleted file mode 100644 index 9edd87b3c..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_ru_RU.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 97, - "name": "Stack", - "localName": "Стек", - "info": "Может содержать несколько компонентов, располагая дочерние компоненты в стеке, последний сверху. Имеет свойство alignment, которое можно использовать вместе с компонентом Positioned для точного позиционирования.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95, - 161 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Stack", - "desc": [ - "【children】: Список компонентов 【List】", - "【textDirection】: Направление расположения детей 【MainAxisAlignment】", - "【alignment】: Способ выравнивания 【AlignmentGeometry】", - "【overflow】: Режим переполнения 【Overflow】", - "【fit】: Режим адаптации 【StackFit】" - ] - }, - { - "file": "node2_positioned.dart", - "name": "Использование Stack и Positioned вместе", - "desc": [ - "Компонент Positioned может использоваться только в Stack, позволяя точно размещать компонент, задавая расстояния сверху, слева, справа и снизу." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_zh-CN.json deleted file mode 100644 index db057f07b..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/desc_zh-CN.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 97, - "name": "Stack", - "localName": "堆叠布局", - "info": "可容纳多个组件,以堆叠的方式摆放子组件,后者居上。拥有alignment属性,可与Positioned组件联合使用,精确定位。", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95, - 161 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Stack基本使用", - "desc": [ - "【children】 : 组件列表 【List】", - "【textDirection】 : 孩子排布方向 【MainAxisAlignment】", - "【alignment】 : 对齐方式 【AlignmentGeometry】", - "【overflow】 : 溢出模式 【Overflow】", - "【fit】 : 适应模式 【StackFit】" - ] - }, - { - "file": "node2_positioned.dart", - "name": "Stack和Positioned结合使用", - "desc": [ - "Positioned组件只能用与Stack中,可以指定左上右下的距离对某个组件进行位置精确安放。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/node1_base.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/node1_base.dart deleted file mode 100644 index 8304e3090..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/node1_base.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class CustomStack extends StatelessWidget { - const CustomStack({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Widget yellowBox = Container( - color: Colors.yellow, - height: 100, - width: 100, - ); - - Widget redBox = Container( - color: Colors.red, - height: 90, - width: 90, - ); - - Widget greenBox = Container( - color: Colors.green, - height: 80, - width: 80, - ); - - Widget cyanBox = Container( - color: Colors.cyanAccent, - height: 70, - width: 70, - ); - - return Container( - width: 200, - height: 120, - color: Colors.grey.withAlpha(33), - child: Stack( - textDirection: TextDirection.rtl, - fit: StackFit.loose, - alignment: Alignment.topRight, - // overflow: Overflow.clip, // 1.22.0 被去除 - children: [yellowBox, redBox, greenBox, cyanBox], - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/node2_positioned.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/node2_positioned.dart deleted file mode 100644 index 6ed8b5f0a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Stack/node2_positioned.dart +++ /dev/null @@ -1,48 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class PositionedStack extends StatelessWidget { - const PositionedStack({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Widget yellowBox = Container( - color: Colors.yellow, - height: 100, - width: 100, - ); - - Widget redBox = Container( - color: Colors.red, - height: 90, - width: 90, - ); - - Widget greenBox = Container( - color: Colors.green, - height: 80, - width: 80, - ); - - Widget cyanBox = Container( - color: Colors.cyanAccent, - height: 70, - width: 70, - ); - - return Container( - width: 200, - height: 120, - color: Colors.grey.withAlpha(33), - child: Stack( - children: [yellowBox, redBox, greenBox, - Positioned( - child: cyanBox, - bottom: 10, - right: 10, - ) - ], - )); - } -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_de_DE.json deleted file mode 100644 index eda5bea82..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 340, - "name": "Viewport", - "localName": "Ansichtsfenster-Komponente", - "info": "Wird normalerweise verwendet, um ein Ansichtsfenster für eine Scroll-Ansicht bereitzustellen, wobei nur die angezeigten und vorab geladenen Teile erstellt werden. Es kann die Länge des Vorladens, die Scroll-Achse usw. angegeben werden. Es ist eine der Kernimplementationskomponenten von ScrollView und wird im Allgemeinen nicht direkt verwendet.", - "lever": 1, - "family": 3, - "linkIds": [ - 253, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Viewport", - "desc": [ - "【offset】: *Ansichtsfenster-Verschiebung 【ViewportOffset】", - "【cacheExtentStyle】: Vorladetyp 【CacheExtentStyle】", - "【cacheExtent】: Vorlademenge 【double】", - "【axisDirection】: Scrollrichtung 【AxisDirection】", - "【slivers】: Untergeordnete Sliver-Komponentensammlung 【List】", - "【anchor】: Ankerpunkt 【double】", - "Sie können diesen Code ausführen, um den Aufbau von ColorItem zu überprüfen, 128 Farbbalken werden nicht alle auf einmal erstellt." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_en_US.json deleted file mode 100644 index 4fa1c0a58..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 340, - "name": "Viewport", - "localName": "Viewport Component", - "info": "Typically used to provide a viewport for a scrolling view, only building the displayed and preloaded parts. The preload length, scrolling axis, etc., can be specified. It is one of the core implementation components of ScrollView and is generally not used directly.", - "lever": 1, - "family": 3, - "linkIds": [ - 253, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Viewport", - "desc": [ - "【offset】: *Viewport offset 【ViewportOffset】", - "【cacheExtentStyle】: Preload type 【CacheExtentStyle】", - "【cacheExtent】: Preload amount 【double】", - "【axisDirection】: Scrolling direction 【AxisDirection】", - "【slivers】: Child Sliver component set 【List】", - "【anchor】: Anchor point 【double】", - "You can run this code to see how the ColorItem is constructed, the 128 color bars are not all constructed at once." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_es_ES.json deleted file mode 100644 index d10d5ef93..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 340, - "name": "Viewport", - "localName": "Componente de ventana gráfica", - "info": "Normalmente se utiliza para proporcionar una ventana gráfica a las vistas deslizantes, construyendo solo las partes visibles y precargadas. Se puede especificar la longitud de precarga, la dirección de deslizamiento, etc. Es uno de los componentes centrales de la implementación de ScrollView y generalmente no se utiliza directamente.", - "lever": 1, - "family": 3, - "linkIds": [ - 253, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Viewport", - "desc": [ - "【offset】: *Desplazamiento de la ventana gráfica 【ViewportOffset】", - "【cacheExtentStyle】: Tipo de precarga 【CacheExtentStyle】", - "【cacheExtent】: Cantidad de precarga 【double】", - "【axisDirection】: Dirección de deslizamiento 【AxisDirection】", - "【slivers】: Conjunto de componentes Sliver hijos 【List】", - "【anchor】: Punto de anclaje 【double】", - "Puedes ejecutar este código para ver cómo se construye ColorItem, las 128 barras de color no se construyen todas a la vez." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_fr_FR.json deleted file mode 100644 index b78da72e4..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 340, - "name": "Viewport", - "localName": "Composant de fenêtre", - "info": "Généralement utilisé pour fournir une fenêtre à une vue défilante, ne construit que les parties affichées et préchargées. Peut spécifier la longueur de préchargement, l'axe de défilement, etc. Est l'un des composants de base de l'implémentation de ScrollView, généralement non utilisé directement.", - "lever": 1, - "family": 3, - "linkIds": [ - 253, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Viewport", - "desc": [ - "【offset】 : *Décalage de la fenêtre 【ViewportOffset】", - "【cacheExtentStyle】: Type de préchargement 【CacheExtentStyle】", - "【cacheExtent】: Quantité de préchargement 【double】", - "【axisDirection】: Direction de défilement 【AxisDirection】", - "【slivers】: Ensemble de composants Sliver enfants 【List】", - "【anchor】: Point d'ancrage 【double】", - "Vous pouvez exécuter ce code pour voir la construction de ColorItem, les 128 barres de couleur ne sont pas toutes construites en une seule fois." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_it_IT.json deleted file mode 100644 index 71dd37f34..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 340, - "name": "Viewport", - "localName": "Componente Viewport", - "info": "Utilizzato solitamente per fornire una finestra di visualizzazione per le viste scorrevoli, costruendo solo le parti visibili e precaricate. È possibile specificare la lunghezza del precaricamento, l'asse di scorrimento, ecc. È uno dei componenti di implementazione centrale di ScrollView e generalmente non viene utilizzato direttamente.", - "lever": 1, - "family": 3, - "linkIds": [ - 253, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Viewport", - "desc": [ - "【offset】 : *Offset della finestra di visualizzazione 【ViewportOffset】", - "【cacheExtentStyle】: Tipo di precaricamento 【CacheExtentStyle】", - "【cacheExtent】: Quantità di precaricamento 【double】", - "【axisDirection】: Direzione di scorrimento 【AxisDirection】", - "【slivers】: Insieme di componenti Sliver figli 【List】", - "【anchor】: Punto di ancoraggio 【double】", - "Puoi eseguire questi codici per vedere come viene costruito ColorItem, i 128 barre di colore non vengono costruiti tutti in una volta." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_ja_JP.json deleted file mode 100644 index 99b72394a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 340, - "name": "Viewport", - "localName": "ビューポートコンポーネント", - "info": "通常、スライドビューのビューポートを提供するために使用され、表示およびプリロードされる部分のみを構築します。プリロードの長さ、スライド軸などを指定できます。ScrollViewのコア実装コンポーネントの1つであり、通常は直接使用しません。", - "lever": 1, - "family": 3, - "linkIds": [ - 253, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Viewportの基本的な使用法", - "desc": [ - "【offset】 : *ビューポートオフセット 【ViewportOffset】", - "【cacheExtentStyle】: プリロードタイプ 【CacheExtentStyle】", - "【cacheExtent】: プリロード量 【double】", - "【axisDirection】: スライド方向 【AxisDirection】", - "【slivers】: 子Sliverコンポーネントセット 【List】", - "【anchor】: アンカー 【double】", - "これらのコードを実行して、ColorItemの構築状況を確認できます。128のカラーバーは一度にすべて構築されません。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_ko_KR.json deleted file mode 100644 index d480441a7..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 340, - "name": "Viewport", - "localName": "뷰포트 컴포넌트", - "info": "일반적으로 스크롤 뷰에 뷰포트를 제공하기 위해 사용되며, 표시 및 미리 로드할 부분만 구성합니다. 미리 로드할 길이, 스크롤 방향 등을 지정할 수 있습니다. ScrollView의 핵심 구현 컴포넌트 중 하나로, 일반적으로 직접 사용하지 않습니다.", - "lever": 1, - "family": 3, - "linkIds": [ - 253, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Viewport의 기본 사용", - "desc": [ - "【offset】 : *뷰포트 오프셋 【ViewportOffset】", - "【cacheExtentStyle】: 미리 로드 유형 【CacheExtentStyle】", - "【cacheExtent】: 미리 로드량 【double】", - "【axisDirection】: 스크롤 방향 【AxisDirection】", - "【slivers】: 하위 Sliver 컴포넌트 집합 【List】", - "【anchor】: 앵커 【double】", - "이 코드를 실행하여 ColorItem의 구성을 확인할 수 있으며, 128개의 색상 바가 한 번에 모두 구성되지는 않습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_pt_PT.json deleted file mode 100644 index 6ba04fed5..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 340, - "name": "Viewport", - "localName": "Componente de Viewport", - "info": "Normalmente usado para fornecer uma viewport para uma vista deslizante, construindo apenas as partes exibidas e pré-carregadas. Pode especificar o comprimento do pré-carregamento, o eixo de deslizamento, etc. É um dos componentes principais de implementação do ScrollView, geralmente não é usado diretamente.", - "lever": 1, - "family": 3, - "linkIds": [ - 253, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Viewport", - "desc": [ - "【offset】 : *Deslocamento da viewport 【ViewportOffset】", - "【cacheExtentStyle】: Tipo de pré-carregamento 【CacheExtentStyle】", - "【cacheExtent】: Quantidade de pré-carregamento 【double】", - "【axisDirection】: Direção de deslizamento 【AxisDirection】", - "【slivers】: Conjunto de componentes Sliver filhos 【List】", - "【anchor】: Ponto de ancoragem 【double】", - "Pode executar este código para verificar a construção do ColorItem, as 128 barras de cores não são construídas todas de uma vez." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_ru_RU.json deleted file mode 100644 index 189f1014a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 340, - "name": "Viewport", - "localName": "Компонент Viewport", - "info": "Обычно используется для предоставления области просмотра для прокручиваемого вида, строя только отображаемые и предварительно загружаемые части. Можно указать длину предварительной загрузки, направление прокрутки и т.д. Это один из основных компонентов реализации ScrollView, обычно не используется напрямую.", - "lever": 1, - "family": 3, - "linkIds": [ - 253, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Viewport", - "desc": [ - "【offset】: *Смещение области просмотра 【ViewportOffset】", - "【cacheExtentStyle】: Тип предварительной загрузки 【CacheExtentStyle】", - "【cacheExtent】: Объем предварительной загрузки 【double】", - "【axisDirection】: Направление прокрутки 【AxisDirection】", - "【slivers】: Набор дочерних компонентов Sliver 【List】", - "【anchor】: Точка привязки 【double】", - "Можно запустить этот код, чтобы увидеть, как строится ColorItem, 128 цветных полос не строятся все сразу." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_zh-CN.json deleted file mode 100644 index 1837dac22..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 340, - "name": "Viewport", - "localName": "视口组件", - "info": "通常用于为滑动视图提供视口,仅构建显示和预加载的部位。可指定预加载的长度、滑动轴向等。是ScrollView的核心实现组件之一,一般不直接使用。", - "lever": 1, - "family": 3, - "linkIds": [ - 253, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Viewport的基本使用", - "desc": [ - "【offset】 : *视口偏移量 【ViewportOffset】", - "【cacheExtentStyle】: 预加载类型 【CacheExtentStyle】", - "【cacheExtent】: 预加载量 【double】", - "【axisDirection】: 滑动方向 【AxisDirection】", - "【slivers】: 子Sliver组件集 【List】", - "【anchor】: 锚点 【double】", - "可以运行这些代码,查看ColorItem的构建情况,128个色条并非一次性全部构建。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/node1_base.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/node1_base.dart deleted file mode 100644 index 6895cf2f4..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Viewport/node1_base.dart +++ /dev/null @@ -1,79 +0,0 @@ -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; - -/// create by 张风捷特烈 on 2020/8/2 -/// contact me by email 1981462002@qq.com - - -class ViewportDemo extends StatelessWidget { - const ViewportDemo({super.key}); - - List get data => List.generate(128, (i) => Color(0xFF6600FF - 2 * i)); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 250, - child: Scrollable( - axisDirection: AxisDirection.down, - physics: const BouncingScrollPhysics(), - dragStartBehavior: DragStartBehavior.start, - viewportBuilder: (ctx, position) => Viewport( - axisDirection: AxisDirection.down, - cacheExtent: 200, - anchor: 0, - cacheExtentStyle: CacheExtentStyle.pixel, - offset: position, - slivers: [_buildSliverList()], - ), - ), - ); - } - - Widget _buildSliverList() => SliverList( - delegate: SliverChildBuilderDelegate( - (_, int index) =>ColorItem(color: data[index],), - childCount: data.length), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} - -class ColorItem extends StatefulWidget { - final Color color; - - const ColorItem({Key? key, required this.color}) : super(key: key); - - @override - _ColorItemState createState() => _ColorItemState(); -} - -class _ColorItemState extends State { - - @override - void initState() { - super.initState(); - print('-----initState----${colorString(widget.color)}-----------'); - } - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.only(top: 1), - alignment: Alignment.center, - width: 100, - height: 60, - color: widget.color, - child: Text( - colorString(widget.color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ]), - ), - ); - } - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_de_DE.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_de_DE.json deleted file mode 100644 index 1fa4ebc30..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_de_DE.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 98, - "name": "Wrap", - "localName": "Wrap-Layout", - "info": "Kann mehrere Komponenten aufnehmen und sie in einer bestimmten Richtung anordnen. Es kann den Abstand zwischen den Kindern leicht verarbeiten und automatisch umbrechen, wenn die Grenze überschritten wird. Es hat Ausrichtungsmethoden für die Haupt- und Querachse und ist relativ flexibel.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Wrap", - "desc": [ - "【children】 : Komponentenliste 【List】", - "【spacing】 : Abstand zwischen den Einträgen auf der Hauptachse 【double】", - "【runSpacing】 : Abstand zwischen den Einträgen auf der Querachse 【double】", - "【direction】 : Ausrichtung der Hauptachse 【Axis】" - ] - }, - { - "file": "node2_alignment.dart", - "name": "Alignment-Eigenschaft von Wrap", - "desc": [ - "【alignment】 : Ausrichtung der Hauptachse 【WrapAlignment】" - ] - }, - { - "file": "node3_crossAxisAlignment.dart", - "name": "CrossAxisAlignment-Eigenschaft von Wrap", - "desc": [ - "【crossAxisAlignment】 : Ausrichtung der Querachse 【CrossAxisAlignment】" - ] - }, - { - "file": "node4_textDirection.dart", - "name": "TextDirection-Eigenschaft von Wrap", - "desc": [ - "【textDirection】 : Textrichtung 【TextDirection】" - ] - }, - { - "file": "node5_verticalDirection.dart", - "name": "VerticalDirection-Eigenschaft von Wrap", - "desc": [ - "【verticalDirection】 : Vertikale Richtung 【VerticalDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_en_US.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_en_US.json deleted file mode 100644 index 65132c6bf..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_en_US.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 98, - "name": "Wrap", - "localName": "Wrap Layout", - "info": "Can accommodate multiple components, arranged in a specified direction, and can easily handle the spacing between children. It can automatically wrap when out of bounds. It has flexible alignment methods for the main axis and cross axis.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Wrap", - "desc": [ - "【children】: Component list 【List】", - "【spacing】: Main axis spacing between items 【double】", - "【runSpacing】: Cross axis spacing between items 【double】", - "【direction】: Main axis alignment 【Axis】" - ] - }, - { - "file": "node2_alignment.dart", - "name": "Wrap's alignment Property", - "desc": [ - "【alignment】: Main axis alignment 【WrapAlignment】" - ] - }, - { - "file": "node3_crossAxisAlignment.dart", - "name": "Wrap's crossAxisAlignment Property", - "desc": [ - "【crossAxisAlignment】: Cross axis alignment 【CrossAxisAlignment】" - ] - }, - { - "file": "node4_textDirection.dart", - "name": "Wrap's textDirection Property", - "desc": [ - "【textDirection】: Text direction 【TextDirection】" - ] - }, - { - "file": "node5_verticalDirection.dart", - "name": "Wrap's verticalDirection Property", - "desc": [ - "【verticalDirection】: Vertical direction 【VerticalDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_es_ES.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_es_ES.json deleted file mode 100644 index ab8d1052a..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_es_ES.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 98, - "name": "Wrap", - "localName": "Disposición de envoltura", - "info": "Puede contener múltiples componentes, que se organizan en la dirección especificada, y puede manejar fácilmente el espaciado entre los hijos. Cuando se excede el límite, puede envolver automáticamente. Tiene métodos de alineación en el eje principal y el eje cruzado, lo que lo hace bastante flexible.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Wrap", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【spacing】 : Espaciado entre elementos en el eje principal 【double】", - "【runSpacing】 : Espaciado entre elementos en el eje cruzado 【double】", - "【direction】 : Alineación del eje principal 【Axis】" - ] - }, - { - "file": "node2_alignment.dart", - "name": "Propiedad alignment de Wrap", - "desc": [ - "【alignment】 : Alineación del eje principal 【WrapAlignment】" - ] - }, - { - "file": "node3_crossAxisAlignment.dart", - "name": "Propiedad crossAxisAlignment de Wrap", - "desc": [ - "【crossAxisAlignment】 : Alineación del eje cruzado 【CrossAxisAlignment】" - ] - }, - { - "file": "node4_textDirection.dart", - "name": "Propiedad textDirection de Wrap", - "desc": [ - "【textDirection】 : Dirección del texto 【TextDirection】" - ] - }, - { - "file": "node5_verticalDirection.dart", - "name": "Propiedad verticalDirection de Wrap", - "desc": [ - "【verticalDirection】 : Dirección vertical 【VerticalDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_fr_FR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_fr_FR.json deleted file mode 100644 index 7b96706f5..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_fr_FR.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 98, - "name": "Wrap", - "localName": "Disposition enveloppante", - "info": "Peut contenir plusieurs composants, disposés séquentiellement dans une direction spécifiée, peut facilement gérer l'espacement des enfants, et peut automatiquement passer à la ligne suivante en cas de débordement. Possède des méthodes d'alignement pour l'axe principal et l'axe transversal, offrant une grande flexibilité.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Wrap", - "desc": [ - "【children】 : Liste des composants 【List】", - "【spacing】 : Espacement des éléments sur l'axe principal 【double】", - "【runSpacing】 : Espacement des éléments sur l'axe transversal 【double】", - "【direction】 : Alignement de l'axe principal 【Axis】" - ] - }, - { - "file": "node2_alignment.dart", - "name": "Propriété alignment de Wrap", - "desc": [ - "【alignment】 : Alignement de l'axe principal 【WrapAlignment】" - ] - }, - { - "file": "node3_crossAxisAlignment.dart", - "name": "Propriété crossAxisAlignment de Wrap", - "desc": [ - "【crossAxisAlignment】 : Alignement de l'axe transversal 【CrossAxisAlignment】" - ] - }, - { - "file": "node4_textDirection.dart", - "name": "Propriété textDirection de Wrap", - "desc": [ - "【textDirection】 : Direction du texte 【TextDirection】" - ] - }, - { - "file": "node5_verticalDirection.dart", - "name": "Propriété verticalDirection de Wrap", - "desc": [ - "【verticalDirection】 : Direction verticale 【VerticalDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_it_IT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_it_IT.json deleted file mode 100644 index d33ff5f45..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_it_IT.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 98, - "name": "Wrap", - "localName": "Layout a pacchetto", - "info": "Può contenere più componenti, disposti in sequenza secondo la direzione specificata, può gestire facilmente la spaziatura tra i figli e può andare a capo automaticamente quando si superano i limiti. Ha modalità di allineamento per l'asse principale e l'asse trasversale, è abbastanza flessibile.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Wrap", - "desc": [ - "【children】 : Lista dei componenti 【List】", - "【spacing】 : Spaziatura degli elementi sull'asse principale 【double】", - "【runSpacing】 : Spaziatura degli elementi sull'asse trasversale 【double】", - "【direction】 : Allineamento dell'asse principale 【Axis】" - ] - }, - { - "file": "node2_alignment.dart", - "name": "Proprietà alignment di Wrap", - "desc": [ - "【alignment】 : Allineamento dell'asse principale 【WrapAlignment】" - ] - }, - { - "file": "node3_crossAxisAlignment.dart", - "name": "Proprietà crossAxisAlignment di Wrap", - "desc": [ - "【crossAxisAlignment】 : Allineamento dell'asse trasversale 【CrossAxisAlignment】" - ] - }, - { - "file": "node4_textDirection.dart", - "name": "Proprietà textDirection di Wrap", - "desc": [ - "【textDirection】 : Direzione del testo 【TextDirection】" - ] - }, - { - "file": "node5_verticalDirection.dart", - "name": "Proprietà verticalDirection di Wrap", - "desc": [ - "【verticalDirection】 : Direzione verticale 【VerticalDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_ja_JP.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_ja_JP.json deleted file mode 100644 index 50d7a7443..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_ja_JP.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 98, - "name": "Wrap", - "localName": "ラップレイアウト", - "info": "複数のコンポーネントを収容でき、指定された方向に順番に配置し、子要素の間隔を簡単に処理できます。オーバーフロー時に自動的に折り返すことができます。主軸と交差軸の配置方法を持ち、比較的柔軟です。", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Wrapの基本的な使い方", - "desc": [ - "【children】 : コンポーネントリスト 【List】", - "【spacing】 : 主軸アイテム間隔 【double】", - "【runSpacing】 : 交差軸アイテム間隔 【double】", - "【direction】 : 主軸整列 【Axis】" - ] - }, - { - "file": "node2_alignment.dart", - "name": "Wrapのalignment属性", - "desc": [ - "【alignment】 : 主軸整列 【WrapAlignment】" - ] - }, - { - "file": "node3_crossAxisAlignment.dart", - "name": "WrapのcrossAxisAlignment属性", - "desc": [ - "【crossAxisAlignment】 : 交差軸整列 【CrossAxisAlignment】" - ] - }, - { - "file": "node4_textDirection.dart", - "name": "WrapのtextDirection属性", - "desc": [ - "【textDirection】 : テキスト方向 【TextDirection】" - ] - }, - { - "file": "node5_verticalDirection.dart", - "name": "WrapのverticalDirection属性", - "desc": [ - "【verticalDirection】 : 垂直方向 【VerticalDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_ko_KR.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_ko_KR.json deleted file mode 100644 index 4765ca5d5..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_ko_KR.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 98, - "name": "Wrap", - "localName": "래핑 레이아웃", - "info": "여러 컴포넌트를 수용할 수 있으며, 지정된 방향으로 순차적으로 배치할 수 있습니다. 자식 간의 간격을 쉽게 처리할 수 있으며, 경계를 벗어날 경우 자동으로 줄 바꿈이 가능합니다. 주축과 교차축 정렬 방식을 가지고 있어 유연성이 높습니다.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Wrap의 기본 사용법", - "desc": [ - "【children】 : 컴포넌트 리스트 【List】", - "【spacing】 : 주축 항목 간격 【double】", - "【runSpacing】 : 교차축 항목 간격 【double】", - "【direction】 : 주축 정렬 【Axis】" - ] - }, - { - "file": "node2_alignment.dart", - "name": "Wrap의 alignment 속성", - "desc": [ - "【alignment】 : 주축 정렬 【WrapAlignment】" - ] - }, - { - "file": "node3_crossAxisAlignment.dart", - "name": "Wrap의 crossAxisAlignment 속성", - "desc": [ - "【crossAxisAlignment】 : 교차축 정렬 【CrossAxisAlignment】" - ] - }, - { - "file": "node4_textDirection.dart", - "name": "Wrap의 textDirection 속성", - "desc": [ - "【textDirection】 : 텍스트 방향 【TextDirection】" - ] - }, - { - "file": "node5_verticalDirection.dart", - "name": "Wrap의 verticalDirection 속성", - "desc": [ - "【verticalDirection】 : 수직 방향 【VerticalDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_pt_PT.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_pt_PT.json deleted file mode 100644 index f02fcbf75..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_pt_PT.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 98, - "name": "Wrap", - "localName": "Layout de Embalagem", - "info": "Pode acomodar vários componentes, dispostos sequencialmente na direção especificada, e pode facilmente lidar com o espaçamento entre os filhos. Quando ultrapassa o limite, pode quebrar automaticamente a linha. Possui métodos de alinhamento para o eixo principal e o eixo cruzado, sendo bastante flexível.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Wrap", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【spacing】 : Espaçamento entre itens no eixo principal 【double】", - "【runSpacing】 : Espaçamento entre itens no eixo cruzado 【double】", - "【direction】 : Alinhamento do eixo principal 【Axis】" - ] - }, - { - "file": "node2_alignment.dart", - "name": "Propriedade alignment do Wrap", - "desc": [ - "【alignment】 : Alinhamento do eixo principal 【WrapAlignment】" - ] - }, - { - "file": "node3_crossAxisAlignment.dart", - "name": "Propriedade crossAxisAlignment do Wrap", - "desc": [ - "【crossAxisAlignment】 : Alinhamento do eixo cruzado 【CrossAxisAlignment】" - ] - }, - { - "file": "node4_textDirection.dart", - "name": "Propriedade textDirection do Wrap", - "desc": [ - "【textDirection】 : Direção do texto 【TextDirection】" - ] - }, - { - "file": "node5_verticalDirection.dart", - "name": "Propriedade verticalDirection do Wrap", - "desc": [ - "【verticalDirection】 : Direção vertical 【VerticalDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_ru_RU.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_ru_RU.json deleted file mode 100644 index 8422284aa..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_ru_RU.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 98, - "name": "Wrap", - "localName": "Обёртка", - "info": "Может содержать несколько компонентов, которые располагаются в указанном направлении, легко управляет расстоянием между дочерними элементами, автоматически переносит строку при выходе за пределы. Имеет гибкие настройки выравнивания по основной и поперечной оси.", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Wrap", - "desc": [ - "【children】 : Список компонентов 【List】", - "【spacing】 : Расстояние между элементами по основной оси 【double】", - "【runSpacing】 : Расстояние между элементами по поперечной оси 【double】", - "【direction】 : Выравнивание по основной оси 【Axis】" - ] - }, - { - "file": "node2_alignment.dart", - "name": "Свойство alignment Wrap", - "desc": [ - "【alignment】 : Выравнивание по основной оси 【WrapAlignment】" - ] - }, - { - "file": "node3_crossAxisAlignment.dart", - "name": "Свойство crossAxisAlignment Wrap", - "desc": [ - "【crossAxisAlignment】 : Выравнивание по поперечной оси 【CrossAxisAlignment】" - ] - }, - { - "file": "node4_textDirection.dart", - "name": "Свойство textDirection Wrap", - "desc": [ - "【textDirection】 : Направление текста 【TextDirection】" - ] - }, - { - "file": "node5_verticalDirection.dart", - "name": "Свойство verticalDirection Wrap", - "desc": [ - "【verticalDirection】 : Вертикальное направление 【VerticalDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_zh-CN.json b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_zh-CN.json deleted file mode 100644 index 98459ac5b..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/desc_zh-CN.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 98, - "name": "Wrap", - "localName": "包裹布局", - "info": "可容纳多个组件,按照指定方向依次排布,可以很方便处理孩子的间距,当越界时可以自动换行。拥有主轴和交叉轴的对齐方式,比较灵活。", - "lever": 5, - "family": 3, - "linkIds": [ - 94, - 95 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Wrap的基础用法", - "desc": [ - "【children】 : 组件列表 【List】", - "【spacing】 : 主轴条目间距 【double】", - "【runSpacing】 : 交叉轴条目间距 【double】", - "【direction】 : 主轴对齐 【Axis】" - ] - }, - { - "file": "node2_alignment.dart", - "name": "Wrap的alignment属性", - "desc": [ - "【alignment】 : 主轴对齐 【WrapAlignment】" - ] - }, - { - "file": "node3_crossAxisAlignment.dart", - "name": "Wrap的crossAxisAlignment属性", - "desc": [ - "【crossAxisAlignment】 : 交叉轴对齐 【CrossAxisAlignment】" - ] - }, - { - "file": "node4_textDirection.dart", - "name": "Wrap的textDirection属性", - "desc": [ - "【textDirection】 : 文字方向 【TextDirection】" - ] - }, - { - "file": "node5_verticalDirection.dart", - "name": "Wrap的verticalDirection属性", - "desc": [ - "【verticalDirection】 : 竖直方向 【VerticalDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node1_base.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node1_base.dart deleted file mode 100644 index 9c725298c..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node1_base.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class DirectionWrap extends StatelessWidget { - const DirectionWrap({super.key}); - - @override - Widget build(BuildContext context) { - return Wrap( - children: Axis.values - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 160, - height: 100, - color: Colors.grey.withAlpha(33), - child: _buildItem(mode)), - Text(mode.toString().split('.')[1]) - ])) - .toList()); - } - Widget get yellowBox => Container( - color: Colors.yellow, - height: 30, - width: 50, - ); - - Widget get redBox => Container( - color: Colors.red, - height: 40, - width: 40, - ); - Widget get greenBox => Container( - color: Colors.green, - height: 40, - width: 20, - ); - Widget get blackBox => Container( - color: Colors.black, - height: 10, - width: 10, - ); - Widget get purpleBox => Container( - color: Colors.purple, - height: 20, - width: 20, - ); - Widget get orangeBox => Container( - color: Colors.orange, - height: 80, - width: 20, - ); - Widget get cyanBox => Container( - color: Colors.cyanAccent, - height: 10, - width: 20, - ); - - Widget _buildItem(mode) => Wrap( - direction: mode, - runSpacing: 10, - spacing: 10, - children: [ - yellowBox, redBox, greenBox, cyanBox, - blackBox, purpleBox, orangeBox, - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node2_alignment.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node2_alignment.dart deleted file mode 100644 index 0ed715cc3..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node2_alignment.dart +++ /dev/null @@ -1,72 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class WrapAlignmentWrap extends StatelessWidget { - const WrapAlignmentWrap({super.key}); - - @override - Widget build(BuildContext context) { - return Wrap( - children: WrapAlignment.values - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 160, - height: 100, - color: Colors.grey.withAlpha(88), - child: _buildItem(mode)), - Text(mode.toString().split('.')[1]) - ])) - .toList()); - } - - Widget get yellowBox => Container( - color: Colors.yellow, - height: 30, - width: 50, - ); - - Widget get redBox => Container( - color: Colors.red, - height: 40, - width: 40, - ); - Widget get greenBox => Container( - color: Colors.green, - height: 40, - width: 20, - ); - Widget get blackBox => Container( - color: Colors.black, - height: 10, - width: 10, - ); - Widget get purpleBox => Container( - color: Colors.purple, - height: 20, - width: 20, - ); - Widget get orangeBox => Container( - color: Colors.orange, - height: 80, - width: 20, - ); - Widget get cyanBox => Container( - color: Colors.cyanAccent, - height: 10, - width: 20, - ); - - Widget _buildItem(mode) => Wrap( - alignment: mode, - runSpacing: 10, - spacing: 10, - children: [ - yellowBox, redBox, - greenBox, cyanBox, - blackBox, purpleBox, - orangeBox, - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node3_crossAxisAlignment.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node3_crossAxisAlignment.dart deleted file mode 100644 index 58774bf02..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node3_crossAxisAlignment.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CrossAxisAlignmentWrap extends StatelessWidget { - const CrossAxisAlignmentWrap({super.key}); - - @override - Widget build(BuildContext context) { - return Wrap( - children: WrapCrossAlignment.values - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 160, - height: 100, - color: Colors.grey.withAlpha(88), - child: _buildItem(mode)), - Text(mode.toString().split('.')[1]) - ])) - .toList()); - } - - Widget get yellowBox => Container( - color: Colors.yellow, - height: 30, - width: 50, - ); - - Widget get redBox => Container( - color: Colors.red, - height: 40, - width: 40, - ); - Widget get greenBox => Container( - color: Colors.green, - height: 40, - width: 20, - ); - Widget get blackBox => Container( - color: Colors.black, - height: 10, - width: 10, - ); - Widget get purpleBox => Container( - color: Colors.purple, - height: 20, - width: 20, - ); - Widget get orangeBox => Container( - color: Colors.orange, - height: 80, - width: 20, - ); - Widget get cyanBox => Container( - color: Colors.cyanAccent, - height: 10, - width: 20, - ); - - Widget _buildItem(mode) => Wrap( - crossAxisAlignment: mode, - runSpacing: 10, - spacing: 10, - children: [ - yellowBox, redBox, - greenBox, cyanBox, - blackBox, purpleBox, - orangeBox, - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node4_textDirection.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node4_textDirection.dart deleted file mode 100644 index 2aba4b945..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node4_textDirection.dart +++ /dev/null @@ -1,71 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class TextDirectionWrap extends StatelessWidget { - const TextDirectionWrap({super.key}); - - @override - Widget build(BuildContext context) { - return Wrap( - children: TextDirection.values - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 160, - height: 100, - color: Colors.grey.withAlpha(88), - child: _buildItem(mode)), - Text(mode.toString().split('.')[1]) - ])) - .toList()); - } - - Widget get yellowBox => Container( - color: Colors.yellow, - height: 30, - width: 50, - ); - - Widget get redBox => Container( - color: Colors.red, - height: 40, - width: 40, - ); - Widget get greenBox => Container( - color: Colors.green, - height: 40, - width: 20, - ); - Widget get blackBox => Container( - color: Colors.black, - height: 10, - width: 10, - ); - Widget get purpleBox => Container( - color: Colors.purple, - height: 20, - width: 20, - ); - Widget get orangeBox => Container( - color: Colors.orange, - height: 80, - width: 20, - ); - Widget get cyanBox => Container( - color: Colors.cyanAccent, - height: 10, - width: 20, - ); - - Widget _buildItem(mode) => Wrap( - textDirection: mode, - runSpacing: 10, - spacing: 10, - children: [ - yellowBox, redBox, greenBox, cyanBox, - blackBox, purpleBox, orangeBox, - ], - ); -} diff --git a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node5_verticalDirection.dart b/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node5_verticalDirection.dart deleted file mode 100644 index 9c981319e..000000000 --- a/modules/widget_system/widgets/lib/MultiChildRenderObjectWidget/Wrap/node5_verticalDirection.dart +++ /dev/null @@ -1,72 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class VerticalDirectionWrap extends StatelessWidget { - const VerticalDirectionWrap({super.key}); - - @override - Widget build(BuildContext context) { - return Wrap( - children: VerticalDirection.values - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 160, - height: 100, - color: Colors.grey.withAlpha(88), - child: _buildItem(mode)), - Text(mode.toString().split('.')[1]) - ])) - .toList()); - } - - Widget get yellowBox => Container( - color: Colors.yellow, - height: 30, - width: 50, - ); - - Widget get redBox => Container( - color: Colors.red, - height: 40, - width: 40, - ); - Widget get greenBox => Container( - color: Colors.green, - height: 40, - width: 20, - ); - Widget get blackBox => Container( - color: Colors.black, - height: 10, - width: 10, - ); - Widget get purpleBox => Container( - color: Colors.purple, - height: 20, - width: 20, - ); - Widget get orangeBox => Container( - color: Colors.orange, - height: 80, - width: 20, - ); - Widget get cyanBox => Container( - color: Colors.cyanAccent, - height: 10, - width: 20, - ); - - Widget _buildItem(mode) => Wrap( - verticalDirection: mode, - direction: Axis.vertical, - runSpacing: 10, - spacing: 10, - children: [ - yellowBox, redBox, greenBox, cyanBox, - blackBox, purpleBox, orangeBox, - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_de_DE.json b/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_de_DE.json deleted file mode 100644 index 8571c8e0f..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 197, - "name": "ErrorWidget", - "localName": "Fehler-Widget", - "info": "Ein Widget zur Anzeige einer Fehlermeldung, roter Hintergrund mit gelber Schrift, wird häufig während der Entwicklung gesehen, wird jedoch normalerweise nicht verwendet.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ErrorWidget", - "desc": [ - "Parameter: Angezeigte Nachricht 【Object】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_en_US.json b/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_en_US.json deleted file mode 100644 index 6f7a4a4d5..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 197, - "name": "ErrorWidget", - "localName": "Error Component", - "info": "A component used to display an error message, with a red background and yellow text, often seen during development, generally not used.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ErrorWidget", - "desc": [ - "Parameters: Display Message 【Object】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_es_ES.json b/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_es_ES.json deleted file mode 100644 index d94a2a8d6..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 197, - "name": "ErrorWidget", - "localName": "Widget de Error", - "info": "Un componente utilizado para mostrar un mensaje de error, con fondo rojo y letras amarillas, se ve con frecuencia durante el desarrollo y generalmente no se utiliza.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ErrorWidget", - "desc": [ - "Parámetro de entrada: mensaje a mostrar 【Object】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_fr_FR.json b/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_fr_FR.json deleted file mode 100644 index 7ad1db599..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 197, - "name": "ErrorWidget", - "localName": "Widget d'erreur", - "info": "Un widget utilisé pour afficher un message d'erreur, fond rouge avec texte jaune, souvent vu pendant le développement, généralement non utilisé.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'ErrorWidget", - "desc": [ - "Paramètre : message à afficher 【Object】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_it_IT.json b/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_it_IT.json deleted file mode 100644 index cd33392c7..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 197, - "name": "ErrorWidget", - "localName": "Widget di Errore", - "info": "Componente utilizzato per visualizzare un messaggio di errore, sfondo rosso con testo giallo, spesso visto durante lo sviluppo, generalmente non utilizzato.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di ErrorWidget", - "desc": [ - "Parametri : Messaggio da visualizzare 【Object】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_ja_JP.json b/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_ja_JP.json deleted file mode 100644 index 08edc5075..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 197, - "name": "ErrorWidget", - "localName": "エラーウィジェット", - "info": "エラーメッセージを表示するためのコンポーネントです。赤い背景に黄色い文字で表示され、開発中によく見かけますが、通常は使用しません。", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ErrorWidgetの基本使用", - "desc": [ - "引数 : 表示メッセージ 【Object】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_ko_KR.json b/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_ko_KR.json deleted file mode 100644 index 0e7f2aad5..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 197, - "name": "ErrorWidget", - "localName": "에러 위젯", - "info": "에러 메시지를 표시하는 위젯으로, 빨간 배경에 노란 글씨로 표시되며, 개발 과정에서 자주 보이지만 일반적으로 사용되지 않습니다.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ErrorWidget 기본 사용법", - "desc": [ - "입력 매개변수 : 표시할 정보 【Object】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_pt_PT.json b/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_pt_PT.json deleted file mode 100644 index eabf63283..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 197, - "name": "ErrorWidget", - "localName": "Componente de Erro", - "info": "Componente usado para exibir uma mensagem de erro, com fundo vermelho e texto amarelo, frequentemente visto durante o desenvolvimento, geralmente não é utilizado.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ErrorWidget", - "desc": [ - "Parâmetro: Mensagem a ser exibida 【Object】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_ru_RU.json b/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_ru_RU.json deleted file mode 100644 index a17ca651d..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 197, - "name": "ErrorWidget", - "localName": "Виджет ошибки", - "info": "Компонент для отображения сообщения об ошибке, красный фон с желтым текстом, часто встречается в процессе разработки, обычно не используется.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ErrorWidget", - "desc": [ - "Параметры: Отображаемое сообщение 【Object】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_zh-CN.json b/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_zh-CN.json deleted file mode 100644 index f96ff1acf..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 197, - "name": "ErrorWidget", - "localName": "错误组件", - "info": "用于显示一个错误信息的组件,红底黄字,在开发过程中经常看到,一般不使用。", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ErrorWidget基本使用", - "desc": [ - "入参 : 显示信息 【Object】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ErrorWidget/node1_base.dart b/modules/widget_system/widgets/lib/Other/ErrorWidget/node1_base.dart deleted file mode 100644 index 55c38f3f9..000000000 --- a/modules/widget_system/widgets/lib/Other/ErrorWidget/node1_base.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class ErrorWidgetDemo extends StatelessWidget { - const ErrorWidgetDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: ErrorWidget( - 'I am Error ErrorWidget\n' - 'But now, there has no error.' - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_de_DE.json b/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_de_DE.json deleted file mode 100644 index 106ca6ea6..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_de_DE.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 291, - "name": "ListWheelViewport", - "localName": "Listenradansicht", - "info": "Ein Ansichtsfenster, das eine Liste von Kindern in einem zylindrischen Rad anzeigt. Es ist die zugrunde liegende Abhängigkeit von ListWheelScrollView und CupertinoPicker", - "lever": 4, - "family": 6, - "linkIds": [ - 179, - 139, - 137, - 253 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einfache Verwendung von ListWheelViewport", - "desc": [ - "【itemExtent】 : Axiale Item-Größe 【double】", - "【offset】 : Ansichtsfenster-Versatz 【ViewportOffset】", - "【childDelegate】 : Kinderdelegat-Konstruktor 【ListWheelChildDelegate】" - ] - }, - { - "file": "node2_perspective.dart", - "name": "Perspektivische Effekte von ListWheelViewport", - "desc": [ - "【perspective】 : Perspektivparameter 【double】", - "【squeeze】 : Quetschwert 【double】", - "【diameterRatio】 : Durchmesserverhältnis 【double】" - ] - }, - { - "file": "node3_magnifier.dart", - "name": "Vergrößerung von ListWheelViewport", - "desc": [ - "【useMagnifier】 : Ob vergrößert wird 【bool】", - "【magnification】 : Vergrößerungsverhältnis 【double】", - "【clipBehavior】 : Schneidverhalten 【Clip】", - "【renderChildrenOutsideViewport】 : Ob außerhalb des Sichtfelds gerendert wird 【bool】" - ] - }, - { - "file": "node4_opacity.dart", - "name": "Versatz und Transparenz", - "desc": [ - "【offAxisFraction】 : Achsenzentrum-Versatzverhältnis 【double】", - "【overAndUnderCenterOpacity】 : Transparenz außerhalb des Vergrößerers 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_en_US.json b/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_en_US.json deleted file mode 100644 index ce02c9fd0..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_en_US.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 291, - "name": "ListWheelViewport", - "localName": "List Wheel Viewport", - "info": "A viewport that displays a list of children on a cylindrical wheel, which is the underlying dependency of ListWheelScrollView and CupertinoPicker", - "lever": 4, - "family": 6, - "linkIds": [ - 179, - 139, - 137, - 253 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ListWheelViewport", - "desc": [ - "【itemExtent】 : Axial item size 【double】", - "【offset】 : Viewport offset 【ViewportOffset】", - "【childDelegate】 : Child delegate constructor 【ListWheelChildDelegate】" - ] - }, - { - "file": "node2_perspective.dart", - "name": "Perspective Effect of ListWheelViewport", - "desc": [ - "【perspective】 : Perspective parameter 【double】", - "【squeeze】 : Squeeze value 【double】", - "【diameterRatio】 : Diameter ratio 【double】" - ] - }, - { - "file": "node3_magnifier.dart", - "name": "Magnification of ListWheelViewport", - "desc": [ - "【useMagnifier】 : Whether to magnify 【bool】", - "【magnification】 : Magnification ratio 【double】", - "【clipBehavior】 : Clip behavior 【Clip】", - "【renderChildrenOutsideViewport】 : Whether to render children outside the viewport 【bool】" - ] - }, - { - "file": "node4_opacity.dart", - "name": "Offset and Opacity", - "desc": [ - "【offAxisFraction】 : Axis center offset ratio 【double】", - "【overAndUnderCenterOpacity】 : Opacity outside the magnifier 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_es_ES.json b/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_es_ES.json deleted file mode 100644 index d90a4dcb6..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_es_ES.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 291, - "name": "ListWheelViewport", - "localName": "Vista de rueda de lista", - "info": "Una vista que muestra una lista de hijos en una rueda cilíndrica, es la dependencia subyacente de ListWheelScrollView y CupertinoPicker", - "lever": 4, - "family": 6, - "linkIds": [ - 179, - 139, - 137, - 253 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso simple de ListWheelViewport", - "desc": [ - "【itemExtent】 : Tamaño del ítem en el eje 【double】", - "【offset】 : Desplazamiento de la vista 【ViewportOffset】", - "【childDelegate】 : Delegado de construcción de hijos 【ListWheelChildDelegate】" - ] - }, - { - "file": "node2_perspective.dart", - "name": "Efecto de perspectiva en ListWheelViewport", - "desc": [ - "【perspective】 : Parámetro de perspectiva 【double】", - "【squeeze】 : Valor de compresión 【double】", - "【diameterRatio】 : Relación de diámetro 【double】" - ] - }, - { - "file": "node3_magnifier.dart", - "name": "Ampliación en ListWheelViewport", - "desc": [ - "【useMagnifier】 : Si se amplía 【bool】", - "【magnification】 : Proporción de ampliación 【double】", - "【clipBehavior】 : Comportamiento de recorte 【Clip】", - "【renderChildrenOutsideViewport】 : Si se renderiza fuera de la vista 【bool】" - ] - }, - { - "file": "node4_opacity.dart", - "name": "Desplazamiento y opacidad", - "desc": [ - "【offAxisFraction】 : Relación de desplazamiento del centro del eje 【double】", - "【overAndUnderCenterOpacity】 : Opacidad fuera del amplificador 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_fr_FR.json b/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_fr_FR.json deleted file mode 100644 index 21e6c37f6..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_fr_FR.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 291, - "name": "ListWheelViewport", - "localName": "Vue de roue de liste", - "info": "Une vue qui affiche une liste d'enfants sur une roue cylindrique, dépendance sous-jacente de ListWheelScrollView et CupertinoPicker", - "lever": 4, - "family": 6, - "linkIds": [ - 179, - 139, - 137, - 253 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation simple de ListWheelViewport", - "desc": [ - "【itemExtent】 : Taille de l'item axial 【double】", - "【offset】 : Décalage de la vue 【ViewportOffset】", - "【childDelegate】 : Constructeur de délégué enfant 【ListWheelChildDelegate】" - ] - }, - { - "file": "node2_perspective.dart", - "name": "Effet de perspective de ListWheelViewport", - "desc": [ - "【perspective】 : Paramètre de perspective 【double】", - "【squeeze】 : Valeur de compression 【double】", - "【diameterRatio】 : Ratio de diamètre 【double】" - ] - }, - { - "file": "node3_magnifier.dart", - "name": "Agrandissement de ListWheelViewport", - "desc": [ - "【useMagnifier】 : Agrandir ou non 【bool】", - "【magnification】 : Taux d'agrandissement 【double】", - "【clipBehavior】 : Comportement de découpage 【Clip】", - "【renderChildrenOutsideViewport】 : Rendu hors de la vue 【bool】" - ] - }, - { - "file": "node4_opacity.dart", - "name": "Décalage et opacité", - "desc": [ - "【offAxisFraction】 : Ratio de décalage du centre de l'axe 【double】", - "【overAndUnderCenterOpacity】 : Opacité en dehors de l'amplificateur 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_it_IT.json b/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_it_IT.json deleted file mode 100644 index aebbbc3fb..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_it_IT.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 291, - "name": "ListWheelViewport", - "localName": "Vista della ruota di scorrimento", - "info": "Una vista che visualizza un elenco di elementi in una ruota cilindrica, è la dipendenza sottostante di ListWheelScrollView e CupertinoPicker", - "lever": 4, - "family": 6, - "linkIds": [ - 179, - 139, - 137, - 253 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso semplice di ListWheelViewport", - "desc": [ - "【itemExtent】 : Dimensione dell'elemento lungo l'asse 【double】", - "【offset】 : Offset della vista 【ViewportOffset】", - "【childDelegate】 : Delegato di costruzione dei figli 【ListWheelChildDelegate】" - ] - }, - { - "file": "node2_perspective.dart", - "name": "Effetto prospettico di ListWheelViewport", - "desc": [ - "【perspective】 : Parametro di prospettiva 【double】", - "【squeeze】 : Valore di compressione 【double】", - "【diameterRatio】 : Rapporto del diametro 【double】" - ] - }, - { - "file": "node3_magnifier.dart", - "name": "Ingrandimento di ListWheelViewport", - "desc": [ - "【useMagnifier】 : Se ingrandire 【bool】", - "【magnification】 : Rapporto di ingrandimento 【double】", - "【clipBehavior】 : Comportamento di ritaglio 【Clip】", - "【renderChildrenOutsideViewport】 : Se renderizzare i figli fuori dalla vista 【bool】" - ] - }, - { - "file": "node4_opacity.dart", - "name": "Offset e trasparenza", - "desc": [ - "【offAxisFraction】 : Rapporto di offset del centro dell'asse 【double】", - "【overAndUnderCenterOpacity】 : Trasparenza fuori dall'ingranditore 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_ja_JP.json b/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_ja_JP.json deleted file mode 100644 index ac889c042..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_ja_JP.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 291, - "name": "ListWheelViewport", - "localName": "リストホイールビューポート", - "info": "子リストを円柱状のホイール上に表示するビューポートで、ListWheelScrollView、CupertinoPickerの基盤となる依存関係です", - "lever": 4, - "family": 6, - "linkIds": [ - 179, - 139, - 137, - 253 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListWheelViewport の簡単な使用", - "desc": [ - "【itemExtent】 : 軸方向のアイテムサイズ 【double】", - "【offset】 : ビューポートのオフセット 【ViewportOffset】", - "【childDelegate】 : 子デリゲートコンストラクタ 【ListWheelChildDelegate】" - ] - }, - { - "file": "node2_perspective.dart", - "name": "ListWheelViewport の遠近効果", - "desc": [ - "【perspective】 : 遠近パラメータ 【double】", - "【squeeze】 : 圧縮値 【double】", - "【diameterRatio】 : 直径比率 【double】" - ] - }, - { - "file": "node3_magnifier.dart", - "name": "ListWheelViewport の拡大", - "desc": [ - "【useMagnifier】 : 拡大するかどうか 【bool】", - "【magnification】 : 拡大比率 【double】", - "【clipBehavior】 : クリップ動作 【Clip】", - "【renderChildrenOutsideViewport】 : 視野外の子をレンダリングするか 【bool】" - ] - }, - { - "file": "node4_opacity.dart", - "name": "オフセットと透明度", - "desc": [ - "【offAxisFraction】 : 軸中心のオフセット比率 【double】", - "【overAndUnderCenterOpacity】 : 拡大器外の透明度 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_ko_KR.json b/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_ko_KR.json deleted file mode 100644 index 8e74bc4c2..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_ko_KR.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 291, - "name": "ListWheelViewport", - "localName": "리스트 휠 뷰포트", - "info": "자식 리스트를 원통형 휠에 표시하는 뷰포트로, ListWheelScrollView, CupertinoPicker의 기반이 됨", - "lever": 4, - "family": 6, - "linkIds": [ - 179, - 139, - 137, - 253 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListWheelViewport 기본 사용법", - "desc": [ - "【itemExtent】 : 축 방향 아이템 크기 【double】", - "【offset】 : 뷰포트 오프셋 【ViewportOffset】", - "【childDelegate】 : 자식 위임 생성자 【ListWheelChildDelegate】" - ] - }, - { - "file": "node2_perspective.dart", - "name": "ListWheelViewport 원근 효과", - "desc": [ - "【perspective】 : 원근 매개변수 【double】", - "【squeeze】 : 압축 값 【double】", - "【diameterRatio】 : 직경 비율 【double】" - ] - }, - { - "file": "node3_magnifier.dart", - "name": "ListWheelViewport 확대", - "desc": [ - "【useMagnifier】 : 확대 여부 【bool】", - "【magnification】 : 확대 비율 【double】", - "【clipBehavior】 : 클리핑 동작 【Clip】", - "【renderChildrenOutsideViewport】 : 시야 밖 렌더링 여부 【bool】" - ] - }, - { - "file": "node4_opacity.dart", - "name": "오프셋과 투명도", - "desc": [ - "【offAxisFraction】 : 축 중심 오프셋 비율 【double】", - "【overAndUnderCenterOpacity】 : 확대기 외부 투명도 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_pt_PT.json b/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_pt_PT.json deleted file mode 100644 index 5063eb01a..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_pt_PT.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 291, - "name": "ListWheelViewport", - "localName": "Porta de Roda de Lista", - "info": "Uma porta que exibe uma lista de filhos em uma roda cilíndrica, é a dependência subjacente de ListWheelScrollView e CupertinoPicker", - "lever": 4, - "family": 6, - "linkIds": [ - 179, - 139, - 137, - 253 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Simples de ListWheelViewport", - "desc": [ - "【itemExtent】 : Tamanho axial do item 【double】", - "【offset】 : Deslocamento da porta 【ViewportOffset】", - "【childDelegate】 : Construtor do delegado de filhos 【ListWheelChildDelegate】" - ] - }, - { - "file": "node2_perspective.dart", - "name": "Efeito de Perspectiva de ListWheelViewport", - "desc": [ - "【perspective】 : Parâmetro de perspectiva 【double】", - "【squeeze】 : Valor de compressão 【double】", - "【diameterRatio】 : Razão de diâmetro 【double】" - ] - }, - { - "file": "node3_magnifier.dart", - "name": "Ampliação de ListWheelViewport", - "desc": [ - "【useMagnifier】 : Se amplia 【bool】", - "【magnification】 : Proporção de ampliação 【double】", - "【clipBehavior】 : Comportamento de corte 【Clip】", - "【renderChildrenOutsideViewport】 : Se renderiza fora do campo de visão 【bool】" - ] - }, - { - "file": "node4_opacity.dart", - "name": "Deslocamento e Transparência", - "desc": [ - "【offAxisFraction】 : Razão de deslocamento do centro do eixo 【double】", - "【overAndUnderCenterOpacity】 : Transparência fora do ampliador 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_ru_RU.json b/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_ru_RU.json deleted file mode 100644 index 8b6bb345b..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_ru_RU.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 291, - "name": "ListWheelViewport", - "localName": "Вид списка колеса прокрутки", - "info": "Вид, который отображает список детей в виде цилиндрического колеса прокрутки, является базовой зависимостью для ListWheelScrollView и CupertinoPicker", - "lever": 4, - "family": 6, - "linkIds": [ - 179, - 139, - 137, - 253 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Простое использование ListWheelViewport", - "desc": [ - "【itemExtent】 : Размер элемента по оси 【double】", - "【offset】 : Смещение вида 【ViewportOffset】", - "【childDelegate】 : Делегат для создания детей 【ListWheelChildDelegate】" - ] - }, - { - "file": "node2_perspective.dart", - "name": "Эффект перспективы ListWheelViewport", - "desc": [ - "【perspective】 : Параметр перспективы 【double】", - "【squeeze】 : Значение сжатия 【double】", - "【diameterRatio】 : Коэффициент диаметра 【double】" - ] - }, - { - "file": "node3_magnifier.dart", - "name": "Увеличение ListWheelViewport", - "desc": [ - "【useMagnifier】 : Использовать ли увеличение 【bool】", - "【magnification】 : Коэффициент увеличения 【double】", - "【clipBehavior】 : Поведение обрезки 【Clip】", - "【renderChildrenOutsideViewport】 : Рендерить ли детей за пределами вида 【bool】" - ] - }, - { - "file": "node4_opacity.dart", - "name": "Смещение и прозрачность", - "desc": [ - "【offAxisFraction】 : Отношение смещения от центра оси 【double】", - "【overAndUnderCenterOpacity】 : Прозрачность за пределами увеличителя 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_zh-CN.json b/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_zh-CN.json deleted file mode 100644 index fb86f4ea3..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/desc_zh-CN.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 291, - "name": "ListWheelViewport", - "localName": "列表滚轮视口", - "info": "一个将孩子列表显示在柱状滚轮上的视口,是 ListWheelScrollView、CupertinoPicker 的底层依赖", - "lever": 4, - "family": 6, - "linkIds": [ - 179, - 139, - 137, - 253 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListWheelViewport 简单使用", - "desc": [ - "【itemExtent】 : 轴向item尺寸 【double】", - "【offset】 : 视口偏移 【ViewportOffset】", - "【childDelegate】 : 孩子代理构造器 【ListWheelChildDelegate】" - ] - }, - { - "file": "node2_perspective.dart", - "name": "ListWheelViewport 透视效果", - "desc": [ - "【perspective】 : 透视参数 【double】", - "【squeeze】 : 挤压值 【double】", - "【diameterRatio】 : 直径分率 【double】" - ] - }, - { - "file": "node3_magnifier.dart", - "name": "ListWheelViewport 放大", - "desc": [ - "【useMagnifier】 : 是否放大 【bool】", - "【magnification】 : 放大比例 【double】", - "【clipBehavior】 : 剪裁行为 【Clip】", - "【renderChildrenOutsideViewport】 : 出视野是否渲染 【bool】" - ] - }, - { - "file": "node4_opacity.dart", - "name": "偏移和透明度", - "desc": [ - "【offAxisFraction】 : 轴中心偏移比 【double】", - "【overAndUnderCenterOpacity】 : 放大器之外的透明度 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/node1_base.dart b/modules/widget_system/widgets/lib/Other/ListWheelViewport/node1_base.dart deleted file mode 100644 index 1aeb4391f..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/node1_base.dart +++ /dev/null @@ -1,65 +0,0 @@ -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class ListWheelViewportDemo extends StatelessWidget { - const ListWheelViewportDemo({super.key}); - - List get data => [ - Colors.blue[50]!, - Colors.blue[100]!, - Colors.blue[200]!, - Colors.blue[300]!, - Colors.blue[400]!, - Colors.blue[500]!, - Colors.blue[600]!, - Colors.blue[700]!, - Colors.blue[800]!, - Colors.blue[900]!, - Colors.blue[800]!, - Colors.blue[700]!, - Colors.blue[600]!, - Colors.blue[500]!, - Colors.blue[400]!, - Colors.blue[300]!, - Colors.blue[200]!, - Colors.blue[100]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 250, - width: 320, - child: Scrollable( - axisDirection: AxisDirection.down, - physics: const BouncingScrollPhysics(), - dragStartBehavior: DragStartBehavior.start, - viewportBuilder: (ctx, position) => ListWheelViewport( - itemExtent: 100, - offset: position, - childDelegate: ListWheelChildLoopingListDelegate( - children: data.map((e) => _buildItem(e)).toList()), - )), - ); - } - - Widget _buildItem(Color color) => Container( - alignment: Alignment.center, - color: color, - child: Text(colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ), - ])), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/node2_perspective.dart b/modules/widget_system/widgets/lib/Other/ListWheelViewport/node2_perspective.dart deleted file mode 100644 index ea8730168..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/node2_perspective.dart +++ /dev/null @@ -1,68 +0,0 @@ -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class ListWheelViewportDemo2 extends StatelessWidget { - const ListWheelViewportDemo2({super.key}); - - List get data => [ - Colors.blue[50]!, - Colors.blue[100]!, - Colors.blue[200]!, - Colors.blue[300]!, - Colors.blue[400]!, - Colors.blue[500]!, - Colors.blue[600]!, - Colors.blue[700]!, - Colors.blue[800]!, - Colors.blue[900]!, - Colors.blue[800]!, - Colors.blue[700]!, - Colors.blue[600]!, - Colors.blue[500]!, - Colors.blue[400]!, - Colors.blue[300]!, - Colors.blue[200]!, - Colors.blue[100]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 250, - width: 320, - child: Scrollable( - axisDirection: AxisDirection.down, - physics: const BouncingScrollPhysics(), - dragStartBehavior: DragStartBehavior.start, - viewportBuilder: (ctx, position) => ListWheelViewport( - perspective: 0.008, - squeeze: 1, - diameterRatio: 2, - itemExtent: 50, - offset: position, - childDelegate: ListWheelChildLoopingListDelegate( - children: data.map((e) => _buildItem(e)).toList()), - )), - ); - } - - Widget _buildItem(Color color) => Container( - alignment: Alignment.center, - color: color, - child: Text(colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ])), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/node3_magnifier.dart b/modules/widget_system/widgets/lib/Other/ListWheelViewport/node3_magnifier.dart deleted file mode 100644 index 7b98d643b..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/node3_magnifier.dart +++ /dev/null @@ -1,70 +0,0 @@ -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class ListWheelViewportDemo3 extends StatelessWidget { - const ListWheelViewportDemo3({super.key}); - - List get data => [ - Colors.blue[50]!, - Colors.blue[100]!, - Colors.blue[200]!, - Colors.blue[300]!, - Colors.blue[400]!, - Colors.blue[500]!, - Colors.blue[600]!, - Colors.blue[700]!, - Colors.blue[800]!, - Colors.blue[900]!, - Colors.blue[800]!, - Colors.blue[700]!, - Colors.blue[600]!, - Colors.blue[500]!, - Colors.blue[400]!, - Colors.blue[300]!, - Colors.blue[200]!, - Colors.blue[100]!, - ]; - - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 250, - width: 320, - // color: Colors.red, - child: Scrollable( - axisDirection: AxisDirection.down, - physics: const BouncingScrollPhysics(), - dragStartBehavior: DragStartBehavior.start, - viewportBuilder: (ctx, position) => ListWheelViewport( - perspective: 0.008, - squeeze: 1, - diameterRatio: 2, - itemExtent: 50, - useMagnifier: true, - magnification: 2, - renderChildrenOutsideViewport: true, - clipBehavior: Clip.none, - offset: position, - childDelegate: ListWheelChildLoopingListDelegate( - children: data.map((e) => _buildItem(e)).toList()), - )), - ); - } - - Widget _buildItem(Color color) => Container( - alignment: Alignment.center, - color: color, - child: Text(colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ])), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Other/ListWheelViewport/node4_opacity.dart b/modules/widget_system/widgets/lib/Other/ListWheelViewport/node4_opacity.dart deleted file mode 100644 index 098261a8a..000000000 --- a/modules/widget_system/widgets/lib/Other/ListWheelViewport/node4_opacity.dart +++ /dev/null @@ -1,71 +0,0 @@ -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class ListWheelViewportDemo4 extends StatelessWidget { - const ListWheelViewportDemo4({super.key}); - - List get data => [ - Colors.blue[50]!, - Colors.blue[100]!, - Colors.blue[200]!, - Colors.blue[300]!, - Colors.blue[400]!, - Colors.blue[500]!, - Colors.blue[600]!, - Colors.blue[700]!, - Colors.blue[800]!, - Colors.blue[900]!, - Colors.blue[800]!, - Colors.blue[700]!, - Colors.blue[600]!, - Colors.blue[500]!, - Colors.blue[400]!, - Colors.blue[300]!, - Colors.blue[200]!, - Colors.blue[100]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 250, - width: 320, - // color: Colors.red, - child: Scrollable( - axisDirection: AxisDirection.down, - physics: const BouncingScrollPhysics(), - dragStartBehavior: DragStartBehavior.start, - viewportBuilder: (ctx, position) => ListWheelViewport( - perspective: 0.008, - squeeze: 1, - diameterRatio: 2, - offAxisFraction: 0.2, - overAndUnderCenterOpacity: 0.4, - itemExtent: 50, - offset: position, - childDelegate: ListWheelChildLoopingListDelegate( - children: data.map((e) => _buildItem(e)).toList()), - )), - ); - } - - Widget _buildItem(Color color) => Container( - alignment: Alignment.center, - color: color, - child: Text(colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ])), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_de_DE.json b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_de_DE.json deleted file mode 100644 index b54faf2e7..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 312, - "name": "PerformanceOverlay", - "localName": "Leistungsüberlagerung", - "info": "Ermöglicht das einfache Aktivieren von zwei Leistungsüberwachungsdiagrammen, um die Änderungen der Bildrate beim Aktualisieren der Oberfläche zu verfolgen.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von PerformanceOverlay", - "desc": [ - "Mit PerformanceOverlay.allEnabled können alle Überwachungsoptionen gestartet werden." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_en_US.json b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_en_US.json deleted file mode 100644 index 5c7aa36a1..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 312, - "name": "PerformanceOverlay", - "localName": "Performance Overlay", - "info": "It is very convenient to enable two bar charts for performance monitoring, making it easy to see the changes in frame rate when refreshing the interface.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of PerformanceOverlay", - "desc": [ - "Using PerformanceOverlay.allEnabled can start all monitoring items." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_es_ES.json b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_es_ES.json deleted file mode 100644 index 5af74d604..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 312, - "name": "PerformanceOverlay", - "localName": "Superposición de Rendimiento", - "info": "Permite habilitar muy convenientemente dos gráficos de barras para monitorear el rendimiento, facilitando la visualización de los cambios en la tasa de cuadros al actualizar la interfaz.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de PerformanceOverlay", - "desc": [ - "Usar PerformanceOverlay.allEnabled permite iniciar todos los elementos de monitoreo." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_fr_FR.json b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_fr_FR.json deleted file mode 100644 index c60ad9270..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 312, - "name": "PerformanceOverlay", - "localName": "Superposition de Performance", - "info": "Permet d'activer très facilement deux graphiques de surveillance des performances, facilitant la visualisation des variations de fréquence d'images lors du rafraîchissement de l'interface.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de PerformanceOverlay", - "desc": [ - "Utiliser PerformanceOverlay.allEnabled pour démarrer tous les éléments de surveillance." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_it_IT.json b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_it_IT.json deleted file mode 100644 index f95c46843..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 312, - "name": "PerformanceOverlay", - "localName": "Sovrapposizione delle Prestazioni", - "info": "Può attivare molto comodamente due grafici a barre per il monitoraggio delle prestazioni, facilitando la visualizzazione delle variazioni della frequenza dei fotogrammi durante l'aggiornamento dell'interfaccia.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di PerformanceOverlay", - "desc": [ - "Utilizzando PerformanceOverlay.allEnabled è possibile avviare tutti gli elementi di monitoraggio." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_ja_JP.json b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_ja_JP.json deleted file mode 100644 index 9523d59b6..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 312, - "name": "PerformanceOverlay", - "localName": "パフォーマンスオーバーレイ", - "info": "パフォーマンスモニタリングの2つの柱グラフを非常に簡単に有効にでき、インターフェースのリフレッシュ時のフレームレートの変化を簡単に確認できます。", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PerformanceOverlayの基本使用", - "desc": [ - "PerformanceOverlay.allEnabledを使用してすべての監視項目を開始できます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_ko_KR.json b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_ko_KR.json deleted file mode 100644 index 6d4084ca3..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 312, - "name": "PerformanceOverlay", - "localName": "성능 오버레이", - "info": "성능 모니터링을 매우 편리하게 시작할 수 있는 두 개의 막대 그래프로, 화면을 새로 고칠 때 프레임 속도 변화를 쉽게 확인할 수 있습니다.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PerformanceOverlay 기본 사용", - "desc": [ - "PerformanceOverlay.allEnabled를 사용하여 모든 모니터링 항목을 시작할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_pt_PT.json b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_pt_PT.json deleted file mode 100644 index e17a52366..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 312, - "name": "PerformanceOverlay", - "localName": "Camada de Desempenho", - "info": "Permite ativar de forma muito conveniente dois gráficos de barras para monitorizar o desempenho, facilitando a visualização das mudanças na taxa de frames ao atualizar a interface.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do PerformanceOverlay", - "desc": [ - "Usar PerformanceOverlay.allEnabled permite iniciar todos os itens de monitorização." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_ru_RU.json b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_ru_RU.json deleted file mode 100644 index 85386e6a8..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 312, - "name": "PerformanceOverlay", - "localName": "Наложение производительности", - "info": "Очень удобно включить два столбчатых графика для мониторинга производительности, чтобы легко отслеживать изменения частоты кадров при обновлении интерфейса.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование PerformanceOverlay", - "desc": [ - "Использование PerformanceOverlay.allEnabled позволяет начать все элементы мониторинга." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_zh-CN.json b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_zh-CN.json deleted file mode 100644 index 8618b7b89..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 312, - "name": "PerformanceOverlay", - "localName": "性能浮层", - "info": "可以非常方便地开启性能监测的两个柱图,方便查看刷新界面时帧率的变化情况。", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PerformanceOverlay基本使用", - "desc": [ - "使用PerformanceOverlay.allEnabled可以开始所有的监测项。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/node1_base.dart b/modules/widget_system/widgets/lib/Other/PerformanceOverlay/node1_base.dart deleted file mode 100644 index 831fb7fad..000000000 --- a/modules/widget_system/widgets/lib/Other/PerformanceOverlay/node1_base.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class PerformanceOverlayDemo extends StatelessWidget { - const PerformanceOverlayDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return PerformanceOverlay.allEnabled( - - ); - } -} - diff --git a/modules/widget_system/widgets/lib/Other/RawImage/desc_de_DE.json b/modules/widget_system/widgets/lib/Other/RawImage/desc_de_DE.json deleted file mode 100644 index 2e357466f..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 313, - "name": "RawImage", - "localName": "Originalbild", - "info": "Ist die Kernkomponente zur Implementierung der Image-Komponente, kann das Image der UI anzeigen, die grundlegenden Eigenschaften sind identisch mit Image, wird selten allein verwendet.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RawImage", - "desc": [ - "【image】 : Bild 【ui.Image】", - "【width】 : Breite 【int】", - "【height】: Höhe 【int】", - "【isAntiAlias】: Anti-Aliasing 【bool】", - "【filterQuality】: Filterqualität 【FilterQuality】", - "Viele Eigenschaften sind identisch mit Image, siehe dort." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RawImage/desc_en_US.json b/modules/widget_system/widgets/lib/Other/RawImage/desc_en_US.json deleted file mode 100644 index 46bb1bf66..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 313, - "name": "RawImage", - "localName": "Original Image", - "info": "It is the core component that implements the Image component, can display the ui.Image, and has the same basic properties as Image. It is rarely used alone.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RawImage", - "desc": [ - "【image】: Image 【ui.Image】", - "【width】: Width 【int】", - "【height】: Height 【int】", - "【isAntiAlias】: Whether to anti-alias 【bool】", - "【filterQuality】: Filter quality 【FilterQuality】", - "Many properties are the same as Image, see details there." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RawImage/desc_es_ES.json b/modules/widget_system/widgets/lib/Other/RawImage/desc_es_ES.json deleted file mode 100644 index 8ea04832d..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 313, - "name": "RawImage", - "localName": "Imagen Original", - "info": "Es el componente central que implementa el componente Image, puede mostrar la Image de la interfaz de usuario, las propiedades básicas son las mismas que Image, rara vez se usa por separado.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RawImage", - "desc": [ - "【image】: Imagen 【ui.Image】", - "【width】: Ancho 【int】", - "【height】: Alto 【int】", - "【isAntiAlias】: Si es antialiasing 【bool】", - "【filterQuality】: Calidad de filtro 【FilterQuality】", - "Muchas propiedades son las mismas que Image, consulte para más detalles." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RawImage/desc_fr_FR.json b/modules/widget_system/widgets/lib/Other/RawImage/desc_fr_FR.json deleted file mode 100644 index 7db141988..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 313, - "name": "RawImage", - "localName": "Image originale", - "info": "C'est le composant central pour implémenter le composant Image, capable d'afficher une image UI. Ses propriétés de base sont similaires à celles de Image, et il est rarement utilisé seul.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RawImage", - "desc": [ - "【image】 : Image 【ui.Image】", - "【width】 : Largeur 【int】", - "【height】: Hauteur 【int】", - "【isAntiAlias】: Anti-crénelage 【bool】", - "【filterQuality】: Qualité de filtrage 【FilterQuality】", - "De nombreuses propriétés sont similaires à Image, voir les détails." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RawImage/desc_it_IT.json b/modules/widget_system/widgets/lib/Other/RawImage/desc_it_IT.json deleted file mode 100644 index 91c6ac671..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 313, - "name": "RawImage", - "localName": "Immagine originale", - "info": "È il componente principale per implementare il componente Image, può visualizzare l'Image dell'interfaccia utente, le proprietà di base sono le stesse di Image, generalmente raramente usato da solo.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di RawImage", - "desc": [ - "【image】 : Immagine 【ui.Image】", - "【width】 : Larghezza 【int】", - "【height】: Altezza 【int】", - "【isAntiAlias】: Anti-alias 【bool】", - "【filterQuality】: Qualità del filtro 【FilterQuality】", - "Molte proprietà sono le stesse di Image, vedi dettagli." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RawImage/desc_ja_JP.json b/modules/widget_system/widgets/lib/Other/RawImage/desc_ja_JP.json deleted file mode 100644 index aae1a631b..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 313, - "name": "RawImage", - "localName": "元画像", - "info": "Imageコンポーネントのコアコンポーネントであり、uiのImageを表示できます。基本的な属性はImageと同じで、単独で使用されることはほとんどありません。", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawImageの基本使用", - "desc": [ - "【image】 : 画像 【ui.Image】", - "【width】 : 幅 【int】", - "【height】: 高さ 【int】", - "【isAntiAlias】: アンチエイリアスかどうか 【bool】", - "【filterQuality】: フィルタ品質 【FilterQuality】", - "多くの属性はImageと同じです。詳細はそちらを参照してください。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RawImage/desc_ko_KR.json b/modules/widget_system/widgets/lib/Other/RawImage/desc_ko_KR.json deleted file mode 100644 index b4b0dd6c4..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 313, - "name": "RawImage", - "localName": "원본 이미지", - "info": "Image 컴포넌트를 구현하는 핵심 컴포넌트로, ui의 Image를 표시할 수 있으며, 기본 속성은 Image와 동일하며, 일반적으로 단독으로 사용되지 않습니다.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawImage 기본 사용", - "desc": [ - "【image】 : 이미지 【ui.Image】", - "【width】 : 너비 【int】", - "【height】: 높이 【int】", - "【isAntiAlias】: 안티앨리어싱 여부 【bool】", - "【filterQuality】: 필터 품질 【FilterQuality】", - "많은 속성이 Image와 동일하니, 자세한 내용은 해당 항목을 참조하세요." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RawImage/desc_pt_PT.json b/modules/widget_system/widgets/lib/Other/RawImage/desc_pt_PT.json deleted file mode 100644 index bb06bf432..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 313, - "name": "RawImage", - "localName": "Imagem Original", - "info": "É o componente central que implementa o componente Image, pode exibir a Image da ui, as propriedades básicas são as mesmas que a Image, raramente é usado sozinho.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do RawImage", - "desc": [ - "【image】 : Imagem 【ui.Image】", - "【width】 : Largura 【int】", - "【height】: Altura 【int】", - "【isAntiAlias】: Anti-aliasing 【bool】", - "【filterQuality】: Qualidade do Filtro 【FilterQuality】", - "Muitas propriedades são as mesmas que a Image, consulte para mais detalhes." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RawImage/desc_ru_RU.json b/modules/widget_system/widgets/lib/Other/RawImage/desc_ru_RU.json deleted file mode 100644 index 062b9d798..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 313, - "name": "RawImage", - "localName": "Исходное изображение", - "info": "Это основной компонент, реализующий компонент Image, который может отображать изображение UI. Основные свойства такие же, как у Image, и он редко используется отдельно.", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RawImage", - "desc": [ - "【image】 : изображение 【ui.Image】", - "【width】 : ширина 【int】", - "【height】: высота 【int】", - "【isAntiAlias】: сглаживание 【bool】", - "【filterQuality】: качество фильтрации 【FilterQuality】", - "Многие свойства такие же, как у Image, подробнее см. в нем." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RawImage/desc_zh-CN.json b/modules/widget_system/widgets/lib/Other/RawImage/desc_zh-CN.json deleted file mode 100644 index b4b220896..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 313, - "name": "RawImage", - "localName": "原图片", - "info": "是实现Image组件的核心组件,可以显示ui的Image,基本属性同Image,一般很少单独使用。", - "lever": 2, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawImage基本使用", - "desc": [ - "【image】 : 图片 【ui.Image】", - "【width】 : 宽 【int】", - "【height】: 高 【int】", - "【isAntiAlias】: 是否抗锯齿 【bool】", - "【filterQuality】: 过滤质量 【FilterQuality】", - "很多属性同Image,详见之." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RawImage/node1_base.dart b/modules/widget_system/widgets/lib/Other/RawImage/node1_base.dart deleted file mode 100644 index 6c6512e6e..000000000 --- a/modules/widget_system/widgets/lib/Other/RawImage/node1_base.dart +++ /dev/null @@ -1,82 +0,0 @@ -import 'dart:async'; -import 'dart:typed_data'; -import 'dart:ui' as ui; - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - -class RawImageDemo extends StatefulWidget { - const RawImageDemo({Key? key}) : super(key: key); - - @override - _RawImageDemoState createState() => _RawImageDemoState(); -} - -class _RawImageDemoState extends State { - ui.Image? _image; - - @override - void initState() { - super.initState(); - _loadImageFromAssets('assets/images/icon_head.webp'); - } - - @override - Widget build(BuildContext context) { - if (_image == null) { - return const SizedBox( - width: 80, - height: 80, - ); - } - - return Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Column( - mainAxisSize: MainAxisSize.min, - children: [ - RawImage( - image: _image, - width: 150, - height: 150, - isAntiAlias: true, - filterQuality: FilterQuality.high, - ), - const Text('isAntiAlias: true'), - const Text('FilterQuality.high') - ], - ), - Column( - mainAxisSize: MainAxisSize.min, - children: [ - RawImage( - image: _image, - width: 150, - height: 150, - isAntiAlias: false, - ), - const Text('isAntiAlias: false'), - const Text('FilterQuality.low') - ], - ), - ], - ); - } - - void _loadImageFromAssets(String name) async { - _image = await loadImageFromAssets(name); - setState(() {}); - } - - //读取 assets 中的图片 - Future loadImageFromAssets(String path) async { - ByteData data = await rootBundle.load(path); - List bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes); - return decodeImageFromList(Uint8List.fromList(bytes)); - } -} diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_de_DE.json b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_de_DE.json deleted file mode 100644 index 93d8f92c7..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 289, - "name": "RenderObjectToWidgetAdapter", - "localName": "Stammkomponente", - "info": "Brücke zwischen RenderObject und Element-Baum.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in RenderObjectToWidgetAdapter", - "desc": [ - "【container】 : Rendering-Objekt 【RenderObjectWithChildMixin】", - "【child】 : Unterkomponente 【Widget】", - "【debugShortDescription】 : Debug-Kurzbeschreibung 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_en_US.json b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_en_US.json deleted file mode 100644 index ef938e9ea..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 289, - "name": "RenderObjectToWidgetAdapter", - "localName": "Root Component", - "info": "The bridge between RenderObject and Element tree.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to RenderObjectToWidgetAdapter", - "desc": [ - "【container】 : Render object 【RenderObjectWithChildMixin】", - "【child】 : Child component 【Widget】", - "【debugShortDescription】 : Debugging introduction 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_es_ES.json b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_es_ES.json deleted file mode 100644 index 9120b7422..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 289, - "name": "RenderObjectToWidgetAdapter", - "localName": "Componente raíz", - "info": "Puente entre RenderObject y el árbol de Element.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a RenderObjectToWidgetAdapter", - "desc": [ - "【container】 : Objeto de renderizado 【RenderObjectWithChildMixin】", - "【child】 : Componente hijo 【Widget】", - "【debugShortDescription】 : Descripción corta de depuración 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_fr_FR.json b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_fr_FR.json deleted file mode 100644 index ea95a3db6..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 289, - "name": "RenderObjectToWidgetAdapter", - "localName": "Composant racine", - "info": "Pont entre RenderObject et l'arbre Element.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à RenderObjectToWidgetAdapter", - "desc": [ - "【container】 : objet de rendu 【RenderObjectWithChildMixin】", - "【child】 : composant enfant 【Widget】", - "【debugShortDescription】 : description de débogage 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_it_IT.json b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_it_IT.json deleted file mode 100644 index a0e27e510..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 289, - "name": "RenderObjectToWidgetAdapter", - "localName": "Componente radice", - "info": "Ponte tra RenderObject e l'albero degli Element.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a RenderObjectToWidgetAdapter", - "desc": [ - "【container】 : Oggetto di rendering 【RenderObjectWithChildMixin】", - "【child】 : Componente figlio 【Widget】", - "【debugShortDescription】 : Breve descrizione di debug 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_ja_JP.json b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_ja_JP.json deleted file mode 100644 index 206fc9fc7..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 289, - "name": "RenderObjectToWidgetAdapter", - "localName": "ルートコンポーネント", - "info": "RenderObject と Element ツリーの橋渡し。", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RenderObjectToWidgetAdapter 紹介", - "desc": [ - "【container】 : レンダリングオブジェクト 【RenderObjectWithChildMixin】", - "【child】 : 子コンポーネント 【Widget】", - "【debugShortDescription】 : デバッグ概要 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_ko_KR.json b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_ko_KR.json deleted file mode 100644 index 35c8289a4..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 289, - "name": "RenderObjectToWidgetAdapter", - "localName": "루트 컴포넌트", - "info": "RenderObject와 Element 트리의 다리.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RenderObjectToWidgetAdapter 소개", - "desc": [ - "【container】 : 렌더링 객체 【RenderObjectWithChildMixin】", - "【child】 : 자식 컴포넌트 【Widget】", - "【debugShortDescription】 : 디버그 간략 설명 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_pt_PT.json b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_pt_PT.json deleted file mode 100644 index dbbcb4585..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 289, - "name": "RenderObjectToWidgetAdapter", - "localName": "Componente Raiz", - "info": "Ponte entre RenderObject e a árvore de Element.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao RenderObjectToWidgetAdapter", - "desc": [ - "【container】 : Objeto de renderização 【RenderObjectWithChildMixin】", - "【child】 : Componente filho 【Widget】", - "【debugShortDescription】 : Breve descrição de depuração 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_ru_RU.json b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_ru_RU.json deleted file mode 100644 index 39198c7b0..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 289, - "name": "RenderObjectToWidgetAdapter", - "localName": "Корневой компонент", - "info": "Мост между RenderObject и деревом Element.", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в RenderObjectToWidgetAdapter", - "desc": [ - "【container】 : Объект рендеринга 【RenderObjectWithChildMixin】", - "【child】 : Дочерний компонент 【Widget】", - "【debugShortDescription】 : Краткое описание для отладки 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_zh-CN.json b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_zh-CN.json deleted file mode 100644 index 4a6c2a0be..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 289, - "name": "RenderObjectToWidgetAdapter", - "localName": "根组件", - "info": "RenderObject 和 Element 树的桥梁。", - "lever": 1, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RenderObjectToWidgetAdapter 介绍", - "desc": [ - "【container】 : 渲染对象 【RenderObjectWithChildMixin】", - "【child】 : 子组件 【Widget】", - "【debugShortDescription】 : 调试简介 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/node1_base.dart b/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/node1_base.dart deleted file mode 100644 index fa1461921..000000000 --- a/modules/widget_system/widgets/lib/Other/RenderObjectToWidgetAdapter/node1_base.dart +++ /dev/null @@ -1,25 +0,0 @@ - -import 'package:flutter/material.dart'; - - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class RenderObjectToWidgetAdapterDemo extends StatelessWidget { - const RenderObjectToWidgetAdapterDemo({Key? key}) : super(key: key); - - final String info = - '该组件并没有什么太大的使用价值,但却非常有纪念意义。它是 Flutter 框架中最顶层的 Widget,它的 child 是 runApp 传入的组件,在 attachRootWidget 方法中被实例化。' - '它持有根渲染对象 RenderView ,负责创建根元素 RenderObjectToWidgetElement,是一个无名英雄,一个深藏功与名的组件。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/Other/Table/desc_de_DE.json b/modules/widget_system/widgets/lib/Other/Table/desc_de_DE.json deleted file mode 100644 index f85552317..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 110, - "name": "Table", - "localName": "Tabellenkomponente", - "info": "Eine Komponente zur Anzeige von Tabellen, bei der Eigenschaften wie Rahmen, Spaltenbreite, Textrichtung usw. angegeben werden können. Der Kernobjekttyp ist TableRow.", - "lever": 4, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Table", - "desc": [ - "【children】: Widget-Liste 【List】", - "【columnWidths】: Spaltenbreite 【Map】", - "【defaultColumnWidth】: Standardspaltenbreite 【TableColumnWidth】", - "【border】: Rahmen 【TableBorder】", - "【textDirection】: Textrichtung 【TextDirection】", - "【defaultVerticalAlignment】: Vertikale Ausrichtung der Zellen 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/Table/desc_en_US.json b/modules/widget_system/widgets/lib/Other/Table/desc_en_US.json deleted file mode 100644 index 0e58923b8..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 110, - "name": "Table", - "localName": "Table Component", - "info": "A component for displaying tables, which can specify properties such as borders, column widths, text direction, etc. The core object type is TableRow.", - "lever": 4, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Table", - "desc": [ - "【children】: Component list 【List】", - "【columnWidths】: Column widths 【Map】", - "【defaultColumnWidth】: Default column width 【TableColumnWidth】", - "【border】: Border 【TableBorder】", - "【textDirection】: Text direction 【TextDirection】", - "【defaultVerticalAlignment】: Vertical alignment mode of cells 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/Table/desc_es_ES.json b/modules/widget_system/widgets/lib/Other/Table/desc_es_ES.json deleted file mode 100644 index 34ded9043..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 110, - "name": "Table", - "localName": "Componente de tabla", - "info": "Componente utilizado para mostrar tablas, se pueden especificar atributos como bordes, ancho de columna, dirección del texto, etc. El tipo de objeto principal es TableRow.", - "lever": 4, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Table", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【columnWidths】 : Ancho de columna 【Map】", - "【defaultColumnWidth】 : Ancho de columna predeterminado 【TableColumnWidth】", - "【border】 : Borde 【TableBorder】", - "【textDirection】 : Dirección del texto 【TextDirection】", - "【defaultVerticalAlignment】 : Modo de alineación vertical de la celda 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/Table/desc_fr_FR.json b/modules/widget_system/widgets/lib/Other/Table/desc_fr_FR.json deleted file mode 100644 index 790cee5c9..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 110, - "name": "Table", - "localName": "Composant de tableau", - "info": "Composant utilisé pour afficher des tableaux, permettant de spécifier des propriétés telles que les bordures, la largeur des colonnes, la direction du texte, etc. Le type d'objet principal est TableRow.", - "lever": 4, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Table", - "desc": [ - "【children】 : Liste des composants 【List】", - "【columnWidths】 : Largeur des colonnes 【Map】", - "【defaultColumnWidth】 : Largeur de colonne par défaut 【TableColumnWidth】", - "【border】 : Bordure 【TableBorder】", - "【textDirection】 : Direction du texte 【TextDirection】", - "【defaultVerticalAlignment】 : Mode d'alignement vertical des cellules 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/Table/desc_it_IT.json b/modules/widget_system/widgets/lib/Other/Table/desc_it_IT.json deleted file mode 100644 index f77e38ba2..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 110, - "name": "Table", - "localName": "Componente tabella", - "info": "Componente utilizzato per visualizzare tabelle, è possibile specificare attributi come bordi, larghezza delle colonne, direzione del testo, ecc. Il tipo di oggetto principale è TableRow.", - "lever": 4, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Table", - "desc": [ - "【children】 : Lista dei componenti 【List】", - "【columnWidths】 : Larghezza delle colonne 【Map】", - "【defaultColumnWidth】 : Larghezza predefinita delle colonne 【TableColumnWidth】", - "【border】 : Bordo 【TableBorder】", - "【textDirection】 : Direzione del testo 【TextDirection】", - "【defaultVerticalAlignment】 : Modalità di allineamento verticale delle celle 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/Table/desc_ja_JP.json b/modules/widget_system/widgets/lib/Other/Table/desc_ja_JP.json deleted file mode 100644 index 63bdadaed..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 110, - "name": "Table", - "localName": "テーブルコンポーネント", - "info": "テーブルを表示するためのコンポーネントで、境界線、列幅、テキストの方向などの属性を指定できます。コアオブジェクトタイプはTableRowです。", - "lever": 4, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "テーブルの基本使用", - "desc": [ - "【children】 : コンポーネントリスト 【List】", - "【columnWidths】 : 列幅 【Map】", - "【defaultColumnWidth】 : デフォルトの列幅 【TableColumnWidth】", - "【border】 : 境界線 【TableBorder】", - "【textDirection】 : テキストの方向 【TextDirection】", - "【defaultVerticalAlignment】 : セルの垂直方向の整列モード 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/Table/desc_ko_KR.json b/modules/widget_system/widgets/lib/Other/Table/desc_ko_KR.json deleted file mode 100644 index 1be344186..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 110, - "name": "Table", - "localName": "테이블 컴포넌트", - "info": "테이블을 표시하는 컴포넌트로, 테두리, 열 너비, 텍스트 방향 등의 속성을 지정할 수 있으며, 핵심 객체 유형은 TableRow입니다.", - "lever": 4, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Table 기본 사용법", - "desc": [ - "【children】 : 컴포넌트 리스트 【List】", - "【columnWidths】 : 열 너비 【Map】", - "【defaultColumnWidth】 : 기본 열 너비 【TableColumnWidth】", - "【border】 : 테두리 【TableBorder】", - "【textDirection】 : 텍스트 방향 【TextDirection】", - "【defaultVerticalAlignment】 : 셀 세로 정렬 모드 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/Table/desc_pt_PT.json b/modules/widget_system/widgets/lib/Other/Table/desc_pt_PT.json deleted file mode 100644 index c1a9f991e..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 110, - "name": "Table", - "localName": "Componente de Tabela", - "info": "Componente utilizado para exibir tabelas, pode especificar propriedades como bordas, largura das colunas, direção do texto, etc., o tipo de objeto principal é TableRow.", - "lever": 4, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico da Tabela", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【columnWidths】 : Largura das colunas 【Map】", - "【defaultColumnWidth】 : Largura padrão da coluna 【TableColumnWidth】", - "【border】 : Borda 【TableBorder】", - "【textDirection】 : Direção do texto 【TextDirection】", - "【defaultVerticalAlignment】 : Modo de alinhamento vertical das células 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/Table/desc_ru_RU.json b/modules/widget_system/widgets/lib/Other/Table/desc_ru_RU.json deleted file mode 100644 index c3045e214..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 110, - "name": "Table", - "localName": "Компонент таблицы", - "info": "Компонент для отображения таблиц, может задавать свойства границ, ширины столбцов, направления текста и т.д. Основной тип объекта - TableRow.", - "lever": 4, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Table", - "desc": [ - "【children】 : Список компонентов 【List】", - "【columnWidths】 : Ширина столбцов 【Map】", - "【defaultColumnWidth】 : Ширина столбца по умолчанию 【TableColumnWidth】", - "【border】 : Границы 【TableBorder】", - "【textDirection】 : Направление текста 【TextDirection】", - "【defaultVerticalAlignment】 : Режим выравнивания по вертикали в ячейке 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/Table/desc_zh-CN.json b/modules/widget_system/widgets/lib/Other/Table/desc_zh-CN.json deleted file mode 100644 index 25a10b9d0..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 110, - "name": "Table", - "localName": "表格组件", - "info": "用于展示表格的组件,可指定边线、列宽、文字方向等属性,核心对象类型是TableRow。", - "lever": 4, - "family": 6, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Table基本使用", - "desc": [ - "【children】 : 组件列表 【List】", - "【columnWidths】 : 列宽 【Map】", - "【defaultColumnWidth】 : 默认列宽 【TableColumnWidth】", - "【border】 : 边线 【TableBorder】", - "【textDirection】 : 文字方向 【TextDirection】", - "【defaultVerticalAlignment】 : 单元格竖直方向对齐模式 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Other/Table/node1_base.dart b/modules/widget_system/widgets/lib/Other/Table/node1_base.dart deleted file mode 100644 index 6e12bbfb9..000000000 --- a/modules/widget_system/widgets/lib/Other/Table/node1_base.dart +++ /dev/null @@ -1,72 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomTable extends StatelessWidget { - const CustomTable({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - _ItemBean title = _ItemBean("单位称", "量纲", "单位", "单位名称", "单位符号"); - _ItemBean m = _ItemBean("长度", "L", "1m", "米", "m"); - _ItemBean kg = _ItemBean("质量", "M", "1Kg", "千克", "Kg"); - _ItemBean s = _ItemBean("时间", "T", "1s", "秒", "s"); - _ItemBean a = _ItemBean("安培", "Ι", "1A", "安培", "A"); - _ItemBean k = _ItemBean("热力学温度", "θ", "1K", "开尔文", "K"); - _ItemBean mol = _ItemBean("物质的量", "N", "1mol", "摩尔", "mol"); - _ItemBean cd = _ItemBean("发光强度", "J", "1cd", "坎德拉", "cd"); - - List<_ItemBean> data = [title, m, kg, s, a, k, mol, cd]; - - return SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: Table( - columnWidths: const { - 0: FixedColumnWidth(80.0), - 1: FixedColumnWidth(80.0), - 2: FixedColumnWidth(80.0), - 3: FixedColumnWidth(80.0), - 4: FixedColumnWidth(80.0), - }, - defaultVerticalAlignment: TableCellVerticalAlignment.middle, - border: TableBorder.all( - color: Colors.orangeAccent, width: 1.0, style: BorderStyle.solid), - children: data - .map((item) => TableRow(children: [ - Center( - child: Text( - item.name, - style: const TextStyle(color: Colors.blue), - )), - Padding( - padding: const EdgeInsets.all(8.0), - child: Center(child: Text(item.symbol)), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: Center(child: Text(item.unitSymbol)), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: Center(child: Text(item.unitName)), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: Center(child: Text(item.unit)), - ), - ])) - .toList(), - ), - ); - } -} - -class _ItemBean { - String name; - String symbol; - String unit; - String unitName; - String unitSymbol; - - _ItemBean(this.name, this.symbol, this.unit, this.unitName, this.unitSymbol); -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_de_DE.json deleted file mode 100644 index 4d5f47cc7..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 338, - "name": "ButtonBarTheme", - "localName": "Button-Leiste Thema", - "info": "Wird hauptsächlich verwendet, um Standardattribute für nachfolgende ButtonBar-Komponenten festzulegen. Es kann auch verwendet werden, um die Attribute des Standard-ButtonBarThemas zu erhalten.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ButtonBarTheme", - "desc": [ - "Kann die ButtonBarThemeData-Attribute festlegen, um Standardstile für nachfolgende ButtonBar-Komponenten zu setzen, wie Ausrichtung, Stil, Ränder usw. Es kann auch ButtonBarTheme.of verwendet werden, um die Theme-Attribute der ButtonBar zu erhalten." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_en_US.json deleted file mode 100644 index cb837bfe3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 338, - "name": "ButtonBarTheme", - "localName": "Button Bar Theme", - "info": "Mainly used to set default properties for descendant ButtonBar components uniformly. It can also be used to obtain the properties of the default ButtonBarTheme.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ButtonBarTheme", - "desc": [ - "You can specify the ButtonBarThemeData properties to set default styles for descendant ButtonBar components, such as alignment, style, margins, etc. You can also use ButtonBarTheme.of to get the theme properties of ButtonBar." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_es_ES.json deleted file mode 100644 index e249df4f1..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 338, - "name": "ButtonBarTheme", - "localName": "Tema de la barra de botones", - "info": "Principalmente se utiliza para establecer propiedades predeterminadas unificadas para los componentes ButtonBar descendientes, también se pueden obtener las propiedades del tema ButtonBarTheme predeterminado a través de este componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ButtonBarTheme", - "desc": [ - "Se puede especificar el atributo de datos ButtonBarThemeData para establecer el estilo predeterminado para los componentes ButtonBar descendientes, como la alineación, el estilo, los márgenes, etc. También se puede usar ButtonBarTheme.of para obtener las propiedades del tema ButtonBar." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_fr_FR.json deleted file mode 100644 index f73070f19..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 338, - "name": "ButtonBarTheme", - "localName": "Thème de la barre de boutons", - "info": "Principalement utilisé pour définir les propriétés par défaut des composants ButtonBar descendants. Il est également possible d'obtenir les propriétés du ButtonBarTheme par défaut via ce composant.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ButtonBarTheme", - "desc": [ - "Vous pouvez spécifier les propriétés de données de ButtonBarThemeData pour définir le style par défaut des composants ButtonBar descendants, tels que l'alignement, le style, les marges, etc. Vous pouvez également utiliser ButtonBarTheme.of pour obtenir les propriétés du thème ButtonBar." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_it_IT.json deleted file mode 100644 index 9f3b9fa7a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 338, - "name": "ButtonBarTheme", - "localName": "Tema della barra dei pulsanti", - "info": "Utilizzato principalmente per impostare le proprietà predefinite per i componenti ButtonBar discendenti, oppure per ottenere le proprietà del tema ButtonBarTheme predefinito tramite questo componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ButtonBarTheme", - "desc": [ - "È possibile specificare le proprietà dei dati ButtonBarThemeData per impostare lo stile predefinito per i componenti ButtonBar discendenti, come allineamento, stile, margini, ecc. È anche possibile utilizzare ButtonBarTheme.of per ottenere le proprietà del tema ButtonBar." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_ja_JP.json deleted file mode 100644 index c74d681e7..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 338, - "name": "ButtonBarTheme", - "localName": "ボタンバーテーマ", - "info": "主に子孫のButtonBarコンポーネントにデフォルトのプロパティを統一して設定するために使用されます。また、このコンポーネントを通じてデフォルトのButtonBarThemeのプロパティを取得することもできます。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonBarThemeの基本的な使用", - "desc": [ - "ButtonBarThemeDataデータ属性を指定して、子孫のButtonBarコンポーネントにデフォルトのスタイルを設定できます。例えば、配置、スタイル、余白などです。また、ButtonBarTheme.ofを使用してButtonBarのテーマプロパティを取得することもできます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_ko_KR.json deleted file mode 100644 index 50339341d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 338, - "name": "ButtonBarTheme", - "localName": "버튼 바 테마", - "info": "주로 후손 ButtonBar 컴포넌트에 기본 속성을 통일적으로 설정하기 위해 사용되며, 이 컴포넌트를 통해 기본 ButtonBarTheme의 속성을 가져올 수도 있습니다.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonBarTheme 기본 사용법", - "desc": [ - "ButtonBarThemeData 데이터 속성을 지정하여 후손 ButtonBar 컴포넌트의 기본 스타일(예: 정렬 방식, 스타일, 여백 등)을 설정할 수 있습니다. 또한 ButtonBarTheme.of를 사용하여 ButtonBar의 테마 속성을 가져올 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_pt_PT.json deleted file mode 100644 index 058b46e08..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 338, - "name": "ButtonBarTheme", - "localName": "Tema da Barra de Botões", - "info": "Principalmente usado para definir propriedades padrão para componentes ButtonBar descendentes, também pode ser usado para obter as propriedades do ButtonBarTheme padrão.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ButtonBarTheme", - "desc": [ - "Pode especificar as propriedades de dados do ButtonBarThemeData para definir o estilo padrão para componentes ButtonBar descendentes, como alinhamento, estilo, margens, etc. Também pode usar ButtonBarTheme.of para obter as propriedades do tema do ButtonBar." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_ru_RU.json deleted file mode 100644 index 5bdfa179a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 338, - "name": "ButtonBarTheme", - "localName": "Тема панели кнопок", - "info": "В основном используется для установки стандартных свойств для компонентов ButtonBar у потомков, также можно получить свойства стандартной ButtonBarTheme через этот компонент.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ButtonBarTheme", - "desc": [ - "Можно указать свойства данных ButtonBarThemeData для установки стандартного стиля для компонентов ButtonBar у потомков, таких как выравнивание, стиль, отступы и т.д. Также можно использовать ButtonBarTheme.of для получения темы ButtonBar." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_zh-CN.json deleted file mode 100644 index bcb82e0d5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 338, - "name": "ButtonBarTheme", - "localName": "按钮条主题", - "info": "主要用于为后代的ButtonBar组件统一设置默认属性,也可以通过该组件获取默认ButtonBarTheme的属性。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonBarTheme基本使用", - "desc": [ - "可指定ButtonBarThemeData数据属性为【后代】的ButtonBar组件设置默认样式,如对齐方式、样式、边距等。也可以用ButtonBarTheme.of获取ButtonBar的主题属性。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/node1_base.dart deleted file mode 100644 index a05838c26..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonBarTheme/node1_base.dart +++ /dev/null @@ -1,44 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class ButtonBarThemeDemo extends StatelessWidget { - const ButtonBarThemeDemo({super.key}); - - @override - Widget build(BuildContext context) { - return ButtonBarTheme( - data: ButtonBarTheme.of(context).copyWith( - alignment: MainAxisAlignment.center, - buttonPadding: const EdgeInsets.symmetric(horizontal: 6), - overflowDirection: VerticalDirection.up, - buttonMinWidth: 150, - buttonHeight: 30, - buttonTextTheme: ButtonTextTheme.primary), - child: const TempButtonBar()); - } -} - -class TempButtonBar extends StatelessWidget { - const TempButtonBar({super.key}); - - @override - Widget build(BuildContext context) { - return ButtonBar( - alignment: MainAxisAlignment.center, - children: [ - ElevatedButton( - style: ElevatedButton.styleFrom(backgroundColor: Colors.blue), - child: const Text("1.Elevated"), onPressed: () {}), - OutlinedButton(child: const Text("2.Outlined"), onPressed: () {}), - TextButton( - style: ElevatedButton.styleFrom(backgroundColor: Colors.blue), - onPressed: () {}, - child: const Text("3.Text"), - ) - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_de_DE.json deleted file mode 100644 index 6deddb8ec..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 326, - "name": "ButtonTheme", - "localName": "Schaltflächendesign", - "info": "Wird hauptsächlich verwendet, um Standardattribute für nachfolgende Schaltflächenkomponenten festzulegen. Es kann auch verwendet werden, um die Standardattribute der Schaltfläche zu erhalten.", - "lever": 3, - "family": 5, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Verwendung von ButtonTheme", - "desc": [ - "Die Attribute sind die gleichen wie bei MaterialButton. Die Schaltflächendesign-Daten können über ButtonTheme.of abgerufen werden.", - "Es kann auch das Standarddesign für Schaltflächenkomponenten, die Nachkommen von ButtonTheme sind, festgelegt werden, einschließlich Farbe, Form, Größe usw." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_en_US.json deleted file mode 100644 index 86283d7df..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 326, - "name": "ButtonTheme", - "localName": "Button Style", - "info": "Mainly used to set default properties for descendant Button-type components uniformly, and also to obtain the default properties of a Button through this component.", - "lever": 3, - "family": 5, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonTheme Usage", - "desc": [ - "The property parameters are the same as MaterialButton. You can obtain button theme data through ButtonTheme.of, \"", - "and also set default styles for button components that are descendants of ButtonTheme, including color, shape, size, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_es_ES.json deleted file mode 100644 index d3a22e41b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 326, - "name": "ButtonTheme", - "localName": "Tema del botón", - "info": "Se utiliza principalmente para establecer propiedades predeterminadas unificadas para los componentes de tipo Button en los descendientes, también se pueden obtener las propiedades predeterminadas del Button a través de este componente.", - "lever": 3, - "family": 5, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de ButtonTheme", - "desc": [ - "Los parámetros de las propiedades son los mismos que MaterialButton, se pueden obtener los datos del tema del botón a través de ButtonTheme.of, \"", - "también se pueden establecer estilos predeterminados para los componentes de botón descendientes de ButtonTheme, incluyendo color, forma, tamaño, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_fr_FR.json deleted file mode 100644 index 729454fa9..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 326, - "name": "ButtonTheme", - "localName": "Thème de bouton", - "info": "Principalement utilisé pour définir les propriétés par défaut des composants de type Button pour les descendants, ou pour obtenir les propriétés par défaut d'un Button via ce composant.", - "lever": 3, - "family": 5, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de ButtonTheme", - "desc": [ - "Les paramètres des propriétés sont les mêmes que MaterialButton, vous pouvez obtenir les données du thème du bouton via ButtonTheme.of, \"", - "ou définir le style par défaut pour les composants bouton descendants de ButtonTheme, y compris la couleur, la forme, la taille, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_it_IT.json deleted file mode 100644 index 6fc4a22df..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 326, - "name": "ButtonTheme", - "localName": "Tema del pulsante", - "info": "Utilizzato principalmente per impostare le proprietà predefinite per i componenti di tipo Button discendenti, o per ottenere le proprietà predefinite del Button attraverso questo componente.", - "lever": 3, - "family": 5, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di ButtonTheme", - "desc": [ - "I parametri delle proprietà sono gli stessi di MaterialButton, è possibile ottenere i dati del tema del pulsante tramite ButtonTheme.of, \"", - "è anche possibile impostare lo stile predefinito per i componenti pulsante discendenti di ButtonTheme, inclusi colore, forma, dimensione, ecc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_ja_JP.json deleted file mode 100644 index 3b65829dc..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 326, - "name": "ButtonTheme", - "localName": "ボタンスタイル", - "info": "主に子孫のButtonタイプコンポーネントにデフォルトのプロパティを統一して設定するために使用されます。また、このコンポーネントを通じてデフォルトのButtonのプロパティを取得することもできます。", - "lever": 3, - "family": 5, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonThemeの使用", - "desc": [ - "MaterialButtonと同じ属性パラメータで、ButtonTheme.ofを使用してボタンのテーマデータを取得できます。", - "また、ButtonThemeの【子孫】のボタンコンポーネントにデフォルトのスタイルを設定することもできます。これには色、形状、サイズなどが含まれます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_ko_KR.json deleted file mode 100644 index ef5b7c412..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 326, - "name": "ButtonTheme", - "localName": "버튼 스타일", - "info": "주로 후손 Button 유형의 컴포넌트에 기본 속성을 통일적으로 설정하기 위해 사용되며, 이 컴포넌트를 통해 기본 Button의 속성을 얻을 수도 있습니다.", - "lever": 3, - "family": 5, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonTheme 사용", - "desc": [ - "속성 매개변수는 MaterialButton과 동일하며, ButtonTheme.of를 통해 버튼 테마 데이터를 얻을 수 있습니다.", - "또한 ButtonTheme의 【후손】 버튼 컴포넌트에 기본 스타일(색상, 모양, 크기 등)을 설정할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_pt_PT.json deleted file mode 100644 index c33815d6d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 326, - "name": "ButtonTheme", - "localName": "Tema do Botão", - "info": "Principalmente usado para definir propriedades padrão uniformes para componentes do tipo Button descendentes, também pode ser usado para obter as propriedades padrão do Button através deste componente.", - "lever": 3, - "family": 5, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do ButtonTheme", - "desc": [ - "Os parâmetros de propriedade são os mesmos que o MaterialButton, os dados do tema do botão podem ser obtidos através de ButtonTheme.of,", - "também pode definir estilos padrão para componentes de botão descendentes do ButtonTheme, incluindo cor, forma, tamanho, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_ru_RU.json deleted file mode 100644 index 03a5a59bf..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 326, - "name": "ButtonTheme", - "localName": "Тема кнопки", - "info": "В основном используется для установки стандартных свойств для компонентов типа Button у потомков, также можно получить свойства стандартной кнопки через этот компонент.", - "lever": 3, - "family": 5, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование ButtonTheme", - "desc": [ - "Параметры свойств аналогичны MaterialButton, можно получить данные темы кнопки через ButtonTheme.of,", - "также можно установить стандартные стили для компонентов кнопок-потомков ButtonTheme, включая цвет, форму, размер и т.д." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_zh-CN.json deleted file mode 100644 index 57fc08cec..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 326, - "name": "ButtonTheme", - "localName": "按钮样式", - "info": "主要用于为后代的Button类型组件统一设置默认属性,也可以通过该组件获取默认Button的属性。", - "lever": 3, - "family": 5, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonTheme使用", - "desc": [ - "属性参数同MaterialButton,可以通过ButtonTheme.of获取按钮主题数据,\"", - "也可以为ButtonTheme【后代】的按钮组件设置默认样式,包括颜色、形状、尺寸等。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/node1_base.dart deleted file mode 100644 index 4adfd83c9..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ButtonTheme/node1_base.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-12 -/// contact me by email 1981462002@qq.com - - - -class ButtonThemeDemo extends StatelessWidget { - const ButtonThemeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ButtonTheme( - buttonColor: Colors.orange, - splashColor: Colors.blue, - minWidth: 40, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - child: Wrap( - spacing: 10, - children: [ - ElevatedButton(onPressed: (){},child: const Icon(Icons.add)), - TextButton(onPressed: (){},child: const Icon(Icons.add)), - OutlinedButton(onPressed: (){},child: const Icon(Icons.add)), - MaterialButton(onPressed: (){},child: const Icon(Icons.add)), - ], - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_de_DE.json deleted file mode 100644 index b875ae523..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 328, - "name": "ChipTheme", - "localName": "Chip-Stil", - "info": "Wird hauptsächlich verwendet, um Standardattribute für Chip-Typ-Komponenten für Nachkommen festzulegen. Es kann auch verwendet werden, um die Standardattribute des Chips abzurufen.", - "lever": 3, - "family": 5, - "linkIds": [ - 11, - 153, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ChipTheme", - "desc": [ - "Kann ChipThemeData-Datenattribute angeben, um Standardstile für Chip-Typ-Komponenten für Nachkommen festzulegen. Die Attribute ähneln denen des Chips, wie Schatten, Farbe, Abstand, Form, Textstil usw. ChipTheme.of kann auch verwendet werden, um die Themendaten des Chips abzurufen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_en_US.json deleted file mode 100644 index 8007a4be3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 328, - "name": "ChipTheme", - "localName": "Chip Style", - "info": "Mainly used to set default properties for Chip type components of descendants, and can also be used to obtain the default properties of Chip.", - "lever": 3, - "family": 5, - "linkIds": [ - 11, - 153, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ChipTheme", - "desc": [ - "You can specify the ChipThemeData properties to set default styles for Chip type components of descendants. The properties are similar to those of Chip, such as shadow, color, margin, shape, text style, etc. You can also use ChipTheme.of to get the theme data of Chip." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_es_ES.json deleted file mode 100644 index 7621db9ad..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 328, - "name": "ChipTheme", - "localName": "Estilo de Chip", - "info": "Principalmente se utiliza para establecer propiedades predeterminadas unificadas para componentes de tipo Chip descendientes, también se puede utilizar este componente para obtener las propiedades predeterminadas de Chip.", - "lever": 3, - "family": 5, - "linkIds": [ - 11, - 153, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ChipTheme", - "desc": [ - "Se pueden especificar las propiedades de datos de ChipThemeData para establecer estilos predeterminados para componentes de tipo Chip descendientes, las propiedades son similares a las de Chip, como sombras, colores, márgenes, formas, estilos de texto, etc. También se puede usar ChipTheme.of para obtener los datos del tema de Chip." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_fr_FR.json deleted file mode 100644 index aad67185c..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 328, - "name": "ChipTheme", - "localName": "Style de la petite barre", - "info": "Principalement utilisé pour définir les propriétés par défaut des composants de type Chip pour les descendants, il est également possible d'obtenir les propriétés par défaut de Chip via ce composant.", - "lever": 3, - "family": 5, - "linkIds": [ - 11, - 153, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ChipTheme", - "desc": [ - "Il est possible de spécifier les propriétés de données ChipThemeData pour définir le style par défaut des composants de type Chip pour les descendants, les propriétés sont similaires à celles de Chip, telles que l'ombre, la couleur, la marge, la forme, le style de texte, etc. Il est également possible d'obtenir les données de thème de Chip en utilisant ChipTheme.of." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_it_IT.json deleted file mode 100644 index ec2f5d99a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 328, - "name": "ChipTheme", - "localName": "Stile della linguetta", - "info": "Utilizzato principalmente per impostare le proprietà predefinite per i componenti di tipo Chip discendenti, è anche possibile ottenere le proprietà predefinite di Chip tramite questo componente.", - "lever": 3, - "family": 5, - "linkIds": [ - 11, - 153, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ChipTheme", - "desc": [ - "È possibile specificare le proprietà dei dati ChipThemeData per impostare lo stile predefinito per i componenti di tipo Chip discendenti, le proprietà sono simili a quelle di Chip, come ombre, colori, margini, forme, stili di testo, ecc. È anche possibile utilizzare ChipTheme.of per ottenere i dati del tema di Chip." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_ja_JP.json deleted file mode 100644 index 047f618ac..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 328, - "name": "ChipTheme", - "localName": "チップスタイル", - "info": "主に子孫のChipタイプコンポーネントにデフォルトのプロパティを統一して設定するために使用されます。また、このコンポーネントを通じてデフォルトのChipのプロパティを取得することもできます。", - "lever": 3, - "family": 5, - "linkIds": [ - 11, - 153, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ChipThemeの基本使用", - "desc": [ - "ChipThemeDataデータプロパティを指定して、【子孫】のChipタイプコンポーネントにデフォルトのスタイルを設定できます。プロパティはChipのプロパティと似ており、影、色、余白、形状、テキストスタイルなどがあります。また、ChipTheme.ofを使用してChipのテーマデータを取得することもできます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_ko_KR.json deleted file mode 100644 index 596a5bec2..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 328, - "name": "ChipTheme", - "localName": "칩 스타일", - "info": "주로 후손의 Chip 타입 컴포넌트에 기본 속성을 통일적으로 설정하기 위해 사용되며, 이 컴포넌트를 통해 기본 Chip의 속성을 가져올 수도 있습니다.", - "lever": 3, - "family": 5, - "linkIds": [ - 11, - 153, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ChipTheme 기본 사용", - "desc": [ - "ChipThemeData 데이터 속성을 지정하여 【후손】의 Chip 타입 컴포넌트에 기본 스타일을 설정할 수 있습니다. 속성은 Chip 속성과 유사하며, 그림자, 색상, 여백, 모양, 텍스트 스타일 등이 포함됩니다. 또한 ChipTheme.of를 사용하여 Chip의 테마 데이터를 가져올 수도 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_pt_PT.json deleted file mode 100644 index e2c9f4bd6..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 328, - "name": "ChipTheme", - "localName": "Estilo de Chip", - "info": "Principalmente usado para definir propriedades padrão para componentes do tipo Chip descendentes, também pode ser usado para obter as propriedades padrão do Chip.", - "lever": 3, - "family": 5, - "linkIds": [ - 11, - 153, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ChipTheme", - "desc": [ - "Pode especificar as propriedades de dados do ChipThemeData para definir o estilo padrão para componentes do tipo Chip descendentes, as propriedades são semelhantes às do Chip, como sombra, cor, margem, forma, estilo de texto, etc. Também pode usar ChipTheme.of para obter os dados do tema do Chip." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_ru_RU.json deleted file mode 100644 index 11fa7bbb6..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 328, - "name": "ChipTheme", - "localName": "Стиль чипа", - "info": "В основном используется для установки стандартных атрибутов для компонентов типа Chip у потомков, также можно получить атрибуты стандартного Chip через этот компонент.", - "lever": 3, - "family": 5, - "linkIds": [ - 11, - 153, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ChipTheme", - "desc": [ - "Можно указать атрибуты данных ChipThemeData для установки стандартного стиля для компонентов типа Chip у потомков, атрибуты аналогичны атрибутам Chip, такие как тень, цвет, отступы, форма, стиль текста и т.д. Также можно получить данные темы Chip с помощью ChipTheme.of." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_zh-CN.json deleted file mode 100644 index 6091b0132..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 328, - "name": "ChipTheme", - "localName": "小条样式", - "info": "主要用于为后代的Chip类型组件统一设置默认属性,也可以通过该组件获取默认Chip的属性。", - "lever": 3, - "family": 5, - "linkIds": [ - 11, - 153, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ChipTheme基本使用", - "desc": [ - "可指定ChipThemeData数据属性为【后代】的Chip类型组件设置默认样式,属性和Chip属性类似,如阴影、颜色、边距、形状、文字样式等。也可以用ChipTheme.of获取Chip的主题数据。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/node1_base.dart deleted file mode 100644 index 29e8f3851..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ChipTheme/node1_base.dart +++ /dev/null @@ -1,74 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/20 -/// contact me by email 1981462002@qq.com - -class ChipThemeDemo extends StatelessWidget { - const ChipThemeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ChipTheme( - data: ChipTheme.of(context).copyWith( - selectedColor: Colors.orange.withAlpha(55), - selectedShadowColor: Colors.blue, - shadowColor: Colors.orangeAccent, - pressElevation: 5, - elevation: 3, - ), - child: const CustomFilterChip(), - ); - } -} - -class CustomFilterChip extends StatefulWidget { - const CustomFilterChip({Key? key}) : super(key: key); - - @override - _CustomFilterChipState createState() => _CustomFilterChipState(); -} - -class _CustomFilterChipState extends State { - final Map map = { - 'A': 'Ant', - 'B': 'Bug', - 'C': 'Cat', - 'D': 'Dog', - }; - final List _selected = []; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Wrap( - children: map.keys.map((key) => _buildChild(key)).toList(), - ), - Container( - padding: const EdgeInsets.all(10), - child: Text('您已选择: ${_selected.join(', ')}')), - ], - ); - } - - Padding _buildChild(String key) { - return Padding( - padding: const EdgeInsets.all(4.0), - child: FilterChip( - avatar: CircleAvatar(child: Text(key)), - label: Text(map[key]!), - selected: _selected.contains(map[key]), - onSelected: (bool value) { - setState(() { - if (value) { - _selected.add(map[key]!); - } else { - _selected.removeWhere((name) => name == map[key]); - } - }); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_de_DE.json deleted file mode 100644 index 984b189a1..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 337, - "name": "CupertinoUserInterfaceLevel", - "localName": "Benutzeroberflächenebene", - "info": "Ein Konzept in iOS, die visuelle Ebene der Benutzeroberfläche UIUserInterfaceLevel, unterteilt in base und elevated. Als InheritedWidget dient es hauptsächlich dazu, diese Daten zu teilen.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in CupertinoUserInterfaceLevel", - "desc": [ - "CupertinoUserInterfaceLevel.of(context) kann CupertinoUserInterfaceLevelData-Daten abrufen. Mit dieser Komponente können auch diese Daten eingerichtet und mit Unterbäumen geteilt werden. Weitere Informationen zur Datenquelle finden Sie unter: https://developer.apple.com/documentation/uikit/uiuserinterfacelevel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_en_US.json deleted file mode 100644 index 608bb59bf..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 337, - "name": "CupertinoUserInterfaceLevel", - "localName": "User Interface Level", - "info": "A concept in iOS, the content visibility level UIUserInterfaceLevel, divided into base and elevated. As an InheritedWidget, it mainly shares this data.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to CupertinoUserInterfaceLevel", - "desc": [ - "CupertinoUserInterfaceLevel.of(context) can retrieve CupertinoUserInterfaceLevelData. This component can also be used to set and share this data with the subtree. For more information about the data source, see: https://developer.apple.com/documentation/uikit/uiuserinterfacelevel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_es_ES.json deleted file mode 100644 index 7c2124b35..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 337, - "name": "CupertinoUserInterfaceLevel", - "localName": "Nivel de Interfaz de Usuario", - "info": "Concepto en iOS, nivel de visibilidad del contenido UIUserInterfaceLevel, dividido en base y elevated. Como un InheritedWidget, su función principal es compartir estos datos.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a CupertinoUserInterfaceLevel", - "desc": [ - "CupertinoUserInterfaceLevel.of(context) puede obtener los datos de CupertinoUserInterfaceLevelData. También se puede usar este componente para configurar y compartir estos datos con el subárbol. Para más detalles sobre el origen de los datos, consulte: https://developer.apple.com/documentation/uikit/uiuserinterfacelevel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_fr_FR.json deleted file mode 100644 index 2c153d743..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 337, - "name": "CupertinoUserInterfaceLevel", - "localName": "Niveau de l'interface utilisateur", - "info": "Concept dans iOS, niveau de visibilité du contenu UIUserInterfaceLevel, divisé en base et elevated. En tant que InheritedWidget, il partage principalement ces données.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à CupertinoUserInterfaceLevel", - "desc": [ - "CupertinoUserInterfaceLevel.of(context) peut récupérer les données CupertinoUserInterfaceLevelData. Ce composant peut également être utilisé pour partager ces données avec le sous-arbre. Pour plus d'informations sur le diagramme des données, voir : https://developer.apple.com/documentation/uikit/uiuserinterfacelevel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_it_IT.json deleted file mode 100644 index 17e17a497..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 337, - "name": "CupertinoUserInterfaceLevel", - "localName": "Livello dell'interfaccia utente", - "info": "Concetto in iOS, livello visivo del contenuto UIUserInterfaceLevel, diviso in base e elevated. Come InheritedWidget, principalmente condivide questi dati.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a CupertinoUserInterfaceLevel", - "desc": [ - "CupertinoUserInterfaceLevel.of(context) può ottenere i dati di CupertinoUserInterfaceLevelData. Puoi anche utilizzare questo componente per impostare e condividere questi dati con il sottoalbero. Per ulteriori informazioni sui dati originali, consulta: https://developer.apple.com/documentation/uikit/uiuserinterfacelevel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_ja_JP.json deleted file mode 100644 index abbec8fb5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 337, - "name": "CupertinoUserInterfaceLevel", - "localName": "ユーザーインターフェースレベル", - "info": "iOS の概念で、コンテンツの可視レベル UIUserInterfaceLevel で、base と elevated に分かれています。InheritedWidget として、主にこのデータを共有します。", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoUserInterfaceLevel 紹介", - "desc": [ - "CupertinoUserInterfaceLevel.of(context) を使用して CupertinoUserInterfaceLevelData データを取得できます。また、このコンポーネントを使用してデータを設定し、サブツリーと共有することもできます。データの詳細については、以下を参照してください: https://developer.apple.com/documentation/uikit/uiuserinterfacelevel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_ko_KR.json deleted file mode 100644 index b4ab14be3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 337, - "name": "CupertinoUserInterfaceLevel", - "localName": "사용자 인터페이스 레벨", - "info": "iOS의 개념으로, 콘텐츠 가시성 레벨인 UIUserInterfaceLevel을 의미하며, base와 elevated로 나뉩니다. InheritedWidget으로서, 주로 이 데이터를 공유하는 역할을 합니다.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoUserInterfaceLevel 소개", - "desc": [ - "CupertinoUserInterfaceLevel.of(context)를 통해 CupertinoUserInterfaceLevelData 데이터를 얻을 수 있습니다. 또한 이 컴포넌트를 사용하여 해당 데이터를 설정하고 서브트리와 공유할 수 있습니다. 데이터 원본에 대한 자세한 내용은 다음을 참조하세요: https://developer.apple.com/documentation/uikit/uiuserinterfacelevel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_pt_PT.json deleted file mode 100644 index 7f712dbf4..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 337, - "name": "CupertinoUserInterfaceLevel", - "localName": "Nível de Interface do Utilizador", - "info": "Conceito no iOS, nível de visibilidade do conteúdo UIUserInterfaceLevel, dividido em base e elevado. Como um InheritedWidget, o principal objetivo é compartilhar esses dados.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao CupertinoUserInterfaceLevel", - "desc": [ - "CupertinoUserInterfaceLevel.of(context) pode obter os dados CupertinoUserInterfaceLevelData. Também pode usar este componente para definir e compartilhar esses dados com a subárvore. Para mais detalhes sobre o diagrama de dados, consulte: https://developer.apple.com/documentation/uikit/uiuserinterfacelevel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_ru_RU.json deleted file mode 100644 index de7b0577c..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 337, - "name": "CupertinoUserInterfaceLevel", - "localName": "Уровень пользовательского интерфейса", - "info": "Концепция в ios, уровень видимости контента UIUserInterfaceLevel, разделяется на base и elevated. Как InheritedWidget, в основном используется для обмена этими данными.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в CupertinoUserInterfaceLevel", - "desc": [ - "CupertinoUserInterfaceLevel.of(context) может получить данные CupertinoUserInterfaceLevelData. Также можно использовать этот компонент для настройки и обмена этих данных с поддеревом. Подробнее о данных см.: https://developer.apple.com/documentation/uikit/uiuserinterfacelevel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_zh-CN.json deleted file mode 100644 index 361c27200..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 337, - "name": "CupertinoUserInterfaceLevel", - "localName": "用户接口等级", - "info": "ios 中的概念,内容可视级别 UIUserInterfaceLevel ,分为 base 和 elevated。作为一个 InheritedWidget ,主要就是共享该数据。", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoUserInterfaceLevel 介绍", - "desc": [ - "CupertinoUserInterfaceLevel.of(context) 可以获取 CupertinoUserInterfaceLevelData 数据。也可以使用该组件设置该数据与子树共享。关于数据原图详见: https:developer.apple.com/documentation/uikit/uiuserinterfacelevel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/node1_base.dart deleted file mode 100644 index f424aa654..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/CupertinoUserInterfaceLevel/node1_base.dart +++ /dev/null @@ -1,36 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - - -class CupertinoUserInterfaceLevelDemo extends StatelessWidget { - const CupertinoUserInterfaceLevelDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const CupertinoUserInterfaceLevel( - data: CupertinoUserInterfaceLevelData.elevated, - child: LevelShower() - ); - } - -} - -class LevelShower extends StatelessWidget { - const LevelShower({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - CupertinoUserInterfaceLevelData data = CupertinoUserInterfaceLevel.of(context); - return Container( - height: 150, - alignment: Alignment.center, - color: Theme.of(context).primaryColor.withOpacity(0.1), - child: Text(data.toString()), - ); - } -} - - diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_de_DE.json deleted file mode 100644 index d7b33549d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 320, - "name": "DefaultAssetBundle", - "localName": "Standard-Ressourcenpaket", - "info": "Ein InheritedWidget, das nach der Einstellung des AssetBundle-Objekts es den Knoten nach diesem Knoten ermöglicht, das AssetBundle-Objekt über DefaultAssetBundle.of(context) zu erhalten, um auf Ressourcendateien zuzugreifen.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in DefaultAssetBundle", - "desc": [ - "【bundle】 : *Ressourcenpaket 【AssetBundle】", - "【child】 : *Untergeordnete Komponente 【Widget】", - "Wir können unser eigenes DefaultAssetBundle definieren, das von nachfolgenden Knoten verwendet wird, oder direkt das Standardpaket verwenden. Dieses Beispiel zeigt, wie ein Ressourcenbild mithilfe des von Framework bereitgestellten DefaultAssetBundle geladen und angezeigt wird." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_en_US.json deleted file mode 100644 index 36677835a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 320, - "name": "DefaultAssetBundle", - "localName": "Default Asset Bundle", - "info": "An InheritedWidget that sets the AssetBundle object. After setting, the context of the nodes following this node can obtain the AssetBundle object through DefaultAssetBundle.of(context) for accessing resource files.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to DefaultAssetBundle", - "desc": [ - "【bundle】: *Resource Bundle 【AssetBundle】", - "【child】: *Child Widget 【Widget】", - "We can define our own DefaultAssetBundle for use by subsequent nodes, or we can directly use the default one. This case demonstrates loading and displaying a resource image using the DefaultAssetBundle provided by the framework." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_es_ES.json deleted file mode 100644 index 26058f6d0..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 320, - "name": "DefaultAssetBundle", - "localName": "Paquete de recursos predeterminado", - "info": "Un InheritedWidget que, después de configurar el objeto AssetBundle, permite que los nodos posteriores en el contexto obtengan el objeto AssetBundle a través de DefaultAssetBundle.of(context) para acceder a los archivos de recursos.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a DefaultAssetBundle", - "desc": [ - "【bundle】 : *Paquete de recursos 【AssetBundle】", - "【child】 : *Componente hijo 【Widget】", - "Podemos definir nuestro propio DefaultAssetBundle para que lo usen los nodos posteriores, o podemos usar el predeterminado directamente. Este caso demuestra cómo cargar y mostrar una imagen de recursos utilizando el DefaultAssetBundle proporcionado por el marco." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_fr_FR.json deleted file mode 100644 index 2e7110234..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 320, - "name": "DefaultAssetBundle", - "localName": "Paquet de ressources par défaut", - "info": "Un InheritedWidget, après avoir défini l'objet AssetBundle, les nœuds suivants dans le contexte peuvent obtenir l'objet AssetBundle via DefaultAssetBundle.of(context) pour accéder aux fichiers de ressources.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Présentation de DefaultAssetBundle", - "desc": [ - "【bundle】 : *Paquet de ressources 【AssetBundle】", - "【child】 : *Composant enfant 【Widget】", - "Nous pouvons définir notre propre DefaultAssetBundle pour une utilisation ultérieure par les nœuds suivants, ou utiliser directement celui par défaut. Ce cas montre comment charger et afficher une image de ressource en utilisant le DefaultAssetBundle fourni par le framework." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_it_IT.json deleted file mode 100644 index 150558b8d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 320, - "name": "DefaultAssetBundle", - "localName": "Pacchetto di risorse predefinito", - "info": "Un InheritedWidget che, una volta impostato l'oggetto AssetBundle, consente ai nodi successivi nel contesto di ottenere l'oggetto AssetBundle tramite DefaultAssetBundle.of(context) per accedere ai file delle risorse.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a DefaultAssetBundle", - "desc": [ - "【bundle】 : *Pacchetto di risorse 【AssetBundle】", - "【child】 : *Componente figlio 【Widget】", - "Possiamo definire il nostro DefaultAssetBundle per l'uso da parte dei nodi successivi, oppure possiamo utilizzare quello predefinito. Questo esempio dimostra come caricare e visualizzare un'immagine di risorsa utilizzando il DefaultAssetBundle fornito dal framework." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_ja_JP.json deleted file mode 100644 index 000ac9ccf..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 320, - "name": "DefaultAssetBundle", - "localName": "デフォルトアセットバンドル", - "info": "InheritedWidget で、AssetBundle オブジェクトを設定した後、このノード以降のノードコンテキストは DefaultAssetBundle.of(context) を使用して AssetBundle オブジェクトを取得し、リソースファイルにアクセスできます。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultAssetBundle の紹介", - "desc": [ - "【bundle】 : *リソースバンドル 【AssetBundle】", - "【child】 : *子コンポーネント 【Widget】", - "独自の DefaultAssetBundle を定義して後続のノードで使用することも、デフォルトのものを直接使用することもできます。この例では、フレームワークが提供する DefaultAssetBundle を使用してリソース画像を読み込み、表示します。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_ko_KR.json deleted file mode 100644 index 1b3dc4773..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 320, - "name": "DefaultAssetBundle", - "localName": "기본 리소스 번들", - "info": "InheritedWidget으로, AssetBundle 객체를 설정한 후, 해당 노드 이후의 노드 컨텍스트에서 DefaultAssetBundle.of(context)를 통해 AssetBundle 객체를 얻어 리소스 파일에 접근할 수 있습니다.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultAssetBundle 소개", - "desc": [ - "【bundle】 : *리소스 번들 【AssetBundle】", - "【child】 : *자식 위젯 【Widget】", - "우리는 후속 노드에서 사용할 수 있도록 자신만의 DefaultAssetBundle을 정의할 수도 있고, 기본값을 바로 사용할 수도 있습니다. 이 예제는 프레임워크에서 제공하는 DefaultAssetBundle을 통해 리소스 이미지를 로드하여 표시하는 방법을 보여줍니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_pt_PT.json deleted file mode 100644 index f124827cc..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 320, - "name": "DefaultAssetBundle", - "localName": "Pacote de Recursos Padrão", - "info": "Um InheritedWidget que, após configurar o objeto AssetBundle, permite que os nós subsequentes no contexto obtenham o objeto AssetBundle através de DefaultAssetBundle.of(context) para acessar arquivos de recursos.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao DefaultAssetBundle", - "desc": [ - "【bundle】 : *Pacote de recursos 【AssetBundle】", - "【child】 : *Componente filho 【Widget】", - "Podemos definir nosso próprio DefaultAssetBundle para uso por nós subsequentes ou usar o padrão diretamente. Este exemplo demonstra o carregamento e exibição de uma imagem de recurso usando o DefaultAssetBundle fornecido pela estrutura." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_ru_RU.json deleted file mode 100644 index d4c86d0f2..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 320, - "name": "DefaultAssetBundle", - "localName": "Пакет ресурсов по умолчанию", - "info": "InheritedWidget, который устанавливает объект AssetBundle, после чего контекст узлов после этого узла может получить объект AssetBundle с помощью DefaultAssetBundle.of(context) для доступа к файлам ресурсов.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в DefaultAssetBundle", - "desc": [ - "【bundle】 : *Пакет ресурсов 【AssetBundle】", - "【child】 : *Дочерний компонент 【Widget】", - "Мы можем определить собственный DefaultAssetBundle для использования последующими узлами или использовать предоставленный по умолчанию. Этот пример демонстрирует загрузку и отображение изображения ресурса с помощью DefaultAssetBundle, предоставленного фреймворком." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_zh-CN.json deleted file mode 100644 index de0c341c7..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 320, - "name": "DefaultAssetBundle", - "localName": "默认资源包", - "info": "一个 InheritedWidget,设置 AssetBundle 对象后,该节点后的节点上下文可以通过 DefaultAssetBundle.of(context) 获取 AssetBundle 对象用于访问资源文件。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultAssetBundle 介绍", - "desc": [ - "【bundle】 : *资源包 【AssetBundle】", - "【child】 : *子组件 【Widget】", - "我们可以定义自己的 DefaultAssetBundle 来供后续节点使用,也可以直接使用默认的。该案例演示通过框架提供的 DefaultAssetBundle 加载一张资源图片进行显示。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/node1_base.dart deleted file mode 100644 index b9590d869..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultAssetBundle/node1_base.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'dart:ui' as ui; -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - -class DefaultAssetBundleDemo extends StatefulWidget { - const DefaultAssetBundleDemo({Key? key}) : super(key: key); - - @override - _DefaultAssetBundleDemoState createState() => _DefaultAssetBundleDemoState(); -} - -class _DefaultAssetBundleDemoState extends State { - ui.Image? _image; - @override - void initState() { - super.initState(); - _load(); - } - - @override - Widget build(BuildContext context) { - - return Container( - width: 150, - height: 150, - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: _image==null?Container():RawImage(image: _image,fit: BoxFit.cover,), - ); - } - - void _load() async{ - AssetBundle info = DefaultAssetBundle.of(context); - ByteData data = await info.load('assets/images/sabar.webp'); - _image = await decodeImageFromList(data.buffer.asUint8List()); - setState(() { - - }); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_de_DE.json deleted file mode 100644 index 6c804ee42..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 324, - "name": "DefaultTextStyle", - "localName": "Standardtextstil", - "info": "Kann ein Kind enthalten und den Standardstil für den Text der Nachkommen festlegen. Wird häufig verwendet, um den Stil mehrerer identischer Texte zu vereinheitlichen und so die individuelle Einstellung zu vermeiden.", - "lever": 3, - "family": 5, - "linkIds": [ - 2, - 114, - 124 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Verwendung von DefaultTextStyle", - "desc": [ - "Die Eigenschaften sind die gleichen wie bei Text, siehe dort für Details.", - "Seine Funktion ist: Den Standardtextstil für [Nachkomponenten] festlegen, beachten Sie, dass Nachkomponenten auch ihren eigenen Stil festlegen können" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_en_US.json deleted file mode 100644 index c7a0ca763..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 324, - "name": "DefaultTextStyle", - "localName": "Default Font Style", - "info": "Can contain a child, specifying the default style for descendant text. Commonly used to unify the style of multiple identical texts, avoiding setting them one by one.", - "lever": 3, - "family": 5, - "linkIds": [ - 2, - 114, - 124 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultTextStyle Usage", - "desc": [ - "The properties are the same as Text, see details there.", - "Its function is: Set the default text style to be applied to [descendant widgets], note that descendant widgets can also specify their own styles." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_es_ES.json deleted file mode 100644 index e4df5bdb5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 324, - "name": "DefaultTextStyle", - "localName": "Estilo de texto predeterminado", - "info": "Puede contener un hijo, especifica el estilo de texto predeterminado para los descendientes. Se usa comúnmente para unificar el estilo de múltiples textos iguales, evitando configurarlos uno por uno.", - "lever": 3, - "family": 5, - "linkIds": [ - 2, - 114, - 124 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de DefaultTextStyle", - "desc": [ - "Los atributos son los mismos que Text, consulte los detalles.", - "Su función es: establecer el estilo de texto predeterminado para los【componentes descendientes】, tenga en cuenta que los componentes descendientes también pueden especificar su propio estilo." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_fr_FR.json deleted file mode 100644 index 249b4231b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 324, - "name": "DefaultTextStyle", - "localName": "Style de texte par défaut", - "info": "Peut contenir un enfant, spécifie le style de texte par défaut pour les descendants. Souvent utilisé pour unifier le style de plusieurs textes identiques, évitant de les définir un par un.", - "lever": 3, - "family": 5, - "linkIds": [ - 2, - 114, - 124 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de DefaultTextStyle", - "desc": [ - "Les propriétés sont les mêmes que Text, voir ci-dessus pour plus de détails.", - "Sa fonction est : définir le style de texte par défaut appliqué aux [composants descendants], notez que les composants descendants peuvent également spécifier leur propre style" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_it_IT.json deleted file mode 100644 index 6366506ba..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 324, - "name": "DefaultTextStyle", - "localName": "Stile di testo predefinito", - "info": "Può contenere un figlio e specifica lo stile predefinito per il testo dei discendenti. Comunemente utilizzato per uniformare lo stile di più testi identici, evitando di impostarli uno per uno.", - "lever": 3, - "family": 5, - "linkIds": [ - 2, - 114, - 124 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di DefaultTextStyle", - "desc": [ - "Le proprietà sono le stesse di Text, per i dettagli vedere quello.", - "La sua funzione è: impostare lo stile di testo predefinito da applicare ai [componenti discendenti], notare che i componenti discendenti possono anche specificare il proprio stile." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_ja_JP.json deleted file mode 100644 index 1f0901422..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 324, - "name": "DefaultTextStyle", - "localName": "デフォルトフォントスタイル", - "info": "子要素を一つ持つことができ、子孫のテキストにデフォルトのスタイルを指定します。複数の同じテキストのスタイルを統一するためによく使用され、一つ一つ設定する手間を省きます。", - "lever": 3, - "family": 5, - "linkIds": [ - 2, - 114, - 124 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultTextStyleの使用", - "desc": [ - "各属性はTextと同じです。詳細はそちらを参照してください。", - "その機能は: デフォルトのテキストスタイルを【子孫コンポーネント】に適用することです。子孫コンポーネントも自身のスタイルを指定できることに注意してください" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_ko_KR.json deleted file mode 100644 index ff0265e4d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 324, - "name": "DefaultTextStyle", - "localName": "기본 글꼴 스타일", - "info": "하나의 자식을 수용할 수 있으며, 후손 텍스트에 기본 스타일을 지정합니다. 여러 동일한 텍스트의 스타일을 통일하여 일일이 설정하는 것을 방지하기 위해 자주 사용됩니다.", - "lever": 3, - "family": 5, - "linkIds": [ - 2, - 114, - 124 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultTextStyle 사용", - "desc": [ - "각 속성은 Text와 동일하며, 자세한 내용은 해당 문서를 참조하십시오.", - "기능은: 기본 텍스트 스타일을 설정하여 【후손 컴포넌트】에 적용하며, 후손 컴포넌트는 자신의 스타일을 지정할 수도 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_pt_PT.json deleted file mode 100644 index bd2458dc4..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 324, - "name": "DefaultTextStyle", - "localName": "Estilo de Texto Padrão", - "info": "Pode conter um filho, especificando o estilo padrão para o texto dos descendentes. Frequentemente usado para unificar o estilo de múltiplos textos iguais, evitando a configuração individual.", - "lever": 3, - "family": 5, - "linkIds": [ - 2, - 114, - 124 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do DefaultTextStyle", - "desc": [ - "As propriedades são as mesmas que o Text, consulte-o para mais detalhes.", - "Sua função é: definir o estilo de texto padrão para [componentes descendentes], note que os componentes descendentes também podem especificar seus próprios estilos" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_ru_RU.json deleted file mode 100644 index 4fe407c05..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 324, - "name": "DefaultTextStyle", - "localName": "Стиль текста по умолчанию", - "info": "Может содержать одного ребенка, задает стиль текста по умолчанию для потомков. Часто используется для унификации стиля нескольких одинаковых текстов, чтобы избежать индивидуальной настройки.", - "lever": 3, - "family": 5, - "linkIds": [ - 2, - 114, - 124 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование DefaultTextStyle", - "desc": [ - "Атрибуты такие же, как у Text, подробнее см. там.", - "Его функция: установка стиля текста по умолчанию для [потомков], обратите внимание, что потомки также могут задавать свой собственный стиль" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_zh-CN.json deleted file mode 100644 index 4f51e037d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 324, - "name": "DefaultTextStyle", - "localName": "默认字体样式", - "info": "可容纳一个孩子,为后代的文字指定默认样式。常用于多个相同文字的样式统一,避免一一设置。", - "lever": 3, - "family": 5, - "linkIds": [ - 2, - 114, - 124 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultTextStyle使用", - "desc": [ - "各属性同Text,详见之。", - "其功能是: 设置默认的文字样式应用于【后代组件】,注意后代组件也可以指定自身的样式" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/node1_base.dart deleted file mode 100644 index 47fc30a28..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DefaultTextStyle/node1_base.dart +++ /dev/null @@ -1,28 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-12 -/// contact me by email 1981462002@qq.com - -class DefaultTextStyleDemo extends StatelessWidget { - const DefaultTextStyleDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return DefaultTextStyle( - style: const TextStyle( - fontSize: 18, - color: Colors.blue, - decoration: TextDecoration.underline), - child: Wrap( - spacing: 5, - children: const[ - Text("Hello,",), - FlutterLogo(), - Text("Flutter",style: TextStyle(color: Colors.red),), - Text("Unit."), - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_de_DE.json deleted file mode 100644 index 622b10f72..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 319, - "name": "Directionality", - "localName": "Richtungsabhängigkeit", - "info": "Ändert den Eigenschaftswert für Komponenten mit textDirection-Attribut einheitlich für Nachkommen. Der aktuelle Standardwert von textDirection kann auch über Directionality.of(context) abgerufen werden.", - "lever": 2, - "family": 5, - "linkIds": [ - 2, - 94 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Directionality", - "desc": [ - "【textDirection】: Textausrichtung 【TextDirection】", - "【child】: Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_en_US.json deleted file mode 100644 index 9c86d9598..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 319, - "name": "Directionality", - "localName": "Directionality", - "info": "Set the property value uniformly for components with the textDirection attribute for descendants, or get the default textDirection attribute through Directionality.of(context).", - "lever": 2, - "family": 5, - "linkIds": [ - 2, - 94 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Directionality", - "desc": [ - "【textDirection】: Text arrangement direction 【TextDirection】", - "【child】: Child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_es_ES.json deleted file mode 100644 index 8e90e8b91..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 319, - "name": "Directionality", - "localName": "Direccionalidad", - "info": "Establece un valor de propiedad unificado para los componentes con el atributo textDirection para los descendientes, también se puede obtener el valor predeterminado del atributo textDirection actual a través de Directionality.of(context).", - "lever": 2, - "family": 5, - "linkIds": [ - 2, - 94 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Directionality", - "desc": [ - "【textDirection】: Dirección de alineación del texto 【TextDirection】", - "【child】: Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_fr_FR.json deleted file mode 100644 index ef429cb36..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 319, - "name": "Directionality", - "localName": "Directionnalité", - "info": "Modifie la valeur de l'attribut pour les composants ayant l'attribut textDirection pour les descendants, ou obtenez la valeur par défaut de textDirection via Directionality.of(context).", - "lever": 2, - "family": 5, - "linkIds": [ - 2, - 94 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Directionality", - "desc": [ - "【textDirection】 : Direction de l'arrangement du texte 【TextDirection】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_it_IT.json deleted file mode 100644 index 7e02c95a6..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 319, - "name": "Directionality", - "localName": "Direzionalità", - "info": "Imposta un valore di attributo uniforme per i componenti con l'attributo textDirection per i discendenti, oppure puoi ottenere l'attributo predefinito textDirection corrente tramite Directionality.of(context).", - "lever": 2, - "family": 5, - "linkIds": [ - 2, - 94 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Directionality", - "desc": [ - "【textDirection】: direzione di disposizione del testo 【TextDirection】", - "【child】: componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_ja_JP.json deleted file mode 100644 index 85dae336a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 319, - "name": "Directionality", - "localName": "方向性", - "info": "textDirectionプロパティを持つコンポーネントのプロパティ値を一括設定して子孫に変更します。また、Directionality.of(context)を使用して現在のtextDirectionのデフォルトプロパティを取得することもできます。", - "lever": 2, - "family": 5, - "linkIds": [ - 2, - 94 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Directionalityの基本的な使用法", - "desc": [ - "【textDirection】: テキストの配置方向 【TextDirection】", - "【child】: 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_ko_KR.json deleted file mode 100644 index a86f7d2cc..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 319, - "name": "Directionality", - "localName": "방향성", - "info": "후손을 위해 textDirection 속성이 있는 컴포넌트의 속성 값을 통일적으로 설정할 수 있으며, Directionality.of(context)를 통해 현재 textDirection의 기본 속성을 얻을 수 있습니다.", - "lever": 2, - "family": 5, - "linkIds": [ - 2, - 94 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Directionality 기본 사용", - "desc": [ - "【textDirection】 : 텍스트 배열 방향 【TextDirection】", - "【child】 : 자식 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_pt_PT.json deleted file mode 100644 index 7bce778dc..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 319, - "name": "Directionality", - "localName": "Direcionalidade", - "info": "Define o valor do atributo uniformemente para componentes com o atributo textDirection para os descendentes, ou pode obter o valor padrão do textDirection atual através de Directionality.of(context).", - "lever": 2, - "family": 5, - "linkIds": [ - 2, - 94 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Directionality", - "desc": [ - "【textDirection】 : Direção de disposição do texto 【TextDirection】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_ru_RU.json deleted file mode 100644 index a4da56a05..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 319, - "name": "Directionality", - "localName": "Направленность", - "info": "Устанавливает значение атрибута для компонентов с атрибутом textDirection для потомков, также можно получить текущее значение по умолчанию textDirection через Directionality.of(context).", - "lever": 2, - "family": 5, - "linkIds": [ - 2, - 94 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Directionality", - "desc": [ - "【textDirection】 : Направление текста 【TextDirection】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_zh-CN.json deleted file mode 100644 index a05c445f5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 319, - "name": "Directionality", - "localName": "定向性", - "info": "为后代改变有textDirection属性的组件统一设置属性值,也可以通过Directionality.of(context)获取当前textDirection默认属性。", - "lever": 2, - "family": 5, - "linkIds": [ - 2, - 94 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Directionality基本使用", - "desc": [ - "【textDirection】 : 文字排列方向 【TextDirection】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/Directionality/node1_base.dart deleted file mode 100644 index ad9e15ebf..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Directionality/node1_base.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class DirectionalityDemo extends StatefulWidget { - const DirectionalityDemo({Key? key}) : super(key: key); - - @override - _DirectionalityDemoState createState() => _DirectionalityDemoState(); -} - -class _DirectionalityDemoState extends State { - TextDirection _textDirection = TextDirection.rtl; - - @override - Widget build(BuildContext context) { - return Directionality( - textDirection: _textDirection, - child: Container( - padding: const EdgeInsets.all(8), - width: 250, - color: Colors.grey.withAlpha(33), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - const Text( - 'A widget that determines the ambient directionality of text and text direction sensitive render objects.'), - _buildSwitch(), - const Text( - 'The text direction from the closest instance of this class that encloses the given context.'), - ], - ), - ), - ); - } - - Widget _buildSwitch() => Row( - children: [ - Switch( - value: _textDirection == TextDirection.rtl, - onChanged: (v) { - setState(() { - _textDirection = - v ? TextDirection.rtl : TextDirection.ltr; - }); - }, - ), - Text( - _textDirection.toString(), - style: const TextStyle(color: Colors.blue, fontSize: 18), - ) - ], - ); -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_de_DE.json deleted file mode 100644 index 60cf42c2e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 329, - "name": "DividerTheme", - "localName": "Trennlinienstil", - "info": "Wird hauptsächlich verwendet, um standardmäßige Attribute für Divider-Typ-Komponenten für Nachkommen festzulegen. Es kann auch verwendet werden, um die Standardattribute des Divider zu erhalten.", - "lever": 3, - "family": 5, - "linkIds": [ - 34, - 35 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DividerTheme Verwendung", - "desc": [ - "Die Attributeparameter ähneln denen von Divider. Die Trennlinienthemendaten können über DividerTheme.of abgerufen werden.", - "Es kann auch der Standardstil für Trennlinien von DividerTheme [Nachkommen] festgelegt werden, einschließlich Farbe, Dicke, Höhe usw." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_en_US.json deleted file mode 100644 index 06f197ecf..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 329, - "name": "DividerTheme", - "localName": "Divider Style", - "info": "Mainly used to set default properties for descendant Divider type components uniformly, and it can also be used to obtain the default properties of Divider.", - "lever": 3, - "family": 5, - "linkIds": [ - 34, - 35 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Using DividerTheme", - "desc": [ - "The property parameters are similar to Divider. You can obtain the divider theme data through DividerTheme.of,", - "and you can also set default styles for the dividers of DividerTheme【descendants】, including color, thickness, height, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_es_ES.json deleted file mode 100644 index c70cc491e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 329, - "name": "DividerTheme", - "localName": "Estilo de la línea divisoria", - "info": "Se utiliza principalmente para establecer propiedades predeterminadas unificadas para los componentes de tipo Divider descendientes, también se pueden obtener las propiedades predeterminadas de Divider a través de este componente.", - "lever": 3, - "family": 5, - "linkIds": [ - 34, - 35 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de DividerTheme", - "desc": [ - "Los parámetros de atributos son similares a Divider, se pueden obtener los datos del tema de la línea divisoria a través de DividerTheme.of, \"", - "también se pueden establecer estilos predeterminados para las líneas divisorias de los 【descendientes】 de DividerTheme, incluyendo color, grosor, altura, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_fr_FR.json deleted file mode 100644 index 4b025c39f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 329, - "name": "DividerTheme", - "localName": "Thème de séparateur", - "info": "Principalement utilisé pour définir les propriétés par défaut des composants de type Divider pour les descendants, ou pour obtenir les propriétés par défaut du Divider via ce composant.", - "lever": 3, - "family": 5, - "linkIds": [ - 34, - 35 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de DividerTheme", - "desc": [ - "Les paramètres d'attributs sont similaires à ceux de Divider, vous pouvez obtenir les données du thème de séparateur via DividerTheme.of, \"", - "vous pouvez également définir le style par défaut pour les séparateurs des descendants de DividerTheme, y compris la couleur, l'épaisseur, la hauteur, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_it_IT.json deleted file mode 100644 index 3479698b0..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 329, - "name": "DividerTheme", - "localName": "Stile della linea divisoria", - "info": "Utilizzato principalmente per impostare le proprietà predefinite per i componenti di tipo Divider discendenti, è anche possibile ottenere le proprietà predefinite di Divider attraverso questo componente.", - "lever": 3, - "family": 5, - "linkIds": [ - 34, - 35 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di DividerTheme", - "desc": [ - "I parametri delle proprietà sono simili a Divider, è possibile ottenere i dati del tema della linea divisoria tramite DividerTheme.of,\"", - "è anche possibile impostare uno stile predefinito per le linee divisorie dei [discendenti] di DividerTheme, inclusi colore, spessore, altezza, ecc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_ja_JP.json deleted file mode 100644 index 314f585d9..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 329, - "name": "DividerTheme", - "localName": "分割線スタイル", - "info": "主に子孫のDividerタイプコンポーネントにデフォルトのプロパティを統一して設定するために使用されます。また、このコンポーネントを通じてデフォルトのDividerのプロパティを取得することもできます。", - "lever": 3, - "family": 5, - "linkIds": [ - 34, - 35 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DividerThemeの使用", - "desc": [ - "プロパティパラメータはDividerと類似しており、DividerTheme.ofを使用して分割線のテーマデータを取得できます。\"", - "また、DividerTheme【子孫】の分割線にデフォルトのスタイルを設定することもできます。これには色、太さ、高さなどが含まれます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_ko_KR.json deleted file mode 100644 index 52bb21f3f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 329, - "name": "DividerTheme", - "localName": "구분선 스타일", - "info": "주로 후손 Divider 타입 컴포넌트에 기본 속성을 통일적으로 설정하기 위해 사용되며, 이 컴포넌트를 통해 기본 Divider의 속성을 가져올 수도 있습니다.", - "lever": 3, - "family": 5, - "linkIds": [ - 34, - 35 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DividerTheme 사용", - "desc": [ - "속성 매개변수는 Divider와 유사하며, DividerTheme.of를 통해 구분선 테마 데이터를 가져올 수 있습니다.", - "또한 DividerTheme【후손】의 구분선에 기본 스타일을 설정할 수 있으며, 색상, 두께, 높이 등을 포함합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_pt_PT.json deleted file mode 100644 index 7165907d1..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 329, - "name": "DividerTheme", - "localName": "Estilo da Linha Divisória", - "info": "Principalmente utilizado para definir propriedades padrão para componentes do tipo Divider descendentes, também pode ser usado para obter as propriedades padrão do Divider.", - "lever": 3, - "family": 5, - "linkIds": [ - 34, - 35 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do DividerTheme", - "desc": [ - "Os parâmetros de propriedade são semelhantes ao Divider, os dados do tema da linha divisória podem ser obtidos através de DividerTheme.of, \"", - "também pode definir o estilo padrão para as linhas divisórias dos descendentes do DividerTheme, incluindo cor, espessura, altura, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_ru_RU.json deleted file mode 100644 index efb2c0a42..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 329, - "name": "DividerTheme", - "localName": "Стиль разделителя", - "info": "В основном используется для установки стандартных свойств для компонентов типа Divider для потомков, также можно получить свойства стандартного Divider через этот компонент.", - "lever": 3, - "family": 5, - "linkIds": [ - 34, - 35 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование DividerTheme", - "desc": [ - "Параметры свойств аналогичны Divider, можно получить данные темы разделителя через DividerTheme.of, \"", - "также можно установить стандартный стиль для разделителей потомков DividerTheme, включая цвет, толщину, высоту и т.д." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_zh-CN.json deleted file mode 100644 index 14fdb4f64..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 329, - "name": "DividerTheme", - "localName": "分割线样式", - "info": "主要用于为后代的Divider类型组件统一设置默认属性,也可以通过该组件获取默认Divider的属性。", - "lever": 3, - "family": 5, - "linkIds": [ - 34, - 35 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DividerTheme使用", - "desc": [ - "属性参数与Divider类似,可以通过DividerTheme.of获取分割线主题数据,\"", - "也可以为DividerTheme【后代】的分割线设置默认样式,包括颜色、粗细、高度等。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/node1_base.dart deleted file mode 100644 index e7ebf6bc7..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DividerTheme/node1_base.dart +++ /dev/null @@ -1,46 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-12 -/// contact me by email 1981462002@qq.com - - - -class DividerThemeDemo extends StatelessWidget { - const DividerThemeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return DividerTheme( - data: const DividerThemeData( - color: Colors.orange, - thickness: 2, - space: 10, - indent: 10, - endIndent: 10, - ), - child: Wrap( - spacing: 10, - children: [ - const Divider(), - const Divider(), - const Divider(), - const Divider(), - const Divider(), - SizedBox( - height: 100, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: const [ - VerticalDivider(), - VerticalDivider(), - VerticalDivider(), - VerticalDivider(), - VerticalDivider(), - ], - ), - ) - ], - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_de_DE.json deleted file mode 100644 index 244d73751..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 181, - "name": "DropdownButtonHideUnderline", - "localName": "Dropdown-Schaltfläche Unterstreichung ausblenden", - "info": "Wird verwendet, um die Unterstreichung der Dropdown-Schaltfläche zu entfernen, hat an sich keinen praktischen Nutzen.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DropDownButtonHideUnderline Verwendung", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_en_US.json deleted file mode 100644 index 282aa47e5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 181, - "name": "DropdownButtonHideUnderline", - "localName": "Dropdown Button Hide Underline", - "info": "Used to remove the underline of the DropdownButton, it has little practical value.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DropDownButtonHideUnderline Usage", - "desc": [ - "【child】 : Child component 【Widget】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_es_ES.json deleted file mode 100644 index df48e9dd5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 181, - "name": "DropdownButtonHideUnderline", - "localName": "Botón desplegable ocultar subrayado", - "info": "Se utiliza para eliminar el subrayado de DropdownButton, en sí no tiene mucho valor práctico.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de DropDownButtonHideUnderline", - "desc": [ - "【child】 : Componente hijo 【Widget】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_fr_FR.json deleted file mode 100644 index d285d5844..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 181, - "name": "DropdownButtonHideUnderline", - "localName": "Bouton déroulant masquer le soulignement", - "info": "Utilisé pour supprimer le soulignement du DropdownButton, il n'a pas beaucoup de valeur pratique en soi.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de DropDownButtonHideUnderline", - "desc": [ - "【child】 : Composant enfant 【Widget】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_it_IT.json deleted file mode 100644 index 1f43b0036..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 181, - "name": "DropdownButtonHideUnderline", - "localName": "Pulsante a discesa nascondi sottolineatura", - "info": "Utilizzato per rimuovere la sottolineatura del DropdownButton, di per sé non ha un grande valore applicativo.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di DropDownButtonHideUnderline", - "desc": [ - "【child】 : componente figlio 【Widget】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_ja_JP.json deleted file mode 100644 index ede68d691..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 181, - "name": "DropdownButtonHideUnderline", - "localName": "ドロップダウンボタンの下線を非表示", - "info": "DropdownButtonの下線を除去するために使用されますが、それ自体にはあまり実用的な価値はありません。", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DropDownButtonHideUnderlineの使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_ko_KR.json deleted file mode 100644 index 9314420e2..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 181, - "name": "DropdownButtonHideUnderline", - "localName": "드롭다운 버튼 숨김 선", - "info": "DropdownButton의 밑줄을 제거하는 데 사용되며, 그 자체로는 큰 활용 가치가 없습니다.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DropDownButtonHideUnderline 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_pt_PT.json deleted file mode 100644 index c46534b9b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 181, - "name": "DropdownButtonHideUnderline", - "localName": "Botão de Dropdown Ocultar Sublinhado", - "info": "Usado para remover o sublinhado do DropdownButton, por si só não tem grande valor prático.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do DropDownButtonHideUnderline", - "desc": [ - "【child】 : Componente filho 【Widget】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_ru_RU.json deleted file mode 100644 index c38d09245..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 181, - "name": "DropdownButtonHideUnderline", - "localName": "Кнопка выпадающего списка скрыть подчеркивание", - "info": "Используется для удаления подчеркивания у DropdownButton, само по себе не имеет практической ценности.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование DropDownButtonHideUnderline", - "desc": [ - "【child】 : Дочерний компонент 【Widget】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_zh-CN.json deleted file mode 100644 index d1efe39bb..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 181, - "name": "DropdownButtonHideUnderline", - "localName": "下拉按钮隐藏线", - "info": "用于去除DropdownButton的下划线,本身没有什么应用价值。", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DropDownButtonHideUnderline使用", - "desc": [ - "【child】 : 子组件 【Widget】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/node1_base.dart deleted file mode 100644 index b650621f0..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/DropdownButtonHideUnderline/node1_base.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class CustomDropDownButtonHideUnderline extends StatefulWidget { - const CustomDropDownButtonHideUnderline({Key? key}) : super(key: key); - - @override - _CustomDropDownButtonHideUnderlineState createState() => - _CustomDropDownButtonHideUnderlineState(); -} - -class _CustomDropDownButtonHideUnderlineState - extends State { - Color _color = Colors.red; - final List _colors = const[ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green - ]; - final List _info = const["红色", "黄色", "蓝色", "绿色"]; - - @override - Widget build(BuildContext context) { - return Wrap( - children: [ - Container( - margin: const EdgeInsets.symmetric(horizontal: 20), - width: 50, - height: 50, - color: _color, - ), - DropdownButtonHideUnderline( - child: DropdownButton( - value: _color, - elevation: 1, - icon: Icon( - Icons.expand_more, - size: 20, - color: _color, - ), - items: _buildItems(), - onChanged: (Color? color) => - setState(() => _color = color ?? _color)), - ), - ], - ); - } - - List> _buildItems() => _colors - .map((e) => DropdownMenuItem( - value: e, - child: Text( - _info[_colors.indexOf(e)], - style: TextStyle(color: e), - ))) - .toList(); -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_de_DE.json deleted file mode 100644 index 4376d143a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 106, - "name": "Expanded", - "localName": "Erweitertes Widget", - "info": "Die übergeordnete Klasse ist Flexible, entspricht einem Flexible-Widget mit dem Fit-Typ tight. Kann verschachtelte Kinder verwenden, um den verbleibenden Platz zu erweitern.", - "lever": 4, - "family": 5, - "linkIds": [ - 94, - 109 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Expanded", - "desc": [ - "【child】 : Kind 【Widget】", - "【flex】 : Verhältnis der verbleibenden Platzverteilung 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_en_US.json deleted file mode 100644 index 916e40444..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 106, - "name": "Expanded", - "localName": "Extended Component", - "info": "The parent class is Flexible, equivalent to a Flexible component with a fit type of tight. It can nest children to utilize the remaining space to extend the placeholder space.", - "lever": 4, - "family": 5, - "linkIds": [ - 94, - 109 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Expanded", - "desc": [ - "【child】: child 【Widget】", - "【flex】: Proportion of remaining space allocation 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_es_ES.json deleted file mode 100644 index d363072b8..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 106, - "name": "Expanded", - "localName": "Componente Expandido", - "info": "La clase padre es Flexible, equivalente a un componente Flexible con un tipo fit tight. Puede anidar hijos para expandir el espacio de marcador utilizando el espacio restante.", - "lever": 4, - "family": 5, - "linkIds": [ - 94, - 109 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Expanded", - "desc": [ - "【child】 : hijo 【Widget】", - "【flex】 : proporción de asignación de espacio restante 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_fr_FR.json deleted file mode 100644 index 03bfcd0a7..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 106, - "name": "Expanded", - "localName": "Composant Étendu", - "info": "La classe parente est Flexible, équivalente à un composant Flexible avec un fit de type tight. Peut imbriquer des enfants pour utiliser l'espace restant pour étendre l'espace de placement.", - "lever": 4, - "family": 5, - "linkIds": [ - 94, - 109 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'Expanded", - "desc": [ - "【child】 : Enfant 【Widget】", - "【flex】 : Proportion de distribution de l'espace restant 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_it_IT.json deleted file mode 100644 index b0272f3c9..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 106, - "name": "Expanded", - "localName": "Componente Esteso", - "info": "La classe genitore è Flexible, equivalente a un componente Flexible con tipo fit tight. Può annidare figli per espandere lo spazio occupato utilizzando lo spazio rimanente.", - "lever": 4, - "family": 5, - "linkIds": [ - 94, - 109 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di Expanded", - "desc": [ - "【child】 : figlio 【Widget】", - "【flex】 : percentuale di allocazione dello spazio rimanente 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_ja_JP.json deleted file mode 100644 index 39719a02a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 106, - "name": "Expanded", - "localName": "拡張コンポーネント", - "info": "親クラスはFlexibleで、fitタイプがtightのFlexibleコンポーネントに相当します。ネストされた子要素が残りのスペースを使用して占有スペースを拡張します。", - "lever": 4, - "family": 5, - "linkIds": [ - 94, - 109 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Expandedの基本的な使用法", - "desc": [ - "【child】 : 子要素 【Widget】", - "【flex】 : 残りスペースの配分比率 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_ko_KR.json deleted file mode 100644 index 5ae804d4f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 106, - "name": "Expanded", - "localName": "확장 컴포넌트", - "info": "부모 클래스는 Flexible이며, fit 타입이 tight인 Flexible 컴포넌트와 동일합니다. 자식을 중첩하여 남은 공간을 사용하여 공간을 확장할 수 있습니다.", - "lever": 4, - "family": 5, - "linkIds": [ - 94, - 109 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Expanded 기본 사용법", - "desc": [ - "【child】 : 자식 【Widget】", - "【flex】 : 남은 공간 배분 비율 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_pt_PT.json deleted file mode 100644 index 3831e4733..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 106, - "name": "Expanded", - "localName": "Componente Expandido", - "info": "A classe pai é Flexible, equivalente a um componente Flexible com o tipo fit como tight. Pode aninhar filhos para utilizar o espaço restante e expandir o espaço ocupado.", - "lever": 4, - "family": 5, - "linkIds": [ - 94, - 109 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Expanded", - "desc": [ - "【child】 : filho 【Widget】", - "【flex】 : proporção de distribuição do espaço restante 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_ru_RU.json deleted file mode 100644 index 3873c103a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 106, - "name": "Expanded", - "localName": "Расширяемый компонент", - "info": "Родительский класс - Flexible, эквивалент компоненту Flexible с типом fit tight. Может вкладывать дочерние элементы для расширения занимаемого пространства.", - "lever": 4, - "family": 5, - "linkIds": [ - 94, - 109 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Expanded", - "desc": [ - "【child】 : Дочерний элемент 【Widget】", - "【flex】 : Доля распределения оставшегося пространства 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_zh-CN.json deleted file mode 100644 index c6ddf83a3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 106, - "name": "Expanded", - "localName": "延展组件", - "info": "父类是Flexible,相当于一个fit类型为tight的Flexible组件。可嵌套孩子利用剩余空间对占位空间进行延展。", - "lever": 4, - "family": 5, - "linkIds": [ - 94, - 109 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Expanded基本使用", - "desc": [ - "【child】 : 孩子 【Widget】", - "【flex】 : 剩余空间分配占比 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/Expanded/node1_base.dart deleted file mode 100644 index b642cf5b3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Expanded/node1_base.dart +++ /dev/null @@ -1,46 +0,0 @@ - import 'package:flutter/material.dart'; -import 'package:widgets/utils/color_utils.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class CustomExpended extends StatefulWidget { - const CustomExpended({Key? key}) : super(key: key); - - @override - _CustomExpendedState createState() => _CustomExpendedState(); -} - -class _CustomExpendedState extends State { - @override - Widget build(BuildContext context) { - return Column( - children: [ - buildRow([0, 0, 0]), - const SizedBox(height: 10,), - buildRow([0, 0, 1]), - const SizedBox(height: 10,), - buildRow([1, 1, 1]), - const SizedBox(height: 10,), - buildRow([2, 3, 3]), - ], - ); - } - - Widget buildRow(List num) { - return Row( - children: num.map((e) => Expanded( - flex: e, - child: Container( - alignment: Alignment.center, - width: 50, - height: 50, - color: ColorUtils.randomColor(), - child: Text( - 'flex=$e', - style: const TextStyle(color: Colors.white), - ), - ), - )).toList()); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_de_DE.json deleted file mode 100644 index faa0e1fff..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 109, - "name": "Flexible", - "localName": "Flexible Komponente", - "info": "Kann nur in Row-, Column- und Flex-Layouts verwendet werden, kann Kinder verschachteln, um den verbleibenden Platz zu nutzen und den Platzhalterbereich zu erweitern, kann auch den Anpassungstyp angeben.", - "lever": 3, - "family": 5, - "linkIds": [ - 94, - 106 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Flexible", - "desc": [ - "【child】 : Kind 【Widget】", - "【fit】 : Anpassungsmodus*2 【FlexFit】", - "【flex】 : Anteil der verbleibenden Platzverteilung 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_en_US.json deleted file mode 100644 index db2399ef3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 109, - "name": "Flexible", - "localName": "Flexible Component", - "info": "Can only be used in Row, Column, and Flex layouts. It can nest children to utilize the remaining space to extend the placeholder space, and the adaptation type can also be specified.", - "lever": 3, - "family": 5, - "linkIds": [ - 94, - 106 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Flexible", - "desc": [ - "【child】: child 【Widget】", - "【fit】: adaptation mode*2 【FlexFit】", - "【flex】: remaining space allocation ratio 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_es_ES.json deleted file mode 100644 index 39e613ca9..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 109, - "name": "Flexible", - "localName": "Componente Flexible", - "info": "Solo se puede usar en diseños Row, Column y Flex, puede anidar hijos para extender el espacio de marcador de posición utilizando el espacio restante, también se puede especificar el tipo de adaptación.", - "lever": 3, - "family": 5, - "linkIds": [ - 94, - 106 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Flexible", - "desc": [ - "【child】 : hijo 【Widget】", - "【fit】 : modo de adaptación*2 【FlexFit】", - "【flex】 : proporción de asignación de espacio restante 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_fr_FR.json deleted file mode 100644 index 0c271f947..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 109, - "name": "Flexible", - "localName": "Composant Flexible", - "info": "Peut uniquement être utilisé dans les dispositions Row, Column et Flex, peut imbriquer des enfants pour étendre l'espace résiduel, et peut également spécifier le type d'adaptation.", - "lever": 3, - "family": 5, - "linkIds": [ - 94, - 106 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Flexible", - "desc": [ - "【child】 : Enfant 【Widget】", - "【fit】 : Mode d'adaptation*2 【FlexFit】", - "【flex】 : Proportion de l'allocation de l'espace résiduel 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_it_IT.json deleted file mode 100644 index 25a628dbd..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 109, - "name": "Flexible", - "localName": "Componente Flessibile", - "info": "Può essere utilizzato solo nei layout Row, Column e Flex, può annidare figli per espandere lo spazio rimanente, e può anche specificare il tipo di adattamento.", - "lever": 3, - "family": 5, - "linkIds": [ - 94, - 106 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di Flexible", - "desc": [ - "【child】 : Figlio 【Widget】", - "【fit】 : Modalità di adattamento*2 【FlexFit】", - "【flex】 : Percentuale di allocazione dello spazio rimanente 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_ja_JP.json deleted file mode 100644 index 3ed301db6..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 109, - "name": "Flexible", - "localName": "フレキシブルコンポーネント", - "info": "Row、Column、Flexレイアウトでのみ使用可能で、ネストされた子要素を使用して残りのスペースを拡張したり、適応タイプを指定したりできます。", - "lever": 3, - "family": 5, - "linkIds": [ - 94, - 106 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Flexibleの基本使用", - "desc": [ - "【child】 : 子要素 【Widget】", - "【fit】 : 適応モード*2 【FlexFit】", - "【flex】 : 残りスペースの分配比率 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_ko_KR.json deleted file mode 100644 index d683f4c53..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 109, - "name": "Flexible", - "localName": "유연한 컴포넌트", - "info": "Row, Column 및 Flex 레이아웃에서만 사용할 수 있으며, 자식을 중첩하여 남은 공간을 확장하거나 적응 유형을 지정할 수 있습니다.", - "lever": 3, - "family": 5, - "linkIds": [ - 94, - 106 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Flexible 기본 사용법", - "desc": [ - "【child】 : 자식 【Widget】", - "【fit】 : 적응 모드*2 【FlexFit】", - "【flex】 : 남은 공간 할당 비율 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_pt_PT.json deleted file mode 100644 index acd61655d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 109, - "name": "Flexível", - "localName": "Componente Flexível", - "info": "Só pode ser usado em layouts Row, Column e Flex, pode aninhar filhos para estender o espaço de preenchimento utilizando o espaço restante, e também pode especificar o tipo de ajuste.", - "lever": 3, - "family": 5, - "linkIds": [ - 94, - 106 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Flexible", - "desc": [ - "【child】 : filho 【Widget】", - "【fit】 : modo de ajuste*2 【FlexFit】", - "【flex】 : proporção de distribuição do espaço restante 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_ru_RU.json deleted file mode 100644 index 4a71dd915..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 109, - "name": "Flexible", - "localName": "Гибкий компонент", - "info": "Может использоваться только в макетах Row, Column и Flex, может вкладывать дочерние элементы для расширения занимаемого пространства с использованием оставшегося пространства, также можно указать тип адаптации.", - "lever": 3, - "family": 5, - "linkIds": [ - 94, - 106 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Flexible", - "desc": [ - "【child】 : Дочерний элемент 【Widget】", - "【fit】 : Режим адаптации*2 【FlexFit】", - "【flex】 : Доля распределения оставшегося пространства 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_zh-CN.json deleted file mode 100644 index 4c7ff0ada..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 109, - "name": "Flexible", - "localName": "灵活组件", - "info": "只能用于只能用于Row、Column和Flex布局中,可嵌套孩子利用剩余空间对占位空间进行延展,也可指定适应类型。", - "lever": 3, - "family": 5, - "linkIds": [ - 94, - 106 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Flexible基本使用", - "desc": [ - "【child】 : 孩子 【Widget】", - "【fit】 : 适应模式*2 【FlexFit】", - "【flex】 : 剩余空间分配占比 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/Flexible/node1_base.dart deleted file mode 100644 index 39fd82d79..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Flexible/node1_base.dart +++ /dev/null @@ -1,85 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class CustomFlexible extends StatefulWidget { - const CustomFlexible({Key? key}) : super(key: key); - - @override - _CustomFlexibleState createState() => _CustomFlexibleState(); -} - -class _CustomFlexibleState extends State { - double _width = 300.0; - bool _loose = false; - - @override - Widget build(BuildContext context) { - return Column(children: [ - Container( - color: Colors.grey.withAlpha(33), - width: _width, - padding: const EdgeInsets.all(8.0), - child: Row( - children: [ - Flexible( - flex: 2, - child: Container( - alignment: Alignment.center, - height: 50, - color: Colors.red, - child: const Text( - 'flex=2', - style: TextStyle(color: Colors.white), - ), - ), - ), - Flexible( - flex: 3, - child: Container( - alignment: Alignment.center, - height: 50, - color: Colors.blue, - child: const Text( - 'flex=3', - style: TextStyle(color: Colors.white), - ), - ), - ), - Flexible( - flex: 4, - fit: _loose?FlexFit.loose:FlexFit.tight, - child: Container( - constraints: const BoxConstraints(maxWidth: 60), - alignment: Alignment.center, - height: 50, - color: Colors.green, - child: Text( - 'flex=4 \nfit:${_loose?'loose':'tight'}', - style: const TextStyle(color: Colors.white), - ), - ), - ) - ], - )), - _buildOp() - ]); - } - - Widget _buildOp() => Row( - children: [ - Switch( - value: _loose, - onChanged: (v) => setState(() => _loose = v)), - Expanded( - child: Slider( - divisions: 10, - min: 100, - max: 350, - value: _width, - onChanged: (v) => setState(() => _width = v)), - ), - ], - ); -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_de_DE.json deleted file mode 100644 index 0e9d23ecd..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 325, - "name": "IconTheme", - "localName": "Icon-Stil", - "info": "Kann ein Kind aufnehmen und den Standardstil für die Icons der Nachkommen festlegen. Wird häufig verwendet, um den Stil mehrerer gleicher Icons zu vereinheitlichen und die individuelle Einstellung zu vermeiden.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Verwendung von IconTheme", - "desc": [ - "Kann die Icon-Themen-Daten über IconTheme.of abrufen und den Standardstil für die Icon-Komponenten der Nachkommen von IconTheme festlegen, einschließlich Farbe, Transparenz und Größe." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_en_US.json deleted file mode 100644 index 5fbd6356e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 325, - "name": "IconTheme", - "localName": "Icon Style", - "info": "Can accommodate one child, specifying the default style for the descendant icons. Commonly used to unify the styles of multiple identical icons, avoiding setting them one by one.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IconTheme Usage", - "desc": [ - "You can obtain the icon theme data through IconTheme.of, or set the default style for the icon components of IconTheme【descendants】, including color, opacity, and size." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_es_ES.json deleted file mode 100644 index 74294a705..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 325, - "name": "IconTheme", - "localName": "Tema de iconos", - "info": "Puede contener un hijo y especifica un estilo predeterminado para los iconos de los descendientes. Se usa comúnmente para unificar el estilo de múltiples iconos idénticos, evitando configurarlos uno por uno.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de IconTheme", - "desc": [ - "Puede obtener los datos del tema de iconos a través de IconTheme.of, y también puede establecer un estilo predeterminado para los componentes de iconos de los descendientes de IconTheme, incluyendo color, transparencia y tamaño." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_fr_FR.json deleted file mode 100644 index 1f050871f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 325, - "name": "IconTheme", - "localName": "Thème d'icône", - "info": "Peut contenir un enfant, spécifie le style par défaut pour les icônes des descendants. Souvent utilisé pour unifier le style de plusieurs icônes identiques, évitant ainsi de les configurer une par une.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de IconTheme", - "desc": [ - "Vous pouvez obtenir les données du thème d'icône via IconTheme.of, ou définir un style par défaut pour les composants d'icône des descendants de IconTheme, y compris la couleur, la transparence et la taille." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_it_IT.json deleted file mode 100644 index 9a7ab28fd..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 325, - "name": "IconTheme", - "localName": "Tema Icona", - "info": "Può contenere un figlio, specifica lo stile predefinito per le icone dei discendenti. Comunemente utilizzato per uniformare lo stile di più icone identiche, evitando di impostarle una per una.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di IconTheme", - "desc": [ - "È possibile ottenere i dati del tema dell'icona tramite IconTheme.of, oppure impostare lo stile predefinito per i componenti icona dei discendenti di IconTheme, inclusi colore, trasparenza e dimensione." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_ja_JP.json deleted file mode 100644 index 9445365c5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 325, - "name": "IconTheme", - "localName": "アイコンテーマ", - "info": "子要素を1つ持つことができ、子孫のアイコンのデフォルトスタイルを指定します。複数の同じアイコンのスタイルを統一し、個別に設定する手間を省くために使用されます。", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IconThemeの使用", - "desc": [ - "IconTheme.ofを使用してアイコンテーマデータを取得できます。また、IconThemeの【子孫】のアイコンコンポーネントにデフォルトのスタイル(色、透明度、サイズ)を設定できます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_ko_KR.json deleted file mode 100644 index 329848a2f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 325, - "name": "IconTheme", - "localName": "아이콘 스타일", - "info": "하나의 자식을 포함할 수 있으며, 후손 아이콘의 기본 스타일을 지정합니다. 여러 동일한 아이콘의 스타일을 통일하고, 일일이 설정하는 것을 방지하는 데 자주 사용됩니다.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IconTheme 사용", - "desc": [ - "IconTheme.of를 통해 아이콘 테마 데이터를 얻을 수 있으며, IconTheme의 후손 아이콘 컴포넌트에 기본 스타일(색상, 투명도, 크기 등)을 설정할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_pt_PT.json deleted file mode 100644 index 002df5edc..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 325, - "name": "IconTheme", - "localName": "Tema de Ícones", - "info": "Pode conter um filho, especificando o estilo padrão para ícones descendentes. Frequentemente usado para unificar o estilo de vários ícones idênticos, evitando a configuração individual.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do IconTheme", - "desc": [ - "Pode obter os dados do tema do ícone através de IconTheme.of, e também pode definir o estilo padrão para componentes de ícone descendentes de IconTheme, incluindo cor, transparência e tamanho." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_ru_RU.json deleted file mode 100644 index 971249255..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 325, - "name": "IconTheme", - "localName": "Тема иконок", - "info": "Может содержать один дочерний элемент, задающий стиль по умолчанию для иконок потомков. Часто используется для унификации стиля нескольких одинаковых иконок, чтобы избежать индивидуальной настройки.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование IconTheme", - "desc": [ - "Можно получить данные темы иконок через IconTheme.of, а также установить стиль по умолчанию для иконок-потомков IconTheme, включая цвет, прозрачность и размер." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_zh-CN.json deleted file mode 100644 index 945968e02..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 325, - "name": "IconTheme", - "localName": "图标样式", - "info": "可容纳一个孩子,为后代的图标指定默认样式。常用于多个相同图标的样式统一,避免一一设置。", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IconTheme使用", - "desc": [ - "可以通过IconTheme.of获取图标主题数据,也可以为IconTheme【后代】的图标组件设置默认样式,包括颜色、透明度、尺寸。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/node1_base.dart deleted file mode 100644 index 19a609761..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/IconTheme/node1_base.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-12 -/// contact me by email 1981462002@qq.com - -class IconThemeDemo extends StatelessWidget { - const IconThemeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return IconTheme( - data: const IconThemeData( - color: Colors.purple, - opacity: 1.0, - size: 30 - ), - child: Wrap( - spacing: 10, - children: const[ - Icon(Icons.add), - Icon(Icons.ac_unit), - Icon(Icons.g_translate), - Icon(Icons.remove) - ], - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_de_DE.json deleted file mode 100644 index 7001d6835..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 336, - "name": "InheritedModel", - "localName": "Gemeinsames Modell", - "info": "Es ist eine abstrakte Unterklasse von InheritedWidget, die Daten über den Kontext an den Unterbaum weiterleitet und die Granularität der Abhängigkeitsbenachrichtigung über den Aspekt Aspect steuert.", - "lever": 4, - "family": 5, - "linkIds": [346], - "nodes": [ - { - "file": "node1.dart", - "name": "Verwendung von InheritedModel", - "desc": [ - "【child】: Unterkomponente 【Widget】", - "Unten ist ein benutzerdefiniertes InheritedModel, das die gemeinsame Nutzung von Daten im Unterbaum implementiert; und definiert zwei Aspekte, Farbe und Wert, um die Granularität der Abhängigkeitsbenachrichtigung zu steuern." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_en_US.json deleted file mode 100644 index 3f2d61643..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 336, - "name": "InheritedModel", - "localName": "Shared Model", - "info": "It is an abstract subclass of InheritedWidget, which passes data to the subtree through context and controls the granularity of dependency notifications through Aspect.", - "lever": 4, - "family": 5, - "linkIds": [346], - "nodes": [ - { - "file": "node1.dart", - "name": "InheritedModel Usage", - "desc": [ - "【child】: child component 【Widget】", - "Below is a custom InheritedModel that implements subtree sharing of data; and defines two aspects, color and value, to control the granularity of dependency notifications." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_es_ES.json deleted file mode 100644 index b257f274e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 336, - "name": "InheritedModel", - "localName": "Modelo Compartido", - "info": "Es una subclase abstracta de InheritedWidget, que pasa datos al subárbol a través del contexto y controla la granularidad de las notificaciones de dependencia a través del aspecto Aspect.", - "lever": 4, - "family": 5, - "linkIds": [346], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso de InheritedModel", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "A continuación se muestra un InheritedModel personalizado que implementa el intercambio de datos en el subárbol; y define dos aspectos, color y valor, para controlar la granularidad de las notificaciones de dependencia." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_fr_FR.json deleted file mode 100644 index 9d7d8fe97..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 336, - "name": "InheritedModel", - "localName": "Modèle partagé", - "info": "Il s'agit d'une sous-classe abstraite de InheritedWidget, qui transmet des données au sous-arbre via le contexte, et contrôle la granularité des notifications de dépendance via l'aspect Aspect.", - "lever": 4, - "family": 5, - "linkIds": [346], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation de InheritedModel", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "Voici un InheritedModel personnalisé, qui permet le partage de données dans le sous-arbre ; et définit deux aspects, la couleur et la valeur, pour contrôler la granularité des notifications de dépendance." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_it_IT.json deleted file mode 100644 index cf2406c80..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 336, - "name": "InheritedModel", - "localName": "Modello Condiviso", - "info": "È una sottoclasse astratta di InheritedWidget, che passa i dati al sottoalbero tramite il contesto e controlla la granularità delle notifiche di dipendenza attraverso l'aspetto Aspect.", - "lever": 4, - "family": 5, - "linkIds": [346], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso di InheritedModel", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "Di seguito è riportato un InheritedModel personalizzato che implementa la condivisione dei dati nel sottoalbero; e definisce due aspetti, colore e valore, per controllare la granularità delle notifiche di dipendenza." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_ja_JP.json deleted file mode 100644 index f90449e8c..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 336, - "name": "InheritedModel", - "localName": "共有モデル", - "info": "これは InheritedWidget の抽象サブクラスで、context を介してサブツリーにデータを渡し、Aspect の側面を介して依存通知の粒度を制御します。", - "lever": 4, - "family": 5, - "linkIds": [346], - "nodes": [ - { - "file": "node1.dart", - "name": "InheritedModel の使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "以下はカスタム InheritedModel で、データのサブツリー共有を実装し、色と数値の二つの側面を定義して、依存通知の粒度を制御します。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_ko_KR.json deleted file mode 100644 index f2cf7ee43..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 336, - "name": "InheritedModel", - "localName": "공유 모델", - "info": "이것은 InheritedWidget 추상 서브클래스로, context를 통해 서브트리에 데이터를 전달하고 Aspect 측면을 통해 의존성 알림의 세분화를 제어합니다.", - "lever": 4, - "family": 5, - "linkIds": [346], - "nodes": [ - { - "file": "node1.dart", - "name": "InheritedModel 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "다음은 사용자 정의 InheritedModel로, 데이터의 서브트리 공유를 구현하고 색상과 값 두 가지 측면을 정의하여 의존성 알림의 세분화를 제어합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_pt_PT.json deleted file mode 100644 index b5735a27b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 336, - "name": "InheritedModel", - "localName": "Modelo Compartilhado", - "info": "É uma subclasse abstrata de InheritedWidget, que transmite dados para a subárvore através do context e controla a granularidade das notificações de dependência através do Aspect.", - "lever": 4, - "family": 5, - "linkIds": [346], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso do InheritedModel", - "desc": [ - "【child】 : Componente filho 【Widget】", - "Abaixo está um InheritedModel personalizado, que implementa o compartilhamento de dados na subárvore; e define dois aspectos, cor e valor, para controlar a granularidade das notificações de dependência." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_ru_RU.json deleted file mode 100644 index cc19d1a5d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 336, - "name": "InheritedModel", - "localName": "Общая модель", - "info": "Это абстрактный подкласс InheritedWidget, который передает данные в поддерево через context и управляет гранулярностью уведомлений о зависимостях через аспект Aspect.", - "lever": 4, - "family": 5, - "linkIds": [346], - "nodes": [ - { - "file": "node1.dart", - "name": "Использование InheritedModel", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "Ниже приведен пример пользовательского InheritedModel, который реализует обмен данными в поддереве; а также определяет два аспекта: цвет и значение, чтобы управлять гранулярностью уведомлений о зависимостях." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_zh-CN.json deleted file mode 100644 index cd3566fab..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 336, - "name": "InheritedModel", - "localName": "共享模型", - "info": "它是 InheritedWidget 抽象子类,通过 context 向子树传递数据,并通过 Aspect 方面控制依赖通知的粒度。", - "lever": 4, - "family": 5, - "linkIds": [346], - "nodes": [ - { - "file": "node1.dart", - "name": "InheritedModel 使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "下面是一个自定义 InheritedModel,实现数据的子树共享;并且定义颜色和数值两个方面,控制依赖通知的粒度。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/node1.dart b/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/node1.dart deleted file mode 100644 index 6516f3b61..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedModel/node1.dart +++ /dev/null @@ -1,251 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class InheritedModelDemo extends StatefulWidget { - const InheritedModelDemo({super.key}); - - @override - State createState() => _InheritedModelDemoState(); -} - -class _InheritedModelDemoState extends State { - int _counter = 0; - late Color _color = colors.first; - - final List colors = const [ - Colors.black, - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green, - Colors.orange, - Colors.indigo, - Colors.purple, - ]; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - _CircleIconButton( - color: Colors.green, - icon: Icons.remove, - onPressed: _decrease, - ), - CounterModel( - color: _color, - counter: _counter, - child: const _BoxDecorationWrap(), - ), - _CircleIconButton( - color: Colors.blue, - icon: Icons.add, - onPressed: _increase, - ), - ], - ), - const SizedBox(height: 20), - _ColorSelector( - colors: colors, - activeColor: _color, - onSelect: _onSelectColor, - ) - ], - ); - } - - void _increase() { - setState(() => _counter += 1); - } - - void _decrease() { - setState(() => _counter -= 1); - } - - void _onSelectColor(Color value) { - setState(() { - _color = value; - }); - } -} -enum CounterAspect { color, value } - -class CounterModel extends InheritedModel { - const CounterModel({ - super.key, - this.color, - this.counter, - required super.child, - }); - - final Color? color; - final int? counter; - - static CounterModel? of(BuildContext context,CounterAspect aspect){ - return InheritedModel.inheritFrom(context, aspect: aspect); - } - - @override - bool updateShouldNotify(CounterModel oldWidget) { - return color != oldWidget.color || counter != oldWidget.counter; - } - - @override - bool updateShouldNotifyDependent(CounterModel oldWidget, Set dependencies) { - if (color != oldWidget.color && dependencies.contains(CounterAspect.color)) { - return true; - } - if (counter != oldWidget.counter && dependencies.contains(CounterAspect.value)) { - return true; - } - return false; - } -} - -class _CircleIconButton extends StatelessWidget { - final Color color; - final IconData icon; - final VoidCallback onPressed; - - const _CircleIconButton( - {super.key, - required this.color, - required this.icon, - required this.onPressed}); - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onPressed, - child: Container( - margin: const EdgeInsets.symmetric(horizontal: 20), - decoration: const BoxDecoration( - color: Color(0xFFDFDFDF), - shape: BoxShape.circle, - ), - child: Padding( - padding: const EdgeInsets.all(2.0), - child: Container( - padding: const EdgeInsets.all(8), - decoration: BoxDecoration( - color: color, - shape: BoxShape.circle, - // border: Border.all(width: 14.0, color: Color(0xFFDFDFDF)) - ), - child: Icon( - icon, - color: Colors.white, - size: 16, - ), - ), - ), - ), - ); - } -} - -class _ColorSelector extends StatelessWidget { - final List colors; - final ValueChanged onSelect; - final Color activeColor; - - const _ColorSelector({ - super.key, - required this.colors, - required this.activeColor, - required this.onSelect, - }); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 6, - children: colors - .map((e) => GestureDetector( - onTap: () => onSelect(e), - child: _buildCircle(e), - )) - .toList(), - ); - } - - Widget _buildCircle(Color color) { - return CircleAvatar( - radius: 12, - child: color == activeColor - ? const Icon( - Icons.check, - color: Colors.white, - size: 16, - ) - : null, - backgroundColor: color, - ); - } -} - -class _BoxDecorationWrap extends StatefulWidget { - const _BoxDecorationWrap({super.key}); - - @override - State<_BoxDecorationWrap> createState() => _BoxDecorationWrapState(); -} - -class _BoxDecorationWrapState extends State<_BoxDecorationWrap> { - - @override - void didChangeDependencies() { - print("======BoxDecorationWrap#didChangeDependencies========="); - super.didChangeDependencies(); - } - - @override - Widget build(BuildContext context) { - final Color color = CounterModel.of(context,CounterAspect.color)?.color ?? Colors.black; - return Container( - padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), - child: const _CounterText(), - decoration: BoxDecoration( - color: Colors.white, - border: Border.all(color: color), - borderRadius: BorderRadius.circular(8), - boxShadow: [ - BoxShadow( - color: color, - spreadRadius: 2, - blurRadius: 8, - offset: const Offset(0, 0)) - ]), - ); - } -} - -class _CounterText extends StatefulWidget { - const _CounterText({super.key}); - - @override - State<_CounterText> createState() => _CounterTextState(); -} - -class _CounterTextState extends State<_CounterText> { - @override - void didChangeDependencies() { - print("======CounterText#didChangeDependencies========="); - super.didChangeDependencies(); - } - @override - Widget build(BuildContext context) { - final Color color = CounterModel.of(context,CounterAspect.color)?.color ?? Colors.black; - final int counter = CounterModel.of(context,CounterAspect.value)?.counter ?? 0; - return Text( - "Counter = $counter", - style: TextStyle(color: color,fontWeight: FontWeight.bold), - ); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_de_DE.json deleted file mode 100644 index 201bc84a2..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_de_DE.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": 345, - "name": "InheritedTheme", - "localName": "Vererbungsthema", - "info": "Es ist eine abstrakte Klasse mit vielen XXXTheme-bezogenen Unterklassen, die verwendet werden, um Eigenschaften wie Farben und Textstile zu definieren und diese Eigenschaften in Unterbäumen gemeinsam zu nutzen.", - "lever": 1, - "family": 5, - "linkIds": [ - 324, - 326, - 328, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in InheritedTheme", - "desc": [ - "InheritedTheme.capture kann das übergeordnete Thema erfassen und ein CapturedThemes-Objekt erhalten, durch dessen wrap-Methode das erfasste Thema routenübergreifend verwendet werden kann.", - " ", - "", - "class InheritedThemeDemo extends StatelessWidget {", - " const InheritedThemeDemo({Key? key) : super(key: key);", - "", - "", - " @override", - " Widget build(BuildContext context) {", - " return const DefaultTextStyle(", - " style: TextStyle(fontSize: 24, color: Colors.blue),", - " child: TestBody(),", - " );", - " ", - "", - "", - "class TestBody extends StatelessWidget {", - " const TestBody({Key? key) : super(key: key);", - "", - " @override", - " Widget build(BuildContext context) {", - "", - " return GestureDetector(", - " onTap: () => _toNextPage(context),", - " child: Container(", - " height: 60,", - " margin: const EdgeInsets.only(left: 40,right: 40),", - " alignment: Alignment.center,", - " color: Theme.of(context).primaryColor.withOpacity(0.1),", - " child: const Text('InheritedTheme')));", - " ", - "", - " void _toNextPage(BuildContext context) {", - " final NavigatorState navigator = Navigator.of(context);", - " final CapturedThemes themes =", - " InheritedTheme.capture(from: context, to: navigator.context);", - " ", - " Navigator.of(context).push(", - " MaterialPageRoute(", - " builder: (BuildContext _) {", - " return themes.wrap(Container(", - " alignment: Alignment.center,", - " color: Colors.white,", - " child: Text('Flutter Unit')," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_en_US.json deleted file mode 100644 index 1dce38c51..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_en_US.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": 345, - "name": "InheritedTheme", - "localName": "Inherited Theme", - "info": "It is an abstract class with many XXXTheme related subclasses, used to define properties such as colors and text styles, and share these properties in the subtree.", - "lever": 1, - "family": 5, - "linkIds": [ - 324, - 326, - 328, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to InheritedTheme", - "desc": [ - "InheritedTheme.capture can capture the upper theme, obtain the CapturedThemes object, and use the captured theme across routes through the wrap method of this object.", - " ", - "", - "class InheritedThemeDemo extends StatelessWidget {", - " const InheritedThemeDemo({Key? key) : super(key: key);", - "", - "", - " @override", - " Widget build(BuildContext context) {", - " return const DefaultTextStyle(", - " style: TextStyle(fontSize: 24, color: Colors.blue),", - " child: TestBody(),", - " );", - " ", - "", - "", - "class TestBody extends StatelessWidget {", - " const TestBody({Key? key) : super(key: key);", - "", - " @override", - " Widget build(BuildContext context) {", - "", - " return GestureDetector(", - " onTap: () => _toNextPage(context),", - " child: Container(", - " height: 60,", - " margin: const EdgeInsets.only(left: 40,right: 40),", - " alignment: Alignment.center,", - " color: Theme.of(context).primaryColor.withOpacity(0.1),", - " child: const Text('InheritedTheme')));", - " ", - "", - " void _toNextPage(BuildContext context) {", - " final NavigatorState navigator = Navigator.of(context);", - " final CapturedThemes themes =", - " InheritedTheme.capture(from: context, to: navigator.context);", - " ", - " Navigator.of(context).push(", - " MaterialPageRoute(", - " builder: (BuildContext _) {", - " return themes.wrap(Container(", - " alignment: Alignment.center,", - " color: Colors.white,", - " child: Text('Flutter Unit')," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_es_ES.json deleted file mode 100644 index bd1c9c21a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_es_ES.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": 345, - "name": "InheritedTheme", - "localName": "Tema Heredado", - "info": "Es una clase abstracta con muchas subclases relacionadas con XXXTheme, utilizadas para definir propiedades como colores, estilos de texto, etc., y compartir estas propiedades en el subárbol.", - "lever": 1, - "family": 5, - "linkIds": [ - 324, - 326, - 328, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a InheritedTheme", - "desc": [ - "InheritedTheme.capture puede capturar el tema superior y obtener un objeto CapturedThemes, a través del cual el método wrap puede usar el tema capturado entre rutas.", - " ", - "", - "class InheritedThemeDemo extends StatelessWidget {", - " const InheritedThemeDemo({Key? key) : super(key: key);", - "", - "", - " @override", - " Widget build(BuildContext context) {", - " return const DefaultTextStyle(", - " style: TextStyle(fontSize: 24, color: Colors.blue),", - " child: TestBody(),", - " );", - " ", - "", - "", - "class TestBody extends StatelessWidget {", - " const TestBody({Key? key) : super(key: key);", - "", - " @override", - " Widget build(BuildContext context) {", - "", - " return GestureDetector(", - " onTap: () => _toNextPage(context),", - " child: Container(", - " height: 60,", - " margin: const EdgeInsets.only(left: 40,right: 40),", - " alignment: Alignment.center,", - " color: Theme.of(context).primaryColor.withOpacity(0.1),", - " child: const Text('InheritedTheme')));", - " ", - "", - " void _toNextPage(BuildContext context) {", - " final NavigatorState navigator = Navigator.of(context);", - " final CapturedThemes themes =", - " InheritedTheme.capture(from: context, to: navigator.context);", - " ", - " Navigator.of(context).push(", - " MaterialPageRoute(", - " builder: (BuildContext _) {", - " return themes.wrap(Container(", - " alignment: Alignment.center,", - " color: Colors.white,", - " child: Text('Flutter Unit')," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_fr_FR.json deleted file mode 100644 index d2511a090..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_fr_FR.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": 345, - "name": "InheritedTheme", - "localName": "Thème Hérité", - "info": "C'est une classe abstraite, avec de nombreuses sous-classes XXXTheme associées, utilisées pour définir des propriétés telles que les couleurs, les styles de texte, etc., et partager ces propriétés dans l'arbre de sous-éléments.", - "lever": 1, - "family": 5, - "linkIds": [ - 324, - 326, - 328, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à InheritedTheme", - "desc": [ - "InheritedTheme.capture peut capturer le thème supérieur, obtenir un objet CapturedThemes, et utiliser la méthode wrap de cet objet pour utiliser le thème capturé à travers les routes.", - " ", - "", - "class InheritedThemeDemo extends StatelessWidget {", - " const InheritedThemeDemo({Key? key) : super(key: key);", - "", - "", - " @override", - " Widget build(BuildContext context) {", - " return const DefaultTextStyle(", - " style: TextStyle(fontSize: 24, color: Colors.blue),", - " child: TestBody(),", - " );", - " ", - "", - "", - "class TestBody extends StatelessWidget {", - " const TestBody({Key? key) : super(key: key);", - "", - " @override", - " Widget build(BuildContext context) {", - "", - " return GestureDetector(", - " onTap: () => _toNextPage(context),", - " child: Container(", - " height: 60,", - " margin: const EdgeInsets.only(left: 40,right: 40),", - " alignment: Alignment.center,", - " color: Theme.of(context).primaryColor.withOpacity(0.1),", - " child: const Text('InheritedTheme')));", - " ", - "", - " void _toNextPage(BuildContext context) {", - " final NavigatorState navigator = Navigator.of(context);", - " final CapturedThemes themes =", - " InheritedTheme.capture(from: context, to: navigator.context);", - " ", - " Navigator.of(context).push(", - " MaterialPageRoute(", - " builder: (BuildContext _) {", - " return themes.wrap(Container(", - " alignment: Alignment.center,", - " color: Colors.white,", - " child: Text('Flutter Unit')," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_it_IT.json deleted file mode 100644 index b7d18dd1b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_it_IT.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": 345, - "name": "InheritedTheme", - "localName": "Tema Ereditato", - "info": "È una classe astratta, con molte sottoclassi correlate a XXXTheme, utilizzate per definire proprietà come colori, stili di testo, ecc., e condividere queste proprietà all'interno del sottoalbero.", - "lever": 1, - "family": 5, - "linkIds": [ - 324, - 326, - 328, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a InheritedTheme", - "desc": [ - "InheritedTheme.capture può catturare il tema superiore, ottenendo un oggetto CapturedThemes, attraverso il metodo wrap di questo oggetto è possibile utilizzare il tema catturato attraverso le rotte.", - " ", - "", - "class InheritedThemeDemo extends StatelessWidget {", - " const InheritedThemeDemo({Key? key) : super(key: key);", - "", - "", - " @override", - " Widget build(BuildContext context) {", - " return const DefaultTextStyle(", - " style: TextStyle(fontSize: 24, color: Colors.blue),", - " child: TestBody(),", - " );", - " ", - "", - "", - "class TestBody extends StatelessWidget {", - " const TestBody({Key? key) : super(key: key);", - "", - " @override", - " Widget build(BuildContext context) {", - "", - " return GestureDetector(", - " onTap: () => _toNextPage(context),", - " child: Container(", - " height: 60,", - " margin: const EdgeInsets.only(left: 40,right: 40),", - " alignment: Alignment.center,", - " color: Theme.of(context).primaryColor.withOpacity(0.1),", - " child: const Text('InheritedTheme')));", - " ", - "", - " void _toNextPage(BuildContext context) {", - " final NavigatorState navigator = Navigator.of(context);", - " final CapturedThemes themes =", - " InheritedTheme.capture(from: context, to: navigator.context);", - " ", - " Navigator.of(context).push(", - " MaterialPageRoute(", - " builder: (BuildContext _) {", - " return themes.wrap(Container(", - " alignment: Alignment.center,", - " color: Colors.white,", - " child: Text('Flutter Unit')," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_ja_JP.json deleted file mode 100644 index 37d3da27f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_ja_JP.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": 345, - "name": "InheritedTheme", - "localName": "継承テーマ", - "info": "これは抽象クラスで、非常に多くの XXXTheme 関連のサブクラスがあり、色やテキストスタイルなどの属性を定義し、サブツリー内でこれらの属性を共有するために使用されます。", - "lever": 1, - "family": 5, - "linkIds": [ - 324, - 326, - 328, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InheritedTheme 紹介", - "desc": [ - "InheritedTheme.capture を使用して上位のテーマをキャプチャし、CapturedThemes オブジェクトを取得できます。このオブジェクトの wrap メソッドを使用して、キャプチャしたテーマをルート間で使用できます。", - " ", - "", - "class InheritedThemeDemo extends StatelessWidget {", - " const InheritedThemeDemo({Key? key) : super(key: key);", - "", - "", - " @override", - " Widget build(BuildContext context) {", - " return const DefaultTextStyle(", - " style: TextStyle(fontSize: 24, color: Colors.blue),", - " child: TestBody(),", - " );", - " ", - "", - "", - "class TestBody extends StatelessWidget {", - " const TestBody({Key? key) : super(key: key);", - "", - " @override", - " Widget build(BuildContext context) {", - "", - " return GestureDetector(", - " onTap: () => _toNextPage(context),", - " child: Container(", - " height: 60,", - " margin: const EdgeInsets.only(left: 40,right: 40),", - " alignment: Alignment.center,", - " color: Theme.of(context).primaryColor.withOpacity(0.1),", - " child: const Text('InheritedTheme')));", - " ", - "", - " void _toNextPage(BuildContext context) {", - " final NavigatorState navigator = Navigator.of(context);", - " final CapturedThemes themes =", - " InheritedTheme.capture(from: context, to: navigator.context);", - " ", - " Navigator.of(context).push(", - " MaterialPageRoute(", - " builder: (BuildContext _) {", - " return themes.wrap(Container(", - " alignment: Alignment.center,", - " color: Colors.white,", - " child: Text('Flutter Unit')," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_ko_KR.json deleted file mode 100644 index 8d0752a10..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_ko_KR.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": 345, - "name": "InheritedTheme", - "localName": "전통 테마", - "info": "추상 클래스이며, 많은 XXXTheme 관련 하위 클래스가 있어 색상, 텍스트 스타일 등의 속성을 정의하고 하위 트리에서 이러한 속성을 공유합니다.", - "lever": 1, - "family": 5, - "linkIds": [ - 324, - 326, - 328, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InheritedTheme 소개", - "desc": [ - "InheritedTheme.capture는 상위 테마를 캡처하여 CapturedThemes 객체를 가져올 수 있으며, 이 객체의 wrap 메서드를 통해 캡처한 테마를 라우터 간에 사용할 수 있습니다.", - " ", - "", - "class InheritedThemeDemo extends StatelessWidget {", - " const InheritedThemeDemo({Key? key) : super(key: key);", - "", - "", - " @override", - " Widget build(BuildContext context) {", - " return const DefaultTextStyle(", - " style: TextStyle(fontSize: 24, color: Colors.blue),", - " child: TestBody(),", - " );", - " ", - "", - "", - "class TestBody extends StatelessWidget {", - " const TestBody({Key? key) : super(key: key);", - "", - " @override", - " Widget build(BuildContext context) {", - "", - " return GestureDetector(", - " onTap: () => _toNextPage(context),", - " child: Container(", - " height: 60,", - " margin: const EdgeInsets.only(left: 40,right: 40),", - " alignment: Alignment.center,", - " color: Theme.of(context).primaryColor.withOpacity(0.1),", - " child: const Text('InheritedTheme')));", - " ", - "", - " void _toNextPage(BuildContext context) {", - " final NavigatorState navigator = Navigator.of(context);", - " final CapturedThemes themes =", - " InheritedTheme.capture(from: context, to: navigator.context);", - " ", - " Navigator.of(context).push(", - " MaterialPageRoute(", - " builder: (BuildContext _) {", - " return themes.wrap(Container(", - " alignment: Alignment.center,", - " color: Colors.white,", - " child: Text('Flutter Unit')," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_pt_PT.json deleted file mode 100644 index 7976fa9fe..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_pt_PT.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": 345, - "name": "InheritedTheme", - "localName": "Tema de Herança", - "info": "É uma classe abstrata, com muitas subclasses relacionadas a XXXTheme, usadas para definir propriedades como cores, estilos de texto, etc., e compartilhar essas propriedades na subárvore.", - "lever": 1, - "family": 5, - "linkIds": [ - 324, - 326, - 328, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao InheritedTheme", - "desc": [ - "InheritedTheme.capture pode capturar o tema superior, obter o objeto CapturedThemes, e através do método wrap desse objeto, o tema capturado pode ser usado entre rotas.", - " ", - "", - "class InheritedThemeDemo extends StatelessWidget {", - " const InheritedThemeDemo({Key? key) : super(key: key);", - "", - "", - " @override", - " Widget build(BuildContext context) {", - " return const DefaultTextStyle(", - " style: TextStyle(fontSize: 24, color: Colors.blue),", - " child: TestBody(),", - " );", - " ", - "", - "", - "class TestBody extends StatelessWidget {", - " const TestBody({Key? key) : super(key: key);", - "", - " @override", - " Widget build(BuildContext context) {", - "", - " return GestureDetector(", - " onTap: () => _toNextPage(context),", - " child: Container(", - " height: 60,", - " margin: const EdgeInsets.only(left: 40,right: 40),", - " alignment: Alignment.center,", - " color: Theme.of(context).primaryColor.withOpacity(0.1),", - " child: const Text('InheritedTheme')));", - " ", - "", - " void _toNextPage(BuildContext context) {", - " final NavigatorState navigator = Navigator.of(context);", - " final CapturedThemes themes =", - " InheritedTheme.capture(from: context, to: navigator.context);", - " ", - " Navigator.of(context).push(", - " MaterialPageRoute(", - " builder: (BuildContext _) {", - " return themes.wrap(Container(", - " alignment: Alignment.center,", - " color: Colors.white,", - " child: Text('Flutter Unit')," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_ru_RU.json deleted file mode 100644 index c8f3df049..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_ru_RU.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": 345, - "name": "InheritedTheme", - "localName": "Тема наследования", - "info": "Это абстрактный класс, имеющий множество связанных подклассов XXXTheme, используемых для определения таких свойств, как цвета, стили текста и т.д., которые затем используются в поддереве.", - "lever": 1, - "family": 5, - "linkIds": [ - 324, - 326, - 328, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в InheritedTheme", - "desc": [ - "InheritedTheme.capture может захватывать тему верхнего уровня, получая объект CapturedThemes, через метод wrap которого можно использовать захваченную тему между маршрутами.", - " ", - "", - "class InheritedThemeDemo extends StatelessWidget {", - " const InheritedThemeDemo({Key? key) : super(key: key);", - "", - "", - " @override", - " Widget build(BuildContext context) {", - " return const DefaultTextStyle(", - " style: TextStyle(fontSize: 24, color: Colors.blue),", - " child: TestBody(),", - " );", - " ", - "", - "", - "class TestBody extends StatelessWidget {", - " const TestBody({Key? key) : super(key: key);", - "", - " @override", - " Widget build(BuildContext context) {", - "", - " return GestureDetector(", - " onTap: () => _toNextPage(context),", - " child: Container(", - " height: 60,", - " margin: const EdgeInsets.only(left: 40,right: 40),", - " alignment: Alignment.center,", - " color: Theme.of(context).primaryColor.withOpacity(0.1),", - " child: const Text('InheritedTheme')));", - " ", - "", - " void _toNextPage(BuildContext context) {", - " final NavigatorState navigator = Navigator.of(context);", - " final CapturedThemes themes =", - " InheritedTheme.capture(from: context, to: navigator.context);", - " ", - " Navigator.of(context).push(", - " MaterialPageRoute(", - " builder: (BuildContext _) {", - " return themes.wrap(Container(", - " alignment: Alignment.center,", - " color: Colors.white,", - " child: Text('Flutter Unit')," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_zh-CN.json deleted file mode 100644 index c300aa9e4..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/desc_zh-CN.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "id": 345, - "name": "InheritedTheme", - "localName": "传承主题", - "info": "它是抽象类,有非常多的 XXXTheme 相关子类,用于定义颜色、文字样式等属性,在子树中共享这些属性。", - "lever": 1, - "family": 5, - "linkIds": [ - 324, - 326, - 328, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InheritedTheme 介绍", - "desc": [ - "InheritedTheme.capture 可以抓取上层主题,获取 CapturedThemes 对象,通过该对象 wrap 方法可以跨路由使用抓到的主题。", - " ", - "", - "class InheritedThemeDemo extends StatelessWidget {", - " const InheritedThemeDemo({Key? key) : super(key: key);", - "", - "", - " @override", - " Widget build(BuildContext context) {", - " return const DefaultTextStyle(", - " style: TextStyle(fontSize: 24, color: Colors.blue),", - " child: TestBody(),", - " );", - " ", - "", - "", - "class TestBody extends StatelessWidget {", - " const TestBody({Key? key) : super(key: key);", - "", - " @override", - " Widget build(BuildContext context) {", - "", - " return GestureDetector(", - " onTap: () => _toNextPage(context),", - " child: Container(", - " height: 60,", - " margin: const EdgeInsets.only(left: 40,right: 40),", - " alignment: Alignment.center,", - " color: Theme.of(context).primaryColor.withOpacity(0.1),", - " child: const Text('InheritedTheme')));", - " ", - "", - " void _toNextPage(BuildContext context) {", - " final NavigatorState navigator = Navigator.of(context);", - " final CapturedThemes themes =", - " InheritedTheme.capture(from: context, to: navigator.context);", - " ", - " Navigator.of(context).push(", - " MaterialPageRoute(", - " builder: (BuildContext _) {", - " return themes.wrap(Container(", - " alignment: Alignment.center,", - " color: Colors.white,", - " child: Text('Flutter Unit')," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/node1_base.dart deleted file mode 100644 index 3fd4a5eee..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedTheme/node1_base.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class InheritedThemeDemo extends StatelessWidget { - const InheritedThemeDemo({super.key}); - - - @override - Widget build(BuildContext context) { - return const DefaultTextStyle( - style: TextStyle(fontSize: 24, color: Colors.blue), - child: TestBody(), - ); - } -} - -class TestBody extends StatelessWidget { - const TestBody({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - - return GestureDetector( - onTap: () => _toNextPage(context), - child: Container( - height: 60, - margin: const EdgeInsets.only(left: 40,right: 40), - alignment: Alignment.center, - color: Theme.of(context).primaryColor.withOpacity(0.1), - child: const Text('InheritedTheme'))); - } - - void _toNextPage(BuildContext context) { - // final NavigatorState navigator = Navigator.of(context); - // final CapturedThemes themes = - // InheritedTheme.capture(from: context, to: navigator.context); - // - // Navigator.of(context).push( - // MaterialPageRoute( - // builder: (BuildContext _) { - // return themes.wrap(Container( - // alignment: Alignment.center, - // color: Colors.white, - // child: Text('Flutter Unit'), - // )); - // }, - // ), - // ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_de_DE.json deleted file mode 100644 index e23bcbe8b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_de_DE.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 346, - "name": "InheritedWidget", - "localName": "Vererbte Komponente", - "info": "Diese Klasse ist eine abstrakte Klasse, deren Funktion darin besteht, Daten im aktuellen Kontext zu speichern und diese Daten in den Kontexten der nachfolgenden Knoten gemeinsam zu nutzen. Es gibt viele Implementierungsklassen, einschließlich verschiedener Themenkomponenten, MediaQuery usw.", - "lever": 4, - "family": 5, - "linkIds": [ - 167, - 319, - 328, - 324, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Column", - "desc": [ - "【children】 : Komponentenliste 【List】", - "【mainAxisAlignment】 : Hauptachsenausrichtung 【MainAxisAlignment】", - "【crossAxisAlignment】 : Kreuzachsenausrichtung 【CrossAxisAlignment】", - "【textBaseline】 : Textbaseline 【TextBaseline】", - "【verticalDirection】 : Vertikale Richtung 【VerticalDirection】", - "【mainAxisSize】 : Hauptachsengröße 【MainAxisSize】" - ] - }, - { - "file": "node2_use.dart", - "name": "InheritedWidget Beispiel", - "desc": [ - "Unten wird die Verwendung der InheritedWidget-Komponente anhand eines Farbzählerprojekts gezeigt." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_en_US.json deleted file mode 100644 index e3e3c0e94..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_en_US.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 346, - "name": "InheritedWidget", - "localName": "Inherited Widget", - "info": "This class is an abstract class, which can store data in this context and share that data in the context of its subsequent nodes. There are many implementation classes, including various theme components, MediaQuery, etc.", - "lever": 4, - "family": 5, - "linkIds": [ - 167, - 319, - 328, - 324, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Column", - "desc": [ - "【children】: Component list 【List】", - "【mainAxisAlignment】: Main axis alignment 【MainAxisAlignment】", - "【crossAxisAlignment】: Cross axis alignment 【CrossAxisAlignment】", - "【textBaseline】: Text baseline 【TextBaseline】", - "【verticalDirection】: Vertical direction 【VerticalDirection】", - "【mainAxisSize】: Main axis size 【MainAxisSize】" - ] - }, - { - "file": "node2_use.dart", - "name": "InheritedWidget Example", - "desc": [ - "Below is an example of using the InheritedWidget component through a color counter project." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_es_ES.json deleted file mode 100644 index 2a335a4b7..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_es_ES.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 346, - "name": "InheritedWidget", - "localName": "Componente Heredado", - "info": "Esta clase es una clase abstracta que permite almacenar datos en este contexto y compartirlos en los contextos de sus nodos subsiguientes. Tiene muchas clases de implementación, incluyendo varios componentes temáticos, MediaQuery, etc.", - "lever": 4, - "family": 5, - "linkIds": [ - 167, - 319, - 328, - 324, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Column", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【mainAxisAlignment】 : Alineación del eje principal 【MainAxisAlignment】", - "【crossAxisAlignment】 : Alineación del eje transversal 【CrossAxisAlignment】", - "【textBaseline】 : Línea base del texto 【TextBaseline】", - "【verticalDirection】 : Dirección vertical 【VerticalDirection】", - "【mainAxisSize】 : Tamaño del eje principal 【MainAxisSize】" - ] - }, - { - "file": "node2_use.dart", - "name": "Ejemplo de InheritedWidget", - "desc": [ - "A continuación se muestra un proyecto de contador de colores que demuestra el uso del componente InheritedWidget." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_fr_FR.json deleted file mode 100644 index 0cba5d15d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_fr_FR.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 346, - "name": "InheritedWidget", - "localName": "Widget Hérité", - "info": "Cette classe est une classe abstraite, dont le rôle est de stocker des données dans ce contexte et de partager ces données dans les contextes des nœuds suivants. Il existe de nombreuses classes d'implémentation, y compris divers composants de thème, MediaQuery, etc.", - "lever": 4, - "family": 5, - "linkIds": [ - 167, - 319, - 328, - 324, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Column", - "desc": [ - "【children】 : Liste de composants 【List】", - "【mainAxisAlignment】 : Alignement de l'axe principal 【MainAxisAlignment】", - "【crossAxisAlignment】 : Alignement de l'axe transversal 【CrossAxisAlignment】", - "【textBaseline】 : Ligne de base du texte 【TextBaseline】", - "【verticalDirection】 : Direction verticale 【VerticalDirection】", - "【mainAxisSize】 : Taille de l'axe principal 【MainAxisSize】" - ] - }, - { - "file": "node2_use.dart", - "name": "Exemple de InheritedWidget", - "desc": [ - "Ci-dessous, un projet de compteur de couleur illustre l'utilisation du composant InheritedWidget." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_it_IT.json deleted file mode 100644 index b8fa4f6c4..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_it_IT.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 346, - "name": "InheritedWidget", - "localName": "Componente Ereditato", - "info": "Questa classe è astratta e ha la funzione di memorizzare dati nel contesto corrente e condividerli nei contesti dei nodi successivi. Ci sono molte classi di implementazione, inclusi vari componenti tematici, MediaQuery, ecc.", - "lever": 4, - "family": 5, - "linkIds": [ - 167, - 319, - 328, - 324, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di Column", - "desc": [ - "【children】 : Lista di componenti 【List】", - "【mainAxisAlignment】 : Allineamento dell'asse principale 【MainAxisAlignment】", - "【crossAxisAlignment】 : Allineamento dell'asse trasversale 【CrossAxisAlignment】", - "【textBaseline】 : Linea di base del testo 【TextBaseline】", - "【verticalDirection】 : Direzione verticale 【VerticalDirection】", - "【mainAxisSize】 : Dimensione dell'asse principale 【MainAxisSize】" - ] - }, - { - "file": "node2_use.dart", - "name": "Esempio di InheritedWidget", - "desc": [ - "Di seguito è mostrato l'uso del componente InheritedWidget attraverso un progetto di contatore di colori." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_ja_JP.json deleted file mode 100644 index bff24ebee..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_ja_JP.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 346, - "name": "InheritedWidget", - "localName": "継承ウィジェット", - "info": "このクラスは抽象クラスで、このコンテキストにデータを保存し、その後のノードのコンテキストでそのデータを共有する役割を果たします。多くの実装クラスがあり、さまざまなテーマウィジェットやMediaQueryなどが含まれます。", - "lever": 4, - "family": 5, - "linkIds": [ - 167, - 319, - 328, - 324, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Columnの基本使用", - "desc": [ - "【children】 : ウィジェットリスト 【List】", - "【mainAxisAlignment】 : 主軸の整列 【MainAxisAlignment】", - "【crossAxisAlignment】 : 交差軸の整列 【CrossAxisAlignment】", - "【textBaseline】 : テキストベースライン 【TextBaseline】", - "【verticalDirection】 : 垂直方向 【VerticalDirection】", - "【mainAxisSize】 : 主軸のサイズ 【MainAxisSize】" - ] - }, - { - "file": "node2_use.dart", - "name": "InheritedWidget の使用例", - "desc": [ - "以下は、色カウンタープロジェクトを通じてInheritedWidgetウィジェットの使用を展示しています。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_ko_KR.json deleted file mode 100644 index 99daa4cc5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_ko_KR.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 346, - "name": "InheritedWidget", - "localName": "상속 위젯", - "info": "이 클래스는 추상 클래스로, 본 컨텍스트에서 데이터를 저장하고, 그 후속 노드의 컨텍스트에서 해당 데이터를 공유할 수 있습니다. 다양한 구현 클래스가 있으며, 다양한 테마 위젯, MediaQuery 등이 포함됩니다.", - "lever": 4, - "family": 5, - "linkIds": [ - 167, - 319, - 328, - 324, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Column 기본 사용", - "desc": [ - "【children】 : 위젯 리스트 【List】", - "【mainAxisAlignment】 : 메인 축 정렬 【MainAxisAlignment】", - "【crossAxisAlignment】 : 교차 축 정렬 【CrossAxisAlignment】", - "【textBaseline】 : 텍스트 기준선 【TextBaseline】", - "【verticalDirection】 : 수직 방향 【VerticalDirection】", - "【mainAxisSize】 : 메인 축 크기 【MainAxisSize】" - ] - }, - { - "file": "node2_use.dart", - "name": "InheritedWidget 예제", - "desc": [ - "아래는 색상 카운터 프로젝트를 통해 InheritedWidget 위젯의 사용을 보여줍니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_pt_PT.json deleted file mode 100644 index e56e8e501..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_pt_PT.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 346, - "name": "InheritedWidget", - "localName": "Componente Herdado", - "info": "Esta classe é abstrata e tem a função de armazenar dados no contexto atual e compartilhar esses dados nos contextos dos nós subsequentes. Existem muitas classes de implementação, incluindo vários componentes temáticos, MediaQuery, etc.", - "lever": 4, - "family": 5, - "linkIds": [ - 167, - 319, - 328, - 324, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Column", - "desc": [ - "【children】 : Lista de componentes 【List】", - "【mainAxisAlignment】 : Alinhamento do eixo principal 【MainAxisAlignment】", - "【crossAxisAlignment】 : Alinhamento do eixo cruzado 【CrossAxisAlignment】", - "【textBaseline】 : Linha de base do texto 【TextBaseline】", - "【verticalDirection】 : Direção vertical 【VerticalDirection】", - "【mainAxisSize】 : Tamanho do eixo principal 【MainAxisSize】" - ] - }, - { - "file": "node2_use.dart", - "name": "Exemplo de InheritedWidget", - "desc": [ - "Abaixo está um projeto de contador de cores que demonstra o uso do componente InheritedWidget." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_ru_RU.json deleted file mode 100644 index 6c76cdeb8..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_ru_RU.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 346, - "name": "InheritedWidget", - "localName": "Наследуемый компонент", - "info": "Этот класс является абстрактным и используется для хранения данных в текущем контексте и совместного использования этих данных в контекстах последующих узлов. Существует множество реализаций этого класса, включая различные тематические компоненты, MediaQuery и другие.", - "lever": 4, - "family": 5, - "linkIds": [ - 167, - 319, - 328, - 324, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Column", - "desc": [ - "【children】 : Список компонентов 【List】", - "【mainAxisAlignment】 : Выравнивание по главной оси 【MainAxisAlignment】", - "【crossAxisAlignment】 : Выравнивание по поперечной оси 【CrossAxisAlignment】", - "【textBaseline】 : Базовая линия текста 【TextBaseline】", - "【verticalDirection】 : Вертикальное направление 【VerticalDirection】", - "【mainAxisSize】 : Размер главной оси 【MainAxisSize】" - ] - }, - { - "file": "node2_use.dart", - "name": "Пример использования InheritedWidget", - "desc": [ - "Ниже приведен пример использования компонента InheritedWidget в проекте счетчика цветов." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_zh-CN.json deleted file mode 100644 index 8b8f53f8c..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/desc_zh-CN.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 346, - "name": "InheritedWidget", - "localName": "传承组件", - "info": "该类是抽象类,作用是可以在本上下文存储数据,在其后续节点的上下文中共享该数据。有很多实现类,包括各种主题组件、MediaQuery等。", - "lever": 4, - "family": 5, - "linkIds": [ - 167, - 319, - 328, - 324, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Column基本使用", - "desc": [ - "【children】 : 组件列表 【List】", - "【mainAxisAlignment】 : 主轴对齐 【MainAxisAlignment】", - "【crossAxisAlignment】 : 交叉轴对齐 【CrossAxisAlignment】", - "【textBaseline】 : 文字基线 【TextBaseline】", - "【verticalDirection】 : 竖直方向 【VerticalDirection】", - "【mainAxisSize】 : 主轴尺寸 【MainAxisSize】" - ] - }, - { - "file": "node2_use.dart", - "name": "InheritedWidget 案例", - "desc": [ - "下面是通过一个颜色计数器项目展示 InheritedWidget 组件的使用。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/node1_base.dart deleted file mode 100644 index 823cbb2cf..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/node1_base.dart +++ /dev/null @@ -1,49 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - - -class InheritedWidgetDemo extends StatelessWidget { - final String info = - 'InheritedWidget 是一个抽象类,不可以直接使用。可以自定义对应共享数据的子类,如这里的通过 InfoInheritedWidget 实现:当前这段话可以在任意子树节点上下文获取。' - '一般都会定义一个 XXX.of(context) 的方法来获取数据,如 MediaQuery.of,Theme.of 等。'; - - const InheritedWidgetDemo({super.key}); - - @override - Widget build(BuildContext context) { - return InfoInheritedWidget( - info: info, - child: const InfoWidget(), - ); - } -} - -class InfoWidget extends StatelessWidget { - const InfoWidget({super.key}); - - @override - Widget build(BuildContext context) { - String info = InfoInheritedWidget.of(context)?.info??''; - - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} - -class InfoInheritedWidget extends InheritedWidget { - final String info; - - const InfoInheritedWidget({super.key,required this.info, required super.child}); - - @override - bool updateShouldNotify(covariant InfoInheritedWidget oldWidget) => - info != oldWidget.info; - - static InfoInheritedWidget? of(BuildContext context) => - context.dependOnInheritedWidgetOfExactType(); -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/node2_use.dart b/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/node2_use.dart deleted file mode 100644 index 4e2ec7d52..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/InheritedWidget/node2_use.dart +++ /dev/null @@ -1,218 +0,0 @@ - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com -/// -class InheritedWidgetDemo2 extends StatefulWidget { - const InheritedWidgetDemo2({super.key}); - - @override - State createState() => _InheritedWidgetDemo2State(); -} - -class InheritedCounter extends InheritedWidget { - const InheritedCounter({ - super.key, - this.color, - this.counter, - required super.child, - }); - - final Color? color; - final int? counter; - - static InheritedCounter? of(BuildContext context) { - return context.dependOnInheritedWidgetOfExactType(); - } - - @override - bool updateShouldNotify(InheritedCounter oldWidget) { - return color != oldWidget.color || counter != oldWidget.counter; - } -} - -class _InheritedWidgetDemo2State extends State { - int _counter = 0; - late Color _color = colors.first; - - final List colors = const [ - Colors.black, - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green, - Colors.orange, - Colors.indigo, - Colors.purple, - ]; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - CircleIconButton( - color: Colors.green, - icon: Icons.remove, - onPressed: _decrease, - ), - InheritedCounter( - color: _color, - counter: _counter, - child: const BoxDecorationWrap(), - ), - CircleIconButton( - color: Colors.blue, - icon: Icons.add, - onPressed: _increase, - ), - ], - ), - const SizedBox(height: 20), - ColorSelector( - colors: colors, - activeColor: _color, - onSelect: _onSelectColor, - ) - ], - ); - } - - void _increase() { - setState(() => _counter += 1); - } - - void _decrease() { - setState(() => _counter -= 1); - } - - void _onSelectColor(Color value) { - setState(() { - _color = value; - }); - } -} - -class CircleIconButton extends StatelessWidget { - final Color color; - final IconData icon; - final VoidCallback onPressed; - - const CircleIconButton( - {super.key, - required this.color, - required this.icon, - required this.onPressed}); - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onPressed, - child: Container( - margin: const EdgeInsets.symmetric(horizontal: 20), - decoration: const BoxDecoration( - color: Color(0xFFDFDFDF), - shape: BoxShape.circle, - // border: Border.all(width: 14.0, color: Color(0xFFDFDFDF)) - ), - child: Padding( - padding: const EdgeInsets.all(2.0), - child: Container( - padding: const EdgeInsets.all(8), - decoration: BoxDecoration( - color: color, - shape: BoxShape.circle, - // border: Border.all(width: 14.0, color: Color(0xFFDFDFDF)) - ), - child: Icon( - icon, - color: Colors.white, - size: 16, - ), - ), - ), - ), - ); - } -} - -class ColorSelector extends StatelessWidget { - final List colors; - final ValueChanged onSelect; - final Color activeColor; - - const ColorSelector({ - super.key, - required this.colors, - required this.activeColor, - required this.onSelect, - }); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 6, - children: colors - .map((e) => GestureDetector( - onTap: () => onSelect(e), - child: _buildCircle(e), - )) - .toList(), - ); - } - - Widget _buildCircle(Color color) { - return CircleAvatar( - radius: 12, - child: color == activeColor - ? const Icon( - Icons.check, - color: Colors.white, - size: 16, - ) - : null, - backgroundColor: color, - ); - } -} - -class BoxDecorationWrap extends StatelessWidget { - const BoxDecorationWrap({super.key}); - - @override - Widget build(BuildContext context) { - final Color color = InheritedCounter.of(context)?.color ?? Colors.black; - return Container( - padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), - child: const CounterText(), - decoration: BoxDecoration( - color: Colors.white, - border: Border.all(color: color), - borderRadius: BorderRadius.circular(8), - boxShadow: [ - BoxShadow( - color: color, - spreadRadius: 2, - blurRadius: 8, - offset: const Offset(0, 0)) - ]), - ); - } -} - -class CounterText extends StatelessWidget { - const CounterText({super.key}); - - @override - Widget build(BuildContext context) { - final Color? color = InheritedCounter.of(context)?.color; - final int counter = InheritedCounter.of(context)?.counter??0; - return Text( - "Counter = $counter", - style: TextStyle(color: color,fontWeight: FontWeight.bold), - ); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_de_DE.json deleted file mode 100644 index e152f61ff..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 316, - "name": "KeepAlive", - "localName": "Lebendig halten", - "info": "Ob der Zustand der Kinder in einer faul geladenen Liste lebendig gehalten werden soll. Ist die zugrunde liegende Implementierung von AutomaticKeepAlive und wird normalerweise nicht alleine verwendet.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in KeepAlive", - "desc": [ - "【child】 : *Kindkomponente 【Widget】", - "【keepAlive】 : *Ob lebendig gehalten wird 【bool】", - "In der Flutter-Framework-Ebene wird es nur in AutomaticKeepAlive verwendet, und im Quellcode wird auch gesagt, dass es selten alleine verwendet wird. Dieses Beispiel zeigt die Zustandserhaltung der ListView-Einträge." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_en_US.json deleted file mode 100644 index 231bcbdb3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 316, - "name": "KeepAlive", - "localName": "Keep Alive", - "info": "Whether the state of the child needs to be kept alive in a lazy-loaded list. It is the underlying implementation of AutomaticKeepAlive and is generally not used alone.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to KeepAlive", - "desc": [ - "【child】: *Child component 【Widget】", - "【keepAlive】: *Whether to keep alive 【bool】", - "In the Flutter framework layer, it is only used in AutomaticKeepAlive. The source code also mentions that it is rarely used alone. This example demonstrates the state keep-alive of ListView items." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_es_ES.json deleted file mode 100644 index 077935c48..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 316, - "name": "KeepAlive", - "localName": "Mantener activo", - "info": "En listas de carga perezosa, si el estado de los hijos necesita mantenerse activo. Es la implementación subyacente de AutomaticKeepAlive, generalmente no se usa por separado.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a KeepAlive", - "desc": [ - "【child】 : *Componente hijo 【Widget】", - "【keepAlive】 : *Si se mantiene activo 【bool】", - "En la capa del framework de Flutter, solo se usa en AutomaticKeepAlive, y en el código fuente también se menciona que rara vez se usa por separado. Este ejemplo muestra cómo mantener activo el estado de los elementos de ListView." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_fr_FR.json deleted file mode 100644 index 6ff230cc6..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 316, - "name": "KeepAlive", - "localName": "Maintenir en vie", - "info": "Dans une liste chargée de manière paresseuse, faut-il maintenir l'état de l'enfant en vie. C'est l'implémentation sous-jacente de AutomaticKeepAlive, généralement pas utilisé seul.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à KeepAlive", - "desc": [ - "【child】 : *composant enfant 【Widget】", - "【keepAlive】 : *maintenir en vie 【bool】", - "Dans la couche framework de Flutter, il est uniquement utilisé dans AutomaticKeepAlive, et le code source indique qu'il est rarement utilisé seul. Cet exemple montre la maintenance de l'état des éléments de ListView." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_it_IT.json deleted file mode 100644 index b3ec17cba..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 316, - "name": "KeepAlive", - "localName": "Mantenimento Attivo", - "info": "In una lista caricata in modo lazy, lo stato del bambino deve essere mantenuto attivo. È l'implementazione sottostante di AutomaticKeepAlive e generalmente non viene utilizzato da solo.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a KeepAlive", - "desc": [ - "【child】 : *componente figlio 【Widget】", - "【keepAlive】 : *se mantenere attivo 【bool】", - "Nel livello del framework Flutter, viene utilizzato solo in AutomaticKeepAlive, e il codice sorgente dice che è raramente usato da solo. Questo esempio mostra il mantenimento dello stato degli elementi di ListView." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_ja_JP.json deleted file mode 100644 index 77fce8d50..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 316, - "name": "KeepAlive", - "localName": "キープアライブ", - "info": "レイジーロードのリストで、子の状態をキープアライブする必要があるかどうか。AutomaticKeepAliveの基盤実装であり、通常は単独で使用しません。", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "KeepAlive 紹介", - "desc": [ - "【child】 : *子コンポーネント 【Widget】", - "【keepAlive】 : *キープアライブするかどうか 【bool】", - "Flutterフレームワーク層では、AutomaticKeepAliveでのみ使用され、ソースコードでも単独で使用することはほとんどないとされています。この例は、ListViewアイテムの状態をキープアライブすることを示しています。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_ko_KR.json deleted file mode 100644 index 86a59289e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 316, - "name": "KeepAlive", - "localName": "유지", - "info": "지연 로딩된 목록에서 자식의 상태를 유지할 필요가 있는지 여부. AutomaticKeepAlive의 기본 구현이며, 일반적으로 단독으로 사용되지 않습니다.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "KeepAlive 소개", - "desc": [ - "【child】 : *자식 위젯 【Widget】", - "【keepAlive】 : *유지 여부 【bool】", - "flutter 프레임워크 레이어에서는 AutomaticKeepAlive에서만 사용되며, 소스 코드에서도 단독으로 사용하는 경우가 드물다고 언급합니다. 이 예제는 ListView 항목의 상태 유지를 보여줍니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_pt_PT.json deleted file mode 100644 index 91c0dfb6a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 316, - "name": "KeepAlive", - "localName": "Manter Ativo", - "info": "Em listas de carregamento preguiçoso, se o estado da criança precisa ser mantido ativo. É a implementação subjacente do AutomaticKeepAlive, geralmente não usado separadamente.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao KeepAlive", - "desc": [ - "【child】 : *componente filho 【Widget】", - "【keepAlive】 : *se deve manter ativo 【bool】", - "Na camada de framework do flutter, é usado apenas no AutomaticKeepAlive, e o código-fonte também diz que raramente é usado separadamente. Este exemplo mostra a manutenção do estado dos itens da ListView." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_ru_RU.json deleted file mode 100644 index 79c4db41d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 316, - "name": "KeepAlive", - "localName": "Поддержание активности", - "info": "Нужно ли сохранять состояние дочерних элементов в лениво загружаемом списке. Это базовая реализация AutomaticKeepAlive, обычно не используется отдельно.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в KeepAlive", - "desc": [ - "【child】 : *Дочерний компонент 【Widget】", - "【keepAlive】 : *Сохранять ли активность 【bool】", - "На уровне фреймворка Flutter используется только в AutomaticKeepAlive, в исходном коде также сказано, что он редко используется отдельно. Этот пример демонстрирует поддержание состояния элементов ListView." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_zh-CN.json deleted file mode 100644 index 09a06bbb1..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 316, - "name": "KeepAlive", - "localName": "保活", - "info": "在懒加载的列表中,孩子的状态是否需要保活。是 AutomaticKeepAlive 的底层实现,一般不单独使用。", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "KeepAlive 介绍", - "desc": [ - "【child】 : *子组件 【Widget】", - "【keepAlive】 : *是否保活 【bool】", - "在 flutter 框架层中,只用于 AutomaticKeepAlive 中,源码中也说很少单独使用它。该示例展示出 ListView 条目的状态保活。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/node1_base.dart deleted file mode 100644 index d9b6a7a16..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/KeepAlive/node1_base.dart +++ /dev/null @@ -1,113 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class KeepAliveDemo extends StatelessWidget { - const KeepAliveDemo({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - Colors.red[50]!, - Colors.red[100]!, - Colors.red[200]!, - Colors.red[300]!, - Colors.red[400]!, - Colors.red[500]!, - Colors.red[600]!, - Colors.red[700]!, - Colors.red[800]!, - Colors.red[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: ListView.builder( - itemCount: data.length, - itemBuilder: (_, index) => ColorBox( - color: data[index], - index: index, - ), - ), - ); - } -} - -class ColorBox extends StatefulWidget { - final Color color; - final int index; - - const ColorBox({ - Key? key, - required this.color, - required this.index, - }) : super(key: key); - - @override - _ColorBoxState createState() => _ColorBoxState(); -} - -class _ColorBoxState extends State with AutomaticKeepAliveClientMixin { - bool _checked = false; - - @override - void initState() { - super.initState(); - _checked = false; - print('-----_ColorBoxState#initState---${widget.index}-------'); - } - - @override - void dispose() { - print('-----_ColorBoxState#dispose---${widget.index}-------'); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - super.build(context); - - return Container( - alignment: Alignment.center, - height: 50, - color: widget.color, - child: Row( - children: [ - const SizedBox(width: 60), - Checkbox( - value: _checked, - onChanged: (bool? v) { - setState(() { - _checked = v??false; - }); - }, - ), - Text( - "index ${widget.index}: ${colorString(widget.color)}", - style: const TextStyle(color: Colors.white, shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ]), - ), - ], - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - - @override - bool get wantKeepAlive => true; -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_de_DE.json deleted file mode 100644 index a03631fa3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 315, - "name": "LayoutId", - "localName": "LayoutId", - "info": "Kann nur in der CustomMultiChildLayout-Komponente verwendet werden, um die Identität ihrer Kindkomponenten zu kennzeichnen.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Anwendungsfall von LayoutId", - "desc": [ - "【id】 : Identifikations-ID 【Object】", - "【child】 : Kindkomponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_en_US.json deleted file mode 100644 index 8ea435703..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 315, - "name": "LayoutId", - "localName": "Layout Id", - "info": "Can only be used in the CustomMultiChildLayout component to identify its child components.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LayoutId Usage Scenarios", - "desc": [ - "【id】 : Identifier id 【Object】", - "【child】 : Child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_es_ES.json deleted file mode 100644 index 41bbd70e8..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 315, - "name": "LayoutId", - "localName": "Id de diseño", - "info": "Solo se puede usar en el componente CustomMultiChildLayout para identificar a sus componentes hijos.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Escenarios de uso de LayoutId", - "desc": [ - "【id】 : Identificador de id 【Object】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_fr_FR.json deleted file mode 100644 index 15dc1be99..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 315, - "name": "LayoutId", - "localName": "Id de mise en page", - "info": "Ne peut être utilisé que dans le composant CustomMultiChildLayout pour identifier ses enfants.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scénario d'utilisation de LayoutId", - "desc": [ - "【id】 : Identifiant 【Object】", - "【child】 : Enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_it_IT.json deleted file mode 100644 index ca5ca4441..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 315, - "name": "LayoutId", - "localName": "Id Layout", - "info": "Può essere utilizzato solo nel componente CustomMultiChildLayout per identificare i suoi componenti figli.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scenario di utilizzo di LayoutId", - "desc": [ - "【id】 : ID identificativo 【Object】", - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_ja_JP.json deleted file mode 100644 index 798aaf9cd..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 315, - "name": "LayoutId", - "localName": "レイアウトId", - "info": "CustomMultiChildLayoutコンポーネント内でのみ使用でき、その子コンポーネントの識別に使用されます。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LayoutIdの使用シナリオ", - "desc": [ - "【id】 : 識別id 【Object】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_ko_KR.json deleted file mode 100644 index b7de4fba0..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 315, - "name": "LayoutId", - "localName": "레이아웃 Id", - "info": "CustomMultiChildLayout 컴포넌트에서만 사용할 수 있으며, 자식 컴포넌트의 신원을 식별하는 데 사용됩니다.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LayoutId 사용 사례", - "desc": [ - "【id】 : 식별 id 【Object】", - "【child】 : 자식 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_pt_PT.json deleted file mode 100644 index 223157706..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 315, - "name": "LayoutId", - "localName": "Id de Layout", - "info": "Só pode ser usado no componente CustomMultiChildLayout para identificar os seus componentes filhos.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Cenários de uso do LayoutId", - "desc": [ - "【id】 : Identificador de id 【Object】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_ru_RU.json deleted file mode 100644 index 263741ae5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 315, - "name": "LayoutId", - "localName": "Идентификатор макета", - "info": "Может использоваться только в компоненте CustomMultiChildLayout для идентификации его дочерних компонентов.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Сценарии использования LayoutId", - "desc": [ - "【id】 : Идентификатор 【Object】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_zh-CN.json deleted file mode 100644 index b9799fb8e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 315, - "name": "LayoutId", - "localName": "布局Id", - "info": "只能用于CustomMultiChildLayout组件中,为其子组件标识身份。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LayoutId使用场景", - "desc": [ - "【id】 : 标识id 【Object】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/node1_base.dart deleted file mode 100644 index ce6b3179b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/LayoutId/node1_base.dart +++ /dev/null @@ -1,84 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/6/6 -/// contact me by email 1981462002@qq.com - - - -class LayoutIdDemo extends StatelessWidget { - const LayoutIdDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - width: 300, - height: 150, - color: Colors.grey.withAlpha(33), - child: CustomMultiChildLayout( - delegate: CornerCustomMultiChildLayout( - padding:const EdgeInsets.only(left: 10,top: 5,right: 10,bottom: 5), - ), - children: [ - LayoutId(id: CornerType.topLeft, child: const Box50(Colors.red)), - LayoutId(id: CornerType.topRight, child: const Box50(Colors.yellow)), - LayoutId(id: CornerType.bottomLeft, child: const Box50(Colors.blue)), - LayoutId(id: CornerType.bottomRight, child: const Box50(Colors.green)), - ], - ), - ); - } -} - -// 50 颜色盒 -class Box50 extends StatelessWidget { - final Color color; - const Box50(this.color, {Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - width: 50, - height: 50, - color: color, - ); - } -} - - -enum CornerType{ - topLeft, - topRight, - bottomLeft, - bottomRight -} - - -class CornerCustomMultiChildLayout extends MultiChildLayoutDelegate{ - final EdgeInsets padding; - - CornerCustomMultiChildLayout({this.padding = EdgeInsets.zero}); - - @override - void performLayout(Size size) { - if (hasChild(CornerType.topLeft)) { - layoutChild(CornerType.topLeft, BoxConstraints.loose(size)); - positionChild(CornerType.topLeft, Offset.zero.translate(padding.left, padding.top)); - } - if (hasChild(CornerType.topRight)) { - var childSize = layoutChild(CornerType.topRight, BoxConstraints.loose(size)); - positionChild(CornerType.topRight, Offset(size.width-childSize.width,0).translate(-padding.right, padding.top)); - } - if (hasChild(CornerType.bottomLeft)) { - var childSize = layoutChild(CornerType.bottomLeft, BoxConstraints.loose(size)); - positionChild(CornerType.bottomLeft, Offset(0,size.height-childSize.height).translate(padding.left, -padding.bottom)); - } - if (hasChild(CornerType.bottomRight)) { - var childSize = layoutChild(CornerType.bottomRight, BoxConstraints.loose(size)); - positionChild(CornerType.bottomRight, Offset(size.width-childSize.width,size.height-childSize.height).translate(-padding.right, -padding.bottom)); - } - } - - @override - bool shouldRelayout(CornerCustomMultiChildLayout oldDelegate) => oldDelegate.padding!=padding; -} - diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_de_DE.json deleted file mode 100644 index 7b9bbe125..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 334, - "name": "ListTileTheme", - "localName": "ListTile-Thema", - "info": "Wird hauptsächlich verwendet, um Standardeigenschaften für nachfolgende ListTile-Komponenten festzulegen. Es kann auch verwendet werden, um die Standardeigenschaften von ListTile abzurufen.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ListTileTheme", - "desc": [ - "Kann die ListTileThemeData-Dateneigenschaften angeben, um Standardstile für nachfolgende ListTile-Komponenten festzulegen, wie Stile, Farben, Dekorationen, Ränder usw. Es kann auch ListTileTheme.of verwendet werden, um die Theme-Eigenschaften von ListTile abzurufen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_en_US.json deleted file mode 100644 index 33c921b6f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 334, - "name": "ListTileTheme", - "localName": "ListTile Theme", - "info": "Mainly used to set default properties for descendant ListTile components uniformly, and also to obtain the default properties of ListTile through this component.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ListTileTheme", - "desc": [ - "You can specify the ListTileThemeData properties to set default styles for descendant ListTile components, such as styles, colors, decorations, margins, etc. You can also use ListTileTheme.of to get the theme properties of ListTile." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_es_ES.json deleted file mode 100644 index 46b6a0d13..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 334, - "name": "ListTileTheme", - "localName": "Tema de ListTile", - "info": "Principalmente se utiliza para establecer propiedades predeterminadas unificadas para los componentes ListTile descendientes, y también se puede utilizar este componente para obtener las propiedades predeterminadas de ListTile.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ListTileTheme", - "desc": [ - "Se puede especificar la propiedad de datos ListTileThemeData para establecer estilos predeterminados para los componentes ListTile descendientes, como estilos, colores, decoraciones, márgenes, etc. También se puede usar ListTileTheme.of para obtener las propiedades temáticas de ListTile." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_fr_FR.json deleted file mode 100644 index ecef75787..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 334, - "name": "ListTileTheme", - "localName": "Thème de ListTile", - "info": "Principalement utilisé pour définir les propriétés par défaut des composants ListTile descendants de manière unifiée. Il est également possible d'obtenir les propriétés par défaut de ListTile via ce composant.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ListTileTheme", - "desc": [ - "Vous pouvez spécifier les propriétés de données de ListTileThemeData pour définir le style par défaut des composants ListTile descendants, tels que le style, la couleur, la décoration, la marge, etc. Vous pouvez également utiliser ListTileTheme.of pour obtenir les propriétés du thème de ListTile." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_it_IT.json deleted file mode 100644 index e55865545..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 334, - "name": "ListTileTheme", - "localName": "Tema ListTile", - "info": "Utilizzato principalmente per impostare le proprietà predefinite per i componenti ListTile discendenti in modo uniforme, oppure per ottenere le proprietà predefinite di ListTile tramite questo componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ListTileTheme", - "desc": [ - "È possibile specificare le proprietà dei dati di ListTileThemeData per impostare lo stile predefinito per i componenti ListTile discendenti, come stile, colore, decorazione, margine, ecc. Inoltre, è possibile utilizzare ListTileTheme.of per ottenere le proprietà del tema di ListTile." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_ja_JP.json deleted file mode 100644 index f6fe0cfdd..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 334, - "name": "ListTileTheme", - "localName": "ListTileテーマ", - "info": "主に子孫のListTileコンポーネントにデフォルトのプロパティを一括設定するために使用されます。また、このコンポーネントを通じてデフォルトのListTileのプロパティを取得することもできます。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListTileThemeの基本使用", - "desc": [ - "ListTileThemeDataデータプロパティを指定して、子孫のListTileコンポーネントにデフォルトのスタイル(スタイル、色、装飾、余白など)を設定できます。また、ListTileTheme.ofを使用してListTileのテーマプロパティを取得することもできます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_ko_KR.json deleted file mode 100644 index 00696efc6..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 334, - "name": "ListTileTheme", - "localName": "ListTile 테마", - "info": "주로 후손 ListTile 컴포넌트에 대한 기본 속성을 통일적으로 설정하는 데 사용되며, 이 컴포넌트를 통해 기본 ListTile의 속성을 얻을 수도 있습니다.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListTileTheme 기본 사용", - "desc": [ - "ListTileThemeData 데이터 속성을 지정하여 【후손】 ListTile 컴포넌트에 대한 기본 스타일(스타일, 색상, 장식, 여백 등)을 설정할 수 있습니다. ListTileTheme.of를 사용하여 ListTile의 테마 속성을 얻을 수도 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_pt_PT.json deleted file mode 100644 index b638b2bd3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 334, - "name": "ListTileTheme", - "localName": "Tema do ListTile", - "info": "Principalmente usado para definir propriedades padrão unificadas para componentes ListTile descendentes, também pode ser usado para obter as propriedades padrão do ListTile.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do ListTileTheme", - "desc": [ - "Pode especificar os atributos de dados do ListTileThemeData para definir o estilo padrão para componentes ListTile descendentes, como estilo, cor, decoração, margens, etc. Também pode usar ListTileTheme.of para obter as propriedades do tema do ListTile." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_ru_RU.json deleted file mode 100644 index 38e1d8aed..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 334, - "name": "ListTileTheme", - "localName": "Тема ListTile", - "info": "В основном используется для установки свойств по умолчанию для компонентов ListTile-потомков, также можно получить свойства по умолчанию ListTile через этот компонент.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ListTileTheme", - "desc": [ - "Можно указать свойства данных ListTileThemeData для установки стилей по умолчанию для компонентов ListTile-потомков, таких как стили, цвета, декорации, отступы и т.д. Также можно использовать ListTileTheme.of для получения тематических свойств ListTile." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_zh-CN.json deleted file mode 100644 index 644f3b48e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 334, - "name": "ListTileTheme", - "localName": "ListTile主题", - "info": "主要用于为后代的ListTile组件统一设置默认属性,也可以通过该组件获取默认ListTile的属性。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListTileTheme基本使用", - "desc": [ - "可指定ListTileThemeData数据属性为【后代】的ListTile组件设置默认样式,如样式、颜色、装饰、边距等。也可以用ListTileTheme.of获取ListTile的主题属性。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/node1_base.dart deleted file mode 100644 index a0537638c..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ListTileTheme/node1_base.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class ListTileThemeDemo extends StatelessWidget { - const ListTileThemeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ListTileTheme( - dense: false, - style: ListTileStyle.list, - selectedColor: Colors.blue, - contentPadding: const EdgeInsets.only(left: 15,right: 15,top: 5,bottom: 5), - iconColor: Colors.purple, - textColor: Colors.orange, - child: _ListTileSimple(), - ); - } -} - -class _ListTileSimple extends StatefulWidget { - @override - _ListTileSimpleState createState() => _ListTileSimpleState(); -} - -class _ListTileSimpleState extends State<_ListTileSimple> { - bool _selected = false; - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(10), - color: Colors.grey.withAlpha(22), - child: ListTile( - leading: Image.asset("assets/images/icon_head.webp"), - selected: _selected, - title: const Text("以梦为马"), - subtitle: const Text("海子"), - trailing: const Icon(Icons.more_vert), - onTap: () => setState(() => _selected = !_selected), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_de_DE.json deleted file mode 100644 index bca3d929b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 327, - "name": "MaterialBannerTheme", - "localName": "Banner-Stil", - "info": "Wird hauptsächlich verwendet, um Standardeigenschaften für nachfolgende MaterialBanner-Komponenten festzulegen. Es kann auch verwendet werden, um die Standardeigenschaften von MaterialBanner abzurufen.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von MaterialBannerTheme", - "desc": [ - "Kann die MaterialBannerThemeData-Dateneigenschaften verwenden, um Standardstile für nachfolgende MaterialBanner-Komponenten festzulegen, wie Hintergrundfarbe, Abstände, Textstile usw. Es kann auch MaterialBannerTheme.of verwenden, um die Themedaten von MaterialBanner abzurufen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_en_US.json deleted file mode 100644 index 2eb954a3a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 327, - "name": "MaterialBannerTheme", - "localName": "Banner Style", - "info": "Mainly used to set default properties for descendant MaterialBanner components uniformly, and it can also be used to obtain the default properties of MaterialBanner.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of MaterialBannerTheme", - "desc": [ - "You can specify the MaterialBannerThemeData properties to set default styles for descendant MaterialBanner components, such as background color, margins, text styles, etc. You can also use MaterialBannerTheme.of to get the theme data of MaterialBanner." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_es_ES.json deleted file mode 100644 index 2e9d4278c..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 327, - "name": "MaterialBannerTheme", - "localName": "Tema de Banner", - "info": "Principalmente utilizado para establecer propiedades predeterminadas unificadas para los componentes MaterialBanner descendientes. También se puede utilizar este componente para obtener las propiedades predeterminadas de MaterialBanner.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de MaterialBannerTheme", - "desc": [ - "Se puede especificar la propiedad de datos MaterialBannerThemeData para establecer el estilo predeterminado de los componentes MaterialBanner descendientes, como el color de fondo, el margen, el estilo de texto, etc. También se puede usar MaterialBannerTheme.of para obtener los datos del tema de MaterialBanner." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_fr_FR.json deleted file mode 100644 index 03c958f4e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 327, - "name": "MaterialBannerTheme", - "localName": "Thème de bannière", - "info": "Principalement utilisé pour définir les propriétés par défaut des composants MaterialBanner descendants, ou pour obtenir les propriétés par défaut de MaterialBanner via ce composant.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de MaterialBannerTheme", - "desc": [ - "Vous pouvez spécifier les propriétés de MaterialBannerThemeData pour définir le style par défaut des composants MaterialBanner descendants, tels que la couleur de fond, les marges, le style du texte, etc. Vous pouvez également utiliser MaterialBannerTheme.of pour obtenir les données de thème de MaterialBanner." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_it_IT.json deleted file mode 100644 index c9fc9050e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 327, - "name": "MaterialBannerTheme", - "localName": "Tema del Banner", - "info": "Utilizzato principalmente per impostare le proprietà predefinite per i componenti MaterialBanner discendenti, è anche possibile ottenere le proprietà predefinite di MaterialBanner attraverso questo componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di MaterialBannerTheme", - "desc": [ - "È possibile specificare le proprietà di MaterialBannerThemeData per impostare lo stile predefinito per i componenti MaterialBanner discendenti, come il colore di sfondo, i margini, lo stile del testo, ecc. È anche possibile utilizzare MaterialBannerTheme.of per ottenere i dati del tema di MaterialBanner." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_ja_JP.json deleted file mode 100644 index e2b376eb1..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 327, - "name": "MaterialBannerTheme", - "localName": "バナースタイル", - "info": "主に子孫のMaterialBannerコンポーネントにデフォルトのプロパティを統一して設定するために使用されます。また、このコンポーネントを通じてデフォルトのMaterialBannerのプロパティを取得することもできます。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialBannerThemeの基本使用", - "desc": [ - "MaterialBannerThemeDataデータプロパティを指定して、【子孫】のMaterialBannerコンポーネントにデフォルトのスタイル(背景色、余白、テキストスタイルなど)を設定できます。また、MaterialBannerTheme.ofを使用してMaterialBannerのテーマデータを取得することもできます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_ko_KR.json deleted file mode 100644 index efcbab088..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 327, - "name": "MaterialBannerTheme", - "localName": "배너 스타일", - "info": "주로 후손 MaterialBanner 컴포넌트에 기본 속성을 통일적으로 설정하기 위해 사용되며, 이 컴포넌트를 통해 기본 MaterialBanner의 속성을 가져올 수도 있습니다.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialBannerTheme 기본 사용법", - "desc": [ - "MaterialBannerThemeData 데이터 속성을 지정하여 후손 MaterialBanner 컴포넌트의 기본 스타일을 설정할 수 있습니다. 예를 들어 배경색, 여백, 텍스트 스타일 등. 또한 MaterialBannerTheme.of를 사용하여 MaterialBanner의 테마 데이터를 가져올 수도 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_pt_PT.json deleted file mode 100644 index 9824f516b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 327, - "name": "MaterialBannerTheme", - "localName": "Tema de Banner", - "info": "Principalmente utilizado para definir propriedades padrão unificadas para componentes MaterialBanner descendentes, também pode ser usado para obter as propriedades padrão do MaterialBanner através deste componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do MaterialBannerTheme", - "desc": [ - "Pode especificar as propriedades de dados do MaterialBannerThemeData para definir o estilo padrão para componentes MaterialBanner descendentes, como cor de fundo, margens, estilo de texto, etc. Também pode usar MaterialBannerTheme.of para obter os dados do tema do MaterialBanner." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_ru_RU.json deleted file mode 100644 index 342ca9a03..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 327, - "name": "MaterialBannerTheme", - "localName": "Тема баннера", - "info": "Основное использование — установка стандартных свойств для компонентов MaterialBanner у потомков. Также можно получить стандартные свойства MaterialBanner через этот компонент.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование MaterialBannerTheme", - "desc": [ - "Можно указать свойства данных MaterialBannerThemeData для установки стандартных стилей для компонентов MaterialBanner у потомков, таких как цвет фона, отступы, стиль текста и т.д. Также можно использовать MaterialBannerTheme.of для получения данных темы MaterialBanner." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_zh-CN.json deleted file mode 100644 index 63929b449..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 327, - "name": "MaterialBannerTheme", - "localName": "横幅样式", - "info": "主要用于为后代的MaterialBanner组件统一设置默认属性,也可以通过该组件获取默认MaterialBanner的属性。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialBannerTheme基本使用", - "desc": [ - "可指定MaterialBannerThemeData数据属性为【后代】的MaterialBanner组件设置默认样式,如背景色、边距、文字样式等。也可以用MaterialBannerTheme.of获取MaterialBanner的主题数据。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/node1_base.dart deleted file mode 100644 index 1a4d83d9d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MaterialBannerTheme/node1_base.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - -class MaterialBannerThemeDemo extends StatelessWidget { - const MaterialBannerThemeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return MaterialBannerTheme( - data: MaterialBannerTheme.of(context).copyWith( - backgroundColor: Colors.purple, - padding: const EdgeInsetsDirectional.only(start: 16.0, top: 2.0,end: 2), - leadingPadding:const EdgeInsetsDirectional.only(end: 16.0) , - contentTextStyle: const TextStyle(color: Colors.white), - ), - child: _MaterialBannerDemo(), - ); - } -} - - -class _MaterialBannerDemo extends StatelessWidget { - final info = - 'A banner displays an important, succinct message, and provides actions for users to address. ' - 'A user action is required for itto be dismissed.'; - - @override - Widget build(BuildContext context) { - return Column( - children: [MaterialBanner( - content: Text(info), - leading: const Icon(Icons.warning, color: Colors.yellow), - actions: [ - ElevatedButton( - style: ElevatedButton.styleFrom(backgroundColor: Colors.white), - onPressed: () {}, - child: const Text( - 'I KNOW', - style: TextStyle( - color: Colors.purple, - fontWeight: FontWeight.bold, - fontSize: 14), - ), - ), - ElevatedButton( - style: ElevatedButton.styleFrom(backgroundColor: Colors.white), - onPressed: () {}, - child: const Text( - 'I IGNORE', - style: TextStyle( - color: Colors.purple, - fontWeight: FontWeight.bold, - fontSize: 14), - ), - ), - ], - )], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_de_DE.json deleted file mode 100644 index 641c9d93f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 167, - "name": "MediaQuery", - "localName": "Medienabfrage", - "info": "Über MediaQuery.of können Informationen wie Bildschirmgröße, Gerätedichte, Textskalierungsfaktor, Ränder usw. abgerufen werden.", - "lever": 4, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MediaQuery Dateninformationen abrufen", - "desc": [ - "MediaQuery.of(context) kann MediaQueryData abrufen" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_en_US.json deleted file mode 100644 index 187f601e6..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 167, - "name": "MediaQuery", - "localName": "Media Query", - "info": "You can use MediaQuery.of to obtain information such as screen size, device density, text scaling ratio, margins, etc.", - "lever": 4, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MediaQuery Get Data Information", - "desc": [ - "MediaQuery.of(context) can obtain MediaQueryData" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_es_ES.json deleted file mode 100644 index b1ba389b1..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 167, - "name": "MediaQuery", - "localName": "Consulta de Medios", - "info": "Se puede obtener información como el tamaño de la pantalla, la densidad del dispositivo, la escala de texto, los márgenes, etc., a través de MediaQuery.of.", - "lever": 4, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Obtener información de datos con MediaQuery", - "desc": [ - "MediaQuery.of(context) puede obtener MediaQueryData" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_fr_FR.json deleted file mode 100644 index 51afde9bf..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 167, - "name": "MediaQuery", - "localName": "Requête média", - "info": "Vous pouvez obtenir des informations telles que la taille de l'écran, la densité de l'appareil, le facteur de zoom du texte, les marges, etc. via MediaQuery.of.", - "lever": 4, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Obtenir des informations de données avec MediaQuery", - "desc": [ - "MediaQuery.of(context) peut obtenir MediaQueryData" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_it_IT.json deleted file mode 100644 index f9fa1d2ef..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 167, - "name": "MediaQuery", - "localName": "Query sui media", - "info": "È possibile ottenere informazioni come dimensioni dello schermo, densità del dispositivo, scala del testo, margini, ecc. tramite MediaQuery.of.", - "lever": 4, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Ottenere informazioni sui dati con MediaQuery", - "desc": [ - "MediaQuery.of(context) può ottenere MediaQueryData" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_ja_JP.json deleted file mode 100644 index 1994ff13d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 167, - "name": "MediaQuery", - "localName": "メディアクエリ", - "info": "MediaQuery.ofを使用して、画面サイズ、デバイスの密度、テキストのスケーリング比率、マージンなどの情報を取得できます。", - "lever": 4, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MediaQueryでデータ情報を取得", - "desc": [ - "MediaQuery.of(context)を使用してMediaQueryDataを取得できます" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_ko_KR.json deleted file mode 100644 index 0edde099e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 167, - "name": "MediaQuery", - "localName": "미디어 쿼리", - "info": "MediaQuery.of를 통해 화면 크기, 기기 밀도, 텍스트 확대 비율, 여백 등의 정보를 얻을 수 있습니다.", - "lever": 4, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MediaQuery 데이터 정보 가져오기", - "desc": [ - "MediaQuery.of(context)를 통해 MediaQueryData를 얻을 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_pt_PT.json deleted file mode 100644 index d67c756fb..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 167, - "name": "MediaQuery", - "localName": "Consulta de Mídia", - "info": "Pode usar MediaQuery.of para obter informações como o tamanho da tela, densidade do dispositivo, escala de texto, margens, etc.", - "lever": 4, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Obter informações de dados com MediaQuery", - "desc": [ - "MediaQuery.of(context) pode obter MediaQueryData" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_ru_RU.json deleted file mode 100644 index ba9d4b477..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 167, - "name": "MediaQuery", - "localName": "Медиа-запросы", - "info": "С помощью MediaQuery.of можно получить информацию о размере экрана, плотности устройства, масштабе текста, отступах и т.д.", - "lever": 4, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Получение данных через MediaQuery", - "desc": [ - "MediaQuery.of(context) позволяет получить MediaQueryData" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_zh-CN.json deleted file mode 100644 index ffb9a6efe..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 167, - "name": "MediaQuery", - "localName": "媒体查询", - "info": "可通过MediaQuery.of来获取屏幕尺寸、设备密度、文字缩放比例、边距等信息。", - "lever": 4, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MediaQuery获取数据信息", - "desc": [ - "MediaQuery.of(context)可以获取MediaQueryData" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/node1_base.dart deleted file mode 100644 index 9bf69e27d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/MediaQuery/node1_base.dart +++ /dev/null @@ -1,65 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - - -class CustomMediaQuery extends StatelessWidget { - const CustomMediaQuery({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - MediaQueryData queryData = MediaQuery.of(context); - Map data = { - "size": queryData.size, - "devicePixelRatio": queryData.devicePixelRatio.toStringAsFixed(1), - "textScaleFactor": queryData.textScaleFactor.toStringAsFixed(1), - "platformBrightness": queryData.platformBrightness, - "padding": queryData.padding, - "viewInsets": queryData.viewInsets, - "systemGestureInsets": queryData.padding, - "viewPadding": queryData.padding, - "physicalDepth": queryData.padding, - "alwaysUse24HourFormat": queryData.padding, - "accessibleNavigation": queryData.alwaysUse24HourFormat, - "invertColors": queryData.invertColors, - "highContrast": queryData.highContrast, - "disableAnimations": queryData.disableAnimations, - "boldText": queryData.boldText, - }; - - return Container( - height: 200, - color: Colors.grey.withAlpha(11), - child:ListView( - children: data.keys.map((e) => buildItem(e, data)).toList(), - ), - ); - } - - Widget buildItem(String e, Map data) => Column( - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - e, - style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - ), - Text( - data[e].toString(), - style: const TextStyle(fontSize: 16, color: Colors.orange), - ) - ], - ), - ), - const Divider( - height: 1, - ) - ], - ); -} - - diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_de_DE.json deleted file mode 100644 index 57f4d6383..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 347, - "name": "ParentDataWidget", - "localName": "Elterndaten-Widget", - "info": "Abstrakte Klasse, die verwendet wird, um ParentData-Informationen mit RenderObjectWidget-Kindkomponenten zu verbinden. Seine Unterklassen sind Positioned, Flexible, Expanded usw. Diese Komponenten können nur unter bestimmten Komponenten verwendet werden.", - "lever": 1, - "family": 5, - "linkIds": [ - 106, - 109, - 108, - 315 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in ParentDataWidget", - "desc": [ - "【child】 : Kindkomponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_en_US.json deleted file mode 100644 index fff9f56f3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 347, - "name": "ParentDataWidget", - "localName": "Parent Data Widget", - "info": "An abstract class used to hook ParentData information to RenderObjectWidget child components. Its subclasses include Positioned, Flexible, Expanded, etc. These components can only be used under specific components.", - "lever": 1, - "family": 5, - "linkIds": [ - 106, - 109, - 108, - 315 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to ParentDataWidget", - "desc": [ - "【child】: Child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_es_ES.json deleted file mode 100644 index ae003e089..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 347, - "name": "ParentDataWidget", - "localName": "Widget de Datos Parentales", - "info": "Clase abstracta utilizada para conectar información de ParentData a los subcomponentes de RenderObjectWidget. Sus subclases incluyen Positioned, Flexible, Expanded, etc., y estos componentes solo se pueden utilizar bajo componentes específicos.", - "lever": 1, - "family": 5, - "linkIds": [ - 106, - 109, - 108, - 315 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a ParentDataWidget", - "desc": [ - "【child】 : Subcomponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_fr_FR.json deleted file mode 100644 index 1727f5c3d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 347, - "name": "ParentDataWidget", - "localName": "Widget de données parentales", - "info": "Classe abstraite utilisée pour associer des informations ParentData à des widgets enfants RenderObjectWidget. Ses sous-classes incluent Positioned, Flexible, Expanded, etc., ces widgets ne peuvent être utilisés que sous des composants spécifiques.", - "lever": 1, - "family": 5, - "linkIds": [ - 106, - 109, - 108, - 315 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à ParentDataWidget", - "desc": [ - "【child】 : widget enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_it_IT.json deleted file mode 100644 index 0fcb14e8e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 347, - "name": "ParentDataWidget", - "localName": "Widget dei dati genitore", - "info": "Classe astratta utilizzata per collegare le informazioni ParentData ai widget figli di RenderObjectWidget. Le sue sottoclassi includono Positioned, Flexible, Expanded, ecc., e questi widget possono essere utilizzati solo sotto componenti specifici.", - "lever": 1, - "family": 5, - "linkIds": [ - 106, - 109, - 108, - 315 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a ParentDataWidget", - "desc": [ - "【child】 : Widget figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_ja_JP.json deleted file mode 100644 index dd0bd64c6..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 347, - "name": "ParentDataWidget", - "localName": "親データウィジェット", - "info": "抽象クラスで、ParentData情報をRenderObjectWidgetの子ウィジェットにフックするために使用されます。そのサブクラスにはPositioned、Flexible、Expandedなどがあり、これらのウィジェットは特定のコンポーネントの下でのみ使用できます。", - "lever": 1, - "family": 5, - "linkIds": [ - 106, - 109, - 108, - 315 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ParentDataWidget 紹介", - "desc": [ - "【child】 : 子ウィジェット 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_ko_KR.json deleted file mode 100644 index da5b2a450..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 347, - "name": "ParentDataWidget", - "localName": "부모 데이터 위젯", - "info": "추상 클래스, ParentData 정보를 RenderObjectWidget 자식 위젯에 연결하는 데 사용됩니다. 하위 클래스로는 Positioned, Flexible, Expanded 등이 있으며, 이러한 위젯은 특정 위젯 아래에서만 사용할 수 있습니다.", - "lever": 1, - "family": 5, - "linkIds": [ - 106, - 109, - 108, - 315 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ParentDataWidget 소개", - "desc": [ - "【child】 : 자식 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_pt_PT.json deleted file mode 100644 index c44ff6d48..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 347, - "name": "ParentDataWidget", - "localName": "Componente de Dados Parentais", - "info": "Classe abstrata usada para conectar informações de ParentData a componentes filhos de RenderObjectWidget. Suas subclasses incluem Positioned, Flexible, Expanded, etc. Esses componentes só podem ser usados sob componentes específicos.", - "lever": 1, - "family": 5, - "linkIds": [ - 106, - 109, - 108, - 315 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao ParentDataWidget", - "desc": [ - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_ru_RU.json deleted file mode 100644 index 41988d6b2..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 347, - "name": "ParentDataWidget", - "localName": "Родительский виджет данных", - "info": "Абстрактный класс, используемый для привязки информации ParentData к дочерним виджетам RenderObjectWidget. Его подклассы включают Positioned, Flexible, Expanded и другие, которые могут использоваться только под определенными компонентами.", - "lever": 1, - "family": 5, - "linkIds": [ - 106, - 109, - 108, - 315 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в ParentDataWidget", - "desc": [ - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_zh-CN.json deleted file mode 100644 index 486af92d5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 347, - "name": "ParentDataWidget", - "localName": "父数据组件", - "info": "抽象类,用于将 ParentData 信息挂钩到 RenderObjectWidget 子组件上。其子类有 Positioned、Flexible、Expanded等,这些组件只能用于特定的组件之下。", - "lever": 1, - "family": 5, - "linkIds": [ - 106, - 109, - 108, - 315 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ParentDataWidget 介绍", - "desc": [ - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/node1_base.dart deleted file mode 100644 index 04ff5a959..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ParentDataWidget/node1_base.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class ParentDataWidgetDemo extends StatelessWidget { - const ParentDataWidgetDemo({Key? key}) : super(key: key); - - final String info = - 'ParentDataWidget 是一个抽象类,不能直接使用,它拥有 ParentData 子类型的泛型,该泛型会限定该组件的适应场景。' - '如 Positioned 组件继承自 ParentDataWidget,就说明 Positioned 的上层组件必须使用 Stack 族组件。' - '如 Flexible 组件继承自 ParentDataWidget,就说明 Flexible 的上层组件必须使用 Flex 族组件。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_de_DE.json deleted file mode 100644 index 4aded2149..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 330, - "name": "PopupMenuTheme", - "localName": "Popup-Menü-Stil", - "info": "Wird hauptsächlich verwendet, um Standardeigenschaften für die nachfolgenden PopupMenuButton-Komponenten festzulegen. Es kann auch verwendet werden, um die Standardeigenschaften des PopupMenu zu erhalten.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von PopupMenuTheme", - "desc": [ - "Kann die PopupMenuThemeData-Dateneigenschaften verwenden, um Standardstile für die nachfolgenden PopupMenuButton-Komponenten festzulegen, wie Form, Schattentiefe, Farbe, Textstil usw. Kann auch PopupMenuTheme.of verwenden, um die Themedaten des PopupMenu zu erhalten." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_en_US.json deleted file mode 100644 index 39033a47d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 330, - "name": "PopupMenuTheme", - "localName": "Popup Menu Theme", - "info": "Mainly used to set default properties uniformly for descendant PopupMenuButton components, and also to obtain the default properties of PopupMenu through this component.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of PopupMenuTheme", - "desc": [ - "You can specify the PopupMenuThemeData properties to set default styles for descendant PopupMenuButton components, such as shape, elevation, color, text style, etc. You can also use PopupMenuTheme.of to obtain the theme data of PopupMenu." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_es_ES.json deleted file mode 100644 index ec0d9a692..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 330, - "name": "PopupMenuTheme", - "localName": "Tema del menú emergente", - "info": "Se utiliza principalmente para establecer propiedades predeterminadas unificadas para los componentes PopupMenuButton descendientes, también se puede obtener las propiedades predeterminadas de PopupMenu a través de este componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de PopupMenuTheme", - "desc": [ - "Se pueden especificar las propiedades de datos de PopupMenuThemeData para establecer estilos predeterminados para los componentes PopupMenuButton descendientes, como forma, profundidad de sombra, color, estilo de texto, etc. También se puede usar PopupMenuTheme.of para obtener los datos del tema de PopupMenu." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_fr_FR.json deleted file mode 100644 index 383382574..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 330, - "name": "PopupMenuTheme", - "localName": "Thème du menu contextuel", - "info": "Principalement utilisé pour définir des propriétés par défaut unifiées pour les composants PopupMenuButton descendants. Il est également possible d'obtenir les propriétés par défaut de PopupMenu via ce composant.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de PopupMenuTheme", - "desc": [ - "Vous pouvez spécifier les propriétés de données de PopupMenuThemeData pour définir des styles par défaut pour les composants PopupMenuButton descendants, tels que la forme, la profondeur de l'ombre, la couleur, le style de texte, etc. Vous pouvez également utiliser PopupMenuTheme.of pour obtenir les données de thème de PopupMenu." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_it_IT.json deleted file mode 100644 index 07caa85b8..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 330, - "name": "PopupMenuTheme", - "localName": "Tema del menu a comparsa", - "info": "Utilizzato principalmente per impostare le proprietà predefinite per i componenti PopupMenuButton discendenti, oppure per ottenere le proprietà predefinite del PopupMenu attraverso questo componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di PopupMenuTheme", - "desc": [ - "È possibile specificare le proprietà dei dati di PopupMenuThemeData per impostare lo stile predefinito per i componenti PopupMenuButton discendenti, come forma, profondità dell'ombra, colore, stile del testo, ecc. È anche possibile utilizzare PopupMenuTheme.of per ottenere i dati del tema del PopupMenu." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_ja_JP.json deleted file mode 100644 index 4bd5bfd2f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 330, - "name": "PopupMenuTheme", - "localName": "ポップアップメニュースタイル", - "info": "主に子孫のPopupMenuButtonコンポーネントにデフォルトのプロパティを統一して設定するために使用されます。また、このコンポーネントを通じてデフォルトのPopupMenuのプロパティを取得することもできます。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PopupMenuThemeの基本使用", - "desc": [ - "PopupMenuThemeDataデータ属性を指定して、【子孫】のPopupMenuButtonコンポーネントにデフォルトのスタイルを設定できます。形状、影の深さ、色、テキストスタイルなどです。また、PopupMenuTheme.ofを使用してPopupMenuのテーマデータを取得することもできます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_ko_KR.json deleted file mode 100644 index e6683a3ec..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 330, - "name": "PopupMenuTheme", - "localName": "팝업 메뉴 스타일", - "info": "주로 후손의 PopupMenuButton 컴포넌트에 기본 속성을 통일적으로 설정하기 위해 사용되며, 이 컴포넌트를 통해 기본 PopupMenu의 속성을 얻을 수도 있습니다.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PopupMenuTheme 기본 사용", - "desc": [ - "PopupMenuThemeData 데이터 속성을 지정하여 후손의 PopupMenuButton 컴포넌트에 기본 스타일(예: 모양, 그림자, 색상, 텍스트 스타일 등)을 설정할 수 있습니다. 또한 PopupMenuTheme.of를 사용하여 PopupMenu의 테마 데이터를 얻을 수도 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_pt_PT.json deleted file mode 100644 index 30af0da89..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 330, - "name": "PopupMenuTheme", - "localName": "Tema do Menu Pop-up", - "info": "Principalmente utilizado para definir propriedades padrão uniformes para os componentes PopupMenuButton descendentes, também é possível obter as propriedades padrão do PopupMenu através deste componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do PopupMenuTheme", - "desc": [ - "Pode especificar as propriedades de dados do PopupMenuThemeData para definir o estilo padrão para os componentes PopupMenuButton descendentes, como forma, profundidade de sombra, cor, estilo de texto, etc. Também é possível usar PopupMenuTheme.of para obter os dados do tema do PopupMenu." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_ru_RU.json deleted file mode 100644 index bd6d8ef6e..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 330, - "name": "PopupMenuTheme", - "localName": "Тема всплывающего меню", - "info": "Основное использование для установки стандартных свойств для компонентов PopupMenuButton потомков, также можно получить свойства стандартного PopupMenu через этот компонент.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование PopupMenuTheme", - "desc": [ - "Можно указать атрибуты данных PopupMenuThemeData для установки стандартных стилей для компонентов PopupMenuButton потомков, таких как форма, глубина тени, цвет, стиль текста и т.д. Также можно использовать PopupMenuTheme.of для получения данных темы PopupMenu." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_zh-CN.json deleted file mode 100644 index 9158c8eee..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 330, - "name": "PopupMenuTheme", - "localName": "弹出菜单样式", - "info": "主要用于为后代的PopupMenuButton组件统一设置默认属性,也可以通过该组件获取默认PopupMenu的属性。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PopupMenuTheme基本使用", - "desc": [ - "可指定PopupMenuThemeData数据属性为【后代】的PopupMenuButton组件设置默认样式,如形状、影深、颜色、文字样式等。也可以用PopupMenuTheme.of获取PopupMenu的主题数据。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/node1_base.dart deleted file mode 100644 index 3006a6ec1..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PopupMenuTheme/node1_base.dart +++ /dev/null @@ -1,67 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - -class PopupMenuThemeDemo extends StatelessWidget { - const PopupMenuThemeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return PopupMenuTheme( - data: PopupMenuTheme.of(context).copyWith( - color: Colors.orangeAccent, - elevation: 1, - textStyle: const TextStyle(color: Colors.white), - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(20), - bottomRight: Radius.circular(20), - topRight: Radius.circular(5), - bottomLeft: Radius.circular(5), - )), - ), - child: _PopupMenuButtonSimple(), - ); - } -} - -class _PopupMenuButtonSimple extends StatefulWidget { - @override - _PopupMenuButtonSimpleState createState() => _PopupMenuButtonSimpleState(); -} - -class _PopupMenuButtonSimpleState extends State<_PopupMenuButtonSimple> { - final Map map = { - "关于": Icons.info_outline, - "帮助": Icons.help_outline, - "反馈": Icons.add_comment, - }; - - @override - Widget build(BuildContext context) { - return PopupMenuButton( - itemBuilder: (context) => buildItems(), - offset: const Offset(0, 50), - onSelected: print, - onCanceled: () => print('onCanceled'), - ); - } - - List> buildItems() { - return map.keys - .toList() - .map((e) => PopupMenuItem( - value: e, - child: Wrap( - spacing: 6, - children: [ - Icon( - map[e], - ), - Text(e), - ], - ))) - .toList(); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_de_DE.json deleted file mode 100644 index c0fd65b73..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 108, - "name": "Positioned", - "localName": "Positionierungskomponente", - "info": "Kann nur in einem Stack verwendet werden, ermöglicht die präzise Platzierung einer Komponente durch Angabe der Abstände von oben, links, rechts und unten.", - "lever": 3, - "family": 5, - "linkIds": [ - 97, - 159, - 121 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Positioned", - "desc": [ - "【child】 : Komponente 【Widget】", - "【top】 : Abstand zum oberen Elternteil 【double】", - "【right】 : Abstand zum rechten Elternteil 【double】", - "【left】 : Abstand zum linken Elternteil 【double】", - "【bottom】 : Abstand zum unteren Elternteil 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_en_US.json deleted file mode 100644 index 6c4ade675..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 108, - "name": "Positioned", - "localName": "Positioning Component", - "info": "Can only be used in Stack, allowing precise placement of a component by specifying distances from the top, left, right, and bottom.", - "lever": 3, - "family": 5, - "linkIds": [ - 97, - 159, - 121 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Positioned", - "desc": [ - "【child】: Component 【Widget】", - "【top】: Distance to the top of the parent 【double】", - "【right】: Distance to the right of the parent 【double】", - "【left】: Distance to the left of the parent 【double】", - "【bottom】: Distance to the bottom of the parent 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_es_ES.json deleted file mode 100644 index 9e450347b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 108, - "name": "Positioned", - "localName": "Componente de posicionamiento", - "info": "Solo se puede usar en Stack, permite especificar las distancias superior, izquierda, derecha e inferior para colocar un componente con precisión.", - "lever": 3, - "family": 5, - "linkIds": [ - 97, - 159, - 121 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Positioned", - "desc": [ - "【child】 : Componente 【Widget】", - "【top】 : Distancia al borde superior del padre 【double】", - "【right】 : Distancia al borde derecho del padre 【double】", - "【left】 : Distancia al borde izquierdo del padre 【double】", - "【bottom】 : Distancia al borde inferior del padre 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_fr_FR.json deleted file mode 100644 index a263004da..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 108, - "name": "Positioned", - "localName": "Composant de positionnement", - "info": "Ne peut être utilisé que dans une Stack, permet de positionner précisément un composant en spécifiant les distances par rapport au haut, bas, gauche et droite.", - "lever": 3, - "family": 5, - "linkIds": [ - 97, - 159, - 121 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Positioned", - "desc": [ - "【child】 : Composant 【Widget】", - "【top】 : Distance par rapport au haut du parent 【double】", - "【right】 : Distance par rapport à la droite du parent 【double】", - "【left】 : Distance par rapport à la gauche du parent 【double】", - "【bottom】 : Distance par rapport au bas du parent 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_it_IT.json deleted file mode 100644 index 1093c29e0..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 108, - "name": "Positioned", - "localName": "Componente di posizionamento", - "info": "Può essere utilizzato solo in Stack, consente di posizionare con precisione un componente specificando le distanze da sinistra, destra, alto e basso.", - "lever": 3, - "family": 5, - "linkIds": [ - 97, - 159, - 121 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Positioned", - "desc": [ - "【child】 : Componente 【Widget】", - "【top】 : Distanza dal bordo superiore del genitore 【double】", - "【right】 : Distanza dal bordo destro del genitore 【double】", - "【left】 : Distanza dal bordo sinistro del genitore 【double】", - "【bottom】 : Distanza dal bordo inferiore del genitore 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_ja_JP.json deleted file mode 100644 index 0aedbae01..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 108, - "name": "Positioned", - "localName": "位置指定コンポーネント", - "info": "Stack内でのみ使用可能で、上下左右の距離を指定してコンポーネントを正確に配置できます。", - "lever": 3, - "family": 5, - "linkIds": [ - 97, - 159, - 121 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Positionedの基本使用", - "desc": [ - "【child】 : コンポーネント 【Widget】", - "【top】 : 親の上端までの距離 【double】", - "【right】 : 親の右端までの距離 【double】", - "【left】 : 親の左端までの距離 【double】", - "【bottom】 : 親の下端までの距離 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_ko_KR.json deleted file mode 100644 index c29eeb19a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 108, - "name": "Positioned", - "localName": "위치 지정 컴포넌트", - "info": "Stack에서만 사용할 수 있으며, 상하좌우 거리를 지정하여 특정 컴포넌트를 정확하게 배치할 수 있습니다.", - "lever": 3, - "family": 5, - "linkIds": [ - 97, - 159, - 121 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Positioned 기본 사용법", - "desc": [ - "【child】 : 컴포넌트 【Widget】", - "【top】 : 상단에서 부모까지의 거리 【double】", - "【right】 : 우측에서 부모까지의 거리 【double】", - "【left】 : 좌측에서 부모까지의 거리 【double】", - "【bottom】 : 하단에서 부모까지의 거리 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_pt_PT.json deleted file mode 100644 index 58cee8aec..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 108, - "name": "Positioned", - "localName": "Componente de Posicionamento", - "info": "Só pode ser usado em Stack, pode especificar as distâncias superior, inferior, esquerda e direita para posicionar um componente com precisão.", - "lever": 3, - "family": 5, - "linkIds": [ - 97, - 159, - 121 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Positioned", - "desc": [ - "【child】 : Componente 【Widget】", - "【top】 : Distância do topo do pai 【double】", - "【right】 : Distância da direita do pai 【double】", - "【left】 : Distância da esquerda do pai 【double】", - "【bottom】 : Distância da base do pai 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_ru_RU.json deleted file mode 100644 index afa91ee11..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 108, - "name": "Positioned", - "localName": "Компонент позиционирования", - "info": "Может использоваться только в Stack, позволяет точно разместить компонент, указав расстояния сверху, слева, справа и снизу.", - "lever": 3, - "family": 5, - "linkIds": [ - 97, - 159, - 121 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Positioned", - "desc": [ - "【child】 : Компонент 【Widget】", - "【top】 : Расстояние до верха родителя 【double】", - "【right】 : Расстояние до правого края родителя 【double】", - "【left】 : Расстояние до левого края родителя 【double】", - "【bottom】 : Расстояние до низа родителя 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_zh-CN.json deleted file mode 100644 index 75ba8c782..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 108, - "name": "Positioned", - "localName": "定位组件", - "info": "只能用于Stack中,可以指定左上右下的距离对某个组件进行位置精确安放。", - "lever": 3, - "family": 5, - "linkIds": [ - 97, - 159, - 121 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Positioned基本使用", - "desc": [ - "【child】 : 组件 【Widget】", - "【top】 : 到父顶距离 【double】", - "【right】 : 到父右距离 【double】", - "【left】 : 到父左距离 【double】", - "【bottom】 : 到父底距离 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/Positioned/node1_base.dart deleted file mode 100644 index c59c04c4a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/Positioned/node1_base.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class CustomPositioned extends StatelessWidget { - const CustomPositioned({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Widget yellowBox = Container( - color: Colors.yellow, - height: 100, - width: 100, - ); - - Widget redBox = Container( - color: Colors.red, - height: 90, - width: 90, - ); - - Widget greenBox = Container( - color: Colors.green, - height: 80, - width: 80, - ); - - Widget cyanBox = Container( - color: Colors.cyanAccent, - height: 70, - width: 70, - ); - - return Container( - width: 200, - height: 120, - color: Colors.grey.withAlpha(33), - child: Stack( - children: [ - yellowBox, - redBox, - Positioned(top: 20, left: 20, child: greenBox), - Positioned( - child: cyanBox, - bottom: 10, - right: 10, - ) - ], - )); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_de_DE.json deleted file mode 100644 index e027a2c9f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 335, - "name": "PrimaryScrollController", - "localName": "Primärer Scroll-Controller", - "info": "Es ist eine Unterklasse von InheritedWidget und stellt den standardmäßigen ScrollController-Objekt für scrollbare Ansichten im Unterbaum über den Kontext bereit.", - "lever": 1, - "family": 5, - "linkIds": [ - 349, - 344, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in den PrimaryScrollController", - "desc": [ - "【controller】 : Scroll-Controller 【ScrollController】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_en_US.json deleted file mode 100644 index 7595d787d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 335, - "name": "PrimaryScrollController", - "localName": "Primary Scroll Controller", - "info": "It is a subclass of InheritedWidget, providing a default ScrollController object to scrollable views in the subtree through context.", - "lever": 1, - "family": 5, - "linkIds": [ - 349, - 344, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to PrimaryScrollController", - "desc": [ - "【controller】: Scroll Controller 【ScrollController】", - "【child】: Child Widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_es_ES.json deleted file mode 100644 index 1441d306b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 335, - "name": "PrimaryScrollController", - "localName": "Controlador de Desplazamiento Primario", - "info": "Es una subclase de InheritedWidget que proporciona un objeto ScrollController predeterminado a las vistas desplazables en el subárbol a través del contexto.", - "lever": 1, - "family": 5, - "linkIds": [ - 349, - 344, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a PrimaryScrollController", - "desc": [ - "【controller】 : Controlador de desplazamiento 【ScrollController】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_fr_FR.json deleted file mode 100644 index c097b0c61..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 335, - "name": "PrimaryScrollController", - "localName": "Contrôleur de défilement initial", - "info": "C'est une sous-classe d'InheritedWidget qui fournit un objet ScrollController par défaut aux vues défilables dans le sous-arbre via le contexte.", - "lever": 1, - "family": 5, - "linkIds": [ - 349, - 344, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction de PrimaryScrollController", - "desc": [ - "【controller】 : Contrôleur de défilement 【ScrollController】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_it_IT.json deleted file mode 100644 index 729e3e7fb..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 335, - "name": "PrimaryScrollController", - "localName": "Controllore di scorrimento iniziale", - "info": "È una sottoclasse di InheritedWidget, che fornisce un oggetto ScrollController predefinito alle viste scorrevoli nel sottoalbero tramite il contesto.", - "lever": 1, - "family": 5, - "linkIds": [ - 349, - 344, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a PrimaryScrollController", - "desc": [ - "【controller】 : Controllore di scorrimento 【ScrollController】", - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_ja_JP.json deleted file mode 100644 index 467879239..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 335, - "name": "PrimaryScrollController", - "localName": "初期スクロールコントローラー", - "info": "これは InheritedWidget のサブクラスで、context を通じてサブツリー内のスクロール可能なビューにデフォルトの ScrollController オブジェクトを提供します。", - "lever": 1, - "family": 5, - "linkIds": [ - 349, - 344, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PrimaryScrollController 紹介", - "desc": [ - "【controller】 : スクロールコントローラー 【ScrollController】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_ko_KR.json deleted file mode 100644 index 5897c1b03..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 335, - "name": "PrimaryScrollController", - "localName": "기본 스크롤 컨트롤러", - "info": "이것은 InheritedWidget의 하위 클래스로, context를 통해 하위 트리의 스크롤 가능한 뷰에 기본 ScrollController 객체를 제공합니다.", - "lever": 1, - "family": 5, - "linkIds": [ - 349, - 344, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PrimaryScrollController 소개", - "desc": [ - "【controller】 : 스크롤 컨트롤러 【ScrollController】", - "【child】 : 하위 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_pt_PT.json deleted file mode 100644 index d071d0476..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 335, - "name": "PrimaryScrollController", - "localName": "Controlador de Deslocamento Inicial", - "info": "É uma subclasse de InheritedWidget que fornece um objeto ScrollController padrão para vistas roláveis na subárvore através do contexto.", - "lever": 1, - "family": 5, - "linkIds": [ - 349, - 344, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao PrimaryScrollController", - "desc": [ - "【controller】 : Controlador de Deslocamento 【ScrollController】", - "【child】 : Componente Filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_ru_RU.json deleted file mode 100644 index 4c828ad70..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 335, - "name": "PrimaryScrollController", - "localName": "Основной контроллер прокрутки", - "info": "Это подкласс InheritedWidget, который предоставляет объект ScrollController по умолчанию для прокручиваемых представлений в поддереве через контекст.", - "lever": 1, - "family": 5, - "linkIds": [ - 349, - 344, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в PrimaryScrollController", - "desc": [ - "【controller】 : Контроллер прокрутки 【ScrollController】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_zh-CN.json deleted file mode 100644 index 1e77d574f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 335, - "name": "PrimaryScrollController", - "localName": "初始滑动控制器", - "info": "它是 InheritedWidget 子类,通过 context 向子树中的可滑动视图提供默认的 ScrollController 对象。", - "lever": 1, - "family": 5, - "linkIds": [ - 349, - 344, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PrimaryScrollController 介绍", - "desc": [ - "【controller】 : 滑动控制器 【ScrollController】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/node1_base.dart deleted file mode 100644 index 076ac8dbe..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/PrimaryScrollController/node1_base.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/3/31 -/// contact me by email 1981462002@qq.com -/// - -class PrimaryScrollControllerDemo extends StatelessWidget { - const PrimaryScrollControllerDemo({Key? key}) : super(key: key); - - final String info = - 'PrimaryScrollController 是 InheritedWidget 子类,也就说明它可以为子树组件提供某些默认数据,' - '子树可以通过 context 来获取上层该组件的提供 ScrollController 对象。\n' - '对于一些可滑动组件 ScrollView、SingleChildScrollView、NestedScrollView 等,' - '在使用者未提供 ScrollController 时,且 primary 属性为 true 时(默认true) ,' - '会使用上层 PrimaryScrollController 组件提供的滑动控制器。\n' - '使用 MaterialApp 组件,其已经内置 PrimaryScrollController,'; - - @override - Widget build(BuildContext context) { - ScrollController? label = PrimaryScrollController.of(context); - - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info+"当前其持有的滑动控制器对象: $label"), - ); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_de_DE.json deleted file mode 100644 index aba9b5c57..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 180, - "name": "ScrollConfiguration", - "localName": "iOS-Menüschaltfläche", - "info": "Muss eine scrollbare Komponente umschließen und durch das Verhalten-Attribut den Scroll-Effekt steuern, kann den blauen Schatten beim Scrollen entfernen usw.", - "lever": 3, - "family": 5, - "linkIds": [ - 162, - 163, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ScrollConfiguration", - "desc": [ - "【child】: Untergeordnete Komponente 【Widget】", - "【behavior】: Scrollverhalten 【ScrollBehavior】", - " Kann ScrollConfiguration verwenden, um den blauen Schatten in ListView zu entfernen" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_en_US.json deleted file mode 100644 index 502a531fd..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 180, - "name": "ScrollConfiguration", - "localName": "iOS Menu Button", - "info": "Needs to wrap a scrollable component and control the scrolling effect through the behavior property, which can remove the blue shadow of the scrolling, etc.", - "lever": 3, - "family": 5, - "linkIds": [ - 162, - 163, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ScrollConfiguration", - "desc": [ - "【child】: Child component 【Widget】", - "【behavior】: Scroll behavior 【ScrollBehavior】", - " ScrollConfiguration can be used to remove the blue shadow of ListView" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_es_ES.json deleted file mode 100644 index 446a72a97..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 180, - "name": "ScrollConfiguration", - "localName": "Botón de menú de iOS", - "info": "Necesita envolver un componente deslizable y controlar el efecto de deslizamiento a través de la propiedad behavior, lo que puede eliminar la sombra azul del deslizamiento, etc.", - "lever": 3, - "family": 5, - "linkIds": [ - 162, - 163, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ScrollConfiguration", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【behavior】 : Comportamiento de deslizamiento 【ScrollBehavior】", - " Puedes usar ScrollConfiguration para eliminar la sombra azul de ListView" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_fr_FR.json deleted file mode 100644 index 9e750c532..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 180, - "name": "ScrollConfiguration", - "localName": "Bouton de menu iOS", - "info": "Doit envelopper un composant défilable et contrôler l'effet de défilement via la propriété behavior, peut supprimer l'ombre bleue du défilement, etc.", - "lever": 3, - "family": 5, - "linkIds": [ - 162, - 163, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ScrollConfiguration", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【behavior】 : Comportement de défilement 【ScrollBehavior】", - " Peut utiliser ScrollConfiguration pour supprimer l'ombre bleue de ListView" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_it_IT.json deleted file mode 100644 index 627b4a436..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 180, - "name": "ScrollConfiguration", - "localName": "Pulsante menu ios", - "info": "Deve avvolgere un componente scorrevole e controllare l'effetto dello scorrimento attraverso la proprietà behavior, rimuovendo ad esempio l'ombra blu dello scorrimento.", - "lever": 3, - "family": 5, - "linkIds": [ - 162, - 163, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ScrollConfiguration", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【behavior】 : Comportamento di scorrimento 【ScrollBehavior】", - " Puoi usare ScrollConfiguration per rimuovere l'ombra blu da ListView" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_ja_JP.json deleted file mode 100644 index 36c5d1ecc..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 180, - "name": "ScrollConfiguration", - "localName": "iosメニューボタン", - "info": "スクロール可能なコンポーネントをラップし、behaviorプロパティを通じてスクロール効果を制御します。これにより、スクロール時の青色の影などを取り除くことができます。", - "lever": 3, - "family": 5, - "linkIds": [ - 162, - 163, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ScrollConfigurationの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【behavior】 : スクロール動作 【ScrollBehavior】", - " ScrollConfigurationを使用してListViewの青色の影をなくすことができます" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_ko_KR.json deleted file mode 100644 index ae09e759d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 180, - "name": "ScrollConfiguration", - "localName": "ios 메뉴 버튼", - "info": "스크롤 가능한 컴포넌트를 감싸고 behavior 속성을 통해 스크롤 효과를 제어할 수 있으며, 스크롤 시 파란색 그림자 등을 제거할 수 있습니다.", - "lever": 3, - "family": 5, - "linkIds": [ - 162, - 163, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ScrollConfiguration 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【behavior】 : 스크롤 동작 【ScrollBehavior】", - " ScrollConfiguration을 사용하여 ListView의 파란색 그림자를 제거할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_pt_PT.json deleted file mode 100644 index a5dad2f8c..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 180, - "name": "ScrollConfiguration", - "localName": "Botão de menu ios", - "info": "Precisa envolver um componente deslizável e controlar o efeito de deslize através da propriedade behavior, podendo remover a sombra azul do deslize, entre outros.", - "lever": 3, - "family": 5, - "linkIds": [ - 162, - 163, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do ScrollConfiguration", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【behavior】 : Comportamento de deslize 【ScrollBehavior】", - " Pode usar o ScrollConfiguration para remover a sombra azul do ListView" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_ru_RU.json deleted file mode 100644 index 189999662..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 180, - "name": "ScrollConfiguration", - "localName": "кнопка меню ios", - "info": "Необходимо обернуть прокручиваемый компонент и управлять эффектом прокрутки через свойство behavior, можно убрать синюю тень при прокрутке и т.д.", - "lever": 3, - "family": 5, - "linkIds": [ - 162, - 163, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ScrollConfiguration", - "desc": [ - "【child】 : дочерний компонент 【Widget】", - "【behavior】 : поведение прокрутки 【ScrollBehavior】", - " Можно использовать ScrollConfiguration, чтобы убрать синюю тень у ListView" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_zh-CN.json deleted file mode 100644 index 17e990a43..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 180, - "name": "ScrollConfiguration", - "localName": "ios菜单按钮", - "info": "需要包裹一个可滑动的组件,并通过behavior属性控制滑动的效果,可以去除滑动的蓝色阴影等。", - "lever": 3, - "family": 5, - "linkIds": [ - 162, - 163, - 164 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ScrollConfiguration基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【behavior】 : 滑动行为 【ScrollBehavior】", - " 可以使用ScrollConfiguration让ListView无蓝色阴影" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/node1_base.dart deleted file mode 100644 index 5c18f5ab3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ScrollConfiguration/node1_base.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class CustomScrollConfiguration extends StatelessWidget { - const CustomScrollConfiguration({super.key}); - - List get data => [ - Colors.cyan[50]!, - Colors.cyan[100]!, - Colors.cyan[200]!, - Colors.cyan[300]!, - Colors.cyan[400]!, - Colors.cyan[500]!, - Colors.cyan[600]!, - Colors.cyan[700]!, - Colors.cyan[800]!, - Colors.cyan[900]!, - ]; - - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: ScrollConfiguration( - behavior: NoScrollBehavior(), child: _buildListView()), - ); - } - - Widget _buildListView() => ListView( - padding: const EdgeInsets.symmetric(horizontal: 5), - children: data - .map((color) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: color, - child: Text( - colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - )) - .toList(), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} - -class NoScrollBehavior extends ScrollBehavior { - @override - Widget buildViewportChrome( - BuildContext context, Widget child, AxisDirection axisDirection) => - child; -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_de_DE.json deleted file mode 100644 index 919e8b311..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 331, - "name": "SliderTheme", - "localName": "Schieberegler-Stil", - "info": "Kann ein Kind enthalten und gibt den Standardstil für nachfolgende Schieberegler an. Wird häufig verwendet, um den Stil von Schiebereglern zu vereinheitlichen und die individuelle Einstellung zu vermeiden. Kann auch verwendet werden, um den Stil von Schiebereglern anzupassen.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliderTheme Verwendung", - "desc": [ - "Kann SliderTheme.of verwenden, um das Slider-Themen-Datenobjekt zu erhalten, das eine Vielzahl von Attributen für die Einstellung des Schiebereglers enthält.", - "Kann Standardstile für Schaltflächenkomponenten von ButtonTheme [Nachkommen] festlegen, einschließlich Farbe, Form, Größe usw." - ] - }, - { - "file": "node2_diy.dart", - "name": "SliderTheme Stilanpassung für Schieberegler", - "desc": [ - "Durch thumbShape und valueIndicatorShape kann der Stil des Schiebereglers angepasst werden.", - "Hinweis: Dieses Beispiel bezieht sich auf SlideDemo in flutter-gallery" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_en_US.json deleted file mode 100644 index 95df2de42..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 331, - "name": "SliderTheme", - "localName": "Slider Style", - "info": "Can contain a child, specifies the default style for descendant Sliders. Commonly used for unifying the style of Sliders to avoid setting them one by one, and can also customize the style of Sliders.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliderTheme Usage", - "desc": [ - "You can obtain the Slider theme data object through SliderTheme.of, which contains a large number of properties for setting the Slider.", - "You can set the default style for the button components of ButtonTheme【descendants】, including color, shape, size, etc." - ] - }, - { - "file": "node2_diy.dart", - "name": "SliderTheme Customization for Slider", - "desc": [ - "You can customize the style of the Slider through thumbShape and valueIndicatorShape.", - "Note: This example refers to the SlideDemo in flutter-gallery" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_es_ES.json deleted file mode 100644 index 0c19c2c3c..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 331, - "name": "SliderTheme", - "localName": "Estilo del deslizador", - "info": "Puede contener un hijo y especifica el estilo predeterminado para los Slider descendientes. Se usa comúnmente para unificar el estilo de los Slider, evitando configuraciones individuales, y también permite personalizar el estilo del Slider.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de SliderTheme", - "desc": [ - "Se puede obtener el objeto de datos del tema Slider a través de SliderTheme.of, que contiene una gran cantidad de propiedades para configurar el Slider.", - "Puede establecer el estilo predeterminado para los componentes de botón [descendientes] de ButtonTheme, incluyendo color, forma, tamaño, etc." - ] - }, - { - "file": "node2_diy.dart", - "name": "Personalización del estilo del Slider con SliderTheme", - "desc": [ - "Se puede personalizar el estilo del Slider a través de thumbShape y valueIndicatorShape.", - "Nota: Este ejemplo se basa en SlideDemo de flutter-gallery" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_fr_FR.json deleted file mode 100644 index c9db739c5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 331, - "name": "SliderTheme", - "localName": "Style du curseur", - "info": "Peut contenir un enfant, spécifie le style par défaut pour les descendants Slider. Souvent utilisé pour unifier le style des Slider, évitant de les configurer un par un, et permet également de personnaliser le style du Slider.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de SliderTheme", - "desc": [ - "Peut obtenir l'objet de données de thème Slider via SliderTheme.of, qui contient de nombreuses propriétés pour la configuration du Slider.\"", - "Peut définir un style par défaut pour les composants boutons des descendants de ButtonTheme, y compris la couleur, la forme, la taille, etc." - ] - }, - { - "file": "node2_diy.dart", - "name": "Personnalisation du style du Slider avec SliderTheme", - "desc": [ - "Permet de personnaliser le style du Slider via thumbShape et valueIndicatorShape.\"", - "Note: Cet exemple est inspiré de SlideDemo dans flutter-gallery" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_it_IT.json deleted file mode 100644 index 0da8d57b3..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 331, - "name": "SliderTheme", - "localName": "Stile del cursore", - "info": "Può contenere un figlio e specifica lo stile predefinito per i cursori discendenti. Comunemente utilizzato per unificare lo stile dei cursori, evitando di impostarli uno per uno, e consente anche la personalizzazione dello stile del cursore.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di SliderTheme", - "desc": [ - "È possibile ottenere l'oggetto dati del tema del cursore tramite SliderTheme.of, che contiene numerose proprietà per la configurazione del cursore.", - "È possibile impostare uno stile predefinito per i componenti del pulsante [discendenti] di ButtonTheme, inclusi colore, forma, dimensioni, ecc." - ] - }, - { - "file": "node2_diy.dart", - "name": "Personalizzazione dello stile del cursore con SliderTheme", - "desc": [ - "È possibile personalizzare lo stile del cursore tramite thumbShape e valueIndicatorShape.", - "Nota: Questo esempio si riferisce a SlideDemo in flutter-gallery" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_ja_JP.json deleted file mode 100644 index 46441db3f..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 331, - "name": "SliderTheme", - "localName": "スライダースタイル", - "info": "1つの子要素を収容し、子孫のSliderにデフォルトのスタイルを指定します。Sliderのスタイル統一に使用され、個別に設定する必要がなく、Sliderのスタイルをカスタマイズすることもできます。", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliderThemeの使用", - "desc": [ - "SliderTheme.ofを使用してSliderのテーマデータオブジェクトを取得できます。これには、Sliderの設定に使用される多くの属性が含まれています。\"", - "ButtonTheme【子孫】のボタンコンポーネントにデフォルトのスタイルを設定できます。これには、色、形状、サイズなどが含まれます。" - ] - }, - { - "file": "node2_diy.dart", - "name": "SliderThemeによるSliderのスタイルカスタマイズ", - "desc": [ - "thumbShapeとvalueIndicatorShapeを使用してSliderのスタイルをカスタマイズできます。\"", - "注: この例はflutter-galleryのSlideDemoを参考にしています" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_ko_KR.json deleted file mode 100644 index 09d0c5273..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 331, - "name": "SliderTheme", - "localName": "슬라이더 스타일", - "info": "하나의 자식을 포함할 수 있으며, 후손 Slider에 기본 스타일을 지정합니다. 주로 Slider의 스타일 통일을 위해 사용되며, 일일이 설정하는 것을 방지하고, Slider의 스타일을 커스터마이징할 수도 있습니다.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliderTheme 사용", - "desc": [ - "SliderTheme.of를 통해 Slider 테마 데이터 객체를 얻을 수 있으며, 여기에는 Slider 설정을 위한 다양한 속성이 포함되어 있습니다.", - "ButtonTheme【후손】의 버튼 컴포넌트에 기본 스타일을 설정할 수 있으며, 색상, 모양, 크기 등을 포함합니다." - ] - }, - { - "file": "node2_diy.dart", - "name": "SliderTheme를 통한 Slider 스타일 커스터마이징", - "desc": [ - "thumbShape와 valueIndicatorShape를 통해 Slider의 스타일을 커스터마이징할 수 있습니다.", - "참고: 이 예제는 flutter-gallery의 SlideDemo를 참고했습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_pt_PT.json deleted file mode 100644 index 7e669c11b..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 331, - "name": "SliderTheme", - "localName": "Estilo do Controlo Deslizante", - "info": "Pode conter um filho, especificando o estilo padrão para o Controlo Deslizante descendente. Comumente usado para unificar o estilo do Controlo Deslizante, evitando a configuração individual, também pode personalizar o estilo do Controlo Deslizante.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do SliderTheme", - "desc": [ - "Pode obter o objeto de dados do tema do Controlo Deslizante através de SliderTheme.of, que contém uma grande quantidade de propriedades para configurar o Controlo Deslizante.", - "Pode definir o estilo padrão para os componentes de botão [descendentes] do ButtonTheme, incluindo cor, forma, tamanho, etc." - ] - }, - { - "file": "node2_diy.dart", - "name": "Personalização do estilo do Controlo Deslizante com SliderTheme", - "desc": [ - "Através de thumbShape e valueIndicatorShape, pode personalizar o estilo do Controlo Deslizante.", - "Nota: Este exemplo é baseado no SlideDemo do flutter-gallery" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_ru_RU.json deleted file mode 100644 index 0f4ed94a7..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 331, - "name": "SliderTheme", - "localName": "Стиль слайдера", - "info": "Может содержать один дочерний элемент, задает стиль по умолчанию для потомков Slider. Часто используется для унификации стилей Slider, чтобы избежать индивидуальной настройки, также позволяет настраивать стиль Slider.", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование SliderTheme", - "desc": [ - "Можно получить объект данных темы Slider через SliderTheme.of, который содержит множество свойств для настройки Slider.", - "Можно задать стиль по умолчанию для компонентов кнопок, являющихся потомками ButtonTheme, включая цвет, форму, размер и т.д." - ] - }, - { - "file": "node2_diy.dart", - "name": "Настройка стиля Slider с помощью SliderTheme", - "desc": [ - "С помощью thumbShape и valueIndicatorShape можно настроить стиль Slider.", - "Примечание: этот пример взят из SlideDemo в flutter-gallery" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_zh-CN.json deleted file mode 100644 index b027fa96a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 331, - "name": "SliderTheme", - "localName": "滑块样式", - "info": "可容纳一个孩子,为后代的Slider指定默认样式。常用于Slider的样式统一,避免一一设置,也可以对Slider进行样式定制。", - "lever": 3, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliderTheme使用", - "desc": [ - "可通过SliderTheme.of获取Slider主题数据对象,其中包含大量属性用于对Slider的设定。\"", - "可以为ButtonTheme【后代】的按钮组件设置默认样式,包括颜色、形状、尺寸等。" - ] - }, - { - "file": "node2_diy.dart", - "name": "SliderTheme对Slider的样式定制", - "desc": [ - "通过thumbShape和valueIndicatorShape可以对Slider进行样式定制。\"", - "注: 本例参考flutter-gallery中的SlideDemo" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/node1_base.dart deleted file mode 100644 index ecf420931..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/node1_base.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-12 -/// contact me by email 1981462002@qq.com - - -class SliderThemeDemo extends StatefulWidget { - const SliderThemeDemo({Key? key}) : super(key: key); - - @override - _SliderThemeDemoState createState() => _SliderThemeDemoState(); -} - -class _SliderThemeDemoState extends State { - double _bliss = 0.5; - - @override - Widget build(BuildContext context) { - return SliderTheme( - data: SliderTheme.of(context).copyWith(activeTrackColor: Colors.orange), - child: Slider( - min: 0.0, - max: 200.0, - divisions: 10, - label: _bliss.toStringAsFixed(1), - onChanged: (double value) { - setState(() { - _bliss = value; - }); - }, - value: _bliss, - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/node2_diy.dart b/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/node2_diy.dart deleted file mode 100644 index 9681384c2..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/SliderTheme/node2_diy.dart +++ /dev/null @@ -1,173 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-12 -/// contact me by email 1981462002@qq.com - - -class DIYSliderTheme extends StatefulWidget { - const DIYSliderTheme({Key? key}) : super(key: key); - - @override - _DIYSliderThemeState createState() => _DIYSliderThemeState(); -} - -class _DIYSliderThemeState extends State { - double _bliss = 0.5; - - @override - Widget build(BuildContext context) { - final ThemeData theme = Theme.of(context); - return SliderTheme( - data: theme.sliderTheme.copyWith( - activeTrackColor: Colors.deepPurple, - inactiveTrackColor: Colors.blue.withAlpha(55), - activeTickMarkColor: theme.colorScheme.onSurface.withOpacity(0.7), - inactiveTickMarkColor: theme.colorScheme.surface.withOpacity(0.7), - overlayColor: theme.colorScheme.onSurface.withOpacity(0.12), - thumbColor: Colors.deepPurple, - valueIndicatorColor: Colors.deepPurpleAccent, - thumbShape: _CustomThumbShape(), - valueIndicatorShape: _CustomValueIndicatorShape(), - valueIndicatorTextStyle: theme.primaryTextTheme.bodyMedium?.copyWith(color: theme.colorScheme.onSurface), - ), - child: Slider( - min: 0.0, - max: 200.0, - divisions: 10, - label: _bliss.toStringAsFixed(1), - onChanged: (double value) { - setState(() { - _bliss = value; - }); - }, - value: _bliss, - ), - ); - } -} - -class _CustomThumbShape extends SliderComponentShape { - static const double _thumbSize = 4.0; - static const double _disabledThumbSize = 3.0; - - @override - Size getPreferredSize(bool isEnabled, bool isDiscrete) { - return isEnabled - ? const Size.fromRadius(_thumbSize) - : const Size.fromRadius(_disabledThumbSize); - } - - static final Animatable sizeTween = Tween( - begin: _disabledThumbSize, - end: _thumbSize, - ); - - @override - void paint( - PaintingContext context, - Offset center, { - required Animation activationAnimation, - required Animation enableAnimation, - required bool isDiscrete, - required TextPainter labelPainter, - required RenderBox parentBox, - required SliderThemeData sliderTheme, - required TextDirection textDirection, - required double value, - required double textScaleFactor, - required Size sizeWithOverflow, - }) { - final Canvas canvas = context.canvas; - final ColorTween colorTween = ColorTween( - begin: sliderTheme.disabledThumbColor, - end: sliderTheme.thumbColor, - ); - final double size = _thumbSize * sizeTween.evaluate(enableAnimation); - final Path thumbPath = _downTriangle(size, center); - canvas.drawPath(thumbPath, - Paint()..color = colorTween.evaluate(enableAnimation) ?? Colors.blue); - } -} - -Path _upTriangle(double size, Offset thumbCenter) => - _downTriangle(size, thumbCenter, invert: true); - -Path _downTriangle(double size, Offset thumbCenter, {bool invert = false}) { - final Path thumbPath = Path(); - final double height = sqrt(3.0) / 2.0; - final double centerHeight = size * height / 3.0; - final double halfSize = size / 2.0; - final double sign = invert ? -1.0 : 1.0; - thumbPath.moveTo( - thumbCenter.dx - halfSize, thumbCenter.dy + sign * centerHeight); - thumbPath.lineTo(thumbCenter.dx, thumbCenter.dy - 2.0 * sign * centerHeight); - thumbPath.lineTo( - thumbCenter.dx + halfSize, thumbCenter.dy + sign * centerHeight); - thumbPath.close(); - return thumbPath; -} - -class _CustomValueIndicatorShape extends SliderComponentShape { - static const double _indicatorSize = 4.0; - static const double _disabledIndicatorSize = 3.0; - static const double _slideUpHeight = 30.0; - - @override - Size getPreferredSize(bool isEnabled, bool isDiscrete) { - return Size.fromRadius(isEnabled ? _indicatorSize : _disabledIndicatorSize); - } - - static final Animatable sizeTween = Tween( - begin: _disabledIndicatorSize, - end: _indicatorSize, - ); - - @override - void paint(PaintingContext context, Offset center, - {required Animation activationAnimation, - required Animation enableAnimation, - required bool isDiscrete, - required TextPainter labelPainter, - required RenderBox parentBox, - required SliderThemeData sliderTheme, - required TextDirection textDirection, - required double value, - required double textScaleFactor, - required Size sizeWithOverflow}) { - final Canvas canvas = context.canvas; - final ColorTween enableColor = ColorTween( - begin: sliderTheme.disabledThumbColor, - end: sliderTheme.valueIndicatorColor, - ); - final Tween slideUpTween = Tween( - begin: 0.0, - end: _slideUpHeight, - ); - final double size = _indicatorSize * sizeTween.evaluate(enableAnimation); - final Offset slideUpOffset = - Offset(0.0, -slideUpTween.evaluate(activationAnimation)); - final Path thumbPath = _upTriangle(size, center + slideUpOffset); - final Color paintColor = enableColor - .evaluate(enableAnimation) - ?.withAlpha((255.0 * activationAnimation.value).round()) ?? - Colors.black; - canvas.drawPath( - thumbPath, - Paint()..color = paintColor, - ); - canvas.drawLine( - center, - center + slideUpOffset, - Paint() - ..color = paintColor - ..style = PaintingStyle.stroke - ..strokeWidth = 2.0); - labelPainter.paint( - canvas, - center + - slideUpOffset + - Offset(-labelPainter.width / 2.0, -labelPainter.height - 4.0)); - } -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_de_DE.json deleted file mode 100644 index 1a1cc3b50..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 317, - "name": "TableCell", - "localName": "Tabellenzelle", - "info": "Muss in den Nachkommen der Table-Komponente verwendet werden, um die vertikale Ausrichtung der Tabellenkinder zu steuern, und hat keine große Bedeutung.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von TableCell", - "desc": [ - "【child】 : Komponente 【Widget】", - "【verticalAlignment】 : Vertikale Ausrichtung 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_en_US.json deleted file mode 100644 index d1228b6fc..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 317, - "name": "TableCell", - "localName": "Table Cell", - "info": "Must be used within the descendants of a Table component to control the vertical alignment of table children, and it doesn't have much significant function.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of TableCell", - "desc": [ - "【child】: Component 【Widget】", - "【verticalAlignment】: Vertical Alignment 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_es_ES.json deleted file mode 100644 index 9166ac778..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 317, - "name": "TableCell", - "localName": "Celda de tabla", - "info": "Debe usarse en los descendientes del componente Table, para controlar la alineación vertical de los hijos de la tabla, y no tiene un gran efecto.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de TableCell", - "desc": [ - "【child】 : Componente 【Widget】", - "【verticalAlignment】 : Alineación vertical 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_fr_FR.json deleted file mode 100644 index db2ee9d81..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 317, - "name": "TableCell", - "localName": "Cellule de tableau", - "info": "Doit être utilisé dans la descendance du composant Table, pour contrôler l'alignement vertical des enfants du tableau, et n'a pas beaucoup d'effet.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de TableCell", - "desc": [ - "【child】 : Composant 【Widget】", - "【verticalAlignment】 : Alignement vertical 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_it_IT.json deleted file mode 100644 index 90ae875a1..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 317, - "name": "TableCell", - "localName": "Cella della tabella", - "info": "Deve essere utilizzato all'interno dei discendenti del componente Table, per controllare l'allineamento verticale dei figli della tabella, e non ha un ruolo particolarmente significativo.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di TableCell", - "desc": [ - "【child】 : Componente 【Widget】", - "【verticalAlignment】 : Allineamento verticale 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_ja_JP.json deleted file mode 100644 index cd93b7eaa..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 317, - "name": "TableCell", - "localName": "表室", - "info": "Tableコンポーネントの子孫で使用する必要があり、表の子の垂直方向の整列を制御するために使用されますが、大きな役割はありません。", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TableCellの基本的な使用法", - "desc": [ - "【child】 : コンポーネント 【Widget】", - "【verticalAlignment】 : 垂直方向の整列 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_ko_KR.json deleted file mode 100644 index 2540d6fdd..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 317, - "name": "TableCell", - "localName": "테이블 셀", - "info": "Table 컴포넌트의 후손에서 사용해야 하며, 테이블 자식의 수직 정렬 방식을 제어하는 데 사용되며 큰 역할은 없습니다.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TableCell 기본 사용", - "desc": [ - "【child】 : 컴포넌트 【Widget】", - "【verticalAlignment】 : 수직 정렬 방식 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_pt_PT.json deleted file mode 100644 index df8c90a05..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 317, - "name": "TableCell", - "localName": "Célula da Tabela", - "info": "Deve ser usado nos descendentes do componente Table, para controlar o alinhamento vertical dos filhos da tabela, e não tem um grande impacto.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do TableCell", - "desc": [ - "【child】 : Componente 【Widget】", - "【verticalAlignment】 : Alinhamento Vertical 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_ru_RU.json deleted file mode 100644 index 143246f06..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 317, - "name": "TableCell", - "localName": "Ячейка таблицы", - "info": "Должен использоваться в потомках компонента Table для управления вертикальным выравниванием дочерних элементов таблицы, но не имеет большого значения.", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование TableCell", - "desc": [ - "【child】 : Компонент 【Widget】", - "【verticalAlignment】 : Вертикальное выравнивание 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_zh-CN.json deleted file mode 100644 index ec9d663de..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 317, - "name": "TableCell", - "localName": "表室", - "info": "必须在 Table 组件的后代中使用,用于控制表孩子的竖直方向对齐方式,并没是什么太大的作用。", - "lever": 1, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TableCell基本使用", - "desc": [ - "【child】 : 组件 【Widget】", - "【verticalAlignment】 : 竖直对齐方式 【TableCellVerticalAlignment】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/TableCell/node1_base.dart deleted file mode 100644 index cd9dce2cc..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TableCell/node1_base.dart +++ /dev/null @@ -1,72 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class TableCellDemo extends StatelessWidget { - const TableCellDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - _ItemBean title = _ItemBean("单位称", "量纲", "单位", "单位名称", "单位符号"); - _ItemBean m = _ItemBean("长度", "L", "1m", "米", "m"); - _ItemBean kg = _ItemBean("质量", "M", "1Kg", "千克", "Kg"); - _ItemBean s = _ItemBean("时间", "T", "1s", "秒", "s"); - _ItemBean a = _ItemBean("安培", "Ι", "1A", "安培", "A"); - _ItemBean k = _ItemBean("热力学温度", "θ", "1K", "开尔文", "K"); - _ItemBean mol = _ItemBean("物质的量", "N", "1mol", "摩尔", "mol"); - _ItemBean cd = _ItemBean("发光强度", "J", "1cd", "坎德拉", "cd"); - - List<_ItemBean> data = [title, m, kg, s, a, k, mol, cd]; - - return SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: Table( - columnWidths: const { - 0: FixedColumnWidth(80.0), - 1: FixedColumnWidth(80.0), - 2: FixedColumnWidth(80.0), - 3: FixedColumnWidth(80.0), - 4: FixedColumnWidth(80.0), - }, - defaultVerticalAlignment: TableCellVerticalAlignment.middle, - border: TableBorder.all( - color: Colors.orangeAccent, width: 1.0, style: BorderStyle.solid), - children: data - .map((item) => TableRow(children: [ - TableCell( - verticalAlignment: TableCellVerticalAlignment.bottom, - child: Text( - item.name, - style: const TextStyle(color: Colors.blue), - )), - TableCell( - verticalAlignment: TableCellVerticalAlignment.baseline, - child: Text(item.symbol)), - TableCell( - verticalAlignment: TableCellVerticalAlignment.top, - child: Text(item.unitSymbol)), - TableCell( - verticalAlignment: TableCellVerticalAlignment.fill, - child: Text(item.unitName)), - TableCell( - verticalAlignment: TableCellVerticalAlignment.middle, - child: SizedBox(height: 30, child: Text(item.unit)), - ), - ])) - .toList(), - ), - ); - } -} - -class _ItemBean { - String name; - String symbol; - String unit; - String unitName; - String unitSymbol; - - _ItemBean(this.name, this.symbol, this.unit, this.unitName, this.unitSymbol); -} diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_de_DE.json deleted file mode 100644 index b03e2be3c..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 332, - "name": "ToggleButtonsTheme", - "localName": "Schaltflächenstil", - "info": "Wird hauptsächlich verwendet, um Standardattribute für nachfolgende ToggleButtons-Komponenten festzulegen. Es kann auch verwendet werden, um die Standardattribute von ToggleButtons abzurufen.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ToggleButtonsTheme", - "desc": [ - "Mit ToggleButtonsThemeData können Standardstile wie Rahmenstil, Farbe, Dekoration usw. für nachfolgende ToggleButtons-Komponenten festgelegt werden. Mit ToggleButtonsTheme.of können auch die Themendaten von ToggleButtons abgerufen werden." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_en_US.json deleted file mode 100644 index 8b9d2017a..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 332, - "name": "ToggleButtonsTheme", - "localName": "Slider Style", - "info": "Mainly used to set default properties for descendant ToggleButtons components uniformly. You can also get the default properties of ToggleButtons through this component.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ToggleButtonsTheme", - "desc": [ - "You can specify the ToggleButtonsThemeData properties to set default styles for descendant ToggleButtons components, such as border style, color, decoration, etc. You can also use ToggleButtonsTheme.of to get the theme data of ToggleButtons." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_es_ES.json deleted file mode 100644 index 0cfe28b17..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 332, - "name": "ToggleButtonsTheme", - "localName": "Tema de botones de alternancia", - "info": "Se utiliza principalmente para establecer propiedades predeterminadas unificadas para los componentes ToggleButtons descendientes, también se puede obtener las propiedades predeterminadas de ToggleButtons a través de este componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ToggleButtonsTheme", - "desc": [ - "Se puede especificar la propiedad de datos ToggleButtonsThemeData para establecer estilos predeterminados para los componentes ToggleButtons descendientes, como estilos de borde, colores, decoraciones, etc. También se puede usar ToggleButtonsTheme.of para obtener los datos del tema de ToggleButtons." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_fr_FR.json deleted file mode 100644 index 34f273eeb..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 332, - "name": "ToggleButtonsTheme", - "localName": "Thème des boutons bascule", - "info": "Principalement utilisé pour définir des propriétés par défaut unifiées pour les composants ToggleButtons descendants, ou pour obtenir les propriétés par défaut des ToggleButtons via ce composant.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ToggleButtonsTheme", - "desc": [ - "Vous pouvez spécifier les propriétés de données de ToggleButtonsThemeData pour définir le style par défaut des composants ToggleButtons descendants, tels que le style de bordure, la couleur, la décoration, etc. Vous pouvez également utiliser ToggleButtonsTheme.of pour obtenir les données de thème des ToggleButtons." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_it_IT.json deleted file mode 100644 index 2e7b70693..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 332, - "name": "ToggleButtonsTheme", - "localName": "Tema dei pulsanti di commutazione", - "info": "Utilizzato principalmente per impostare le proprietà predefinite per i componenti ToggleButtons dei discendenti. È anche possibile ottenere le proprietà predefinite dei ToggleButtons tramite questo componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ToggleButtonsTheme", - "desc": [ - "È possibile specificare le proprietà dei dati ToggleButtonsThemeData per impostare lo stile predefinito per i componenti ToggleButtons dei discendenti, come lo stile del bordo, il colore, la decorazione, ecc. È anche possibile utilizzare ToggleButtonsTheme.of per ottenere i dati del tema dei ToggleButtons." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_ja_JP.json deleted file mode 100644 index dd837f1cb..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 332, - "name": "ToggleButtonsTheme", - "localName": "スライダースタイル", - "info": "主に子孫のToggleButtonsコンポーネントにデフォルトのプロパティを統一して設定するために使用されます。また、このコンポーネントを通じてデフォルトのToggleButtonsのプロパティを取得することもできます。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ToggleButtonsThemeの基本使用", - "desc": [ - "ToggleButtonsThemeDataデータプロパティを指定して、子孫のToggleButtonsコンポーネントにデフォルトのスタイル(ボーダースタイル、色、装飾など)を設定できます。また、ToggleButtonsTheme.ofを使用してToggleButtonsのテーマデータを取得することもできます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_ko_KR.json deleted file mode 100644 index 6083acee5..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 332, - "name": "ToggleButtonsTheme", - "localName": "토글 버튼 스타일", - "info": "주로 후손 ToggleButtons 컴포넌트에 기본 속성을 통일적으로 설정하기 위해 사용되며, 이 컴포넌트를 통해 기본 ToggleButtons의 속성을 얻을 수도 있습니다.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ToggleButtonsTheme 기본 사용법", - "desc": [ - "ToggleButtonsThemeData 데이터 속성을 지정하여 후손 ToggleButtons 컴포넌트에 기본 스타일(예: 테두리 스타일, 색상, 장식 등)을 설정할 수 있습니다. 또한 ToggleButtonsTheme.of를 사용하여 ToggleButtons의 테마 데이터를 얻을 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_pt_PT.json deleted file mode 100644 index b5f226318..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 332, - "name": "ToggleButtonsTheme", - "localName": "Tema dos Botões de Alternância", - "info": "Principalmente utilizado para definir propriedades padrão unificadas para componentes ToggleButtons descendentes, também é possível obter as propriedades padrão do ToggleButtons através deste componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ToggleButtonsTheme", - "desc": [ - "Pode especificar as propriedades de dados do ToggleButtonsThemeData para definir o estilo padrão para componentes ToggleButtons descendentes, como estilo de borda, cor, decoração, etc. Também é possível usar ToggleButtonsTheme.of para obter os dados do tema do ToggleButtons." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_ru_RU.json deleted file mode 100644 index c5789f622..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 332, - "name": "ToggleButtonsTheme", - "localName": "Тема переключателей", - "info": "В основном используется для установки стандартных свойств для компонентов ToggleButtons у потомков, также можно получить свойства по умолчанию для ToggleButtons через этот компонент.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ToggleButtonsTheme", - "desc": [ - "Можно указать свойства данных ToggleButtonsThemeData для установки стандартных стилей для компонентов ToggleButtons у потомков, таких как стиль границы, цвет, оформление и т.д. Также можно использовать ToggleButtonsTheme.of для получения тематических данных ToggleButtons." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_zh-CN.json deleted file mode 100644 index 001beb487..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 332, - "name": "ToggleButtonsTheme", - "localName": "滑块样式", - "info": "主要用于为后代的ToggleButtons组件统一设置默认属性,也可以通过该组件获取默认ToggleButtons的属性。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ToggleButtonsTheme基本使用", - "desc": [ - "可指定ToggleButtonsThemeData数据属性为【后代】的ToggleButtons组件设置默认样式,如边框样式、颜色、装饰等。也可以用ToggleButtonsTheme.of获取ToggleButtons的主题数据。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/node1_base.dart deleted file mode 100644 index 715cea365..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/ToggleButtonsTheme/node1_base.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class ToggleButtonsThemeDemo extends StatelessWidget { - const ToggleButtonsThemeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ToggleButtonsTheme( - data: ToggleButtonsTheme.of(context).copyWith( - borderWidth: 1, - borderColor: Colors.orangeAccent, - selectedBorderColor: Colors.blue, - splashColor: Colors.purple.withAlpha(66), - borderRadius: BorderRadius.circular(10), - selectedColor: Colors.red, - fillColor: Colors.green.withAlpha(11), - ), - child: _ToggleButtonsSimple(), - ); - } -} - - -class _ToggleButtonsSimple extends StatefulWidget { - @override - _ToggleButtonsSimpleState createState() => _ToggleButtonsSimpleState(); -} - -class _ToggleButtonsSimpleState extends State<_ToggleButtonsSimple> { - var _isSelected = [true, false, false]; - - @override - Widget build(BuildContext context) { - return ToggleButtons( - children: const[ - Icon(Icons.skip_previous), - Icon(Icons.pause), - Icon(Icons.skip_next), - ], - isSelected: _isSelected, - onPressed: (value) => setState(() { - _isSelected = _isSelected.map((e) => false).toList(); - _isSelected[value] = true; - }), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_de_DE.json deleted file mode 100644 index 7c6030a5d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 333, - "name": "TooltipTheme", - "localName": "Tooltip-Thema", - "info": "Wird hauptsächlich verwendet, um Standardattribute für nachfolgende Tooltip-Komponenten festzulegen. Es kann auch verwendet werden, um die Attribute des standardmäßigen Tooltip-Themas abzurufen.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von TooltipTheme", - "desc": [ - "Kann die TooltipThemeData-Datenattribute festlegen, um Standardstile für nachfolgende Tooltip-Komponenten zu definieren, wie Dekoration, Textstil, Anzeigedauer, Randabstand usw. Es kann auch TooltipTheme.of verwenden, um die Themenattribute des Tooltips abzurufen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_en_US.json b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_en_US.json deleted file mode 100644 index a51860c97..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 333, - "name": "TooltipTheme", - "localName": "Tooltip Theme", - "info": "Mainly used to set default properties for descendant Tooltip components uniformly. You can also retrieve the properties of the default TooltipTheme through this component.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of TooltipTheme", - "desc": [ - "You can specify the TooltipThemeData properties to set default styles for descendant Tooltip components, such as decoration, text style, display duration, margins, etc. You can also use TooltipTheme.of to get the theme properties of Tooltip." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_es_ES.json deleted file mode 100644 index f9f3e91d9..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 333, - "name": "TooltipTheme", - "localName": "Tema de Tooltip", - "info": "Principalmente se utiliza para establecer propiedades predeterminadas unificadas para los componentes Tooltip descendientes. También se pueden obtener las propiedades predeterminadas de TooltipTheme a través de este componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de TooltipTheme", - "desc": [ - "Se pueden especificar las propiedades de TooltipThemeData para establecer estilos predeterminados para los componentes Tooltip descendientes, como decoración, estilo de texto, duración de visualización, márgenes, etc. También se puede usar TooltipTheme.of para obtener las propiedades del tema de Tooltip." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_fr_FR.json deleted file mode 100644 index c8fc68cf9..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 333, - "name": "TooltipTheme", - "localName": "Thème d'infobulle", - "info": "Principalement utilisé pour définir les propriétés par défaut des composants Tooltip pour les descendants. Il est également possible d'obtenir les propriétés du TooltipTheme par défaut via ce composant.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de TooltipTheme", - "desc": [ - "Vous pouvez spécifier les propriétés de TooltipThemeData pour définir le style par défaut des composants Tooltip pour les descendants, comme la décoration, le style du texte, la durée d'affichage, les marges, etc. Vous pouvez également utiliser TooltipTheme.of pour obtenir les propriétés du thème Tooltip." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_it_IT.json deleted file mode 100644 index 6689bbad7..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 333, - "name": "TooltipTheme", - "localName": "Tema del Tooltip", - "info": "Utilizzato principalmente per impostare le proprietà predefinite per i componenti Tooltip discendenti. È anche possibile ottenere le proprietà del TooltipTheme predefinito tramite questo componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di TooltipTheme", - "desc": [ - "È possibile specificare le proprietà dei dati di TooltipThemeData per impostare lo stile predefinito per i componenti Tooltip discendenti, come decorazioni, stili di testo, durata di visualizzazione, margini, ecc. È anche possibile utilizzare TooltipTheme.of per ottenere le proprietà del tema del Tooltip." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_ja_JP.json deleted file mode 100644 index a4b3839fb..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 333, - "name": "TooltipTheme", - "localName": "ツールチップテーマ", - "info": "主に、子孫のTooltipコンポーネントにデフォルトのプロパティを統一して設定するために使用されます。また、このコンポーネントを通じてデフォルトのTooltipThemeのプロパティを取得することもできます。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TooltipThemeの基本使用", - "desc": [ - "TooltipThemeDataデータプロパティを指定して、【子孫】のTooltipコンポーネントにデフォルトのスタイルを設定できます。例えば、装飾、テキストスタイル、表示時間、余白など。また、TooltipTheme.ofを使用してTooltipのテーマプロパティを取得することもできます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_ko_KR.json deleted file mode 100644 index bb80ad7cd..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 333, - "name": "TooltipTheme", - "localName": "툴팁 테마", - "info": "주로 후손의 Tooltip 컴포넌트에 기본 속성을 통일적으로 설정하기 위해 사용되며, 이 컴포넌트를 통해 기본 TooltipTheme의 속성을 가져올 수도 있습니다.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TooltipTheme 기본 사용", - "desc": [ - "TooltipThemeData 데이터 속성을 지정하여 【후손】의 Tooltip 컴포넌트에 기본 스타일을 설정할 수 있습니다. 예를 들어, 장식, 텍스트 스타일, 표시 시간, 여백 등이 있습니다. 또한 TooltipTheme.of를 사용하여 Tooltip의 테마 속성을 가져올 수도 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_pt_PT.json deleted file mode 100644 index e5fceabed..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 333, - "name": "TooltipTheme", - "localName": "Tema de Dica", - "info": "Principalmente utilizado para definir propriedades padrão unificadas para componentes Tooltip descendentes, também é possível obter as propriedades do TooltipTheme padrão através deste componente.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do TooltipTheme", - "desc": [ - "Pode especificar as propriedades de dados do TooltipThemeData para definir o estilo padrão para componentes Tooltip descendentes, como decoração, estilo de texto, duração de exibição, margens, etc. Também é possível usar TooltipTheme.of para obter as propriedades temáticas do Tooltip." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_ru_RU.json deleted file mode 100644 index af7aa3ff1..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 333, - "name": "TooltipTheme", - "localName": "Тема подсказки", - "info": "В основном используется для установки стандартных свойств для компонентов Tooltip потомков, также можно получить свойства стандартного TooltipTheme через этот компонент.", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование TooltipTheme", - "desc": [ - "Можно указать свойства данных TooltipThemeData для установки стандартного стиля для компонентов Tooltip потомков, таких как декор, стиль текста, продолжительность отображения, отступы и т.д. Также можно использовать TooltipTheme.of для получения тематических свойств Tooltip." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_zh-CN.json deleted file mode 100644 index ad727adeb..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 333, - "name": "TooltipTheme", - "localName": "提示主题", - "info": "主要用于为后代的Tooltip组件统一设置默认属性,也可以通过该组件获取默认TooltipTheme的属性。", - "lever": 2, - "family": 5, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TooltipTheme基本使用", - "desc": [ - "可指定TooltipThemeData数据属性为【后代】的Tooltip组件设置默认样式,如装饰、文字样式、显示时长、边距等。也可以用TooltipTheme.of获取Tooltip的主题属性。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/node1_base.dart b/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/node1_base.dart deleted file mode 100644 index 0ef30903d..000000000 --- a/modules/widget_system/widgets/lib/ProxyWidget/TooltipTheme/node1_base.dart +++ /dev/null @@ -1,44 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class TooltipThemeDemo extends StatelessWidget { - const TooltipThemeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return TooltipTheme( - child: const TempTooltip(), - data: TooltipTheme.of(context).copyWith( - preferBelow: false, - padding: const EdgeInsets.all(5), - verticalOffset: 20, - margin: const EdgeInsets.all(2), - textStyle: const TextStyle(color: Colors.red, shadows: [ - Shadow(color: Colors.white, offset: Offset(1, 1)), - ]), - decoration: const BoxDecoration(boxShadow: [ - BoxShadow( - color: Colors.orangeAccent, - offset: Offset(1, 1), - blurRadius: 8) - ]))); - } -} - -class TempTooltip extends StatelessWidget { - const TempTooltip({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: const [ - Tooltip(message: "天王盖地虎", child: Icon(Icons.info_outline)), - Tooltip(message: "宝塔镇河妖", child: Icon(Icons.info_outline)), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_de_DE.json deleted file mode 100644 index 6f468c5ba..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 295, - "name": "AbsorbPointer", - "localName": "Klicks absorbieren", - "info": "Enthält ein Kind-Widget und kann durch das Festlegen des Attributs ignoring entscheiden, ob das Kind Gestenereignisse ignoriert, während es selbst Ereignisse akzeptiert.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 149, - 150, - 292 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AbsorbPointer", - "desc": [ - "【child】 : Kind-Widget 【Widget】", - "【absorbing】 : Ob Ereignisse absorbiert werden 【bool】", - "Wie unten gezeigt, wenn der Switch ausgewählt ist, ist absorbing true, und die Schaltflächenereignisse werden absorbiert und können nicht geklickt werden." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_en_US.json deleted file mode 100644 index d8d6217b6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 295, - "name": "AbsorbPointer", - "localName": "Absorb Click", - "info": "Contains a child component, and it can decide whether the child ignores gesture events by specifying the ignoring attribute, while it itself accepts events.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 149, - 150, - 292 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AbsorbPointer", - "desc": [ - "【child】: Child component 【Widget】", - "【absorbing】: Whether to absorb events 【bool】", - "As shown below, when the Switch is selected, absorbing is true, and the button event will be absorbed and cannot be clicked." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_es_ES.json deleted file mode 100644 index 69fbccceb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 295, - "name": "AbsorbPointer", - "localName": "Absorber Clics", - "info": "Contiene un componente hijo y puede decidir si el hijo ignora los eventos de gestos especificando la propiedad ignoring, mientras que él mismo acepta los eventos.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 149, - 150, - 292 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AbsorbPointer", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【absorbing】 : Si absorbe eventos 【bool】", - "Como se muestra a continuación, cuando el Switch está seleccionado, absorbing es true y los eventos del botón serán absorbidos, no se podrá hacer clic." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_fr_FR.json deleted file mode 100644 index f4e3f32ee..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 295, - "name": "AbsorbPointer", - "localName": "Absorber les clics", - "info": "Contient un composant enfant et peut décider si l'enfant ignore les événements gestuels en spécifiant la propriété ignoring, tout en acceptant les événements lui-même.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 149, - 150, - 292 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AbsorbPointer", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【absorbing】 : Si les événements sont absorbés 【bool】", - "Comme ci-dessous, lorsque le Switch est sélectionné, absorbing est true, les événements du bouton seront absorbés et ne pourront pas être cliqués." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_it_IT.json deleted file mode 100644 index 3bd4e2e7b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 295, - "name": "AbsorbPointer", - "localName": "Assorbi Clic", - "info": "Contiene un componente figlio, è possibile decidere se il figlio ignora gli eventi del gesto specificando l'attributo ignoring, mentre esso stesso accetta gli eventi.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 149, - 150, - 292 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AbsorbPointer", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【absorbing】 : Se assorbire gli eventi 【bool】", - "Come mostrato di seguito, quando Switch è selezionato, absorbing è true, gli eventi del pulsante verranno assorbiti e non sarà possibile fare clic." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_ja_JP.json deleted file mode 100644 index 87d7845dc..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 295, - "name": "AbsorbPointer", - "localName": "クリックを吸収", - "info": "子コンポーネントを含み、ignoring属性を指定することで、子がジェスチャーイベントを無視するかどうかを決定し、それ自体がイベントを受け取ります。", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 149, - 150, - 292 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AbsorbPointerの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【absorbing】 : イベントを吸収するかどうか 【bool】", - "以下の例では、Switchが選択されている場合、absorbingがtrueになり、ボタンのイベントが吸収され、クリックできなくなります。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_ko_KR.json deleted file mode 100644 index 5c8c55777..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 295, - "name": "AbsorbPointer", - "localName": "클릭 흡수", - "info": "자식 위젯을 포함하며, ignoring 속성을 지정하여 자식이 제스처 이벤트를 무시할지 여부를 결정할 수 있습니다. 그 자체는 이벤트를 받습니다.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 149, - 150, - 292 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AbsorbPointer 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【absorbing】 : 이벤트를 흡수할지 여부 【bool】", - "아래와 같이, Switch가 선택되면 absorbing이 true가 되어 버튼 이벤트가 흡수되어 클릭할 수 없게 됩니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_pt_PT.json deleted file mode 100644 index 8a4c7c7df..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 295, - "name": "AbsorbPointer", - "localName": "Absorver Clique", - "info": "Contém um componente filho e pode decidir se o filho ignora eventos de gestos especificando o atributo ignoring, enquanto ele próprio aceita eventos.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 149, - 150, - 292 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AbsorbPointer", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【absorbing】 : Se absorve eventos 【bool】", - "Como mostrado abaixo, quando o Switch está selecionado, absorbing é true e o evento do botão será absorvido, não podendo ser clicado." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_ru_RU.json deleted file mode 100644 index c5552f402..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 295, - "name": "AbsorbPointer", - "localName": "Поглощение кликов", - "info": "Содержит дочерний компонент, который может игнорировать жестовые события в зависимости от указанного свойства ignoring, при этом сам компонент принимает события.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 149, - 150, - 292 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AbsorbPointer", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【absorbing】 : Поглощать ли события 【bool】", - "Как показано ниже, когда Switch выбран, absorbing равно true, и событие кнопки будет поглощено, и нажатие будет невозможно." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_zh-CN.json deleted file mode 100644 index e17289d81..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 295, - "name": "AbsorbPointer", - "localName": "吸收点击", - "info": "容纳一个子组件,可以通过指定ignoring属性,来决定孩子是否忽略手势事件,其本身接受事件。", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 149, - 150, - 292 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AbsorbPointer基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【absorbing】 : 是否吸收事件 【bool】", - "如下,Switch选中时absorbing为true,按钮事件将被吸收,无法点击。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/node1_base.dart deleted file mode 100644 index efca1c01a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AbsorbPointer/node1_base.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - - -class CustomAbsorbPointer extends StatefulWidget { - const CustomAbsorbPointer({Key? key}) : super(key: key); - - @override - _CustomAbsorbPointerState createState() => _CustomAbsorbPointerState(); -} - -class _CustomAbsorbPointerState extends State { - bool _absorbing = false; - - @override - Widget build(BuildContext context) { - return Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - GestureDetector( - onTap: (){ - print('AbsorbPointer'); - }, - child: AbsorbPointer( - absorbing: _absorbing, - child: _buildButton(), - ), - ), - _buildSwitch(), - Text(!_absorbing ? '允许点击' : '事件已被吸收') - ], - ); - } - - Widget _buildButton() => ElevatedButton( - child: const Text( - 'To About', - style: TextStyle(color: Colors.white), - ), - onPressed: () => Navigator.of(context).pushNamed('AboutMePage')); - - Widget _buildSwitch() => Switch( - value: _absorbing, - onChanged: (v) { - setState(() { - _absorbing = v; - }); - }); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_de_DE.json deleted file mode 100644 index 2fe4515fb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_de_DE.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 85, - "name": "Align", - "localName": "Ausrichtungskomponente", - "info": "Kann ein Unterelement aufnehmen und kann das Unterelement durch Ausrichtung an jeder angegebenen Position der Breite und Höhe des übergeordneten Elements positionieren.", - "lever": 5, - "family": 2, - "linkIds": [ - 1, - 86, - 111, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Align", - "desc": [ - "【child】: Unterelement 【Widget】", - "【alignment】: Ausrichtung 【AlignmentGeometry】" - ] - }, - { - "file": "node2_other.dart", - "name": "Andere Verwendungen von Align", - "desc": [ - "Da das Alignment-Objekt eine Position im Verhältnis zur Breite und Höhe des übergeordneten Containers angeben kann", - "kann Align verwendet werden, um komplexe Layoutanforderungen zu erfüllen, z.B. die Position nach einer bestimmten mathematischen Gleichung zu ändern" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_en_US.json deleted file mode 100644 index 713413e1f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_en_US.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 85, - "name": "Align", - "localName": "Align Component", - "info": "Can accommodate a child component, and the child component can be positioned at any specified fraction of the parent component's width and height through alignment.", - "lever": 5, - "family": 2, - "linkIds": [ - 1, - 86, - 111, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Align", - "desc": [ - "【child】 : Child component 【Widget】", - "【alignment】 : Alignment method 【AlignmentGeometry】" - ] - }, - { - "file": "node2_other.dart", - "name": "Other Usages of Align", - "desc": [ - "Since the Alignment object can specify the fractional position of the width and height in the parent container", - "Align can be used to achieve some complex layout requirements, such as changing positions according to specified mathematical equations" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_es_ES.json deleted file mode 100644 index ca2eee774..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_es_ES.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 85, - "name": "Align", - "localName": "Componente de Alineación", - "info": "Puede contener un componente hijo, y se puede posicionar en cualquier fracción específica del ancho y alto del componente padre a través de alignment.", - "lever": 5, - "family": 2, - "linkIds": [ - 1, - 86, - 111, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Align", - "desc": [ - "【child】: Componente hijo 【Widget】", - "【alignment】: Método de alineación 【AlignmentGeometry】" - ] - }, - { - "file": "node2_other.dart", - "name": "Otros usos de Align", - "desc": [ - "Dado que el objeto Alignment puede especificar la posición de la fracción del ancho y alto en el contenedor padre", - "Se puede usar Align para implementar algunas necesidades de disposición complejas, como cambiar la posición según ecuaciones matemáticas específicas" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_fr_FR.json deleted file mode 100644 index 0afdeb174..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_fr_FR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 85, - "name": "Align", - "localName": "Composant d'alignement", - "info": "Peut contenir un composant enfant, et permet de positionner le composant enfant à n'importe quelle fraction spécifiée de la largeur et de la hauteur du composant parent via l'alignement.", - "lever": 5, - "family": 2, - "linkIds": [ - 1, - 86, - 111, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'Align", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【alignment】 : Méthode d'alignement 【AlignmentGeometry】" - ] - }, - { - "file": "node2_other.dart", - "name": "Autres utilisations d'Align", - "desc": [ - "Puisque l'objet Alignment peut spécifier une position fractionnaire dans la largeur et la hauteur du conteneur parent", - "Align peut être utilisé pour répondre à des besoins de mise en page complexes, tels que des changements de position selon des équations mathématiques spécifiées" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_it_IT.json deleted file mode 100644 index c9dec642a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_it_IT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 85, - "name": "Align", - "localName": "Componente Allineamento", - "info": "Può contenere un componente figlio, e può posizionare il componente figlio in qualsiasi frazione specificata della larghezza e altezza del componente genitore tramite l'allineamento.", - "lever": 5, - "family": 2, - "linkIds": [ - 1, - 86, - 111, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Align", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【alignment】 : Modalità di allineamento 【AlignmentGeometry】" - ] - }, - { - "file": "node2_other.dart", - "name": "Altri usi di Align", - "desc": [ - "Poiché l'oggetto Alignment può specificare la posizione della frazione di larghezza e altezza nel contenitore genitore", - "è possibile utilizzare Align per soddisfare alcune esigenze di layout complesse, come cambiare posizione secondo equazioni matematiche specificate" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_ja_JP.json deleted file mode 100644 index 1a06a3369..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_ja_JP.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 85, - "name": "Align", - "localName": "整列コンポーネント", - "info": "1つの子コンポーネントを収容でき、alignmentを使用して子コンポーネントを親コンポーネントの幅と高さの任意の指定された比率に配置できます。", - "lever": 5, - "family": 2, - "linkIds": [ - 1, - 86, - 111, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Alignの基本的な使用法", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【alignment】 : 整列方法 【AlignmentGeometry】" - ] - }, - { - "file": "node2_other.dart", - "name": "Alignのその他の使用法", - "desc": [ - "Alignmentオブジェクトは、親コンテナ内の幅と高さの比率位置を指定できるため", - "Alignを使用して、指定された数学的方程式に従って位置を変化させるなど、複雑なレイアウト要件を実現できます" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_ko_KR.json deleted file mode 100644 index d7c244cba..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_ko_KR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 85, - "name": "Align", - "localName": "정렬 컴포넌트", - "info": "하나의 자식 컴포넌트를 수용할 수 있으며, alignment를 통해 자식 컴포넌트를 부모 컴포넌트의 너비와 높이의 지정된 비율 위치에 배치할 수 있습니다.", - "lever": 5, - "family": 2, - "linkIds": [ - 1, - 86, - 111, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Align 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】" - ] - }, - { - "file": "node2_other.dart", - "name": "Align 기타 사용법", - "desc": [ - "Alignment 객체는 부모 컨테이너에서 너비와 높이의 비율 위치를 지정할 수 있으므로", - "Align을 사용하여 복잡한 배치 요구 사항을 구현할 수 있습니다. 예를 들어 지정된 수학 방정식에 따라 위치를 변경하는 것과 같은 요구 사항을 구현할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_pt_PT.json deleted file mode 100644 index c3da9f49e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_pt_PT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 85, - "name": "Align", - "localName": "Componente de Alinhamento", - "info": "Pode conter um componente filho, e pode posicionar o componente filho em qualquer fração especificada da largura e altura do componente pai através do alinhamento.", - "lever": 5, - "family": 2, - "linkIds": [ - 1, - 86, - 111, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Align", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【alignment】 : Modo de alinhamento 【AlignmentGeometry】" - ] - }, - { - "file": "node2_other.dart", - "name": "Outros Usos do Align", - "desc": [ - "Como o objeto Alignment pode especificar a posição da fração de largura e altura no contêiner pai", - "Pode-se usar o Align para implementar algumas necessidades complexas de layout, como mudar a posição de acordo com uma equação matemática especificada" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_ru_RU.json deleted file mode 100644 index af7806c48..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_ru_RU.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 85, - "name": "Align", - "localName": "Компонент выравнивания", - "info": "Может содержать один дочерний компонент, который можно расположить в любом указанном месте ширины и высоты родительского компонента с помощью alignment.", - "lever": 5, - "family": 2, - "linkIds": [ - 1, - 86, - 111, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Align", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【alignment】 : Способ выравнивания 【AlignmentGeometry】" - ] - }, - { - "file": "node2_other.dart", - "name": "Другие способы использования Align", - "desc": [ - "Поскольку объект Alignment может указывать положение в долях ширины и высоты родительского контейнера", - "Можно использовать Align для реализации сложных требований к расположению, например, для изменения положения по указанному математическому уравнению" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_zh-CN.json deleted file mode 100644 index ba46195d3..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/desc_zh-CN.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 85, - "name": "Align", - "localName": "对齐组件", - "info": "可容纳一个子组件,可以通过alignment让子组件,定位在父组件宽高的任何指定分率出。", - "lever": 5, - "family": 2, - "linkIds": [ - 1, - 86, - 111, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Align基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【alignment】 : 对齐方式 【AlignmentGeometry】" - ] - }, - { - "file": "node2_other.dart", - "name": "Align其他用法", - "desc": [ - "由于Alignment对象可指定在父容器中宽高的分率位置", - "可以使用Align实现一些复杂的排布需求,比如按指定的数学方程变化位置" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/node1_base.dart deleted file mode 100644 index 5e6ae234b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/node1_base.dart +++ /dev/null @@ -1,55 +0,0 @@ - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomAlign extends StatelessWidget { - const CustomAlign({Key? key}) : super(key: key); - - final List alignments = const [ - Alignment.topLeft, - Alignment.topCenter, - Alignment.topRight, - Alignment.centerLeft, - Alignment.center, - Alignment.centerRight, - Alignment.bottomLeft, - Alignment.bottomCenter, - Alignment.bottomRight, - ]; - - final List alignmentsInfo = const [ - "topLeft", - "topCenter", - "topRight", - "centerLeft", - "center", - "centerRight", - "bottomLeft", - "bottomCenter", - "bottomRight", - ]; - - @override - Widget build(BuildContext context) { - return Wrap( - children: alignments - .toList() - .map((mode) => Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 100, - height: 60, - color: Colors.grey.withAlpha(88), - child: Align( - child: Container( - width: 30, - height: 30, - color: Colors.cyanAccent, - ), - alignment: mode)), - Text(alignmentsInfo[alignments.indexOf(mode)]) - ])) - .toList()); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/node2_other.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/node2_other.dart deleted file mode 100644 index 3983e6fee..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Align/node2_other.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class Ball extends StatelessWidget { - const Ball({ - Key? key, - this.radius = 15, - this.color = Colors.blue, - }) : super(key: key); - final double radius; //半径 - final Color color; //颜色 - - @override - Widget build(BuildContext context) { - return Container( - width: radius * 2, - height: radius * 2, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: color, - ), - ); - } -} - -class SinLayout extends StatefulWidget { - const SinLayout({ - Key? key, - }) : super(key: key); - - @override - _SinLayoutState createState() => _SinLayoutState(); -} - -class _SinLayoutState extends State { - double _x = 0.0; //Alignment坐标系上的x坐标 - - @override - Widget build(BuildContext context) { - var item = Container( - width: 300, - height: 120, - color: Colors.black.withAlpha(10), - child: Align( - child: const Ball( - color: Colors.orangeAccent, - ), - alignment: Alignment(_x, f(_x * pi)), - ), - ); - - var slider = Slider( - max: 180, - min: -180, - divisions: 360, - label: "${_x.toStringAsFixed(2)}π", - value: _x * 180, - onChanged: (v) => setState(() => _x = v / 180)); - return Column( - mainAxisSize: MainAxisSize.min, - children: [slider, item], - ); - } - - double f(x) { - //映射函数 -- 可随意指定 - double y = sin(x); - return y; - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_de_DE.json deleted file mode 100644 index cef55e3bb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 201, - "name": "AnimatedSize", - "localName": "Größenanimation", - "info": "Wenn sich die Größe der Unterkomponente ändert, erfolgt eine animierte Überblendung. Attribute wie Dauer, Ausrichtung, Kurve, vsync usw. können angegeben werden.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedSize", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【alignment】 : Ausrichtung 【AlignmentGeometry】", - "【curve】 : Animationskurve 【Duration】", - "【vsync】 : vsync 【TickerProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_en_US.json deleted file mode 100644 index 8c6d66b75..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 201, - "name": "AnimatedSize", - "localName": "Size Animation", - "info": "When the size of the child component changes, it animates gradually. You can specify properties such as duration, alignment, curve, vsync, etc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedSize", - "desc": [ - "【child】 : Child component 【Widget】", - "【duration】 : Animation duration 【Duration】", - "【alignment】 : Alignment 【AlignmentGeometry】", - "【curve】 : Animation curve 【Duration】", - "【vsync】 : vsync 【TickerProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_es_ES.json deleted file mode 100644 index 0bd59a182..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 201, - "name": "AnimatedSize", - "localName": "Animación de Tamaño", - "info": "Cuando el tamaño del componente hijo cambia, se realiza una transición animada. Se pueden especificar propiedades como la duración, la alineación, la curva, vsync, etc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de AnimatedSize", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【alignment】 : Alineación 【AlignmentGeometry】", - "【curve】 : Curva de la animación 【Duration】", - "【vsync】 : vsync 【TickerProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_fr_FR.json deleted file mode 100644 index 5acea2c76..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 201, - "name": "AnimatedSize", - "localName": "Animation de taille", - "info": "Lorsque la taille du composant enfant change, une transition animée est effectuée. Vous pouvez spécifier des propriétés telles que la durée, l'alignement, la courbe, vsync, etc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedSize", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【alignment】 : Alignement 【AlignmentGeometry】", - "【curve】 : Courbe de l'animation 【Duration】", - "【vsync】 : vsync 【TickerProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_it_IT.json deleted file mode 100644 index 59207c7e7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 201, - "name": "AnimatedSize", - "localName": "Animazione delle dimensioni", - "info": "Quando le dimensioni del componente figlio cambiano, viene eseguita una transizione animata. È possibile specificare proprietà come durata, allineamento, curva, vsync, ecc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedSize", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【alignment】 : Allineamento 【AlignmentGeometry】", - "【curve】 : Curva dell'animazione 【Duration】", - "【vsync】 : vsync 【TickerProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_ja_JP.json deleted file mode 100644 index f427d6d09..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 201, - "name": "AnimatedSize", - "localName": "サイズアニメーション", - "info": "子コンポーネントのサイズが変化する際に、アニメーションで滑らかに変化させます。持続時間、整列方法、曲線、vsyncなどの属性を指定できます。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedSizeの基本的な使用法", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーションの持続時間 【Duration】", - "【alignment】 : 整列方法 【AlignmentGeometry】", - "【curve】 : アニメーション曲線 【Duration】", - "【vsync】 : vsync 【TickerProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_ko_KR.json deleted file mode 100644 index 2060ce8c4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 201, - "name": "AnimatedSize", - "localName": "크기 애니메이션", - "info": "자식 컴포넌트의 크기가 변경될 때 애니메이션을 통해 점진적으로 변화시킵니다. 지속 시간, 정렬 방식, 곡선, vsync 등의 속성을 지정할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedSize 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【vsync】 : vsync 【TickerProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_pt_PT.json deleted file mode 100644 index b6bb9f9f4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 201, - "name": "AnimatedSize", - "localName": "Animação de Tamanho", - "info": "Quando o tamanho do componente filho muda, ocorre uma transição animada, podendo especificar duração, alinhamento, curva, vsync, entre outros atributos.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedSize", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【alignment】 : Modo de alinhamento 【AlignmentGeometry】", - "【curve】 : Curva da animação 【Duration】", - "【vsync】 : vsync 【TickerProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_ru_RU.json deleted file mode 100644 index 465dd96f3..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 201, - "name": "AnimatedSize", - "localName": "Анимация размера", - "info": "Когда размер дочернего компонента изменяется, происходит плавная анимация. Можно указать такие свойства, как продолжительность, способ выравнивания, кривая, vsync и другие.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedSize", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Продолжительность анимации 【Duration】", - "【alignment】 : Способ выравнивания 【AlignmentGeometry】", - "【curve】 : Кривая анимации 【Duration】", - "【vsync】 : vsync 【TickerProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_zh-CN.json deleted file mode 100644 index b5559c1f6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 201, - "name": "AnimatedSize", - "localName": "尺寸动画", - "info": "子组件大小发生变化时,进行动画渐变,可指定时长、对齐方式、曲线、vsync等属性。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedSize基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【alignment】 : 对齐方式 【AlignmentGeometry】", - "【curve】 : 动画曲线 【Duration】", - "【vsync】 : vsync 【TickerProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/node1_base.dart deleted file mode 100644 index deb0e60d3..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnimatedSize/node1_base.dart +++ /dev/null @@ -1,64 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - - -class CustomAnimatedSize extends StatefulWidget { - const CustomAnimatedSize({Key? key}) : super(key: key); - - @override - _CustomAnimatedSizeState createState() => _CustomAnimatedSizeState(); -} - -class _CustomAnimatedSizeState extends State - with SingleTickerProviderStateMixin { - final double start = 100; - final double end = 200; - - late double _width; - - @override - void initState() { - _width = start; - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildSwitch(), - Container( - color: Colors.grey.withAlpha(22), - width: 200, - height: 100, - alignment: Alignment.center, - child: AnimatedSize( - duration: const Duration(seconds: 1), - curve: Curves.fastOutSlowIn, - alignment: const Alignment(0, 0), - child: Container( - height: 40, - width: _width, - alignment: Alignment.center, - color: Colors.blue, - child: const Text( - '张风捷特烈', - style: TextStyle(color: Colors.white), - ), - ), - ), - ), - ], - ); - } - - Widget _buildSwitch() => Switch( - value: _width == end, - onChanged: (v) { - setState(() { - _width = v ? end : start; - }); - }); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_de_DE.json deleted file mode 100644 index 8b062ccc7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 288, - "name": "AnnotatedRegion", - "localName": "Annotierter Bereich", - "info": "Es gibt einen generischen Typ, der im Quellcode nur in app_bar und nav_bar verwendet wird, um den Zustand und das Styling der Navigationsleiste zu ändern. Der generische Typ ist normalerweise SystemUiOverlayStyle.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnnotatedRegion ändert Zustand und Stil", - "desc": [ - "【value】 : Wert 【T】", - "【sized】 : Gibt die Größe an 【bool】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_en_US.json deleted file mode 100644 index f99c679af..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 288, - "name": "AnnotatedRegion", - "localName": "Annotation Area", - "info": "There is a generic type, which is only used in app_bar and nav_bar in the source code to change the state variables and navigation bar styles. The generic type is usually SystemUiOverlayStyle.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnnotatedRegion Changes State Variables and Styles", - "desc": [ - "【value】 : value 【T】", - "【sized】 : whether to provide size 【bool】", - "【child】 : child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_es_ES.json deleted file mode 100644 index 459a57c91..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 288, - "name": "AnnotatedRegion", - "localName": "Región Anotada", - "info": "Tiene un genérico, en el código fuente solo se usa este componente en app_bar, nav_bar para cambiar el estado y el estilo de la barra de navegación, el genérico suele ser SystemUiOverlayStyle.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnnotatedRegion cambia el estilo del estado", - "desc": [ - "【value】 : valor 【T】", - "【sized】 : si proporciona tamaño 【bool】", - "【child】 : componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_fr_FR.json deleted file mode 100644 index 0f73321e9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 288, - "name": "AnnotatedRegion", - "localName": "Région annotée", - "info": "Il y a un générique, dans le code source, il est uniquement utilisé dans app_bar, nav_bar pour modifier les variables d'état et le style de la barre de navigation, le générique est généralement SystemUiOverlayStyle.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnnotatedRegion modifie le style des variables d'état", - "desc": [ - "【value】 : valeur 【T】", - "【sized】 : fournit-il une taille 【bool】", - "【child】 : composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_it_IT.json deleted file mode 100644 index 05a27dc24..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 288, - "name": "AnnotatedRegion", - "localName": "Area Annotata", - "info": "Ha un generico, nel codice sorgente viene utilizzato solo in app_bar, nav_bar per modificare lo stato e lo stile della barra di navigazione, il generico è solitamente SystemUiOverlayStyle.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnnotatedRegion cambia lo stile dello stato", - "desc": [ - "【value】 : valore 【T】", - "【sized】 : se fornisce dimensione 【bool】", - "【child】 : componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_ja_JP.json deleted file mode 100644 index 4c1e0e954..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 288, - "name": "AnnotatedRegion", - "localName": "注釈領域", - "info": "ジェネリックがあり、ソースコードでは app_bar と nav_bar でのみ使用され、状態量やナビゲーションバーのスタイルを変更するために使用されます。ジェネリックは通常 SystemUiOverlayStyle です。", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnnotatedRegionが状態量のスタイルを変更", - "desc": [ - "【value】 : 値 【T】", - "【sized】 : サイズを提供するかどうか 【bool】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_ko_KR.json deleted file mode 100644 index fc2a0df67..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 288, - "name": "AnnotatedRegion", - "localName": "주석 영역", - "info": "제네릭이 있으며, 소스 코드에서는 app_bar, nav_bar에서만 이 컴포넌트를 사용하여 상태 변수와 네비게이션 바 스타일을 변경합니다. 제네릭은 일반적으로 SystemUiOverlayStyle입니다.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnnotatedRegion 상태 변수 스타일 변경", - "desc": [ - "【value】 : 값 【T】", - "【sized】 : 크기 제공 여부 【bool】", - "【child】 : 자식 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_pt_PT.json deleted file mode 100644 index 91c03b458..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 288, - "name": "AnnotatedRegion", - "localName": "Região Anotada", - "info": "Tem um genérico, no código-fonte, este componente é usado apenas em app_bar e nav_bar para alterar variáveis de estado e o estilo da barra de navegação, o genérico geralmente é SystemUiOverlayStyle.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnnotatedRegion altera o estilo da variável de estado", - "desc": [ - "【value】 : valor 【T】", - "【sized】 : se fornece tamanho 【bool】", - "【child】 : componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_ru_RU.json deleted file mode 100644 index 8a65397db..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 288, - "name": "AnnotatedRegion", - "localName": "Область аннотации", - "info": "Имеет обобщение, в исходном коде используется только в app_bar, nav_bar для изменения состояния и стиля навигационной панели, обобщение обычно SystemUiOverlayStyle.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnnotatedRegion изменяет состояние и стиль", - "desc": [ - "【value】 : значение 【T】", - "【sized】 : предоставляет ли размер 【bool】", - "【child】 : дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_zh-CN.json deleted file mode 100644 index f8aee6e73..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 288, - "name": "AnnotatedRegion", - "localName": "标注区域", - "info": "有一个泛型,源码中仅在 app_bar, nav_bar 中使用该组件改变状态量、导航栏样式,泛型通常为 SystemUiOverlayStyle。", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnnotatedRegion改变状态量样式", - "desc": [ - "【value】 : 值 【T】", - "【sized】 : 是否提供大小 【bool】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/node1_base.dart deleted file mode 100644 index 1b518dbfd..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AnnotatedRegion/node1_base.dart +++ /dev/null @@ -1,76 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - - -class AnnotatedRegionDemo extends StatelessWidget { - const AnnotatedRegionDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.all(10), - child: ElevatedButton( - onPressed: (){ - Navigator.push(context, - MaterialPageRoute(builder: (context) => const AnnotatedRegionTestPage()), - ); - }, - child: const Text("进入 AnnotatedRegion 测试页"), - ), - ); - } -} - - -class AnnotatedRegionTestPage extends StatelessWidget{ - const AnnotatedRegionTestPage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - const SystemUiOverlayStyle overlayStyle = SystemUiOverlayStyle( - systemNavigationBarColor: Colors.green, - // 导航栏颜色 - systemNavigationBarDividerColor: Colors.red, - statusBarColor: Colors.blue, - systemNavigationBarIconBrightness: Brightness.light, - statusBarIconBrightness: Brightness.light, - statusBarBrightness: Brightness.light, - ); - - return AnnotatedRegion( - value: overlayStyle, - child: Scaffold( - body: Column( - children: [ - Container(height: 56+30.0,color: Colors.blue, - alignment: const Alignment(0,0.55), - child: Row( - children: const [ - BackButton(color: Colors.white,), - Text("AnnotatedRegion测试",style: TextStyle(color: Colors.white,fontSize: 18),) - ], - ), - ), - const SizedBox(height: 30,), - const Text( - "上面标题栏背景颜色为蓝色\n" - "上面标题栏图标为亮调", - - style: TextStyle(color: Colors.black,fontSize: 18),), - const Spacer(), - const Text( - "下面导航栏背景颜色为绿色\n" - "下面导航栏图标为亮调", - - style: TextStyle(color: Colors.black,fontSize: 18),), - const SizedBox(height: 30,), - ], - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_de_DE.json deleted file mode 100644 index 5c92c3eb2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 77, - "name": "AspectRatio", - "localName": "Proportion Box", - "info": "Kann ein Kindelement aufnehmen und durch die Angabe des Seitenverhältnisses aspectRatio den Bereich für das Kindelement begrenzen.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AspectRatio", - "desc": [ - "【child】: Kindelement 【Widget】", - "【aspectRatio】: Seitenverhältnis 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_en_US.json deleted file mode 100644 index b70c7005b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 77, - "name": "AspectRatio", - "localName": "Aspect Ratio Box", - "info": "Can contain a child component, and limit the area of the child component by specifying the aspectRatio.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AspectRatio", - "desc": [ - "【child】: Child component 【Widget】", - "【aspectRatio】: Aspect ratio 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_es_ES.json deleted file mode 100644 index 9965faeb2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 77, - "name": "AspectRatio", - "localName": "Caja de proporción", - "info": "Puede contener un componente hijo, limitando el área del componente hijo especificando la relación de aspecto aspectRatio.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AspectRatio", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【aspectRatio】 : Relación de aspecto 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_fr_FR.json deleted file mode 100644 index 77b231b4f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 77, - "name": "AspectRatio", - "localName": "Boîte de proportion", - "info": "Peut contenir un composant enfant, en spécifiant le rapport largeur/hauteur aspectRatio pour limiter la zone d'accueil du composant enfant.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AspectRatio", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【aspectRatio】 : Rapport largeur/hauteur 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_it_IT.json deleted file mode 100644 index 720e84a80..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 77, - "name": "AspectRatio", - "localName": "Scatola delle proporzioni", - "info": "Può contenere un componente figlio, limitando l'area del componente figlio specificando il rapporto larghezza-altezza aspectRatio.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AspectRatio", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【aspectRatio】 : Rapporto larghezza-altezza 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_ja_JP.json deleted file mode 100644 index 489aa460b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 77, - "name": "AspectRatio", - "localName": "アスペクト比ボックス", - "info": "一つの子コンポーネントを収容し、aspectRatioを指定して子コンポーネントの収容領域を制限します。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AspectRatioの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【aspectRatio】 : アスペクト比 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_ko_KR.json deleted file mode 100644 index edbafc88c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 77, - "name": "AspectRatio", - "localName": "비율 상자", - "info": "하위 컴포넌트를 포함할 수 있으며, aspectRatio를 지정하여 하위 컴포넌트의 영역을 제한합니다.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AspectRatio 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【aspectRatio】 : 너비 높이 비율 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_pt_PT.json deleted file mode 100644 index 510b16765..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 77, - "name": "AspectRatio", - "localName": "Caixa de Proporção", - "info": "Pode conter um componente filho, limitando a área do componente filho ao especificar a proporção de aspecto aspectRatio.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AspectRatio", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【aspectRatio】 : Proporção de largura e altura 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_ru_RU.json deleted file mode 100644 index 17a1611ff..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 77, - "name": "AspectRatio", - "localName": "Пропорциональная коробка", - "info": "Может содержать один дочерний компонент, ограничивая область размещения дочернего компонента, задавая соотношение сторон aspectRatio.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AspectRatio", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【aspectRatio】 : Соотношение сторон 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_zh-CN.json deleted file mode 100644 index 89fffc05f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 77, - "name": "AspectRatio", - "localName": "比例盒", - "info": "可容纳一个子组件,通过指定宽高比aspectRatio,来限定子组件容身区域。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AspectRatio基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【aspectRatio】 : 宽高比例 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/node1_base.dart deleted file mode 100644 index eb74f52e6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/AspectRatio/node1_base.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomAspectRatio extends StatefulWidget { - const CustomAspectRatio({Key? key}) : super(key: key); - - @override - _CustomAspectRatioState createState() => _CustomAspectRatioState(); -} - -class _CustomAspectRatioState extends State { - double _ratio = 0.75; - - @override - Widget build(BuildContext context) { - Widget child = Container( - alignment: Alignment.center, - color: Colors.cyanAccent, - width: 50, - height: 50, - child: const Text("Static"), - ); - - Widget box = AspectRatio( - aspectRatio: _ratio, - child: Container( - color: Colors.orange, - child: const Icon( - Icons.android, - color: Colors.white, - )), - ); - - return Column( - children: [ - _buildSlider(), - Container( - color: Colors.grey.withAlpha(22), - width: 300, - height: 100, - child: Row( - children: [child, box, child], - ), - ), - ], - ); - } - - Widget _buildSlider() => Slider( - divisions: 20, - min: 0.1, - max: 2.0, - label: _ratio.toStringAsFixed(2), - value: _ratio, - onChanged: (v) => setState(() => _ratio = v), - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_de_DE.json deleted file mode 100644 index c9c76df77..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 278, - "name": "BackdropFilter", - "localName": "Hintergrundfilter", - "info": "Kann ein Kind aufnehmen und den Hintergrund mit einem Unschärfefilter versehen. Durch Stack kann der Hintergrund unscharf gemacht werden, um den Unschärfeeffekt der Komponente zu erreichen.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 97, - 67 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von BackdropFilter", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【filter】 : Filter 【ImageFilter】", - "ImageFilter.blur kann eine Gaußsche Unschärfe erzeugen, indem die x- und y-Unschärfefaktoren angegeben werden." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_en_US.json deleted file mode 100644 index 1f60983e3..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 278, - "name": "BackdropFilter", - "localName": "Background Filter", - "info": "Can hold a child and apply a blur filter to the background. The background blur effect of the component can be achieved through Stack.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 97, - 67 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of BackdropFilter", - "desc": [ - "【child】: Child component 【Widget】", - "【filter】: Filter 【ImageFilter】", - "ImageFilter.blur can achieve Gaussian blur by specifying the x and y blur factors." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_es_ES.json deleted file mode 100644 index 742f80d5d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 278, - "name": "BackdropFilter", - "localName": "Filtro de fondo", - "info": "Puede contener un hijo y aplicar un filtro de desenfoque al fondo. El efecto de desenfoque en los componentes se puede lograr utilizando Stack para desenfocar el fondo.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 97, - 67 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de BackdropFilter", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【filter】 : Filtro 【ImageFilter】", - "ImageFilter.blur puede implementar un desenfoque gaussiano, especificando los factores de desenfoque x e y." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_fr_FR.json deleted file mode 100644 index bf45ee80a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 278, - "name": "BackdropFilter", - "localName": "Filtre d'arrière-plan", - "info": "Peut contenir un enfant et appliquer un filtre de flou à l'arrière-plan. Le flou de l'arrière-plan peut être réalisé via Stack pour obtenir l'effet de flou du composant.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 97, - 67 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de BackdropFilter", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【filter】 : Filtre 【ImageFilter】", - "ImageFilter.blur peut réaliser un flou gaussien en spécifiant les facteurs de flou x et y." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_it_IT.json deleted file mode 100644 index 6ec0f087e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 278, - "name": "BackdropFilter", - "localName": "Filtro Sfondo", - "info": "Può contenere un figlio e applica un filtro di sfocatura allo sfondo. È possibile ottenere l'effetto di sfocatura del componente utilizzando Stack per sfocare lo sfondo.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 97, - 67 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di BackdropFilter", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【filter】 : Filtro 【ImageFilter】", - "ImageFilter.blur può realizzare una sfocatura gaussiana, specificando i fattori di sfocatura x e y." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_ja_JP.json deleted file mode 100644 index 6e54a9aeb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 278, - "name": "BackdropFilter", - "localName": "背景フィルター", - "info": "子を1つ収容し、背景にぼかしフィルターを適用します。Stackを使用して背景をぼかすことで、コンポーネントのぼかし効果を実現できます。", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 97, - 67 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackdropFilterの基本的な使用法", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【filter】 : フィルター 【ImageFilter】", - "ImageFilter.blurはガウスぼかしを実現し、x、yのぼかし係数を指定できます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_ko_KR.json deleted file mode 100644 index 30eb76554..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 278, - "name": "BackdropFilter", - "localName": "배경 필터", - "info": "하나의 자식을 포함할 수 있고, 배경에 흐림 필터를 적용합니다. Stack을 통해 배경 흐림 효과를 구현할 수 있습니다.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 97, - 67 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackdropFilter 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【filter】 : 필터 【ImageFilter】", - "ImageFilter.blur를 통해 가우시안 흐림 효과를 구현할 수 있으며, x, y 흐림 인자를 지정할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_pt_PT.json deleted file mode 100644 index 6599ff51e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 278, - "name": "BackdropFilter", - "localName": "Filtro de Fundo", - "info": "Pode conter uma criança e aplicar um filtro de desfoque ao fundo. O efeito de desfoque do componente pode ser alcançado através do Stack.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 97, - 67 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do BackdropFilter", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【filter】 : Filtro 【ImageFilter】", - "ImageFilter.blur pode realizar um desfoque gaussiano, especificando os fatores de desfoque x e y." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_ru_RU.json deleted file mode 100644 index e08403236..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 278, - "name": "BackdropFilter", - "localName": "Фоновый фильтр", - "info": "Может содержать один дочерний элемент и применять размытие к фону. Эффект размытия компонента можно реализовать с помощью Stack.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 97, - 67 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование BackdropFilter", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【filter】 : Фильтр 【ImageFilter】", - "ImageFilter.blur может реализовать гауссово размытие, задавая коэффициенты размытия по x и y." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_zh-CN.json deleted file mode 100644 index c3403a1d0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 278, - "name": "BackdropFilter", - "localName": "背景滤镜", - "info": "可容纳一个孩子,并将背景进行模糊滤镜。可以通过Stack将背景模糊实现组件的模糊效果。", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 97, - 67 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackdropFilter基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【filter】 : 过滤器 【ImageFilter】", - "ImageFilter.blur可以实现高斯模糊,指定x,y模糊因子。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/node1_base.dart deleted file mode 100644 index 3cddf48a2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/BackdropFilter/node1_base.dart +++ /dev/null @@ -1,94 +0,0 @@ -import 'dart:ui'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - - -class CustomBackdropFilter extends StatefulWidget { - const CustomBackdropFilter({Key? key}) : super(key: key); - - @override - _CustomBackdropFilterState createState() => _CustomBackdropFilterState(); -} - -class _CustomBackdropFilterState extends State { - double _sigmaX = 1.2; - double _sigmaY = 1.2; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Stack( - children: [ - _buildImage(), - Positioned.fill( - child: ClipRect( - child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: _sigmaX, sigmaY: _sigmaY), - child: Container( - color: Colors.black.withAlpha(0), - ), - ), - ), - ) - ], - ), - _buildSliders() - ], - ); - } - - Widget _buildImage() { - return Wrap( - spacing: 20, - children: [ - SizedBox( - height: 150, - width: 150, - child: Image.asset( - 'assets/images/sabar.webp', - fit: BoxFit.cover, - ), - ), - SizedBox( - height: 150, - width: 150, - child: Image.asset( - 'assets/images/wy_200x300.webp', - fit: BoxFit.cover, - ), - ), - ], - ); - } - - Widget _buildSliders() => Column( - children: [ - Slider( - min: 0, - max: 4, - value: _sigmaX, - divisions: 360, - label: 'x:' + _sigmaX.toStringAsFixed(1), - onChanged: (v) { - setState(() { - _sigmaX = v; - }); - }), - Slider( - min: 0, - max: 4, - value: _sigmaY, - divisions: 360, - label: 'beta:' + _sigmaY.toStringAsFixed(1), - onChanged: (v) { - setState(() { - _sigmaY = v; - }); - }) - ], - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_de_DE.json deleted file mode 100644 index 974fe1939..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 75, - "name": "Baseline", - "localName": "Baseline-Komponente", - "info": "Kann ein Unterelement aufnehmen und die Position des Unterelements durch die Kontrolle der Baseline-Höhe steuern. Wird normalerweise für Textkomponenten verwendet.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Baseline", - "desc": [ - "【child】 : Unterelement 【Widget】", - "【baseline】 : Baseline-Position 【double】", - "【baselineType】 : Baseline-Typ 【TextBaseline】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_en_US.json deleted file mode 100644 index f347bd8fe..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 75, - "name": "Baseline", - "localName": "Baseline Component", - "info": "Can contain a child component, and control the position of the child component by adjusting the baseline height. Generally used for text components.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Baseline", - "desc": [ - "【child】 : Child component 【Widget】", - "【baseline】 : Baseline position 【double】", - "【baselineType】 : Baseline type 【TextBaseline】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_es_ES.json deleted file mode 100644 index 9bf361d6c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 75, - "name": "Baseline", - "localName": "Componente de línea base", - "info": "Puede contener un componente hijo, controlando la posición del componente hijo mediante la altura de la línea base. Generalmente se utiliza para componentes de texto.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Baseline", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【baseline】 : Posición de la línea base 【double】", - "【baselineType】 : Tipo de línea base 【TextBaseline】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_fr_FR.json deleted file mode 100644 index d6b66c032..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 75, - "name": "Baseline", - "localName": "Composant de base", - "info": "Peut contenir un composant enfant, en contrôlant la hauteur de la ligne de base pour positionner le composant enfant. Généralement utilisé pour les composants de texte.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Baseline", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【baseline】 : Position de la ligne de base 【double】", - "【baselineType】 : Type de ligne de base 【TextBaseline】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_it_IT.json deleted file mode 100644 index 10f820e40..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 75, - "name": "Baseline", - "localName": "Componente di base", - "info": "Può contenere un componente figlio, controllando la posizione del componente figlio attraverso il controllo dell'altezza della linea di base. Generalmente utilizzato per i componenti di testo.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Baseline", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【baseline】 : Posizione della linea di base 【double】", - "【baselineType】 : Tipo di linea di base 【TextBaseline】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_ja_JP.json deleted file mode 100644 index 9f1296d86..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 75, - "name": "Baseline", - "localName": "ベースラインコンポーネント", - "info": "1つの子コンポーネントを収容し、ベースラインの高さを制御して子コンポーネントの位置を制御します。一般的にテキストコンポーネントに使用されます。", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Baselineの基本的な使用法", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【baseline】 : ベースライン位置 【double】", - "【baselineType】 : ベースラインタイプ 【TextBaseline】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_ko_KR.json deleted file mode 100644 index e55ad0e50..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 75, - "name": "Baseline", - "localName": "기준선 컴포넌트", - "info": "하나의 자식 컴포넌트를 수용할 수 있으며, 기준선 높이를 조절하여 자식 컴포넌트의 위치를 제어합니다. 일반적으로 텍스트 컴포넌트에 사용됩니다.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Baseline 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【baseline】 : 기준선 위치 【double】", - "【baselineType】 : 기준선 유형 【TextBaseline】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_pt_PT.json deleted file mode 100644 index b89e2c886..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 75, - "name": "Baseline", - "localName": "Componente de Linha de Base", - "info": "Pode acomodar um componente filho, controlando a posição do componente filho através da altura da linha de base. Geralmente usado para componentes de texto.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Baseline", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【baseline】 : Posição da linha de base 【double】", - "【baselineType】 : Tipo de linha de base 【TextBaseline】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_ru_RU.json deleted file mode 100644 index a1b8ed3fd..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 75, - "name": "Baseline", - "localName": "Базовый компонент", - "info": "Может содержать один дочерний компонент, контролируя положение дочернего компонента через управление высотой базовой линии. Обычно используется для текстовых компонентов.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Baseline", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【baseline】 : Позиция базовой линии 【double】", - "【baselineType】 : Тип базовой линии 【TextBaseline】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_zh-CN.json deleted file mode 100644 index 387bf89f7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 75, - "name": "Baseline", - "localName": "基线组件", - "info": "可容纳一个子组件,通过控制基线高度来控制子组件的位置。一般用于文字组件。", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Baseline基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【baseline】 : 基线位置 【double】", - "【baselineType】 : 基线类型 【TextBaseline】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/node1_base.dart deleted file mode 100644 index f418a548a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Baseline/node1_base.dart +++ /dev/null @@ -1,49 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomBaseline extends StatefulWidget { - const CustomBaseline({Key? key}) : super(key: key); - - @override - _CustomBaselineState createState() => _CustomBaselineState(); -} - -class _CustomBaselineState extends State { - double _baseline=20; - - @override - Widget build(BuildContext context) { - Widget childBox = const Text( - '你好,Flutter', - style: TextStyle(fontSize: 20, fontFamily: "Menlo"), - ); - - - Widget baseline = Baseline( - child: childBox, - baseline: _baseline, - baselineType: TextBaseline.alphabetic); - - return Column( - children: [ - _buildSlider(), - Container( - width: 100/0.618, - height: 100, - color: Colors.grey.withAlpha(22), - child: baseline, - ), - ], - ); - } - - Widget _buildSlider() => Slider( - divisions: 20, - min: 0, - max: 60, - label: _baseline.toString(), - value: _baseline, - onChanged: (v) => setState(() => _baseline = v), - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_de_DE.json deleted file mode 100644 index b87f85898..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 283, - "name": "CallbackShortcuts", - "localName": "Tastenkombinationen-Rückruf", - "info": "Kombinationen können als Tastenkombinationen festgelegt werden, die nach dem Erhalt des Fokus auf Tastenkombinationsereignisse reagieren.", - "lever": 3, - "family": 2, - "linkIds": [ - 282, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Verwendung von Tastenkombinationen", - "desc": [ - "Nach der Aktivierung des Fokus im Beispiel können die Kombinationen Strg+↑ und Strg+↓ die Zahl erhöhen oder verringern", - "【enabled】 : Ob verfügbar 【bool】", - "【onTapOutside】 : Außenklick-Listener 【TapRegionCallback?】", - "【onTapInside】 : Innenklick-Listener 【TapRegionCallback?】", - "【groupId】 : Kennung der Klickbereichsgruppe 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_en_US.json deleted file mode 100644 index 4b0b9a70a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 283, - "name": "CallbackShortcuts", - "localName": "Shortcut Callback", - "info": "You can set combinations as shortcuts, and after gaining focus, respond to shortcut events.", - "lever": 3, - "family": 2, - "linkIds": [ - 282, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Shortcut Usage", - "desc": [ - "After activating focus in the example, the Ctrl+↑ and Ctrl+↓ key combinations can increase or decrease the number", - "【enabled】: Whether it is available 【bool】", - "【onTapOutside】: Click outside listener 【TapRegionCallback?】", - "【onTapInside】: Click inside listener 【TapRegionCallback?】", - "【groupId】: Click area group identifier 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_es_ES.json deleted file mode 100644 index 1d33d3037..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 283, - "name": "CallbackShortcuts", - "localName": "Accesos directos de devolución de llamada", - "info": "Se pueden configurar combinaciones como accesos directos, que responderán a eventos de teclas rápidas después de obtener el foco.", - "lever": 3, - "family": 2, - "linkIds": [ - 282, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso de accesos directos", - "desc": [ - "En el caso, después de activar el foco, las combinaciones de teclas Ctrl+↑ y Ctrl+↓ pueden aumentar o disminuir el número", - "【enabled】: Si está disponible 【bool】", - "【onTapOutside】: Escucha de clic fuera 【TapRegionCallback?】", - "【onTapInside】: Escucha de clic dentro 【TapRegionCallback?】", - "【groupId】: Identificador del grupo de área de clic 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_fr_FR.json deleted file mode 100644 index b248d152d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 283, - "name": "CallbackShortcuts", - "localName": "Raccourcis de rappel", - "info": "Vous pouvez définir des combinaisons comme raccourcis clavier, qui répondront aux événements de raccourci après avoir obtenu le focus.", - "lever": 3, - "family": 2, - "linkIds": [ - 282, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation des raccourcis", - "desc": [ - "Dans l'exemple, après activation du focus, les combinaisons Ctrl+↑ et Ctrl+↓ peuvent augmenter ou diminuer le nombre", - "【enabled】 : Disponible 【bool】", - "【onTapOutside】 : Écouteur de clic extérieur 【TapRegionCallback?】", - "【onTapInside】 : Écouteur de clic intérieur 【TapRegionCallback?】", - "【groupId】 : Identifiant du groupe de zone de clic 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_it_IT.json deleted file mode 100644 index 18986c20e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 283, - "name": "CallbackShortcuts", - "localName": "Scorciatoie di callback", - "info": "È possibile impostare combinazioni come scorciatoie da tastiera, che rispondono agli eventi delle scorciatoie dopo aver ottenuto il focus.", - "lever": 3, - "family": 2, - "linkIds": [ - 282, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso delle scorciatoie", - "desc": [ - "Nel caso attivato, le combinazioni Ctrl+↑ e Ctrl+↓ possono aumentare o diminuire il numero", - "【enabled】 : Disponibile 【bool】", - "【onTapOutside】 : Ascolto del clic esterno 【TapRegionCallback?】", - "【onTapInside】 : Ascolto del clic interno 【TapRegionCallback?】", - "【groupId】 : Identificatore del gruppo di area di clic 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_ja_JP.json deleted file mode 100644 index 7af909d02..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 283, - "name": "CallbackShortcuts", - "localName": "ショートカットコールバック", - "info": "組み合わせをショートカットとして設定し、フォーカスを取得した後にショートカットイベントに応答できます。", - "lever": 3, - "family": 2, - "linkIds": [ - 282, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "ショートカットの使用", - "desc": [ - "ケースでフォーカスをアクティブにした後、Ctrl+↑ と Ctrl+↓ の組み合わせキーで数字を増減できます", - "【enabled】 : 使用可能かどうか 【bool】", - "【onTapOutside】 : 外部クリックリスナー 【TapRegionCallback?】", - "【onTapInside】 : 内部クリックリスナー 【TapRegionCallback?】", - "【groupId】 : クリック領域グループ識別子 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_ko_KR.json deleted file mode 100644 index 1eb94cfcc..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 283, - "name": "CallbackShortcuts", - "localName": "단축키 콜백", - "info": "조합을 단축키로 설정할 수 있으며, 포커스를 얻은 후 단축키 이벤트에 응답합니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 282, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "단축키 사용", - "desc": [ - "예제에서 포커스를 활성화한 후, Ctrl+↑ 및 Ctrl+↓ 조합키로 숫자를 증가 또는 감소시킬 수 있습니다.", - "【enabled】 : 사용 가능 여부 【bool】", - "【onTapOutside】 : 외부 클릭 리스너 【TapRegionCallback?】", - "【onTapInside】 : 내부 클릭 리스너 【TapRegionCallback?】", - "【groupId】 : 클릭 영역 그룹 식별자 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_pt_PT.json deleted file mode 100644 index b9117fb84..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 283, - "name": "CallbackShortcuts", - "localName": "Atalhos de Teclado", - "info": "Pode definir combinações como atalhos de teclado, que respondem a eventos de atalhos após obter o foco.", - "lever": 3, - "family": 2, - "linkIds": [ - 282, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso de Atalhos", - "desc": [ - "No exemplo, após ativar o foco, as combinações de teclas Ctrl+↑ e Ctrl+↓ podem aumentar ou diminuir o número", - "【enabled】 : Disponível 【bool】", - "【onTapOutside】 : Ouvinte de clique externo 【TapRegionCallback?】", - "【onTapInside】 : Ouvinte de clique interno 【TapRegionCallback?】", - "【groupId】 : Identificador do grupo de área de clique 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_ru_RU.json deleted file mode 100644 index 124c280f8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 283, - "name": "CallbackShortcuts", - "localName": "Горячие клавиши обратного вызова", - "info": "Можно настроить комбинации как горячие клавиши, которые будут реагировать на события горячих клавиш после получения фокуса.", - "lever": 3, - "family": 2, - "linkIds": [ - 282, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Использование горячих клавиш", - "desc": [ - "В примере после активации фокуса комбинации клавиш Ctrl+↑ и Ctrl+↓ могут увеличивать или уменьшать число", - "【enabled】 : Доступно ли 【bool】", - "【onTapOutside】 : Прослушивание клика снаружи 【TapRegionCallback?】", - "【onTapInside】 : Прослушивание клика внутри 【TapRegionCallback?】", - "【groupId】 : Идентификатор группы области клика 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_zh-CN.json deleted file mode 100644 index 260ccc34f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 283, - "name": "CallbackShortcuts", - "localName": "快捷键回调", - "info": "可以设置组合作为快捷键,在获取焦点后, 响应快捷键事件。", - "lever": 3, - "family": 2, - "linkIds": [ - 282, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "快捷键使用", - "desc": [ - "案例中激活焦点后,Ctrl+↑ 和 Ctrl+↓ 组合键可以增加或减少数字", - "【enabled】 : 是否可用 【bool】", - "【onTapOutside】 : 点击外界监听 【TapRegionCallback?】", - "【onTapInside】 : 点击内部监听 【TapRegionCallback?】", - "【groupId】 : 点击区域组标识 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/node1.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/node1.dart deleted file mode 100644 index 046532edd..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CallbackShortcuts/node1.dart +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -class CallbackShortcutsDemo1 extends StatefulWidget { - const CallbackShortcutsDemo1({super.key}); - - @override - State createState() => _CallbackShortcutsDemo1State(); -} - -class _CallbackShortcutsDemo1State extends State { - FocusNode focusNode = FocusNode(); - - @override - void initState() { - focusNode.addListener(_onFocusChange); - _initActionBindings(); - super.initState(); - } - - @override - void dispose() { - focusNode.removeListener(_onFocusChange); - focusNode.dispose(); - - super.dispose(); - } - - void _onFocusChange() { - setState(() {}); - } - - int count = 0; - - @override - Widget build(BuildContext context) { - return Center( - child: TapRegion( - onTapInside: (_) => focusNode.requestFocus(), - onTapOutside: (_) => focusNode.unfocus(), - child: CallbackShortcuts( - bindings: _actionBindings, - child: Focus(autofocus: true, focusNode: focusNode, child: _display()), - ), - ), - ); - } - - Map _actionBindings = {}; - - void _initActionBindings() { - _actionBindings = { - LogicalKeySet(LogicalKeyboardKey.control, LogicalKeyboardKey.arrowUp): increase, - LogicalKeySet(LogicalKeyboardKey.control, LogicalKeyboardKey.arrowDown): decrease, - const SingleActivator(LogicalKeyboardKey.keyR, control: true): reset, - }; - } - - void increase() { - setState(() => count = count + 1); - } - - void decrease() { - setState(() => count = count - 1); - } - - void reset() { - setState(() => count = 0); - } - - Widget _display() { - Color color = focusNode.hasFocus ? Colors.blue : Colors.grey; - return Container( - decoration: BoxDecoration(border: Border.all(color: color)), - width: 460, - padding: const EdgeInsets.symmetric(horizontal: 12), - alignment: Alignment.center, - height: 60, - child: focusNode.hasFocus - ? _CounterDisplay(counter: count) - : Text( - focusNode.hasFocus ? '键盘输入点东西吧' : '点击我获取焦点', - style: TextStyle(color: color), - ), - ); - } -} - -class _CounterDisplay extends StatelessWidget { - final int counter; - - const _CounterDisplay({ - super.key, - required this.counter, - }); - - @override - Widget build(BuildContext context) { - TextStyle style = TextStyle(fontSize: 12, color: Colors.grey); - - return Wrap( - direction: Axis.vertical, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - Text( - 'count: $counter', - style: TextStyle( - fontSize: 24, - fontWeight: FontWeight.bold, - color: Theme.of(context).primaryColor), - ), - Wrap( - spacing: 6, - children: [ - Text('【Ctrl+↑】:数字+1', style: style), - Text('【Ctrl+↓】:数字-1', style: style), - Text('【Ctrl+R】:归 0', style: style), - ], - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_de_DE.json deleted file mode 100644 index 9380e9a2f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 86, - "name": "Center", - "localName": "Zentrierungskomponente", - "info": "Kann ein Unterelement aufnehmen und es im übergeordneten Element zentrieren. Es ist eine vereinfachte Version der Align-Komponente.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Center", - "desc": [ - "【child】 : Unterelement 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_en_US.json deleted file mode 100644 index c69385b1d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 86, - "name": "Center", - "localName": "Center Component", - "info": "Can contain a child component and center it within the parent component, serving as a simplified mode of the Align component.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Center", - "desc": [ - "【child】: Child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_es_ES.json deleted file mode 100644 index 88bed5545..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 86, - "name": "Center", - "localName": "Componente Centrado", - "info": "Puede contener un componente hijo y centrarlo en el componente padre, es un modo simplificado del componente Align.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Center", - "desc": [ - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_fr_FR.json deleted file mode 100644 index 89548fc7a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 86, - "name": "Center", - "localName": "Composant centré", - "info": "Peut contenir un composant enfant et le centrer dans le composant parent, c'est une version simplifiée du composant Align.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Center", - "desc": [ - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_it_IT.json deleted file mode 100644 index c09ac1916..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 86, - "name": "Center", - "localName": "Componente Centrato", - "info": "Può contenere un componente figlio e centrarlo rispetto al componente genitore, è una versione semplificata del componente Align.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di Center", - "desc": [ - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_ja_JP.json deleted file mode 100644 index aa9c2c654..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 86, - "name": "Center", - "localName": "中央コンポーネント", - "info": "一つの子コンポーネントを収容し、それを親コンポーネントの中央に配置します。Alignコンポーネントの簡易版です。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Centerの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_ko_KR.json deleted file mode 100644 index 0f48acb34..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 86, - "name": "Center", - "localName": "중앙 컴포넌트", - "info": "하나의 자식 컴포넌트를 수용하고 부모 컴포넌트의 중앙에 위치시킬 수 있습니다. Align 컴포넌트의 간소화된 모드입니다.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Center 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_pt_PT.json deleted file mode 100644 index 7c4a44ba9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 86, - "name": "Center", - "localName": "Componente Centralizado", - "info": "Pode conter um componente filho e centralizá-lo no componente pai, sendo uma versão simplificada do componente Align.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Center", - "desc": [ - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_ru_RU.json deleted file mode 100644 index c9df7850c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 86, - "name": "Center", - "localName": "Центрирующий компонент", - "info": "Может содержать один дочерний компонент и центрировать его внутри родительского компонента. Это упрощенная версия компонента Align.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Center", - "desc": [ - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_zh-CN.json deleted file mode 100644 index b3e2a5488..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 86, - "name": "Center", - "localName": "居中组件", - "info": "可容纳一个子组件,并使其居中于父组件,是Align组件的一种精简模式。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Center基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/node1_base.dart deleted file mode 100644 index 7a753a4bb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Center/node1_base.dart +++ /dev/null @@ -1,23 +0,0 @@ - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomCenter extends StatelessWidget { - const CustomCenter({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(5), - width: 200, - height: 100, - color: Colors.grey.withAlpha(88), - child: Center( - child: Container( - width: 80, - height: 60, - color: Colors.cyanAccent, - ))); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_de_DE.json deleted file mode 100644 index 904c5f807..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 66, - "name": "ClipOval", - "localName": "Ovale Zuschneidung", - "info": "Kann ein Unterelement aufnehmen und es entlang der Haupt- und Nebenachse der Breite und Höhe elliptisch zuschneiden.", - "lever": 3, - "family": 2, - "linkIds": [ - 67, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ClipOval", - "desc": [ - "【child】 : Unterelement 【Widget】", - "【clipBehavior】 : Zuschneideverhalten 【Clip】", - "【clipper】 : Zuschneider 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_en_US.json deleted file mode 100644 index dc93ef5e9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 66, - "name": "ClipOval", - "localName": "Oval Clipping", - "info": "Can contain a child component and clip it into an ellipse with the width and height as the major and minor axes.", - "lever": 3, - "family": 2, - "linkIds": [ - 67, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ClipOval", - "desc": [ - "【child】: Child component 【Widget】", - "【clipBehavior】: Clipping behavior 【Clip】", - "【clipper】: Clipper 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_es_ES.json deleted file mode 100644 index 4904d9453..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 66, - "name": "ClipOval", - "localName": "Recorte Ovalado", - "info": "Puede contener un componente hijo y lo recorta en forma de elipse utilizando el ancho y la altura como ejes mayor y menor.", - "lever": 3, - "family": 2, - "linkIds": [ - 67, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ClipOval", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【clipBehavior】 : Comportamiento de recorte 【Clip】", - "【clipper】 : Recortador 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_fr_FR.json deleted file mode 100644 index 6d4bf5a91..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 66, - "name": "ClipOval", - "localName": "Découpe ovale", - "info": "Peut contenir un composant enfant et le découper en forme ovale avec la largeur et la hauteur comme axes majeur et mineur.", - "lever": 3, - "family": 2, - "linkIds": [ - 67, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ClipOval", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【clipBehavior】 : Comportement de découpe 【Clip】", - "【clipper】 : Découpeur 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_it_IT.json deleted file mode 100644 index 22398369f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 66, - "name": "ClipOval", - "localName": "Ritaglio ovale", - "info": "Può contenere un componente figlio e lo ritaglia in un'ellisse con larghezza e altezza come assi maggiore e minore.", - "lever": 3, - "family": 2, - "linkIds": [ - 67, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ClipOval", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【clipBehavior】 : Comportamento di ritaglio 【Clip】", - "【clipper】 : Ritagliatore 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_ja_JP.json deleted file mode 100644 index bf02d466a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 66, - "name": "ClipOval", - "localName": "楕円クリップ", - "info": "1つの子コンポーネントを収容し、幅と高さを長軸と短軸として楕円形にクリップします。", - "lever": 3, - "family": 2, - "linkIds": [ - 67, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipOvalの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【clipBehavior】 : クリップ動作 【Clip】", - "【clipper】 : クリッパー 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_ko_KR.json deleted file mode 100644 index 5d5c72fea..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 66, - "name": "ClipOval", - "localName": "타원 자르기", - "info": "하위 컴포넌트를 포함할 수 있으며, 너비와 높이를 장축과 단축으로 하여 타원형으로 자릅니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 67, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipOval 기본 사용법", - "desc": [ - "【child】 : 하위 컴포넌트 【Widget】", - "【clipBehavior】 : 자르기 동작 【Clip】", - "【clipper】 : 자르기 도구 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_pt_PT.json deleted file mode 100644 index b0cee8870..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 66, - "name": "ClipOval", - "localName": "Recorte Oval", - "info": "Pode conter um componente filho e cortá-lo em forma de elipse com os eixos maior e menor como largura e altura.", - "lever": 3, - "family": 2, - "linkIds": [ - 67, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ClipOval", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【clipBehavior】 : Comportamento de corte 【Clip】", - "【clipper】 : Cortador 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_ru_RU.json deleted file mode 100644 index 237cf0e85..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 66, - "name": "ClipOval", - "localName": "Эллиптическое обрезание", - "info": "Может содержать один дочерний компонент и обрезать его по эллипсу с большой и малой осями, равными ширине и высоте.", - "lever": 3, - "family": 2, - "linkIds": [ - 67, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ClipOval", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【clipBehavior】 : Поведение обрезания 【Clip】", - "【clipper】 : Обрезатель 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_zh-CN.json deleted file mode 100644 index ff1be8e3d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 66, - "name": "ClipOval", - "localName": "椭圆裁剪", - "info": "可容纳一个子组件,并将其以宽高为长轴和短轴进行椭圆裁切。", - "lever": 3, - "family": 2, - "linkIds": [ - 67, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipOval基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【clipBehavior】 : 裁剪行为 【Clip】", - "【clipper】 : 裁剪器 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/node1_base.dart deleted file mode 100644 index 710281252..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipOval/node1_base.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomClipOval extends StatelessWidget { - const CustomClipOval({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - children: [ - ClipOval( - child: Image.asset( - "assets/images/wy_300x200.webp", - width: 150, - height: 100, - ), - ), - ClipOval( - child: Image.asset( - "assets/images/wy_300x200.webp", - width: 100, - height: 100, - fit: BoxFit.cover, - ), - ), - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_de_DE.json deleted file mode 100644 index 7f30af8bd..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 69, - "name": "ClipPath", - "localName": "Pfadausschnitt", - "info": "Kann ein Kindelement aufnehmen und es entlang eines angegebenen Pfads zuschneiden. Ermöglicht die Anpassung der Pfadform und ist ein sehr flexibles Zuschneidelement.", - "lever": 5, - "family": 2, - "linkIds": [ - 66, - 67, - 68 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ClipPath", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【clipBehavior】 : Zuschneideverhalten 【Clip】", - "【clipper】 : Zuschneider 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_en_US.json deleted file mode 100644 index 658b062d7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 69, - "name": "ClipPath", - "localName": "Path Clipping", - "info": "Can contain a child component and clip it according to the specified path. The path shape can be customized, making it a very flexible clipping component.", - "lever": 5, - "family": 2, - "linkIds": [ - 66, - 67, - 68 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ClipPath", - "desc": [ - "【child】 : Child component 【Widget】", - "【clipBehavior】 : Clipping behavior 【Clip】", - "【clipper】 : Clipper 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_es_ES.json deleted file mode 100644 index 81ad23f04..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 69, - "name": "ClipPath", - "localName": "Recorte de ruta", - "info": "Puede contener un componente hijo y recortarlo según la ruta especificada. Se puede personalizar la forma de la ruta, es un componente de recorte muy flexible.", - "lever": 5, - "family": 2, - "linkIds": [ - 66, - 67, - 68 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ClipPath", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【clipBehavior】 : Comportamiento de recorte 【Clip】", - "【clipper】 : Recortador 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_fr_FR.json deleted file mode 100644 index 2e55bb95f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 69, - "name": "ClipPath", - "localName": "Découpage de chemin", - "info": "Peut contenir un composant enfant et le découper selon un chemin spécifié. Permet de personnaliser la forme du chemin, c'est un composant de découpage très flexible.", - "lever": 5, - "family": 2, - "linkIds": [ - 66, - 67, - 68 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ClipPath", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【clipBehavior】 : Comportement de découpage 【Clip】", - "【clipper】 : Découpeur 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_it_IT.json deleted file mode 100644 index bd535f5b1..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 69, - "name": "ClipPath", - "localName": "Ritaglio percorso", - "info": "Può contenere un componente figlio e ritagliarlo secondo un percorso specificato. È possibile personalizzare la forma del percorso, rendendolo un componente di ritaglio molto flessibile.", - "lever": 5, - "family": 2, - "linkIds": [ - 66, - 67, - 68 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di ClipPath", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【clipBehavior】 : Comportamento di ritaglio 【Clip】", - "【clipper】 : Ritagliatore 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_ja_JP.json deleted file mode 100644 index ed0eeff19..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 69, - "name": "ClipPath", - "localName": "パスクリップ", - "info": "子コンポーネントを1つ収容し、指定されたパスに従ってクリップします。パスの形状をカスタマイズでき、非常に柔軟なクリップコンポーネントです。", - "lever": 5, - "family": 2, - "linkIds": [ - 66, - 67, - 68 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipPathの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【clipBehavior】 : クリップ動作 【Clip】", - "【clipper】 : クリッパー 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_ko_KR.json deleted file mode 100644 index a5a7fadad..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 69, - "name": "ClipPath", - "localName": "경로 클리핑", - "info": "하위 컴포넌트를 수용하고 지정된 경로에 따라 클리핑할 수 있습니다. 경로 모양을 사용자 정의할 수 있어 매우 유연한 클리핑 컴포넌트입니다.", - "lever": 5, - "family": 2, - "linkIds": [ - 66, - 67, - 68 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipPath 기본 사용", - "desc": [ - "【child】 : 하위 컴포넌트 【Widget】", - "【clipBehavior】 : 클리핑 동작 【Clip】", - "【clipper】 : 클리퍼 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_pt_PT.json deleted file mode 100644 index 68b9446ab..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 69, - "name": "ClipPath", - "localName": "Recorte de Caminho", - "info": "Pode conter um componente filho e recortá-lo de acordo com o caminho especificado. Permite personalizar a forma do caminho, sendo um componente de recorte muito flexível.", - "lever": 5, - "family": 2, - "linkIds": [ - 66, - 67, - 68 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ClipPath", - "desc": [ - "【child】 : Componente Filho 【Widget】", - "【clipBehavior】 : Comportamento de Recorte 【Clip】", - "【clipper】 : Recortador 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_ru_RU.json deleted file mode 100644 index 709142123..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 69, - "name": "ClipPath", - "localName": "Обрезка по пути", - "info": "Может содержать один дочерний компонент и обрезать его по указанному пути. Можно настроить форму пути, это очень гибкий компонент для обрезки.", - "lever": 5, - "family": 2, - "linkIds": [ - 66, - 67, - 68 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ClipPath", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【clipBehavior】 : Поведение обрезки 【Clip】", - "【clipper】 : Обрезчик 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_zh-CN.json deleted file mode 100644 index c913d4384..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 69, - "name": "ClipPath", - "localName": "路径裁剪", - "info": "可容纳一个子组件,并将其按指定路径进行裁剪。可以自定义路径形状,是一个很灵活的裁剪组件。", - "lever": 5, - "family": 2, - "linkIds": [ - 66, - 67, - 68 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipPath基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【clipBehavior】 : 裁剪行为 【Clip】", - "【clipper】 : 裁剪器 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/node1_base.dart deleted file mode 100644 index f2c5e67f5..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipPath/node1_base.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomClipPath extends StatelessWidget { - const CustomClipPath({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ClipPath( - clipper: ShapeBorderClipper(shape: _StarShapeBorder()), - child: Image.asset( - "assets/images/wy_300x200.webp", - width: 150, - height: 100, - fit: BoxFit.cover, - ), - ); - } -} - -class _StarShapeBorder extends ShapeBorder { - final Path _path = Path(); - - @override - EdgeInsetsGeometry get dimensions => EdgeInsets.zero; - - @override - Path getInnerPath(Rect rect, {TextDirection? textDirection}) { - return Path(); - } - - @override - Path getOuterPath(Rect rect, {TextDirection? textDirection}) => - nStarPath(20, rect.height / 2, rect.height / 2 * 0.85, - dx: rect.width / 2, dy: rect.height / 2); - - @override - void paint(Canvas canvas, Rect rect, {TextDirection? textDirection}) {} - - Path nStarPath(int num, double R, double r, {dx = 0, dy = 0}) { - double perRad = 2 * pi / num; - double radA = perRad / 2 / 2; - double radB = 2 * pi / (num - 1) / 2 - radA / 2 + radA; - _path.moveTo(cos(radA) * R + dx, -sin(radA) * R + dy); - for (int i = 0; i < num; i++) { - _path.lineTo( - cos(radA + perRad * i) * R + dx, -sin(radA + perRad * i) * R + dy); - _path.lineTo( - cos(radB + perRad * i) * r + dx, -sin(radB + perRad * i) * r + dy); - } - _path.close(); - return _path; - } - - @override - ShapeBorder scale(double t) { - return this; - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_de_DE.json deleted file mode 100644 index abddb8ae7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 68, - "name": "ClipRRect", - "localName": "Abgerundetes Rechteck zuschneiden", - "info": "Kann ein Kindelement aufnehmen und es mit abgerundeten Ecken zuschneiden. Geben Sie borderRadius als Eckradius an.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 67, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ClipRRect", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【borderRadius】 : Randradius 【BorderRadius】", - "【clipBehavior】 : Zuschneideverhalten 【Clip】", - "【clipper】 : Zuschneider 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_en_US.json deleted file mode 100644 index 46e2e47af..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 68, - "name": "ClipRRect", - "localName": "Rounded Rectangle Clipping", - "info": "Can contain a child component and perform rounded rectangle clipping on it. Specify borderRadius as the corner radius.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 67, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ClipRRect", - "desc": [ - "【child】: Child component 【Widget】", - "【borderRadius】: Border radius 【BorderRadius】", - "【clipBehavior】: Clipping behavior 【Clip】", - "【clipper】: Clipper 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_es_ES.json deleted file mode 100644 index 81bb5ffbb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 68, - "name": "ClipRRect", - "localName": "Recorte rectangular con esquinas redondeadas", - "info": "Puede contener un componente hijo y realizar un recorte rectangular con esquinas redondeadas. Especifica borderRadius como el radio de las esquinas.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 67, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ClipRRect", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【borderRadius】 : Radio del borde 【BorderRadius】", - "【clipBehavior】 : Comportamiento de recorte 【Clip】", - "【clipper】 : Recortador 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_fr_FR.json deleted file mode 100644 index e7fcbc89b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 68, - "name": "ClipRRect", - "localName": "Rognage rectangulaire arrondi", - "info": "Peut contenir un composant enfant et le rogner en forme de rectangle arrondi. Spécifiez borderRadius comme rayon des coins.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 67, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ClipRRect", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【borderRadius】 : Rayon des bords 【BorderRadius】", - "【clipBehavior】 : Comportement de rognage 【Clip】", - "【clipper】 : Rogneur 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_it_IT.json deleted file mode 100644 index 032a195bb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 68, - "name": "ClipRRect", - "localName": "Ritaglio rettangolo arrotondato", - "info": "Può contenere un componente figlio e ritagliarlo in un rettangolo con angoli arrotondati. Specifica borderRadius come raggio degli angoli.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 67, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ClipRRect", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【borderRadius】 : Raggio del bordo 【BorderRadius】", - "【clipBehavior】 : Comportamento di ritaglio 【Clip】", - "【clipper】 : Ritagliatore 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_ja_JP.json deleted file mode 100644 index 6b4c29dc1..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 68, - "name": "ClipRRect", - "localName": "角丸矩形クリップ", - "info": "子コンポーネントを収容し、角丸矩形でクリップできます。borderRadiusを角の半径として指定します。", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 67, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipRRectの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【borderRadius】 : 角の半径 【BorderRadius】", - "【clipBehavior】 : クリップ動作 【Clip】", - "【clipper】 : クリッパー 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_ko_KR.json deleted file mode 100644 index a1786f7ad..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 68, - "name": "ClipRRect", - "localName": "둥근 사각형 클리핑", - "info": "하위 위젯을 포함하고 둥근 사각형으로 클리핑할 수 있습니다. borderRadius를 모서리 반지름으로 지정합니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 67, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipRRect 기본 사용법", - "desc": [ - "【child】 : 하위 위젯 【Widget】", - "【borderRadius】 : 모서리 반지름 【BorderRadius】", - "【clipBehavior】 : 클리핑 동작 【Clip】", - "【clipper】 : 클리퍼 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_pt_PT.json deleted file mode 100644 index 2cd1570a1..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 68, - "name": "ClipRRect", - "localName": "Recorte de Retângulo com Cantos Arredondados", - "info": "Pode conter um componente filho e aplica um recorte de retângulo com cantos arredondados. Especifique o borderRadius como o raio dos cantos.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 67, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ClipRRect", - "desc": [ - "【child】 : Componente Filho 【Widget】", - "【borderRadius】 : Raio da Borda 【BorderRadius】", - "【clipBehavior】 : Comportamento de Recorte 【Clip】", - "【clipper】 : Recortador 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_ru_RU.json deleted file mode 100644 index 43ae1b60b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 68, - "name": "ClipRRect", - "localName": "Обрезка прямоугольника с закругленными углами", - "info": "Может содержать один дочерний компонент и обрезать его в форме прямоугольника с закругленными углами. Укажите borderRadius как радиус углов.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 67, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ClipRRect", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【borderRadius】 : Радиус границы 【BorderRadius】", - "【clipBehavior】 : Поведение обрезки 【Clip】", - "【clipper】 : Обрезчик 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_zh-CN.json deleted file mode 100644 index 79edf1a12..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 68, - "name": "ClipRRect", - "localName": "圆角矩形裁剪", - "info": "可容纳一个子组件,并将其进行圆角矩形裁剪。指定borderRadius作为边角半径。", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 67, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipRRect基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【borderRadius】 : 边线半径 【BorderRadius】", - "【clipBehavior】 : 裁剪行为 【Clip】", - "【clipper】 : 裁剪器 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/node1_base.dart deleted file mode 100644 index afd150968..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRRect/node1_base.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomClipRRect extends StatelessWidget { - const CustomClipRRect({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ClipRRect( - borderRadius: const BorderRadius.all(Radius.elliptical(35, 30)), - child: Image.asset( - "assets/images/wy_300x200.webp", - width: 150, - height: 100, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_de_DE.json deleted file mode 100644 index bfb91cc43..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 67, - "name": "ClipRect", - "localName": "Rechteckiger Zuschnitt", - "info": "Kann ein Unterelement aufnehmen und es rechteckig zuschneiden. Kann mit SizedBox, Align, AspectRadio usw. eingeschränkt werden, um den Bereich zu begrenzen.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ClipRect", - "desc": [ - "【child】 : Unterelement 【Widget】", - "【clipBehavior】 : Zuschneideverhalten 【Clip】", - "【clipper】 : Zuschneider 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_en_US.json deleted file mode 100644 index 52b73167c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 67, - "name": "ClipRect", - "localName": "Rectangular Clipping", - "info": "Can contain a child component and perform rectangular clipping. Can be localized using components such as SizedBox, Align, AspectRatio, etc.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ClipRect", - "desc": [ - "【child】: Child component 【Widget】", - "【clipBehavior】: Clipping behavior 【Clip】", - "【clipper】: Clipper 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_es_ES.json deleted file mode 100644 index 56331eb88..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 67, - "name": "ClipRect", - "localName": "Recorte rectangular", - "info": "Puede contener un componente hijo y recortarlo en forma rectangular. Se puede delimitar utilizando componentes como SizedBox, Align, AspectRadio, etc.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ClipRect", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【clipBehavior】 : Comportamiento de recorte 【Clip】", - "【clipper】 : Recortador 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_fr_FR.json deleted file mode 100644 index c01fb51da..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 67, - "name": "ClipRect", - "localName": "Découpage rectangulaire", - "info": "Peut contenir un composant enfant et le découper en forme rectangulaire. Peut être limité à une zone spécifique en utilisant des composants tels que SizedBox, Align, AspectRatio, etc.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ClipRect", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【clipBehavior】 : Comportement de découpage 【Clip】", - "【clipper】 : Découpeur 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_it_IT.json deleted file mode 100644 index 8478d887a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 67, - "name": "ClipRect", - "localName": "Ritaglio rettangolare", - "info": "Può contenere un componente figlio e ritagliarlo in forma rettangolare. Può essere delimitato utilizzando componenti come SizedBox, Align, AspectRadio, ecc.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di ClipRect", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【clipBehavior】 : Comportamento di ritaglio 【Clip】", - "【clipper】 : Ritagliatore 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_ja_JP.json deleted file mode 100644 index cca703081..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 67, - "name": "ClipRect", - "localName": "矩形クリップ", - "info": "子コンポーネントを収容し、それを矩形にクリップします。SizedBox、Align、AspectRadioなどの限定コンポーネントを使用して領域を指定できます。", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipRectの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【clipBehavior】 : クリップ動作 【Clip】", - "【clipper】 : クリッパー 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_ko_KR.json deleted file mode 100644 index 36c4a05cf..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 67, - "name": "ClipRect", - "localName": "사각형 클리핑", - "info": "하위 위젯을 포함하고 사각형으로 클리핑할 수 있습니다. SizedBox, Align, AspectRadio 등을 사용하여 영역을 제한할 수 있습니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipRect 기본 사용", - "desc": [ - "【child】 : 하위 위젯 【Widget】", - "【clipBehavior】 : 클리핑 동작 【Clip】", - "【clipper】 : 클리퍼 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_pt_PT.json deleted file mode 100644 index a2eaffb75..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 67, - "name": "ClipRect", - "localName": "Recorte Retangular", - "info": "Pode conter um componente filho e cortá-lo em forma retangular. Pode ser delimitado com componentes como SizedBox, Align, AspectRadio, etc.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ClipRect", - "desc": [ - "【child】 : Componente Filho 【Widget】", - "【clipBehavior】 : Comportamento de Corte 【Clip】", - "【clipper】 : Cortador 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_ru_RU.json deleted file mode 100644 index 535825d5d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 67, - "name": "ClipRect", - "localName": "Прямоугольное обрезание", - "info": "Может содержать один дочерний компонент и обрезать его в прямоугольной форме. Может быть ограничен с помощью таких компонентов, как SizedBox, Align, AspectRatio и других.", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ClipRect", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【clipBehavior】 : Поведение обрезания 【Clip】", - "【clipper】 : Обрезатель 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_zh-CN.json deleted file mode 100644 index 6ed05fa3d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 67, - "name": "ClipRect", - "localName": "矩形裁剪", - "info": "可容纳一个子组件,并将其进行矩形裁切。可借助SizedBox、Align、AspectRadio等限定组件进行定域。", - "lever": 3, - "family": 2, - "linkIds": [ - 66, - 68, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ClipRect基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【clipBehavior】 : 裁剪行为 【Clip】", - "【clipper】 : 裁剪器 【CustomClipper】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/node1_base.dart deleted file mode 100644 index c0b4698d0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ClipRect/node1_base.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomClipRect extends StatelessWidget { - const CustomClipRect({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ClipRect( - child: SizedBox( - height: 100, - width: 100, - child: Image.asset( - "assets/images/wy_300x200.webp", - fit: BoxFit.cover, - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_de_DE.json deleted file mode 100644 index f68765313..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 88, - "name": "ColorFiltered", - "localName": "Farbfilter", - "info": "Kann ein Kindelement aufnehmen und das Element mit 29 Überblendungsmodi und beliebigen Komponenten mischen, so leistungsstark, dass ich nicht weiß, was ich sagen soll. Erfahren Sie mehr über die App, die mit einem Klick alles grau macht.", - "lever": 5, - "family": 2, - "linkIds": [ - 277, - 38 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ColorFiltered", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【colorFilter】 : Farbfilter 【ColorFilter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_en_US.json deleted file mode 100644 index 526d50cb5..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 88, - "name": "ColorFiltered", - "localName": "Color Filter", - "info": "Can accommodate a child component, and can mix the component with any other component using 29 blending modes, so powerful that I don't know what to say. Learn about the one-click grayscale app feature.", - "lever": 5, - "family": 2, - "linkIds": [ - 277, - 38 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ColorFiltered", - "desc": [ - "【child】: Child component 【Widget】", - "【colorFilter】: Color filter 【ColorFilter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_es_ES.json deleted file mode 100644 index 0edca167b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 88, - "name": "ColorFiltered", - "localName": "Filtro de color", - "info": "Puede contener un componente hijo y mezclar el componente con cualquier otro componente en 29 modos de superposición de colores, tan poderoso que no sé qué decir. Conoce la función de convertir toda la aplicación a gris con un solo clic.", - "lever": 5, - "family": 2, - "linkIds": [ - 277, - 38 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ColorFiltered", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【colorFilter】 : Filtro de color 【ColorFilter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_fr_FR.json deleted file mode 100644 index 43ac7ce0c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 88, - "name": "ColorFiltered", - "localName": "Filtre de couleur", - "info": "Peut contenir un composant enfant et peut mélanger le composant avec n'importe quel composant selon 29 modes de superposition de couleurs, si puissant que je ne sais pas quoi dire. Découvrez comment rendre toute l'application en niveaux de gris en un clic.", - "lever": 5, - "family": 2, - "linkIds": [ - 277, - 38 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ColorFiltered", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【colorFilter】 : Filtre de couleur 【ColorFilter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_it_IT.json deleted file mode 100644 index 773bace4c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 88, - "name": "ColorFiltered", - "localName": "Filtro colore", - "info": "Può contenere un componente figlio e può mescolare il componente con qualsiasi altro componente in 29 modalità di sovrapposizione del colore, così potente che non so cosa dire. Scopri come rendere tutto grigio con un solo clic nell'app.", - "lever": 5, - "family": 2, - "linkIds": [ - 277, - 38 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di ColorFiltered", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【colorFilter】 : Filtro colore 【ColorFilter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_ja_JP.json deleted file mode 100644 index 4de518189..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 88, - "name": "ColorFiltered", - "localName": "カラーフィルター", - "info": "1つの子コンポーネントを収容でき、29種類のオーバーレイモードと任意のコンポーネントを混合できます。その強力さに言葉を失います。アプリのワンクリックで全体をグレーにする機能もご覧ください。", - "lever": 5, - "family": 2, - "linkIds": [ - 277, - 38 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ColorFilteredの基本的な使用法", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【colorFilter】 : カラーフィルター 【ColorFilter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_ko_KR.json deleted file mode 100644 index dc8dd1999..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 88, - "name": "ColorFiltered", - "localName": "색상 필터", - "info": "하위 컴포넌트를 포함할 수 있으며, 29가지 색상 혼합 모드와 임의의 컴포넌트를 혼합할 수 있습니다. 너무 강력해서 뭐라고 말해야 할지 모르겠습니다. 앱에서 한 번에 전체를 회색으로 만드는 기능을 확인해 보세요.", - "lever": 5, - "family": 2, - "linkIds": [ - 277, - 38 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ColorFiltered 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【colorFilter】 : 색상 필터 【ColorFilter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_pt_PT.json deleted file mode 100644 index 49091b016..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 88, - "name": "ColorFiltered", - "localName": "Filtro de Cor", - "info": "Pode conter um componente filho e pode misturar o componente com qualquer outro componente em 29 modos de sobreposição de cores, tão poderoso que não sei o que dizer. Saiba mais sobre o aplicativo que transforma tudo em cinza com um toque.", - "lever": 5, - "family": 2, - "linkIds": [ - 277, - 38 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ColorFiltered", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【colorFilter】 : Filtro de cor 【ColorFilter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_ru_RU.json deleted file mode 100644 index 382d73c1a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 88, - "name": "ColorFiltered", - "localName": "Фильтр цвета", - "info": "Может содержать дочерний компонент, который можно смешивать с любым компонентом по 29 режимам наложения цветов. Настолько мощный, что я не знаю, что сказать. Узнайте, как сделать приложение полностью серым одним кликом.", - "lever": 5, - "family": 2, - "linkIds": [ - 277, - 38 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ColorFiltered", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【colorFilter】 : Фильтр цвета 【ColorFilter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_zh-CN.json deleted file mode 100644 index 05a6ea0c7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 88, - "name": "ColorFiltered", - "localName": "滤色器", - "info": "可容纳一个子组件,可以并将组件按照29中叠色模式和任意组件混合,强大到我不知道该说什么好。app一键全灰了解一下。", - "lever": 5, - "family": 2, - "linkIds": [ - 277, - 38 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ColorFiltered基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【colorFilter】 : 滤色器 【ColorFilter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/node1_base.dart deleted file mode 100644 index 934aa5973..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColorFiltered/node1_base.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:widgets/utils/color_utils.dart'; - -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomColorFiltered extends StatefulWidget { - const CustomColorFiltered({Key? key}) : super(key: key); - - @override - _CustomColorFilteredState createState() => _CustomColorFilteredState(); -} - -class _CustomColorFilteredState extends State { - Color _color = Colors.blue.withAlpha(88); - - @override - Widget build(BuildContext context) { - _color = ColorUtils.randomColor(); - return Column( - children: [ - Wrap(spacing: 10, runSpacing: 10, children: [ - _buildRandomColor(), - ...BlendMode.values - .map((mode) => Column( - children: [ - _buildChild(mode), - const SizedBox(height: 10), - Text( - mode.toString().split('.')[1], - style: const TextStyle(fontSize: 10), - ) - ], - )) - .toList() - ]), - ], - ); - } - - Widget _buildChild(m) => SizedBox( - width: 58, - height: 58, - child: ColorFiltered( - child: - const Image(image: AssetImage("assets/images/icon_head.webp")), - colorFilter: ColorFilter.mode(_color, m)), - ); - - Widget _buildRandomColor() => GestureDetector( - onTap: () => setState(() {}), - child: Container( - alignment: Alignment.center, - width: 60, - height: 60, - decoration: BoxDecoration(color: _color, shape: BoxShape.circle), - child: const Text('点我'), - ), - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_de_DE.json deleted file mode 100644 index cca1d143f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 267, - "name": "ColoredBox", - "localName": "Farbbox", - "info": "Zeichnet die angegebene Farbe auf dem Layoutbereich des Unterelements und zeichnet dann das Unterelement auf dem Hintergrund.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ColoredBox", - "desc": [ - "【color】 : Komponente 【Color】", - "【child】 : Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_en_US.json deleted file mode 100644 index bc61c3b6a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 267, - "name": "ColoredBox", - "localName": "Color Box", - "info": "Draws a specified color on the layout area of the child component, then draws the child component on the background color.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ColoredBox", - "desc": [ - "【color】: Component 【Color】", - "【child】: Component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_es_ES.json deleted file mode 100644 index 664143d5b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 267, - "name": "ColoredBox", - "localName": "Caja de colores", - "info": "Dibuja un color especificado en el área de diseño del componente hijo, y luego dibuja el componente hijo sobre el color de fondo.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ColoredBox", - "desc": [ - "【color】 : componente 【Color】", - "【child】 : componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_fr_FR.json deleted file mode 100644 index 569999dc4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 267, - "name": "ColoredBox", - "localName": "Boîte de couleur", - "info": "Dessine une couleur spécifiée sur la zone de mise en page du composant enfant, puis dessine le composant enfant sur la couleur de fond.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ColoredBox", - "desc": [ - "【color】 : composant 【Color】", - "【child】 : composant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_it_IT.json deleted file mode 100644 index d610aeaf5..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 267, - "name": "ColoredBox", - "localName": "Scatola dei colori", - "info": "Disegna un colore specifico nell'area di layout del componente figlio, quindi disegna il componente figlio sullo sfondo colorato.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di ColoredBox", - "desc": [ - "【color】 : componente 【Color】", - "【child】 : componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_ja_JP.json deleted file mode 100644 index fbf34b6c9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 267, - "name": "ColoredBox", - "localName": "カラーボックス", - "info": "子コンポーネントのレイアウト領域に指定された色を描画し、その後、子コンポーネントを背景色の上に描画します。", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ColoredBoxの基本使用", - "desc": [ - "【color】 : コンポーネント 【Color】", - "【child】 : コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_ko_KR.json deleted file mode 100644 index 53d441632..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 267, - "name": "ColoredBox", - "localName": "색상 상자", - "info": "하위 구성 요소의 레이아웃 영역에 지정된 색상을 그린 다음 배경색 위에 하위 구성 요소를 그립니다.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ColoredBox 기본 사용", - "desc": [ - "【color】 : 구성 요소 【Color】", - "【child】 : 구성 요소 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_pt_PT.json deleted file mode 100644 index 51b8903d1..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 267, - "name": "ColoredBox", - "localName": "Caixa de Cores", - "info": "Desenha uma cor especificada na área de layout do componente filho e, em seguida, desenha o componente filho sobre a cor de fundo.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do ColoredBox", - "desc": [ - "【color】 : componente 【Color】", - "【child】 : componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_ru_RU.json deleted file mode 100644 index 308f27195..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 267, - "name": "ColoredBox", - "localName": "Цветная коробка", - "info": "Рисует указанный цвет на области макета дочернего компонента, а затем рисует дочерний компонент на фоновом цвете.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ColoredBox", - "desc": [ - "【color】 : компонент 【Color】", - "【child】 : компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_zh-CN.json deleted file mode 100644 index 590fc2ffe..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 267, - "name": "ColoredBox", - "localName": "颜色盒", - "info": "在子组件的布局区域上绘制指定颜色,然后将子组件绘制在背景色上。", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ColoredBox基本使用", - "desc": [ - "【color】 : 组件 【Color】", - "【child】 : 组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/node1_base.dart deleted file mode 100644 index 714effeb0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ColoredBox/node1_base.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class ColoredBoxDemo extends StatelessWidget { - const ColoredBoxDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ColoredBox( - color: Colors.red, - child: Container( - margin: const EdgeInsets.all(20), - padding: const EdgeInsets.all(20), - decoration: const BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(10)), - color: Colors.blue - ), - alignment: Alignment.center, - width: 250, - height: 100, - child: const Text( - "蓝色是加了 margin 和圆角的 Container,外层包裹红色的 ColoredBox,注意作用范围。", - style: TextStyle(color: Colors.white), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_de_DE.json deleted file mode 100644 index 8e4dcbfb6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 265, - "name": "CompositedTransformFollower", - "localName": "Synthetischer Transformationsfolger", - "info": "Wird in der Regel in Verbindung mit der Komponente CompositedTransformTarget verwendet, um das Overlay an die Zieltransformation anzupassen.", - "lever": 3, - "family": 2, - "linkIds": [ - 266, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Verwendung von CompositedTransformFollower", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【link】 : Verknüpfung 【LayerLink】", - "【offset】 : Versatz 【Offset】", - "【targetAnchor】 : Zielankerpunkt 【Alignment】", - "【followerAnchor】 : Ankerpunkt des Folgers 【Alignment】", - "【showWhenUnlinked】 : Anzeige bei Nichtverknüpfung 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_en_US.json deleted file mode 100644 index d4f070447..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 265, - "name": "CompositedTransformFollower", - "localName": "Composited Transform Follower", - "info": "Generally used in conjunction with the CompositedTransformTarget component to enable the Overlay to follow the target transformation.", - "lever": 3, - "family": 2, - "linkIds": [ - 266, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Usage of CompositedTransformFollower", - "desc": [ - "【child】 : Child widget 【Widget】", - "【link】 : Link 【LayerLink】", - "【offset】 : Offset 【Offset】", - "【targetAnchor】 : Target anchor 【Alignment】", - "【followerAnchor】 : Follower anchor 【Alignment】", - "【showWhenUnlinked】 : Whether to show when unlinked 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_es_ES.json deleted file mode 100644 index 7b7667b35..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 265, - "name": "CompositedTransformFollower", - "localName": "Seguidor de Transformación Compuesta", - "info": "Generalmente se usa junto con el componente CompositedTransformTarget, lo que permite que el Overlay siga la transformación del objetivo.", - "lever": 3, - "family": 2, - "linkIds": [ - 266, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de CompositedTransformFollower", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【link】 : Enlace 【LayerLink】", - "【offset】 : Desplazamiento 【Offset】", - "【targetAnchor】 : Punto de anclaje del objetivo 【Alignment】", - "【followerAnchor】 : Punto de anclaje del seguidor 【Alignment】", - "【showWhenUnlinked】 : Mostrar cuando no está enlazado 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_fr_FR.json deleted file mode 100644 index 4292fa567..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 265, - "name": "CompositedTransformFollower", - "localName": "Suiveur de transformation composite", - "info": "Généralement utilisé conjointement avec le composant CompositedTransformTarget, permet à l'Overlay de suivre la transformation de la cible.", - "lever": 3, - "family": 2, - "linkIds": [ - 266, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de CompositedTransformFollower", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【link】 : Lien 【LayerLink】", - "【offset】 : Décalage 【Offset】", - "【targetAnchor】 : Point d'ancrage de la cible 【Alignment】", - "【followerAnchor】 : Point d'ancrage du suiveur 【Alignment】", - "【showWhenUnlinked】 : Afficher si non lié 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_it_IT.json deleted file mode 100644 index cf13a2de8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 265, - "name": "CompositedTransformFollower", - "localName": "Seguace di Trasformazione Composta", - "info": "Generalmente utilizzato in combinazione con il componente CompositedTransformTarget, consente a Overlay di seguire le trasformazioni dell'obiettivo.", - "lever": 3, - "family": 2, - "linkIds": [ - 266, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di CompositedTransformFollower", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【link】 : Collegamento 【LayerLink】", - "【offset】 : Offset 【Offset】", - "【targetAnchor】 : Ancoraggio obiettivo 【Alignment】", - "【followerAnchor】 : Ancoraggio seguace 【Alignment】", - "【showWhenUnlinked】 : Mostra quando non collegato 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_ja_JP.json deleted file mode 100644 index db21d1674..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 265, - "name": "CompositedTransformFollower", - "localName": "合成変換フォロワー", - "info": "通常、CompositedTransformTarget コンポーネントと組み合わせて使用され、Overlay をターゲットの変換に伴わせることができます。", - "lever": 3, - "family": 2, - "linkIds": [ - 266, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CompositedTransformFollower 使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【link】 : リンク 【LayerLink】", - "【offset】 : オフセット 【Offset】", - "【targetAnchor】 : ターゲットアンカー 【Alignment】", - "【followerAnchor】 : フォロワーアンカー 【Alignment】", - "【showWhenUnlinked】 : リンクされていない場合に表示するか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_ko_KR.json deleted file mode 100644 index 6d54eabce..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 265, - "name": "CompositedTransformFollower", - "localName": "합성 변형 팔로워", - "info": "일반적으로 CompositedTransformTarget 컴포넌트와 함께 사용되어 Overlay가 대상 변형을 따라가도록 합니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 266, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CompositedTransformFollower 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【link】 : 링크 【LayerLink】", - "【offset】 : 오프셋 【Offset】", - "【targetAnchor】 : 타겟 앵커 【Alignment】", - "【followerAnchor】 : 팔로워 앵커 【Alignment】", - "【showWhenUnlinked】 : 링크되지 않을 때 표시 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_pt_PT.json deleted file mode 100644 index df81a3cec..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 265, - "name": "CompositedTransformFollower", - "localName": "Seguidor de Transformação Composta", - "info": "Geralmente usado em conjunto com o componente CompositedTransformTarget, permite que o Overlay acompanhe a transformação do alvo.", - "lever": 3, - "family": 2, - "linkIds": [ - 266, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do CompositedTransformFollower", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【link】 : Link 【LayerLink】", - "【offset】 : Deslocamento 【Offset】", - "【targetAnchor】 : Âncora do alvo 【Alignment】", - "【followerAnchor】 : Âncora do seguidor 【Alignment】", - "【showWhenUnlinked】 : Mostrar quando não estiver vinculado 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_ru_RU.json deleted file mode 100644 index 2d7e6572e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 265, - "name": "CompositedTransformFollower", - "localName": "Следователь композитного преобразования", - "info": "Обычно используется совместно с компонентом CompositedTransformTarget, позволяя Overlay следовать за преобразованием цели.", - "lever": 3, - "family": 2, - "linkIds": [ - 266, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование CompositedTransformFollower", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【link】 : Ссылка 【LayerLink】", - "【offset】 : Смещение 【Offset】", - "【targetAnchor】 : Якорь цели 【Alignment】", - "【followerAnchor】 : Якорь следящего 【Alignment】", - "【showWhenUnlinked】 : Показывать при отсутствии связи 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_zh-CN.json deleted file mode 100644 index 174d72c50..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 265, - "name": "CompositedTransformFollower", - "localName": "合成变换跟随者", - "info": "一般与 CompositedTransformTarget 组件联合使用,可以使 Overlay 伴随目标变换。", - "lever": 3, - "family": 2, - "linkIds": [ - 266, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CompositedTransformFollower 使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【link】 : 链接 【LayerLink】", - "【offset】 : 偏移 【Offset】", - "【targetAnchor】 : 目标锚点 【Alignment】", - "【followerAnchor】 : 伴随者锚点 【Alignment】", - "【showWhenUnlinked】 : 为链接是否显示 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/node1_base.dart deleted file mode 100644 index e18ed3c27..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformFollower/node1_base.dart +++ /dev/null @@ -1,106 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/3/31 -/// contact me by email 1981462002@qq.com -/// - - -class CompositedTransformFollowerDemo extends StatelessWidget { - - const CompositedTransformFollowerDemo({Key? key}) : super(key: key); - - static const List colors =[Colors.red,Colors.yellow,Colors.blue,Colors.green]; - - - @override - Widget build(BuildContext context) { - return Container( - transform: Matrix4.rotationZ(-15/180*pi), - height: 250, - padding: const EdgeInsets.all(50.0), - child: ListView( - scrollDirection: Axis.horizontal, - children: [ - Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [_LogoTips(), const Text('点击图标\n显隐弹框')], - ), - ...colors.map((color) => Container(width: 80, color: color)) - ], - ), - ); - } - - -} - -class _LogoTips extends StatefulWidget { - @override - _LogoTipsState createState() => _LogoTipsState(); -} - -class _LogoTipsState extends State<_LogoTips> { - OverlayEntry? _overlayEntry; - - final LayerLink _layerLink = LayerLink(); - - bool show = false; - - OverlayEntry _createOverlayEntry() { - return OverlayEntry( - builder: (context) => Positioned( - width: 150, - child: CompositedTransformFollower( - link: _layerLink, - showWhenUnlinked: false, - offset: const Offset(0,-10), - targetAnchor: Alignment.topRight, - child: const Card( - child: Padding( - padding: EdgeInsets.all(8.0), - child: Text('我是一个 Overlay,目标组件为图标,当它变换时,我会伴随变换。'), - ), - ), - ), - )); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: _toggleOverlay, - child: CompositedTransformTarget( - link: _layerLink, - child: - const FlutterLogo( - size: 80, - ), - )); - } - - void _toggleOverlay() { - if (!show) { - _showOverlay(); - } else { - _hideOverlay(); - } - show = !show; - } - - void _showOverlay() { - _overlayEntry = _createOverlayEntry(); - Overlay.of(context)?.insert(_overlayEntry!); - } - - void _hideOverlay() { - _overlayEntry?.remove(); - } - - @override - void dispose() { - _hideOverlay(); - super.dispose(); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_de_DE.json deleted file mode 100644 index 9f212b549..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 266, - "name": "CompositedTransformTarget", - "localName": "Zusammengesetztes Transformationsziel", - "info": "Wird in der Regel in Verbindung mit der CompositedTransformFollower-Komponente verwendet, um das Overlay an die Zieltransformation anzupassen.", - "lever": 3, - "family": 2, - "linkIds": [ - 265, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Verwendung von CompositedTransformTarget", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【link】 : Verknüpfung 【LayerLink】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_en_US.json deleted file mode 100644 index 25b5ad35f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 266, - "name": "CompositedTransformTarget", - "localName": "Composite Transform Target", - "info": "Generally used in conjunction with the CompositedTransformFollower component, it allows the Overlay to follow the target transformation.", - "lever": 3, - "family": 2, - "linkIds": [ - 265, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CompositedTransformTarget Usage", - "desc": [ - "【child】 : Child component 【Widget】", - "【link】 : Link 【LayerLink】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_es_ES.json deleted file mode 100644 index 0fe0dd5dc..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 266, - "name": "CompositedTransformTarget", - "localName": "Objetivo de transformación compuesta", - "info": "Generalmente se usa junto con el componente CompositedTransformFollower, lo que permite que el Overlay siga la transformación del objetivo.", - "lever": 3, - "family": 2, - "linkIds": [ - 265, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de CompositedTransformTarget", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【link】 : Enlace 【LayerLink】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_fr_FR.json deleted file mode 100644 index 714f08cfa..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 266, - "name": "CompositedTransformTarget", - "localName": "Cible de transformation composite", - "info": "Généralement utilisé conjointement avec le composant CompositedTransformFollower, il permet à l'Overlay de suivre les transformations de la cible.", - "lever": 3, - "family": 2, - "linkIds": [ - 265, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de CompositedTransformTarget", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【link】 : Lien 【LayerLink】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_it_IT.json deleted file mode 100644 index 0440bbafa..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 266, - "name": "CompositedTransformTarget", - "localName": "Obiettivo di trasformazione composita", - "info": "Generalmente utilizzato insieme al componente CompositedTransformFollower, consente all'Overlay di seguire le trasformazioni dell'obiettivo.", - "lever": 3, - "family": 2, - "linkIds": [ - 265, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di CompositedTransformTarget", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【link】 : Collegamento 【LayerLink】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_ja_JP.json deleted file mode 100644 index c6b8469c6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 266, - "name": "CompositedTransformTarget", - "localName": "合成変換ターゲット", - "info": "一般的に CompositedTransformFollower コンポーネントと組み合わせて使用され、Overlay をターゲットの変換に伴わせることができます。", - "lever": 3, - "family": 2, - "linkIds": [ - 265, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CompositedTransformTarget の使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【link】 : リンク 【LayerLink】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_ko_KR.json deleted file mode 100644 index a82981b35..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 266, - "name": "CompositedTransformTarget", - "localName": "합성 변환 대상", - "info": "일반적으로 CompositedTransformFollower 컴포넌트와 함께 사용되며, Overlay가 대상 변환을 따라가도록 할 수 있습니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 265, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CompositedTransformTarget 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【link】 : 링크 【LayerLink】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_pt_PT.json deleted file mode 100644 index 56e64b598..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 266, - "name": "CompositedTransformTarget", - "localName": "Alvo de Transformação Composta", - "info": "Geralmente usado em conjunto com o componente CompositedTransformFollower, pode fazer com que o Overlay acompanhe a transformação do alvo.", - "lever": 3, - "family": 2, - "linkIds": [ - 265, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do CompositedTransformTarget", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【link】 : Link 【LayerLink】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_ru_RU.json deleted file mode 100644 index 291a2959f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 266, - "name": "CompositedTransformTarget", - "localName": "Цель составного преобразования", - "info": "Обычно используется совместно с компонентом CompositedTransformFollower, что позволяет Overlay следовать за преобразованием цели.", - "lever": 3, - "family": 2, - "linkIds": [ - 265, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование CompositedTransformTarget", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【link】 : Ссылка 【LayerLink】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_zh-CN.json deleted file mode 100644 index 8bc37647f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 266, - "name": "CompositedTransformTarget", - "localName": "合成变换目标", - "info": "一般与 CompositedTransformFollower 组件联合使用,可以使 Overlay 伴随目标变换。", - "lever": 3, - "family": 2, - "linkIds": [ - 265, - 182 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CompositedTransformTarget 使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【link】 : 链接 【LayerLink】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/node1_base.dart deleted file mode 100644 index 57ef07e67..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CompositedTransformTarget/node1_base.dart +++ /dev/null @@ -1,103 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/3/31 -/// contact me by email 1981462002@qq.com -/// - - -class CompositedTransformTargetDemo extends StatelessWidget { - - const CompositedTransformTargetDemo({Key? key}) : super(key: key); - - static const List colors =[Colors.red,Colors.yellow,Colors.blue,Colors.green]; - - @override - Widget build(BuildContext context) { - return Container( - transform: Matrix4.rotationZ(-15/180*pi), - height: 250, - padding: const EdgeInsets.all(50.0), - child: ListView( - scrollDirection: Axis.horizontal, - children: [ - Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [_LogoTips(), const Text('点击图标\n显隐弹框')], - ), - ...colors.map((color) => Container(width: 80, color: color)) - ], - ), - ); - } - -} - -class _LogoTips extends StatefulWidget { - @override - _LogoTipsState createState() => _LogoTipsState(); -} - -class _LogoTipsState extends State<_LogoTips> { - OverlayEntry? _overlayEntry; - - final LayerLink _layerLink = LayerLink(); - - bool show = false; - - OverlayEntry _createOverlayEntry() { - return OverlayEntry( - builder: (context) => Positioned( - width: 150, - child: CompositedTransformFollower( - link: _layerLink, - showWhenUnlinked: false, - targetAnchor: Alignment.topRight, - child: const Card( - child: Padding( - padding: EdgeInsets.all(8.0), - child: Text('我是一个 Overlay,目标组件为图标,当它变换时,我会伴随变换。'), - ), - ), - ), - )); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: _toggleOverlay, - child: CompositedTransformTarget( - link: _layerLink, - child: - const FlutterLogo( - size: 80, - ), - )); - } - - void _toggleOverlay() { - if (!show) { - _showOverlay(); - } else { - _hideOverlay(); - } - show = !show; - } - - void _showOverlay() { - _overlayEntry = _createOverlayEntry(); - Overlay.of(context)?.insert(_overlayEntry!); - } - - void _hideOverlay() { - _overlayEntry?.remove(); - } - - @override - void dispose() { - _hideOverlay(); - super.dispose(); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_de_DE.json deleted file mode 100644 index 5f54b4743..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 80, - "name": "ConstrainedBox", - "localName": "Eingeschränkte Box", - "info": "Kann ein Unterelement aufnehmen und durch die Angabe von maximaler und minimaler Breite und Höhe den Bereich des Unterelements begrenzen.", - "lever": 3, - "family": 2, - "linkIds": [ - 1, - 79, - 81 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von BoxConstraints", - "desc": [ - "【child】 : Kind-Komponente 【Widget】", - "【minWidth】 : Minimale Breite 【double】", - "【minHeight】 : Minimale Höhe 【double】", - "【maxHeight】 : Maximale Höhe 【double】", - "【maxWidth】 : Maximale Breite 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_en_US.json deleted file mode 100644 index c1d16da09..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 80, - "name": "ConstrainedBox", - "localName": "Constrained Box", - "info": "Can contain a child component, and limit the area of the child component by specifying the maximum and minimum width and height.", - "lever": 3, - "family": 2, - "linkIds": [ - 1, - 79, - 81 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of BoxConstraints", - "desc": [ - "【child】 : Child component 【Widget】", - "【minWidth】 : Minimum width 【double】", - "【minHeight】 : Minimum height 【double】", - "【maxHeight】 : Maximum height 【double】", - "【maxWidth】 : Maximum width 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_es_ES.json deleted file mode 100644 index 5b3675abd..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 80, - "name": "ConstrainedBox", - "localName": "Caja con restricciones", - "info": "Puede contener un componente hijo, limitando el área del componente hijo especificando el ancho y alto máximo y mínimo.", - "lever": 3, - "family": 2, - "linkIds": [ - 1, - 79, - 81 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de BoxConstraints", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【minWidth】 : Ancho mínimo 【double】", - "【minHeight】 : Altura mínima 【double】", - "【maxHeight】 : Altura máxima 【double】", - "【maxWidth】 : Ancho máximo 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_fr_FR.json deleted file mode 100644 index 857eb2d64..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 80, - "name": "ConstrainedBox", - "localName": "Boîte de contraintes", - "info": "Peut contenir un composant enfant, en spécifiant la largeur et la hauteur maximales et minimales pour limiter la zone du composant enfant.", - "lever": 3, - "family": 2, - "linkIds": [ - 1, - 79, - 81 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de BoxConstraints", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【minWidth】 : Largeur minimale 【double】", - "【minHeight】 : Hauteur minimale 【double】", - "【maxHeight】 : Hauteur maximale 【double】", - "【maxWidth】 : Largeur maximale 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_it_IT.json deleted file mode 100644 index 5147457f8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 80, - "name": "ConstrainedBox", - "localName": "Scatola Vincolata", - "info": "Può contenere un componente figlio, limitando l'area del componente figlio specificando larghezza e altezza massime e minime.", - "lever": 3, - "family": 2, - "linkIds": [ - 1, - 79, - 81 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di BoxConstraints", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【minWidth】 : Larghezza minima 【double】", - "【minHeight】 : Altezza minima 【double】", - "【maxHeight】 : Altezza massima 【double】", - "【maxWidth】 : Larghezza massima 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_ja_JP.json deleted file mode 100644 index 57709223e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 80, - "name": "ConstrainedBox", - "localName": "制約ボックス", - "info": "子コンポーネントを収容でき、最大・最小の幅と高さを指定して、子コンポーネントの領域を制限します。", - "lever": 3, - "family": 2, - "linkIds": [ - 1, - 79, - 81 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BoxConstraintsの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【minWidth】 : 最小幅 【double】", - "【minHeight】 : 最小高さ 【double】", - "【maxHeight】 : 最大高さ 【double】", - "【maxWidth】 : 最大幅 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_ko_KR.json deleted file mode 100644 index 02b077fb1..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 80, - "name": "ConstrainedBox", - "localName": "제한 상자", - "info": "하위 위젯을 수용할 수 있으며, 최대 및 최소 너비와 높이를 지정하여 하위 위젯의 영역을 제한합니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 1, - 79, - 81 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BoxConstraints 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【minWidth】 : 최소 너비 【double】", - "【minHeight】 : 최소 높이 【double】", - "【maxHeight】 : 최대 높이 【double】", - "【maxWidth】 : 최대 너비 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_pt_PT.json deleted file mode 100644 index 585ab4eff..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 80, - "name": "ConstrainedBox", - "localName": "Caixa Restrita", - "info": "Pode conter um componente filho, limitando a área onde o componente filho pode estar, especificando a largura e altura mínima e máxima.", - "lever": 3, - "family": 2, - "linkIds": [ - 1, - 79, - 81 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de BoxConstraints", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【minWidth】 : Largura mínima 【double】", - "【minHeight】 : Altura mínima 【double】", - "【maxHeight】 : Altura máxima 【double】", - "【maxWidth】 : Largura máxima 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_ru_RU.json deleted file mode 100644 index 65a5a04f3..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 80, - "name": "ConstrainedBox", - "localName": "Ограниченный контейнер", - "info": "Может содержать один дочерний компонент, ограничивая область размещения дочернего компонента путем указания минимальной и максимальной ширины и высоты.", - "lever": 3, - "family": 2, - "linkIds": [ - 1, - 79, - 81 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование BoxConstraints", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【minWidth】 : Минимальная ширина 【double】", - "【minHeight】 : Минимальная высота 【double】", - "【maxHeight】 : Максимальная высота 【double】", - "【maxWidth】 : Максимальная ширина 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_zh-CN.json deleted file mode 100644 index 05755076e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 80, - "name": "ConstrainedBox", - "localName": "约束盒", - "info": "可容纳一个子组件,通过指定最大、最小宽高,来限定子组件容身区域。", - "lever": 3, - "family": 2, - "linkIds": [ - 1, - 79, - 81 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BoxConstraints基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【minWidth】 : 最小宽 【double】", - "【minHeight】 : 最小高 【double】", - "【maxHeight】 : 最大高 【double】", - "【maxWidth】 : 最大宽 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/node1_base.dart deleted file mode 100644 index 59a656e68..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ConstrainedBox/node1_base.dart +++ /dev/null @@ -1,65 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomConstrainedBox extends StatefulWidget { - const CustomConstrainedBox({Key? key}) : super(key: key); - - @override - _CustomConstrainedBoxState createState() => _CustomConstrainedBoxState(); -} - -class _CustomConstrainedBoxState extends State { - String _text = ''; - - @override - Widget build(BuildContext context) { - Widget child = Container( - alignment: Alignment.center, - color: Colors.cyanAccent, - width: 40, - height: 40, - child: const Text("Static"), - ); - - Widget box = ConstrainedBox( - constraints: const BoxConstraints( - minHeight: 50, - minWidth: 20, - maxHeight: 80, - maxWidth: 150, - ), - child: Container(color: Colors.orange, child: Text(_text)), - ); - return Column( - children: [ - Container( - color: Colors.grey.withAlpha(22), - width: 300, - height: 100, - child: Row( - children: [child, UnconstrainedBox(child: box), child], - ), - ), - _buildInput(), - ], - ); - } - - Widget _buildInput() { - return Padding( - padding: const EdgeInsets.all(18.0), - child: TextField( - decoration: const InputDecoration( - border: OutlineInputBorder(), - hintText: '请输入', - ), - onChanged: (v) { - setState(() { - _text = v; - }); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_de_DE.json deleted file mode 100644 index 924c857c8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 299, - "name": "CupertinoTextSelectionToolbar", - "localName": "iOS-Textauswahl-Werkzeugleiste", - "info": "Eine iOS-stil Werkzeugleiste, die auf Textauswahl reagiert", - "lever": 1, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Diese Komponente kann nicht verwendet werden", - "desc": [ - "【-】 : - 【-】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_en_US.json deleted file mode 100644 index 9b985784f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 299, - "name": "CupertinoTextSelectionToolbar", - "localName": "iOS Text Selection Toolbar", - "info": "An iOS-style toolbar that responds to text selection", - "lever": 1, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "This component is not available", - "desc": [ - "【-】 : - 【-】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_es_ES.json deleted file mode 100644 index 1fefc04f5..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 299, - "name": "CupertinoTextSelectionToolbar", - "localName": "Barra de herramientas de selección de texto iOS", - "info": "Barra de herramientas de estilo iOS que responde a la selección de texto", - "lever": 1, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Este componente no se puede usar", - "desc": [ - "【-】 : - 【-】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_fr_FR.json deleted file mode 100644 index 39d455a98..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 299, - "name": "CupertinoTextSelectionToolbar", - "localName": "Barre d'outils de sélection de texte iOS", - "info": "Barre d'outils de style iOS qui répond à la sélection de texte", - "lever": 1, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Ce composant ne peut pas être utilisé", - "desc": [ - "【-】 : - 【-】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_it_IT.json deleted file mode 100644 index 0837589ca..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 299, - "name": "CupertinoTextSelectionToolbar", - "localName": "Barra degli strumenti di selezione del testo per iOS", - "info": "Barra degli strumenti in stile iOS che risponde alla selezione del testo", - "lever": 1, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Questo componente non può essere utilizzato", - "desc": [ - "【-】 : - 【-】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_ja_JP.json deleted file mode 100644 index ffbb40289..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 299, - "name": "CupertinoTextSelectionToolbar", - "localName": "iOSテキスト選択ツールバー", - "info": "テキスト選択に応答するiOSスタイルのツールバー", - "lever": 1, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "このコンポーネントは使用できません", - "desc": [ - "【-】 : - 【-】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_ko_KR.json deleted file mode 100644 index 2040ec188..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 299, - "name": "CupertinoTextSelectionToolbar", - "localName": "ios 텍스트 선택 도구 모음", - "info": "텍스트 선택에 반응하는 ios 스타일의 도구 모음", - "lever": 1, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "이 컴포넌트는 사용할 수 없습니다", - "desc": [ - "【-】 : - 【-】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_pt_PT.json deleted file mode 100644 index 531eaca34..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 299, - "name": "CupertinoTextSelectionToolbar", - "localName": "Barra de ferramentas de seleção de texto iOS", - "info": "Barra de ferramentas no estilo iOS que responde à seleção de texto", - "lever": 1, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Este componente não pode ser usado", - "desc": [ - "【-】 : - 【-】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_ru_RU.json deleted file mode 100644 index 5c65d5a02..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 299, - "name": "CupertinoTextSelectionToolbar", - "localName": "Панель инструментов для выбора текста iOS", - "info": "Панель инструментов в стиле iOS, реагирующая на выбор текста", - "lever": 1, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Этот компонент недоступен", - "desc": [ - "【-】 : - 【-】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_zh-CN.json deleted file mode 100644 index c1cf49995..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 299, - "name": "CupertinoTextSelectionToolbar", - "localName": "ios文字选择工具条", - "info": "对文本选择做出响应的 ios 风格的工具栏", - "lever": 1, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "该组件无法使用", - "desc": [ - "【-】 : - 【-】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/node1_base.dart deleted file mode 100644 index aebf20b39..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/node1_base.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class CupertinoTextSelectionToolbarDemo extends StatelessWidget { - const CupertinoTextSelectionToolbarDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.center, - padding: const EdgeInsets.all(10), - width: 300, - child: const Text( - "注:此组件私有构造器,外部无法使用,并没有使用价值。", - style: TextStyle(color: Colors.red, fontSize: 18), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_de_DE.json deleted file mode 100644 index c4e97d673..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 166, - "name": "CustomPaint", - "localName": "Zeichnungskomponente", - "info": "Durch CustomPainter können komplexe benutzerdefinierte Zeichnungskomponenten erstellt werden, was die Seele der benutzerdefinierten Komponenten in Flutter darstellt.", - "lever": 5, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_clock.dart", - "name": "CustomPaint Linienzeichnung", - "desc": [ - "【painter】 : Zeichnungsgerät 【CustomPainter】" - ] - }, - { - "file": "node2_bezier.dart", - "name": "CustomPaint Bézier-Kurven", - "desc": [ - "Flutter unterstützt auch komplexe Zeichnungen wie Bézier-Kurven." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_en_US.json deleted file mode 100644 index 6f1319301..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 166, - "name": "CustomPaint", - "localName": "Drawing Component", - "info": "Drawing through CustomPainter can achieve some complex custom drawing components, and it is the soul of custom components in Flutter.", - "lever": 5, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_clock.dart", - "name": "CustomPaint Line Drawing", - "desc": [ - "【painter】: Painter 【CustomPainter】" - ] - }, - { - "file": "node2_bezier.dart", - "name": "CustomPaint Bezier Curve", - "desc": [ - "Flutter also supports complex drawings such as Bezier curves." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_es_ES.json deleted file mode 100644 index ca8bd5f04..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 166, - "name": "CustomPaint", - "localName": "Componente de dibujo", - "info": "A través de CustomPainter, se pueden implementar algunos componentes de dibujo personalizados complejos, siendo el alma de los componentes personalizados en Flutter.", - "lever": 5, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_clock.dart", - "name": "CustomPaint dibuja formas de línea", - "desc": [ - "【painter】: pintor 【CustomPainter】" - ] - }, - { - "file": "node2_bezier.dart", - "name": "CustomPaint dibuja curvas de Bézier", - "desc": [ - "Flutter también admite dibujos complejos como curvas de Bézier." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_fr_FR.json deleted file mode 100644 index 7eaf8e7f0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 166, - "name": "CustomPaint", - "localName": "Composant de dessin", - "info": "En utilisant CustomPainter, il est possible de réaliser des composants de dessin personnalisés complexes, ce qui en fait une figure essentielle des composants personnalisés dans Flutter.", - "lever": 5, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_clock.dart", - "name": "Dessin de lignes avec CustomPaint", - "desc": [ - "【painter】 : Peintre 【CustomPainter】" - ] - }, - { - "file": "node2_bezier.dart", - "name": "Dessin de courbes de Bézier avec CustomPaint", - "desc": [ - "Flutter prend également en charge des dessins complexes comme les courbes de Bézier." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_it_IT.json deleted file mode 100644 index 698e0db3f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 166, - "name": "CustomPaint", - "localName": "Componente di disegno", - "info": "Attraverso CustomPainter, è possibile realizzare alcuni componenti di disegno personalizzati complessi, che rappresentano l'anima dei componenti personalizzati in Flutter.", - "lever": 5, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_clock.dart", - "name": "Disegno di linee con CustomPaint", - "desc": [ - "【painter】 : strumento di disegno 【CustomPainter】" - ] - }, - { - "file": "node2_bezier.dart", - "name": "Curva di Bézier con CustomPaint", - "desc": [ - "Flutter supporta anche disegni complessi come le curve di Bézier." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_ja_JP.json deleted file mode 100644 index 98a0fa613..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 166, - "name": "CustomPaint", - "localName": "描画コンポーネント", - "info": "CustomPainterを使用して描画することで、複雑なカスタム描画コンポーネントを実現できます。これはFlutterのカスタムコンポーネントの中心的な存在です。", - "lever": 5, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_clock.dart", - "name": "CustomPaintで線と図形を描画", - "desc": [ - "【painter】 : ペインター 【CustomPainter】" - ] - }, - { - "file": "node2_bezier.dart", - "name": "CustomPaintでベジェ曲線を描画", - "desc": [ - "Flutterはベジェ曲線などの複雑な描画もサポートしています。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_ko_KR.json deleted file mode 100644 index 7fd754bb0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 166, - "name": "CustomPaint", - "localName": "그리기 컴포넌트", - "info": "CustomPainter를 통해 그리기를 수행하며, 복잡한 사용자 정의 그리기 컴포넌트를 구현할 수 있습니다. Flutter에서 사용자 정의 컴포넌트의 핵심 요소입니다.", - "lever": 5, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_clock.dart", - "name": "CustomPaint로 선 그리기", - "desc": [ - "【painter】 : 페인터 【CustomPainter】" - ] - }, - { - "file": "node2_bezier.dart", - "name": "CustomPaint로 베지어 곡선 그리기", - "desc": [ - "Flutter는 베지어 곡선과 같은 복잡한 그리기도 지원합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_pt_PT.json deleted file mode 100644 index 4cdbd577c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 166, - "name": "CustomPaint", - "localName": "Componente de Desenho", - "info": "Através do CustomPainter, é possível realizar alguns componentes de desenho personalizados complexos, sendo uma figura central na criação de componentes personalizados no Flutter.", - "lever": 5, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_clock.dart", - "name": "Desenho de Linhas com CustomPaint", - "desc": [ - "【painter】 : Pintor 【CustomPainter】" - ] - }, - { - "file": "node2_bezier.dart", - "name": "Desenho de Curvas de Bézier com CustomPaint", - "desc": [ - "O Flutter também suporta desenhos complexos como curvas de Bézier." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_ru_RU.json deleted file mode 100644 index 27456915b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 166, - "name": "CustomPaint", - "localName": "Компонент рисования", - "info": "Рисование с помощью CustomPainter позволяет реализовать сложные пользовательские компоненты рисования, являясь ключевым элементом пользовательских компонентов во Flutter.", - "lever": 5, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_clock.dart", - "name": "Рисование линий с помощью CustomPaint", - "desc": [ - "【painter】 : рисовальщик 【CustomPainter】" - ] - }, - { - "file": "node2_bezier.dart", - "name": "Рисование кривых Безье с помощью CustomPaint", - "desc": [ - "Flutter также поддерживает сложное рисование, такое как кривые Безье." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_zh-CN.json deleted file mode 100644 index c950ad8ee..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 166, - "name": "CustomPaint", - "localName": "绘制组件", - "info": "通过CustomPainter进行绘制,可实现一些复杂的自定义绘制组件,是Flutter中自定义组件的灵魂人物。", - "lever": 5, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_clock.dart", - "name": "CustomPaint绘线图形", - "desc": [ - "【painter】 : 绘画器 【CustomPainter】" - ] - }, - { - "file": "node2_bezier.dart", - "name": "CustomPaint绘线贝塞尔曲线", - "desc": [ - "Flutter也支持贝塞尔曲线等复杂绘制。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/node1_clock.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/node1_clock.dart deleted file mode 100644 index df2cdebf1..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/node1_clock.dart +++ /dev/null @@ -1,198 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class ClockPage extends StatelessWidget { - const ClockPage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width, - height: 100, - child:RepaintBoundary( - child: CustomPaint(//使用CustomPaint盛放画布 - painter: ClockPainter(), - ), - ), - ) - ; - } -} - -class ClockPainter extends CustomPainter { - late Paint _paint; - final double _radius = 3.0; //小球半径 - final Path _path = Path(); //画笔对象 - ClockPainter () { - _paint = Paint()..color= const Color(0xff45d0fd)..isAntiAlias=true; - _path.addOval(Rect.fromCircle(radius: _radius, center: const Offset(0, 0))); //小球路径 - } - - @override - void paint(Canvas canvas, Size size) { - print(size); - canvas.clipRect(Offset.zero & size); - canvas.translate(size.width/2-65*2, 0); - renderDigit(1, canvas);//渲染数字 - canvas.translate(65, 0);//平移画布 - renderDigit(9, canvas); - canvas.translate(65, 0); renderDigit(9, canvas); - canvas.translate(65, 0); renderDigit(4, canvas); - } - //渲染数字 num :要显示的数字 canvas :画布 - void renderDigit(int num, Canvas canvas) { - if (num > 10) { return; } - for (int i = 0; i < digit[num].length; i++) { - for (int j = 0; j < digit[num][j].length; j++) { - if (digit[num][i][j] == 1) { - canvas.save(); - double rX = j * 2 * (_radius + 1) + (_radius + 1); //第(i,j)个点圆心横坐标 - double rY = i * 2 * (_radius + 1) + (_radius + 1); //第(i,j)个点圆心纵坐标 - canvas.translate(rX, rY); - canvas.drawPath(_path, _paint); - canvas.restore(); - } - } - } - } - @override - bool shouldRepaint(CustomPainter oldDelegate)=> false; -} - -const digit = [ - [ - [0, 0, 1, 1, 1, 0, 0], - [0, 1, 1, 0, 1, 1, 0], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [0, 1, 1, 0, 1, 1, 0], - [0, 0, 1, 1, 1, 0, 0] - ], //0 - - [ - [0, 0, 0, 1, 1, 0, 0], - [0, 1, 1, 1, 1, 0, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 0, 0, 1, 1, 0, 0], - [1, 1, 1, 1, 1, 1, 1] - ], //1 - [ - [0, 1, 1, 1, 1, 1, 0], - [1, 1, 0, 0, 0, 1, 1], - [0, 0, 0, 0, 0, 1, 1], - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 0, 1, 1, 0, 0, 0], - [0, 1, 1, 0, 0, 0, 0], - [1, 1, 0, 0, 0, 0, 0], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 1, 1, 1, 1, 1] - ], //2 - [ - [1, 1, 1, 1, 1, 1, 1], - [0, 0, 0, 0, 0, 1, 1], - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 0, 1, 1, 1, 0, 0], - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 0, 0, 0, 1, 1], - [0, 0, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [0, 1, 1, 1, 1, 1, 0] - ], //3 - - [ - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 0, 1, 1, 1, 0], - [0, 0, 1, 1, 1, 1, 0], - [0, 1, 1, 0, 1, 1, 0], - [1, 1, 0, 0, 1, 1, 0], - [1, 1, 1, 1, 1, 1, 1], - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 0, 1, 1, 1, 1] - ], //4 - [ - [1, 1, 1, 1, 1, 1, 1], - [1, 1, 0, 0, 0, 0, 0], - [1, 1, 0, 0, 0, 0, 0], - [1, 1, 1, 1, 1, 1, 0], - [0, 0, 0, 0, 0, 1, 1], - [0, 0, 0, 0, 0, 1, 1], - [0, 0, 0, 0, 0, 1, 1], - [0, 0, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [0, 1, 1, 1, 1, 1, 0] - ], //5 - [ - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 1, 1, 0, 0, 0], - [0, 1, 1, 0, 0, 0, 0], - [1, 1, 0, 0, 0, 0, 0], - [1, 1, 0, 1, 1, 1, 0], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [0, 1, 1, 1, 1, 1, 0] - ], //6 - [ - [1, 1, 1, 1, 1, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 0, 1, 1, 0, 0, 0], - [0, 0, 1, 1, 0, 0, 0], - [0, 0, 1, 1, 0, 0, 0], - [0, 0, 1, 1, 0, 0, 0] - ], //7 - [ - [0, 1, 1, 1, 1, 1, 0], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [0, 1, 1, 1, 1, 1, 0], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [0, 1, 1, 1, 1, 1, 0] - ], //8 - [ - [0, 1, 1, 1, 1, 1, 0], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [1, 1, 0, 0, 0, 1, 1], - [0, 1, 1, 1, 0, 1, 1], - [0, 0, 0, 0, 0, 1, 1], - [0, 0, 0, 0, 0, 1, 1], - [0, 0, 0, 0, 1, 1, 0], - [0, 0, 0, 1, 1, 0, 0], - [0, 1, 1, 0, 0, 0, 0] - ], //9 - [ - [0, 0, 0, 0], - [0, 0, 0, 0], - [0, 1, 1, 0], - [0, 1, 1, 0], - [0, 0, 0, 0], - [0, 0, 0, 0], - [0, 1, 1, 0], - [0, 1, 1, 0], - [0, 0, 0, 0], - [0, 0, 0, 0] - ] //: -]; diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/node2_bezier.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/node2_bezier.dart deleted file mode 100644 index d59250e69..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomPaint/node2_bezier.dart +++ /dev/null @@ -1,168 +0,0 @@ -import 'dart:ui'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-28 -/// contact me by email 1981462002@qq.com - -class PlayBezier3Page extends StatefulWidget { - const PlayBezier3Page({Key? key}) : super(key: key); - - @override - _PlayBezier3PageState createState() => _PlayBezier3PageState(); -} - -class _PlayBezier3PageState extends State { - List _pos = []; - int selectPos=0; - - @override - void initState() { - _initPoints(); - super.initState(); - } - - void _initPoints() { - _pos = []; - _pos.add(const Offset(0, 0)); - _pos.add(const Offset(60, -60)); - _pos.add(const Offset(-90, -90)); - _pos.add(const Offset(-120, -40)); - } - - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - width: MediaQuery.of(context).size.width, - child: RepaintBoundary( - child: CustomPaint( - painter: BezierPainter(pos: _pos, selectPos: selectPos), - ), - ), - ); - } -} - -class BezierPainter extends CustomPainter { - late Paint _gridPaint; - late Path _gridPath; - - late Paint _mainPaint; - late Path _mainPath; - int? selectPos; - late Paint _helpPaint; - - List pos; - - BezierPainter({this.pos=const [], this.selectPos}) { - _gridPaint = Paint()..style = PaintingStyle.stroke; - _gridPath = Path(); - - _mainPaint = Paint() - ..color = Colors.orange - ..style = PaintingStyle.stroke - ..strokeWidth = 2; - _mainPath = Path(); - - _helpPaint = Paint() - ..color = Colors.purple - ..style = PaintingStyle.stroke - ..strokeWidth = 2 - ..strokeCap = StrokeCap.round; - } - - @override - void paint(Canvas canvas, Size size) { - canvas.clipRect(Offset.zero & size); - canvas.translate(size.width / 2, size.height / 2); - _drawGrid(canvas, size); //绘制格线 - _drawAxis(canvas, size); //绘制轴线 - - _mainPath.moveTo(pos[0].dx, pos[0].dy); - _mainPath.cubicTo( - pos[1].dx, pos[1].dy, pos[2].dx, pos[2].dy, pos[3].dx, pos[3].dy); - canvas.drawPath(_mainPath, _mainPaint); - _drawHelp(canvas); - _drawSelectPos(canvas); - } - - @override - bool shouldRepaint(CustomPainter oldDelegate) => false; - - void _drawGrid(Canvas canvas, Size size) { - _gridPaint - ..color = Colors.grey - ..strokeWidth = 0.5; - _gridPath = _buildGridPath(_gridPath, size); - canvas.drawPath(_buildGridPath(_gridPath, size), _gridPaint); - - canvas.save(); - canvas.scale(1, -1); //沿x轴镜像 - canvas.drawPath(_gridPath, _gridPaint); - canvas.restore(); - - canvas.save(); - canvas.scale(-1, 1); //沿y轴镜像 - canvas.drawPath(_gridPath, _gridPaint); - canvas.restore(); - - canvas.save(); - canvas.scale(-1, -1); //沿原点镜像 - canvas.drawPath(_gridPath, _gridPaint); - canvas.restore(); - } - - void _drawAxis(Canvas canvas, Size size) { - canvas.drawPoints( - PointMode.lines, - [ - Offset(-size.width / 2, 0), - Offset(size.width / 2, 0), - Offset(0, -size.height / 2), - Offset(0, size.height / 2), - Offset(0, size.height / 2), - Offset(0 - 7.0, size.height / 2 - 10), - Offset(0, size.height / 2), - Offset(0 + 7.0, size.height / 2 - 10), - Offset(size.width / 2, 0), - Offset(size.width / 2 - 10, 7), - Offset(size.width / 2, 0), - Offset(size.width / 2 - 10, -7), - ], - _gridPaint - ..color = Colors.blue - ..strokeWidth = 1.5); - } - - Path _buildGridPath(Path path, Size size, {step = 20.0}) { - for (int i = 0; i < size.height / 2 / step; i++) { - path.moveTo(0, step * i); - path.relativeLineTo(size.width / 2, 0); - } - for (int i = 0; i < size.width / 2 / step; i++) { - path.moveTo(step * i, 0); - path.relativeLineTo( - 0, - size.height / 2, - ); - } - return path; - } - - void _drawHelp(Canvas canvas) { - canvas.drawPoints(PointMode.lines, pos, _helpPaint..strokeWidth = 1); - canvas.drawPoints(PointMode.points, pos, _helpPaint..strokeWidth = 8); - } - - void _drawSelectPos(Canvas canvas) { - if (selectPos == null) return; - canvas.drawCircle( - pos[selectPos!], - 10, - _helpPaint - ..color = Colors.green - ..strokeWidth = 2); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_de_DE.json deleted file mode 100644 index e87b36dc9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 285, - "name": "CustomSingleChildLayout", - "localName": "Allgemeines Einzelkind-Layout", - "info": "Kann ein Unterelement aufnehmen und eine Delegiertenklasse angeben, um das Unterelement anzuordnen. Die Delegiertenklasse kann den Bereich des übergeordneten Containers und die Bereichsgröße des Unterelements sowie die Bereichsbeschränkungen abrufen.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CustomSingleChildLayout", - "desc": [ - "【delegate】 : Delegat 【SingleChildLayoutDelegate】" - ] - }, - { - "file": "node2_offset.dart", - "name": "Verschiebungsverwendung von CustomSingleChildLayout", - "desc": [ - "Kann die Verschiebungsfähigkeit des Delegaten nutzen, um das Unterelement zu positionieren." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_en_US.json deleted file mode 100644 index 377116b64..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 285, - "name": "CustomSingleChildLayout", - "localName": "Universal Single Child Layout", - "info": "Can accommodate one child component and specify a delegate class to arrange the child component. The delegate class can obtain the parent container area, the child component's area size, and the area constraints.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CustomSingleChildLayout", - "desc": [ - "【delegate】 : delegate 【SingleChildLayoutDelegate】" - ] - }, - { - "file": "node2_offset.dart", - "name": "Offset Usage of CustomSingleChildLayout", - "desc": [ - "The offset capability of the delegate can be used to position the child component with an offset." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_es_ES.json deleted file mode 100644 index f829cee32..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 285, - "name": "CustomSingleChildLayout", - "localName": "Diseño de un solo hijo personalizado", - "info": "Puede contener un componente hijo y especificar una clase delegada para organizar el componente hijo. La clase delegada puede obtener el área del contenedor padre y el tamaño del área del componente hijo, así como las restricciones del área.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CustomSingleChildLayout", - "desc": [ - "【delegate】 : delegado 【SingleChildLayoutDelegate】" - ] - }, - { - "file": "node2_offset.dart", - "name": "Uso de desplazamiento en CustomSingleChildLayout", - "desc": [ - "Se puede utilizar la capacidad de desplazamiento del delegado para posicionar el componente hijo." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_fr_FR.json deleted file mode 100644 index 819d6eaf4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 285, - "name": "CustomSingleChildLayout", - "localName": "Disposition personnalisée à un seul enfant", - "info": "Peut contenir un seul composant enfant et spécifie une classe déléguée pour organiser le composant enfant. La classe déléguée peut obtenir la zone du conteneur parent et la taille de la zone du composant enfant, ainsi que les contraintes de zone.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CustomSingleChildLayout", - "desc": [ - "【delegate】 : délégué 【SingleChildLayoutDelegate】" - ] - }, - { - "file": "node2_offset.dart", - "name": "Utilisation du décalage de CustomSingleChildLayout", - "desc": [ - "Peut utiliser la capacité de décalage du délégué pour positionner le composant enfant avec un décalage." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_it_IT.json deleted file mode 100644 index 43ddc5746..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 285, - "name": "CustomSingleChildLayout", - "localName": "Layout Singolo Figlio Personalizzato", - "info": "Può contenere un componente figlio e specificare una classe delegata per disporre il componente figlio. La classe delegata può ottenere l'area del contenitore padre e le dimensioni dell'area del componente figlio, nonché i vincoli dell'area.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CustomSingleChildLayout", - "desc": [ - "【delegate】 : delegato 【SingleChildLayoutDelegate】" - ] - }, - { - "file": "node2_offset.dart", - "name": "Uso dello spostamento in CustomSingleChildLayout", - "desc": [ - "È possibile utilizzare la capacità di spostamento del delegato per posizionare il componente figlio." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_ja_JP.json deleted file mode 100644 index 5c5db389e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 285, - "name": "CustomSingleChildLayout", - "localName": "汎用シングルチャイルドレイアウト", - "info": "1つの子コンポーネントを収容し、代理クラスを指定して子コンポーネントをレイアウトします。代理クラスは、親コンテナ領域と子コンポーネントの領域サイズ、および領域の制約状況を取得できます。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CustomSingleChildLayoutの基本使用", - "desc": [ - "【delegate】 : 代理 【SingleChildLayoutDelegate】" - ] - }, - { - "file": "node2_offset.dart", - "name": "CustomSingleChildLayoutのオフセット使用", - "desc": [ - "代理のオフセット能力を利用して、子コンポーネントをオフセット位置に配置できます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_ko_KR.json deleted file mode 100644 index 20753e7d9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 285, - "name": "CustomSingleChildLayout", - "localName": "일반 단일 자식 레이아웃", - "info": "하나의 자식 위젯을 수용하고, 대리 클래스를 지정하여 자식 위젯을 배치합니다. 대리 클래스는 부모 컨테이너 영역과 자식 위젯의 영역 크기 및 영역 제약 조건을 얻을 수 있습니다.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CustomSingleChildLayout 기본 사용", - "desc": [ - "【delegate】 : 대리 【SingleChildLayoutDelegate】" - ] - }, - { - "file": "node2_offset.dart", - "name": "CustomSingleChildLayout의 오프셋 사용", - "desc": [ - "대리의 오프셋 기능을 활용하여 자식 위젯을 오프셋 위치시킬 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_pt_PT.json deleted file mode 100644 index 6a3704d5b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 285, - "name": "CustomSingleChildLayout", - "localName": "Layout de Filho Único Personalizado", - "info": "Pode acomodar um componente filho e especificar uma classe de proxy para organizar o componente filho. A classe de proxy pode obter a área do contêiner pai e o tamanho da área do componente filho, bem como as restrições da área.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do CustomSingleChildLayout", - "desc": [ - "【delegate】 : proxy 【SingleChildLayoutDelegate】" - ] - }, - { - "file": "node2_offset.dart", - "name": "Uso de Deslocamento do CustomSingleChildLayout", - "desc": [ - "Pode utilizar a capacidade de deslocamento do proxy para posicionar o componente filho com deslocamento." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_ru_RU.json deleted file mode 100644 index d25be61c9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 285, - "name": "CustomSingleChildLayout", - "localName": "Универсальный макет с одним дочерним элементом", - "info": "Может содержать один дочерний компонент и задавать класс-делегат для размещения дочернего компонента. Класс-делегат может получить область родительского контейнера и размер области дочернего компонента, а также ограничения области.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CustomSingleChildLayout", - "desc": [ - "【delegate】 : делегат 【SingleChildLayoutDelegate】" - ] - }, - { - "file": "node2_offset.dart", - "name": "Использование смещения в CustomSingleChildLayout", - "desc": [ - "Можно использовать возможности смещения делегата для позиционирования дочернего компонента." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_zh-CN.json deleted file mode 100644 index d45b22026..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 285, - "name": "CustomSingleChildLayout", - "localName": "通用单子布局", - "info": "可容纳一个子组件,并指定代理类对子组件进行排布。代理类可获取父容器区域和子组件的区域大小,及区域约束情况。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CustomSingleChildLayout基本使用", - "desc": [ - "【delegate】 : 代理 【SingleChildLayoutDelegate】" - ] - }, - { - "file": "node2_offset.dart", - "name": "CustomSingleChildLayout的偏移使用", - "desc": [ - "可以利用代理的偏移能力,对子组件进行偏移定位。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/node1_base.dart deleted file mode 100644 index 6295eac5d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/node1_base.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/6/3 -/// contact me by email 1981462002@qq.com - - -class CustomSingleChildLayoutDemo extends StatelessWidget { - const CustomSingleChildLayoutDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - print('-------CustomSingleChildLayoutDemo------'); - return Container( - width: 300, - height: 200, - color: Colors.grey.withAlpha(11), - child: CustomSingleChildLayout( - delegate: _TolySingleChildLayoutDelegate(), - child: Container( - color: Colors.orange, - ), - ), - ); - } -} - -class _TolySingleChildLayoutDelegate extends SingleChildLayoutDelegate { - @override - bool shouldRelayout(SingleChildLayoutDelegate oldDelegate) { - return true; - } - - @override - Size getSize(BoxConstraints constraints) { - print('----getSize:----constraints:$constraints----'); - return super.getSize(constraints); - } - - @override - Offset getPositionForChild(Size size, Size childSize) { - print('----getPositionForChild: size:$size----childSize:$childSize----'); - return Offset(size.width / 2, 0); - } - - @override - BoxConstraints getConstraintsForChild(BoxConstraints constraints) { - print('----getConstraintsForChild:----constraints:$constraints----'); - return BoxConstraints( - maxWidth: constraints.maxWidth / 2, - maxHeight: constraints.maxHeight / 2, - minHeight: constraints.maxHeight / 4, - minWidth: constraints.maxWidth / 4, - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/node2_offset.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/node2_offset.dart deleted file mode 100644 index cfa45dbce..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/CustomSingleChildLayout/node2_offset.dart +++ /dev/null @@ -1,113 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/6/3 -/// contact me by email 1981462002@qq.com - - -class OffSetWidgetDemo extends StatelessWidget { - const OffSetWidgetDemo({Key? key}) : super(key: key); - - final List> data = const [ - { - 'offset': Offset(20, 20), - 'direction': Direction.topLeft, - }, - { - 'offset': Offset(20, -15), - 'direction': Direction.topRight, - }, - { - 'offset': Offset(-15, 20), - 'direction': Direction.bottomLeft, - }, - { - 'offset': Offset(-15, 20), - 'direction': Direction.bottomLeft, - }, - { - 'offset': Offset(15, 20), - 'direction': Direction.bottomLeft, - }, - { - 'offset': Offset(-15, -15), - 'direction': Direction.topRight, - }, - ]; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - runSpacing: 20, - children: data - .map((e) => Container( - width: 150, - height: 100, - alignment: Alignment.topRight, - color: Colors.grey.withAlpha(11), - child: OffSetWidget( - offset: e['offset'], - direction: e['direction'], - child: const Icon( - Icons.android, - size: 30, - color: Colors.green, - ), - ))) - .toList()); - } -} - -class OffSetWidget extends StatelessWidget { - final Offset offset; - final Widget child; - final Direction direction; - - const OffSetWidget( - {Key? key, this.offset = Offset.zero, - required this.child, - this.direction = Direction.topLeft}) : super(key: key); - - @override - Widget build(BuildContext context) { - return CustomSingleChildLayout( - delegate: _OffSetDelegate(offset: offset, direction: direction), - child: child, - ); - } -} - -enum Direction { topLeft, topRight, bottomLeft, bottomRight } - -class _OffSetDelegate extends SingleChildLayoutDelegate { - final Offset offset; - final Direction direction; - - _OffSetDelegate({ - this.offset = Offset.zero, - this.direction = Direction.topLeft, - }); - - @override - bool shouldRelayout(_OffSetDelegate oldDelegate) => - offset != oldDelegate.offset; - - @override - Offset getPositionForChild(Size size, Size childSize) { - double w = size.width; - double h = size.height; - double wc = childSize.width; - double hc = childSize.height; - - switch (direction) { - case Direction.topLeft: - return offset; - case Direction.topRight: - return offset.translate(w - wc - offset.dx * 2, 0); - case Direction.bottomLeft: - return offset.translate(0, h - hc - offset.dy * 2); - case Direction.bottomRight: - return offset.translate(w - wc - offset.dx * 2, h - hc - offset.dy * 2); - } - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_de_DE.json deleted file mode 100644 index 00a0aab86..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_de_DE.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": 70, - "name": "DecoratedBox", - "localName": "Dekorationsbox", - "info": "Kann ein Kindelement aufnehmen und es dekorieren. Die Kerneigenschaft ist decoration, mit der Rahmen, Verläufe, Schatten, Hintergrundbilder usw. festgelegt werden können.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DecoratedBox", - "desc": [ - "【decoration】 : Dekorationsobjekt 【Decoration】", - "【position】 : Vordergrundfarbe (links)/Hintergrundfarbe (rechts) 【DecorationPosition】" - ] - }, - { - "file": "node2_image.dart", - "name": "Form und Bilddekoration von DecoratedBox", - "desc": [ - "【shape】 : Form 【BoxShape】", - "【image】 : Hintergrundbild 【DecorationImage】," - ] - }, - { - "file": "node3_border.dart", - "name": "Rahmendekoration von DecoratedBox", - "desc": [ - "【border】 : Rahmen 【BoxBorder】," - ] - }, - { - "file": "node4_shape.dart", - "name": "Formdekoration von DecoratedBox", - "desc": [ - "Mit dem ShapeDecoration-Objekt kann die Rahmenform angegeben werden," - ] - }, - { - "file": "node5_line.dart", - "name": "Unterstreichungsdekoration von DecoratedBox", - "desc": [ - "Mit dem UnderlineTabIndicator-Objekt kann die Unterstreichung angegeben werden," - ] - }, - { - "file": "node6_flutterLogo.dart", - "name": "FlutterLogoDecoration-Dekoration", - "desc": [ - "Mit dem FlutterLogoDecoration-Objekt kann die Flutter-Icon-Dekoration angegeben werden (hat keine große Bedeutung)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_en_US.json deleted file mode 100644 index 6fa9323ea..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_en_US.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": 70, - "name": "DecoratedBox", - "localName": "Decorated Box", - "info": "Can contain a child component and decorate it. The core property is decoration, which can set borders, gradients, shadows, background images, etc.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DecoratedBox", - "desc": [ - "【decoration】: Decoration object 【Decoration】", - "【position】: Foreground color (left)/Background color (right) 【DecorationPosition】" - ] - }, - { - "file": "node2_image.dart", - "name": "Shape and Image Decoration of DecoratedBox", - "desc": [ - "【shape】: Shape 【BoxShape】", - "【image】: Background image 【DecorationImage】," - ] - }, - { - "file": "node3_border.dart", - "name": "Border Decoration of DecoratedBox", - "desc": [ - "【border】: Border 【BoxBorder】," - ] - }, - { - "file": "node4_shape.dart", - "name": "Shape Decoration of DecoratedBox", - "desc": [ - "You can specify the border shape through the ShapeDecoration object," - ] - }, - { - "file": "node5_line.dart", - "name": "Bottom Line Decoration of DecoratedBox", - "desc": [ - "You can specify the bottom line through the UnderlineTabIndicator object," - ] - }, - { - "file": "node6_flutterLogo.dart", - "name": "FlutterLogoDecoration Decoration", - "desc": [ - "You can specify Flutter icon decoration through the FlutterLogoDecoration object (not very useful)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_es_ES.json deleted file mode 100644 index c21db3db6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_es_ES.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": 70, - "name": "DecoratedBox", - "localName": "Caja Decorada", - "info": "Puede contener un componente hijo y decorarlo. La propiedad principal es decoration, que permite configurar bordes, degradados, sombras, imágenes de fondo, etc.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DecoratedBox", - "desc": [ - "【decoration】 : Objeto de decoración 【Decoration】", - "【position】 : Color de primer plano (izquierda)/Color de fondo (derecha) 【DecorationPosition】" - ] - }, - { - "file": "node2_image.dart", - "name": "Decoración de forma e imagen en DecoratedBox", - "desc": [ - "【shape】 : Forma 【BoxShape】", - "【image】 : Imagen de fondo 【DecorationImage】," - ] - }, - { - "file": "node3_border.dart", - "name": "Decoración de borde en DecoratedBox", - "desc": [ - "【border】 : Borde 【BoxBorder】," - ] - }, - { - "file": "node4_shape.dart", - "name": "Decoración de forma en DecoratedBox", - "desc": [ - "Se puede especificar la forma del borde mediante el objeto ShapeDecoration," - ] - }, - { - "file": "node5_line.dart", - "name": "Decoración de línea inferior en DecoratedBox", - "desc": [ - "Se puede especificar la línea inferior mediante el objeto UnderlineTabIndicator," - ] - }, - { - "file": "node6_flutterLogo.dart", - "name": "Decoración con FlutterLogoDecoration", - "desc": [ - "Se puede especificar la decoración del ícono de Flutter mediante el objeto FlutterLogoDecoration (no tiene mucho uso)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_fr_FR.json deleted file mode 100644 index dc641c563..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_fr_FR.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": 70, - "name": "DecoratedBox", - "localName": "Boîte décorée", - "info": "Peut contenir un composant enfant et le décorer. La propriété principale est decoration, qui permet de définir des bordures, des dégradés, des ombres, des images de fond, etc.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DecoratedBox", - "desc": [ - "【decoration】 : Objet de décoration 【Decoration】", - "【position】 : Couleur de premier plan (gauche)/couleur d'arrière-plan (droite) 【DecorationPosition】" - ] - }, - { - "file": "node2_image.dart", - "name": "Forme et image de décoration de DecoratedBox", - "desc": [ - "【shape】 : Forme 【BoxShape】", - "【image】 : Image de fond 【DecorationImage】," - ] - }, - { - "file": "node3_border.dart", - "name": "Bordure de décoration de DecoratedBox", - "desc": [ - "【border】 : Bordure 【BoxBorder】," - ] - }, - { - "file": "node4_shape.dart", - "name": "Forme de décoration de DecoratedBox", - "desc": [ - "L'objet ShapeDecoration permet de spécifier la forme de la bordure," - ] - }, - { - "file": "node5_line.dart", - "name": "Ligne de décoration de DecoratedBox", - "desc": [ - "L'objet UnderlineTabIndicator permet de spécifier la ligne de fond," - ] - }, - { - "file": "node6_flutterLogo.dart", - "name": "Décoration FlutterLogoDecoration", - "desc": [ - "L'objet FlutterLogoDecoration permet de spécifier la décoration de l'icône Flutter (sans grande utilité)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_it_IT.json deleted file mode 100644 index 9fbe10468..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_it_IT.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": 70, - "name": "DecoratedBox", - "localName": "Scatola decorata", - "info": "Può contenere un componente figlio e decorarlo. La proprietà principale è decoration, che può impostare bordi, gradienti, ombre, immagini di sfondo, ecc.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di DecoratedBox", - "desc": [ - "【decoration】 : oggetto decorativo 【Decoration】", - "【position】 : colore in primo piano (sinistra)/colore di sfondo (destra) 【DecorationPosition】" - ] - }, - { - "file": "node2_image.dart", - "name": "Decorazione di forma e immagine di DecoratedBox", - "desc": [ - "【shape】 : forma 【BoxShape】", - "【image】 : immagine di sfondo 【DecorationImage】," - ] - }, - { - "file": "node3_border.dart", - "name": "Decorazione del bordo di DecoratedBox", - "desc": [ - "【border】 : bordo 【BoxBorder】," - ] - }, - { - "file": "node4_shape.dart", - "name": "Decorazione della forma di DecoratedBox", - "desc": [ - "È possibile specificare la forma del bordo tramite l'oggetto ShapeDecoration," - ] - }, - { - "file": "node5_line.dart", - "name": "Decorazione della linea di base di DecoratedBox", - "desc": [ - "È possibile specificare la linea di base tramite l'oggetto UnderlineTabIndicator," - ] - }, - { - "file": "node6_flutterLogo.dart", - "name": "Decorazione FlutterLogoDecoration", - "desc": [ - "È possibile specificare la decorazione dell'icona Flutter tramite l'oggetto FlutterLogoDecoration (non ha un grande utilità)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_ja_JP.json deleted file mode 100644 index 21dabc4fc..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_ja_JP.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": 70, - "name": "DecoratedBox", - "localName": "装飾ボックス", - "info": "子コンポーネントを収容し、装飾することができます。コアプロパティはdecorationで、枠線、グラデーション、影、背景画像などを設定できます。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DecoratedBoxの基本使用", - "desc": [ - "【decoration】 : 装飾オブジェクト 【Decoration】", - "【position】 : 前景色(左)/背景色(右) 【DecorationPosition】" - ] - }, - { - "file": "node2_image.dart", - "name": "DecoratedBoxの形状と画像装飾", - "desc": [ - "【shape】 : 形状 【BoxShape】", - "【image】 : 背景画像 【DecorationImage】," - ] - }, - { - "file": "node3_border.dart", - "name": "DecoratedBoxの枠線装飾", - "desc": [ - "【border】 : 枠線 【BoxBorder】," - ] - }, - { - "file": "node4_shape.dart", - "name": "DecoratedBoxの形状装飾", - "desc": [ - "ShapeDecorationオブジェクトを使用して枠線の形状を指定できます," - ] - }, - { - "file": "node5_line.dart", - "name": "DecoratedBoxの下線装飾", - "desc": [ - "UnderlineTabIndicatorオブジェクトを使用して下線を指定できます," - ] - }, - { - "file": "node6_flutterLogo.dart", - "name": "FlutterLogoDecoration装飾", - "desc": [ - "FlutterLogoDecorationオブジェクトを使用してFlutterアイコン装飾を指定できます(特に大きな効果はありません)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_ko_KR.json deleted file mode 100644 index feff512fa..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_ko_KR.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": 70, - "name": "DecoratedBox", - "localName": "장식 상자", - "info": "하위 컴포넌트를 포함할 수 있으며, 이를 장식할 수 있습니다. 핵심 속성은 decoration으로, 테두리, 그라데이션, 그림자, 배경 이미지 등을 설정할 수 있습니다.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DecoratedBox 기본 사용", - "desc": [ - "【decoration】 : 장식 객체 【Decoration】", - "【position】 : 전경색(왼쪽)/배경색(오른쪽) 【DecorationPosition】" - ] - }, - { - "file": "node2_image.dart", - "name": "DecoratedBox 형태와 이미지 장식", - "desc": [ - "【shape】 : 형태 【BoxShape】", - "【image】 : 배경 이미지 【DecorationImage】," - ] - }, - { - "file": "node3_border.dart", - "name": "DecoratedBox 테두리 장식", - "desc": [ - "【border】 : 테두리 【BoxBorder】," - ] - }, - { - "file": "node4_shape.dart", - "name": "DecoratedBox 형태 장식", - "desc": [ - "ShapeDecoration 객체를 통해 테두리 형태를 지정할 수 있습니다," - ] - }, - { - "file": "node5_line.dart", - "name": "DecoratedBox 밑줄 장식", - "desc": [ - "UnderlineTabIndicator 객체를 통해 밑줄을 지정할 수 있습니다," - ] - }, - { - "file": "node6_flutterLogo.dart", - "name": "FlutterLogoDecoration 장식", - "desc": [ - "FlutterLogoDecoration 객체를 통해 Flutter 아이콘 장식을 지정할 수 있습니다(별다른 기능은 없습니다)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_pt_PT.json deleted file mode 100644 index c8a9195b2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_pt_PT.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": 70, - "name": "DecoratedBox", - "localName": "Caixa Decorada", - "info": "Pode conter um componente filho e decorá-lo. A propriedade principal é decoration, que pode definir bordas, gradientes, sombras, imagens de fundo, etc.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do DecoratedBox", - "desc": [ - "【decoration】 : Objeto de decoração 【Decoration】", - "【position】 : Cor de primeiro plano (esquerda)/Cor de fundo (direita) 【DecorationPosition】" - ] - }, - { - "file": "node2_image.dart", - "name": "Forma e Decoração de Imagem do DecoratedBox", - "desc": [ - "【shape】 : Forma 【BoxShape】", - "【image】 : Imagem de fundo 【DecorationImage】," - ] - }, - { - "file": "node3_border.dart", - "name": "Decoração de Borda do DecoratedBox", - "desc": [ - "【border】 : Borda 【BoxBorder】," - ] - }, - { - "file": "node4_shape.dart", - "name": "Decoração de Forma do DecoratedBox", - "desc": [ - "O objeto ShapeDecoration pode especificar a forma da borda," - ] - }, - { - "file": "node5_line.dart", - "name": "Decoração de Linha de Base do DecoratedBox", - "desc": [ - "O objeto UnderlineTabIndicator pode especificar a linha de base," - ] - }, - { - "file": "node6_flutterLogo.dart", - "name": "Decoração com FlutterLogoDecoration", - "desc": [ - "O objeto FlutterLogoDecoration pode especificar a decoração do ícone Flutter (não tem grande utilidade)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_ru_RU.json deleted file mode 100644 index afd56ba99..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_ru_RU.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": 70, - "name": "DecoratedBox", - "localName": "Декорированный блок", - "info": "Может содержать один дочерний компонент и декорировать его. Основное свойство - decoration, которое позволяет настроить границы, градиенты, тени, фоновые изображения и т.д.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DecoratedBox", - "desc": [ - "【decoration】 : Объект декора 【Decoration】", - "【position】 : Передний план (слева)/Задний план (справа) 【DecorationPosition】" - ] - }, - { - "file": "node2_image.dart", - "name": "Форма и изображение декора в DecoratedBox", - "desc": [ - "【shape】 : Форма 【BoxShape】", - "【image】 : Фоновое изображение 【DecorationImage】," - ] - }, - { - "file": "node3_border.dart", - "name": "Декорирование границ в DecoratedBox", - "desc": [ - "【border】 : Граница 【BoxBorder】," - ] - }, - { - "file": "node4_shape.dart", - "name": "Декорирование формы в DecoratedBox", - "desc": [ - "С помощью объекта ShapeDecoration можно указать форму границы," - ] - }, - { - "file": "node5_line.dart", - "name": "Декорирование нижней линии в DecoratedBox", - "desc": [ - "С помощью объекта UnderlineTabIndicator можно указать нижнюю линию," - ] - }, - { - "file": "node6_flutterLogo.dart", - "name": "Декорирование FlutterLogoDecoration", - "desc": [ - "С помощью объекта FlutterLogoDecoration можно указать декорирование иконкой Flutter (не имеет особого значения)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_zh-CN.json deleted file mode 100644 index 1a57df640..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/desc_zh-CN.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": 70, - "name": "DecoratedBox", - "localName": "装饰盒", - "info": "可容纳一个子组件,可将其进行装饰。核心属性为decoration,可设置边线、渐变、阴影、背景图等。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DecoratedBox基本使用", - "desc": [ - "【decoration】 : 装饰对象 【Decoration】", - "【position】 : 前景色(左)/后景色(右) 【DecorationPosition】" - ] - }, - { - "file": "node2_image.dart", - "name": "DecoratedBox形状和图片装饰", - "desc": [ - "【shape】 : 形状 【BoxShape】", - "【image】 : 背景图片 【DecorationImage】," - ] - }, - { - "file": "node3_border.dart", - "name": "DecoratedBox边线装饰", - "desc": [ - "【border】 : 边线 【BoxBorder】," - ] - }, - { - "file": "node4_shape.dart", - "name": "DecoratedBox形状装饰", - "desc": [ - "通过ShapeDecoration对象可指定边线形状," - ] - }, - { - "file": "node5_line.dart", - "name": "DecoratedBox底线装饰", - "desc": [ - "通过UnderlineTabIndicator对象可指定底线," - ] - }, - { - "file": "node6_flutterLogo.dart", - "name": "FlutterLogoDecoration装饰", - "desc": [ - "通过FlutterLogoDecoration对象可指定Flutter图标装饰(并没有什么太大的作用)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node1_base.dart deleted file mode 100644 index bfd90d69c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node1_base.dart +++ /dev/null @@ -1,44 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class BoxDecorationDemo extends StatelessWidget { - const BoxDecorationDemo({Key? key}) : super(key: key); - - final List rainbow = const [ - 0xffff0000, - 0xffFF7F00, - 0xffFFFF00, - 0xff00FF00, - 0xff00FFFF, - 0xff0000FF, - 0xff8B00FF - ]; - - @override - Widget build(BuildContext context) { - return DecoratedBox( - position: DecorationPosition.background, - decoration: BoxDecoration( - gradient: LinearGradient( - stops: const [0.0, 1 / 6, 2 / 6, 3 / 6, 4 / 6, 5 / 6, 1.0], - colors: rainbow.map((e) => Color(e)).toList()), - borderRadius: const BorderRadius.only( - topLeft: Radius.circular(20), - bottomRight: Radius.circular(20), - ), - boxShadow: const [ - BoxShadow( - color: Colors.orangeAccent, - offset: Offset(1, 1), - blurRadius: 10, - spreadRadius: 1), - ]), - child: Icon( - Icons.android, - size: 80, - color: Colors.black.withAlpha(123), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node2_image.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node2_image.dart deleted file mode 100644 index 850cfb049..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node2_image.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class ShapeImageDemo extends StatelessWidget { - const ShapeImageDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const DecoratedBox( - decoration: BoxDecoration( - shape: BoxShape.circle, - image: DecorationImage( - fit: BoxFit.cover, - image: AssetImage( - 'assets/images/wy_200x300.webp', - ))), - child: SizedBox( - height: 80, - width: 80, - child: Icon( - Icons.ac_unit, - color: Colors.white, - size: 40, - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node3_border.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node3_border.dart deleted file mode 100644 index a1aec5cd6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node3_border.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class BorderDemo extends StatelessWidget { - const BorderDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return DecoratedBox( - position: DecorationPosition.foreground, - decoration: const BoxDecoration( - border: Border( - bottom: BorderSide(color: Colors.orange, width: 2), - top: BorderSide(color: Colors.orange, width: 2)), - ), - child: SizedBox( - height: 80, - width: 100, - child: Image.asset( - 'assets/images/wy_200x300.webp', - fit: BoxFit.cover, - ), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node4_shape.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node4_shape.dart deleted file mode 100644 index 140000141..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node4_shape.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class ShapeDecorationDemo extends StatelessWidget { - const ShapeDecorationDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const DecoratedBox( - decoration: ShapeDecoration( - shadows: [ - BoxShadow( - color: Colors.orangeAccent, - offset: Offset(0, 0), - blurRadius: 2, - spreadRadius: 1), - ], - image: DecorationImage( - fit: BoxFit.cover, - image: AssetImage( - 'assets/images/wy_200x300.webp', - )), - shape: CircleBorder( - side: BorderSide(width: 1.0, color: Colors.orangeAccent), - )), - child: SizedBox( - height: 100, - width: 100, - child: Icon( - Icons.ac_unit, - color: Colors.white, - size: 40, - ), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node5_line.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node5_line.dart deleted file mode 100644 index 95ed6d9fa..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node5_line.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class UnderlineTabIndicatorDemo extends StatelessWidget { - const UnderlineTabIndicatorDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const DecoratedBox( - decoration: UnderlineTabIndicator( - insets: EdgeInsets.symmetric(horizontal: 5, vertical: -5), - borderSide: BorderSide(color: Colors.orange, width: 2)), - child: Icon( - Icons.ac_unit, - color: Colors.blue, - size: 40, - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node6_flutterLogo.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node6_flutterLogo.dart deleted file mode 100644 index 644f732a6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/DecoratedBox/node6_flutterLogo.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - - -class FlutterLogoDecorationDemo extends StatelessWidget { - const FlutterLogoDecorationDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const DecoratedBox( - decoration: FlutterLogoDecoration( -// darkColor: Colors.orange, -// lightColor: Colors.deepPurpleAccent, - margin: EdgeInsets.all(8), - style: FlutterLogoStyle.stacked), - child: SizedBox( - width: 100, - height: 100, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_de_DE.json deleted file mode 100644 index 72b9e13a9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 89, - "name": "FadeTransition", - "localName": "Transparenzübergang", - "info": "Kann ein Kindelement aufnehmen und eine Transparenzverlaufsanimation durchführen, wobei ein Animator opacity erforderlich ist.", - "lever": 3, - "family": 2, - "linkIds": [ - 73, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von FadeTransition", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【opacity】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_en_US.json deleted file mode 100644 index 782154386..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 89, - "name": "FadeTransition", - "localName": "Fade Transition", - "info": "Can contain a child component and make it perform a fade animation, requires an animator opacity.", - "lever": 3, - "family": 2, - "linkIds": [ - 73, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of FadeTransition", - "desc": [ - "【child】 : Child Component 【Widget】", - "【opacity】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_es_ES.json deleted file mode 100644 index b40ee1630..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 89, - "name": "FadeTransition", - "localName": "Transición de desvanecimiento", - "info": "Puede contener un componente hijo y hacer que realice una animación de cambio de opacidad, requiere un animador de opacidad.", - "lever": 3, - "family": 2, - "linkIds": [ - 73, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de FadeTransition", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【opacity】 : Animación 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_fr_FR.json deleted file mode 100644 index a0336deec..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 89, - "name": "FadeTransition", - "localName": "Transition de transparence", - "info": "Peut contenir un composant enfant et lui appliquer une animation de transition d'opacité, nécessite un animateur opacity.", - "lever": 3, - "family": 2, - "linkIds": [ - 73, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de FadeTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【opacity】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_it_IT.json deleted file mode 100644 index 9ba5f4109..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 89, - "name": "FadeTransition", - "localName": "Transizione di trasparenza", - "info": "Può contenere un componente figlio e fargli eseguire un'animazione di dissolvenza della trasparenza, richiede un animatore opacity.", - "lever": 3, - "family": 2, - "linkIds": [ - 73, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di FadeTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【opacity】 : Animazione 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_ja_JP.json deleted file mode 100644 index 5dbe65a08..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 89, - "name": "FadeTransition", - "localName": "フェードトランジション", - "info": "1つの子コンポーネントを収容し、透明度の変化アニメーションを行わせることができます。アニメーターopacityを提供する必要があります。", - "lever": 3, - "family": 2, - "linkIds": [ - 73, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeTransitionの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【opacity】 : アニメーション 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_ko_KR.json deleted file mode 100644 index 1bae8dc2c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 89, - "name": "FadeTransition", - "localName": "투명도 전환", - "info": "하나의 자식 위젯을 포함할 수 있으며, 투명도가 점진적으로 변하는 애니메이션을 수행합니다. 애니메이터 opacity를 제공해야 합니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 73, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeTransition 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【opacity】 : 애니메이션 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_pt_PT.json deleted file mode 100644 index 20a6bf530..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 89, - "name": "FadeTransition", - "localName": "Transição de Transparência", - "info": "Pode conter um componente filho e fazer com que ele realize uma animação de transição de transparência, é necessário fornecer o animador opacity.", - "lever": 3, - "family": 2, - "linkIds": [ - 73, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do FadeTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【opacity】 : Animação 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_ru_RU.json deleted file mode 100644 index 3814c3646..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 89, - "name": "FadeTransition", - "localName": "Прозрачное преобразование", - "info": "Может содержать один дочерний компонент и выполнять анимацию изменения прозрачности, требует предоставления аниматора opacity.", - "lever": 3, - "family": 2, - "linkIds": [ - 73, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование FadeTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【opacity】 : Анимация 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_zh-CN.json deleted file mode 100644 index 540920f70..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 89, - "name": "FadeTransition", - "localName": "透明变换", - "info": "可容纳一个子组件,并使其进行透明度渐变动画,需要提供动画器opacity。", - "lever": 3, - "family": 2, - "linkIds": [ - 73, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeTransition基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【opacity】 : 动画 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/node1_base.dart deleted file mode 100644 index 83332841d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FadeTransition/node1_base.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomFadeTransition extends StatefulWidget { - const CustomFadeTransition({Key? key}) : super(key: key); - - @override - _CustomFadeTransitionState createState() => _CustomFadeTransitionState(); -} - -class _CustomFadeTransitionState extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - - @override - void initState() { - _ctrl = AnimationController( - vsync: this, - duration: const Duration(seconds: 2), - ); - _ctrl.forward(); - super.initState(); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => _ctrl.forward(from: 0), - child: Container( - color: Colors.grey.withAlpha(22), - width: 100, - height: 100, - child: FadeTransition( - opacity: CurvedAnimation(parent: _ctrl, curve: Curves.linear), - child: const Icon(Icons.android, color: Colors.green, size: 60), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_de_DE.json deleted file mode 100644 index 3a4aa12fd..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 87, - "name": "FittedBox", - "localName": "Anpassungsbox", - "info": "Kann ein Kindelement aufnehmen, verwendet die fit-Eigenschaft, um den Anpassungsmodus des Kindelements im Verhältnis zum Elternelement zu bestimmen, und verfügt über die Ausrichtungseigenschaft alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von FittedBox", - "desc": [ - "【child】: Kindelement 【Widget】", - "【fit】: Anpassungsmodus 【BoxFit】", - "【alignment】: Ausrichtung 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_en_US.json deleted file mode 100644 index 8c894a017..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 87, - "name": "FittedBox", - "localName": "Fitted Box", - "info": "Can accommodate a child component, using the fit property to determine the adaptation mode of the child component area relative to the parent component, and has the alignment property.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of FittedBox", - "desc": [ - "【child】: Child component 【Widget】", - "【fit】: Adaptation mode 【BoxFit】", - "【alignment】: Alignment method 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_es_ES.json deleted file mode 100644 index 144cf6a15..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 87, - "name": "FittedBox", - "localName": "Caja ajustada", - "info": "Puede contener un componente hijo, utiliza la propiedad fit para determinar el modo de adaptación del área del componente hijo en relación con el componente padre, y tiene la propiedad de alineación alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de FittedBox", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【fit】 : Modo de adaptación 【BoxFit】", - "【alignment】 : Modo de alineación 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_fr_FR.json deleted file mode 100644 index 2e8ade464..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 87, - "name": "FittedBox", - "localName": "Boîte ajustée", - "info": "Peut contenir un composant enfant, utilise la propriété fit pour déterminer le mode d'adaptation de la zone du composant enfant par rapport au composant parent, possède la propriété d'alignement alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de FittedBox", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【fit】 : Mode d'adaptation 【BoxFit】", - "【alignment】 : Mode d'alignement 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_it_IT.json deleted file mode 100644 index 2a64e52a2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 87, - "name": "FittedBox", - "localName": "Scatola adattata", - "info": "Può contenere un componente figlio, utilizza la proprietà fit per determinare la modalità di adattamento dell'area del componente figlio rispetto al componente padre, ha la proprietà di allineamento alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di FittedBox", - "desc": [ - "【child】 : componente figlio 【Widget】", - "【fit】 : modalità di adattamento 【BoxFit】", - "【alignment】 : modalità di allineamento 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_ja_JP.json deleted file mode 100644 index 0e7173ddc..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 87, - "name": "FittedBox", - "localName": "フィットボックス", - "info": "1つの子コンポーネントを収容でき、fitプロパティを使用して子コンポーネントの領域を親コンポーネントに対する適応モードを決定し、alignmentプロパティを持っています。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FittedBoxの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【fit】 : 適応モード 【BoxFit】", - "【alignment】 : 整列方法 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_ko_KR.json deleted file mode 100644 index bfee7328f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 87, - "name": "FittedBox", - "localName": "적응 박스", - "info": "하위 컴포넌트를 수용할 수 있으며, fit 속성을 사용하여 하위 컴포넌트 영역이 상위 컴포넌트에 대한 적응 모드를 결정합니다. alignment 속성을 가지고 있습니다.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FittedBox 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【fit】 : 적응 모드 【BoxFit】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_pt_PT.json deleted file mode 100644 index 4f31e07c5..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 87, - "name": "FittedBox", - "localName": "Caixa Ajustada", - "info": "Pode conter um componente filho, usando a propriedade fit para determinar o modo de ajuste da área do componente filho em relação ao componente pai, possui a propriedade de alinhamento alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do FittedBox", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【fit】 : Modo de ajuste 【BoxFit】", - "【alignment】 : Modo de alinhamento 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_ru_RU.json deleted file mode 100644 index e8f902e0f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 87, - "name": "FittedBox", - "localName": "Адаптивный бокс", - "info": "Может содержать один дочерний компонент, использует свойство fit для определения режима адаптации области дочернего компонента относительно родительского компонента, имеет свойство выравнивания alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование FittedBox", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【fit】 : Режим адаптации 【BoxFit】", - "【alignment】 : Способ выравнивания 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_zh-CN.json deleted file mode 100644 index 3304f7748..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 87, - "name": "FittedBox", - "localName": "适应盒", - "info": "可容纳一个子组件,使用fit属性决定子组件区域相当于父组件的适应模式,拥有对齐属性alignment。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FittedBox基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【fit】 : 适应模式 【BoxFit】", - "【alignment】 : 对齐方式 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/node1_base.dart deleted file mode 100644 index 8eeabb96e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FittedBox/node1_base.dart +++ /dev/null @@ -1,87 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomFittedBox extends StatefulWidget { - const CustomFittedBox({Key? key}) : super(key: key); - - @override - _CustomFittedBoxState createState() => _CustomFittedBoxState(); -} - -class _CustomFittedBoxState extends State { - double _childW = 20; - double _childH = 30; - - final List rainbow = const [ - 0xffff0000, - 0xffFF7F00, - 0xffFFFF00, - 0xff00FF00, - 0xff00FFFF, - 0xff0000FF, - 0xff8B00FF - ]; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Wrap( - spacing: 10, - runSpacing: 10, - children: BoxFit.values - .map((mode) => Column( - children: [ - _buildChild(mode), - const SizedBox(height: 10), - Text(mode.toString().split('.')[1]) - ], - )) - .toList()), - _buildSlider() - ], - ); - } - - Widget _buildChild(BoxFit m) { - return Container( - color: Colors.grey.withAlpha(44), - width: 80, - height: 60, - child: FittedBox( - fit: m, - child: Container( - width: _childW, - height: _childH, - decoration: BoxDecoration( - //添加渐变色 - gradient: LinearGradient( - stops: const[0.0, 1 / 6, 2 / 6, 3 / 6, 4 / 6, 5 / 6, 1.0], - colors: rainbow.map((e) => Color(e)).toList()), - ), - ), - ), - ); - } - - Widget _buildSlider() => Column( - children: [ - Slider( - min: 10, - max: 150, - divisions: 100, - label: '子宽度:' + _childW.toStringAsFixed(1), - value: _childW, - onChanged: (v) => setState(() => _childW = v)), - Slider( - min: 10, - max: 150, - divisions: 100, - label: '子高度:' + _childH.toStringAsFixed(1), - value: _childH, - onChanged: (v) => setState(() => _childH = v)), - ], - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_de_DE.json deleted file mode 100644 index c0c0f1a53..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 263, - "name": "FractionalTranslation", - "localName": "Teilverschiebung", - "info": "Verschiebt das Kindelement durch die offset-Eigenschaft, die Verschiebung ist OffSet horizontal/vertikal * Größe des Kindelements.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von FractionalTranslation", - "desc": [ - "【translation】 : Verschiebungsteilungswert 【Offset】", - "【child】: Kindelement 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_en_US.json deleted file mode 100644 index aaad7c9a3..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 263, - "name": "FractionalTranslation", - "localName": "Fractional Translation", - "info": "Offset the child component through the offset property, the offset is the horizontal and vertical OffSet * the size of the child component.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of FractionalTranslation", - "desc": [ - "【translation】: Offset fraction value 【Offset】", - "【child】: Child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_es_ES.json deleted file mode 100644 index aab50acbb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 263, - "name": "FractionalTranslation", - "localName": "Desplazamiento fraccional", - "info": "Desplaza el componente hijo mediante la propiedad offset, la cantidad de desplazamiento es el tamaño del componente hijo multiplicado por el OffSet horizontal y vertical.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de FractionalTranslation", - "desc": [ - "【translation】: Valor de desplazamiento fraccional 【Offset】", - "【child】: Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_fr_FR.json deleted file mode 100644 index 34d54e5cd..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 263, - "name": "FractionalTranslation", - "localName": "Translation fractionnaire", - "info": "Déplace le composant enfant via la propriété offset, le déplacement est égal à la taille du composant enfant multipliée par les valeurs horizontale et verticale de l'Offset.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de FractionalTranslation", - "desc": [ - "【translation】 : Valeur de déplacement fractionnaire 【Offset】", - "【child】: Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_it_IT.json deleted file mode 100644 index 38fac9c2c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 263, - "name": "FractionalTranslation", - "localName": "Traduzione Frazionaria", - "info": "Sposta il componente figlio tramite la proprietà offset, dove lo spostamento è determinato da OffSet orizzontale e verticale moltiplicato per la dimensione del componente figlio.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di FractionalTranslation", - "desc": [ - "【translation】 : Valore di spostamento frazionario 【Offset】", - "【child】: Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_ja_JP.json deleted file mode 100644 index b74f4b4a3..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 263, - "name": "FractionalTranslation", - "localName": "分度オフセット", - "info": "offsetプロパティを使用して子コンポーネントをオフセットします。オフセット量はOffSetの横縦×子コンポーネントのサイズです。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FractionalTranslationの基本使用", - "desc": [ - "【translation】 : オフセット分度値 【Offset】", - "【child】: 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_ko_KR.json deleted file mode 100644 index 670b7fc3d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 263, - "name": "FractionalTranslation", - "localName": "분할 오프셋", - "info": "offset 속성을 통해 자식 컴포넌트를 오프셋하며, 오프셋량은 OffSet의 가로 및 세로 * 자식 컴포넌트 크기입니다.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FractionalTranslation 기본 사용", - "desc": [ - "【translation】 : 오프셋 분할 값 【Offset】", - "【child】: 자식 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_pt_PT.json deleted file mode 100644 index b988006fc..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 263, - "name": "FractionalTranslation", - "localName": "Deslocamento Fracionado", - "info": "Desloca o componente filho através da propriedade offset, onde o deslocamento é o tamanho do componente filho multiplicado pelo valor horizontal e vertical do Offset.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do FractionalTranslation", - "desc": [ - "【translation】 : Valor de deslocamento fracionado 【Offset】", - "【child】: Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_ru_RU.json deleted file mode 100644 index a8e840894..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 263, - "name": "FractionalTranslation", - "localName": "Дробное смещение", - "info": "Смещение дочернего компонента с помощью свойства offset, величина смещения равна OffSet по горизонтали и вертикали * размер дочернего компонента.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование FractionalTranslation", - "desc": [ - "【translation】 : Значение дробного смещения 【Offset】", - "【child】: Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_zh-CN.json deleted file mode 100644 index e04c12b92..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 263, - "name": "FractionalTranslation", - "localName": "分度偏移", - "info": "通过offset属性将子组件进行偏移,偏移量为OffSet横纵*子组件大小。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FractionalTranslation基本使用", - "desc": [ - "【translation】 : 偏移分度值 【Offset】", - "【child】: 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/node1_base.dart deleted file mode 100644 index 767896812..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionalTranslation/node1_base.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class FractionalTranslationDemo extends StatefulWidget { - const FractionalTranslationDemo({Key? key}) : super(key: key); - - @override - _FractionalTranslationDemoState createState() => - _FractionalTranslationDemoState(); -} - -class _FractionalTranslationDemoState extends State { - double dx = 0.0; - double dy = 0.0; - - @override - Widget build(BuildContext context) { - print(dx); - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - Container( - width: 200, - height: 100, - alignment: Alignment.topLeft, - color: Colors.grey.withAlpha(33), - child: FractionalTranslation( - translation: Offset(dx, dy), - child: const Icon( - Icons.android, - color: Colors.green, - ), - ), - ), - _buildSliderX(), - _buildSliderY() - ], - ); - } - - Widget _buildSliderX() => Slider( - min: -2.0, - max: 10.0, - value: dx, - divisions: 100, - label: 'dx:${dx.toStringAsFixed(1)}', - onChanged: (v) => setState(() => dx = v), - ); - - - Widget _buildSliderY() => Slider( - min: -2.0, - max: 6.0, - value: dy, - divisions: 100, - label: 'dy:${dy.toStringAsFixed(1)}', - onChanged: (v) => setState(() => dy = v), - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_de_DE.json deleted file mode 100644 index 6b1d6f63c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 82, - "name": "FractionallySizedBox", - "localName": "Teilweise Größenbox", - "info": "Kann ein Kindelement aufnehmen, gibt die Breiten- und Höhenanteile an, begrenzt den Bereich des Kindelements auf die Breite und Höhe des Elterncontainers * die jeweiligen Anteile sowie die Ausrichtung alignment.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von FractionallySizedBox", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【widthFactor】 : Breitenanteil 【double】", - "【heightFactor】 : Höhenanteil 【double】", - "【alignment】 : Ausrichtung 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_en_US.json deleted file mode 100644 index f2f27034b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 82, - "name": "FractionallySizedBox", - "localName": "FractionallySizedBox", - "info": "Can contain a child component, specify width and height fractions, limit the child component area to the parent container's width and height * each fraction, and alignment.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of FractionallySizedBox", - "desc": [ - "【child】 : Child component 【Widget】", - "【widthFactor】 : Width fraction 【double】", - "【heightFactor】 : Height fraction 【double】", - "【alignment】 : Alignment 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_es_ES.json deleted file mode 100644 index b78005e44..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 82, - "name": "FractionallySizedBox", - "localName": "Caja de tamaño fraccional", - "info": "Puede contener un componente hijo, especifica la proporción de ancho y alto, limita el área del componente hijo al ancho y alto del contenedor padre multiplicado por cada proporción, y la alineación.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de FractionallySizedBox", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【widthFactor】 : Proporción de ancho 【double】", - "【heightFactor】 : Proporción de alto 【double】", - "【alignment】 : Alineación 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_fr_FR.json deleted file mode 100644 index 0dc0f2a24..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 82, - "name": "FractionallySizedBox", - "localName": "Boîte à taille fractionnée", - "info": "Peut contenir un composant enfant, spécifie le taux de largeur et de hauteur, limite la zone du composant enfant à la largeur et à la hauteur du conteneur parent * chaque taux, ainsi que l'alignement.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de FractionallySizedBox", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【widthFactor】 : Taux de largeur 【double】", - "【heightFactor】 : Taux de hauteur 【double】", - "【alignment】 : Mode d'alignement 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_it_IT.json deleted file mode 100644 index dd2e681f2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 82, - "name": "FractionallySizedBox", - "localName": "Scatola a Frazione", - "info": "Può contenere un componente figlio, specifica la frazione di larghezza e altezza, limita l'area del componente figlio alla larghezza e altezza del contenitore padre * ciascuna frazione, e il modo di allineamento alignment.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di FractionallySizedBox", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【widthFactor】 : Frazione di larghezza 【double】", - "【heightFactor】 : Frazione di altezza 【double】", - "【alignment】 : Modo di allineamento 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_ja_JP.json deleted file mode 100644 index ca0219d04..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 82, - "name": "FractionallySizedBox", - "localName": "分率ボックス", - "info": "子コンポーネントを収容し、幅と高さの分率を指定し、子コンポーネントの領域を親コンテナの幅と高さ×各分率に制限し、および配置方法alignmentを指定します。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FractionallySizedBoxの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【widthFactor】 : 幅分率 【double】", - "【heightFactor】 : 高さ分率 【double】", - "【alignment】 : 配置方法 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_ko_KR.json deleted file mode 100644 index a9b983294..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 82, - "name": "FractionallySizedBox", - "localName": "분율 박스", - "info": "하위 컴포넌트를 수용할 수 있으며, 너비와 높이의 분율을 지정하여 하위 컴포넌트의 영역을 부모 컨테이너의 너비와 높이에 각 분율을 곱한 값으로 제한하고, 정렬 방식을 지정합니다.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FractionallySizedBox 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【widthFactor】 : 너비 분율 【double】", - "【heightFactor】 : 높이 분율 【double】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_pt_PT.json deleted file mode 100644 index 291294b90..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 82, - "name": "FractionallySizedBox", - "localName": "Caixa de Tamanho Fracionado", - "info": "Pode conter um componente filho, especifica a taxa de largura e altura, limitando a área do componente filho à largura e altura do contêiner pai * cada taxa, e o alinhamento.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do FractionallySizedBox", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【widthFactor】 : Taxa de largura 【double】", - "【heightFactor】 : Taxa de altura 【double】", - "【alignment】 : Alinhamento 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_ru_RU.json deleted file mode 100644 index 65d44be0f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 82, - "name": "FractionallySizedBox", - "localName": "Дробный контейнер", - "info": "Может содержать один дочерний компонент, задает дробные значения ширины и высоты, ограничивая область дочернего компонента шириной и высотой родительского контейнера, умноженными на соответствующие дроби, а также способ выравнивания alignment.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование FractionallySizedBox", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【widthFactor】 : Дробное значение ширины 【double】", - "【heightFactor】 : Дробное значение высоты 【double】", - "【alignment】 : Способ выравнивания 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_zh-CN.json deleted file mode 100644 index fd62f8077..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 82, - "name": "FractionallySizedBox", - "localName": "分率盒", - "info": "可容纳一个子组件,指定宽高分率,限定子组件区域为父容器宽高*各分率,及对齐方式alignment。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FractionallySizedBox基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【widthFactor】 : 宽分率 【double】", - "【heightFactor】 : 高分率 【double】", - "【alignment】 : 对齐方式 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/node1_base.dart deleted file mode 100644 index 66b97ef32..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/FractionallySizedBox/node1_base.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomFractionallySizedBox extends StatefulWidget { - const CustomFractionallySizedBox({Key? key}) : super(key: key); - - @override - _CustomFractionallySizedBoxState createState() => - _CustomFractionallySizedBoxState(); -} - -class _CustomFractionallySizedBoxState - extends State { - double _hf = 0.5; - double _wf = 0.4; - - @override - Widget build(BuildContext context) { - Widget box = FractionallySizedBox( - widthFactor: _wf, - heightFactor: _hf, - alignment: Alignment.center, - child: Container(color: Colors.orange), - ); - return Column( - children: [ - Container( - color: Colors.grey.withAlpha(22), - width: 200, - height: 100, - child: box), - _buildSlider() - ], - ); - } - - Widget _buildSlider() => Column( - children: [ - Slider( - divisions: 20, - min: 0.0, - max: 2, - label: '宽分率:' + _wf.toStringAsFixed(1), - value: _wf, - onChanged: (v) => setState(() => _wf = v)), - Slider( - divisions: 20, - min: 0.0, - max: 2, - label: '高分率:' + _hf.toStringAsFixed(1), - value: _hf, - onChanged: (v) => setState(() => _hf = v)), - ], - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_de_DE.json deleted file mode 100644 index 05561221c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 292, - "name": "IgnorePointer", - "localName": "Ignoriere Klicks", - "info": "Enthält ein Kind-Widget und kann durch Festlegen der Eigenschaft ignoring entscheiden, ob das Kind Gestenereignisse ignoriert. Es selbst empfängt keine Ereignisse.", - "lever": 4, - "family": 2, - "linkIds": [ - 295, - 146, - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von IgnorePointer", - "desc": [ - "【child】 : Kind-Widget 【Widget】", - "【ignoring】 : Ob Ereignisse ignoriert werden sollen 【bool】", - "Wie unten gezeigt, wenn der Switch ausgewählt ist, ist ignoring true, und die Schaltflächenereignisse werden gesperrt und können nicht geklickt werden." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_en_US.json deleted file mode 100644 index 9c643e1ec..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 292, - "name": "IgnorePointer", - "localName": "Ignore Click", - "info": "Contains a child component, and it can decide whether the child ignores gesture events by specifying the ignoring property. It does not accept events itself.", - "lever": 4, - "family": 2, - "linkIds": [ - 295, - 146, - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of IgnorePointer", - "desc": [ - "【child】 : Child component 【Widget】", - "【ignoring】 : Whether to ignore events 【bool】", - "As shown below, when the Switch is selected, ignoring is true, and the button event will be locked and cannot be clicked." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_es_ES.json deleted file mode 100644 index 1c1c9c8f2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 292, - "name": "IgnorePointer", - "localName": "Ignorar clic", - "info": "Contiene un componente hijo, y puede decidir si el hijo ignora los eventos de gestos especificando la propiedad ignoring, mientras que él mismo no acepta eventos.", - "lever": 4, - "family": 2, - "linkIds": [ - 295, - 146, - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de IgnorePointer", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【ignoring】 : Si se ignoran los eventos 【bool】", - "A continuación, cuando el Switch está seleccionado, ignoring es true, y los eventos del botón se bloquearán, no se podrá hacer clic." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_fr_FR.json deleted file mode 100644 index 9cf81b6e0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 292, - "name": "IgnorePointer", - "localName": "Ignorer les clics", - "info": "Contient un composant enfant, et peut décider si l'enfant ignore les événements de geste en spécifiant la propriété ignoring, lui-même n'accepte pas les événements.", - "lever": 4, - "family": 2, - "linkIds": [ - 295, - 146, - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'IgnorePointer", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【ignoring】 : Ignorer les événements 【bool】", - "Comme ci-dessous, lorsque le Switch est sélectionné, ignoring est true, l'événement du bouton sera verrouillé et ne pourra pas être cliqué." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_it_IT.json deleted file mode 100644 index cae053ba8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 292, - "name": "IgnorePointer", - "localName": "Ignora Clic", - "info": "Contiene un componente figlio e può decidere se il figlio ignora gli eventi del gesto specificando l'attributo ignoring, mentre esso stesso non accetta eventi.", - "lever": 4, - "family": 2, - "linkIds": [ - 295, - 146, - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di IgnorePointer", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【ignoring】 : Se ignorare gli eventi 【bool】", - "Come mostrato di seguito, quando Switch è selezionato, ignoring è true e l'evento del pulsante sarà bloccato, non cliccabile." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_ja_JP.json deleted file mode 100644 index 433c594c2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 292, - "name": "IgnorePointer", - "localName": "クリックを無視", - "info": "子コンポーネントを含み、ignoring属性を指定することで、子がジェスチャーイベントを無視するかどうかを決定できます。それ自体はイベントを受け取りません。", - "lever": 4, - "family": 2, - "linkIds": [ - 295, - 146, - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IgnorePointerの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【ignoring】 : イベントを無視するかどうか 【bool】", - "以下のように、Switchが選択されている場合、ignoringがtrueになり、ボタンイベントがロックされ、クリックできなくなります。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_ko_KR.json deleted file mode 100644 index 15024f6dc..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 292, - "name": "IgnorePointer", - "localName": "클릭 무시", - "info": "하위 위젯을 포함하며, ignoring 속성을 지정하여 하위 위젯이 제스처 이벤트를 무시할지 여부를 결정할 수 있습니다. 그 자체는 이벤트를 받지 않습니다.", - "lever": 4, - "family": 2, - "linkIds": [ - 295, - 146, - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IgnorePointer 기본 사용법", - "desc": [ - "【child】 : 하위 위젯 【Widget】", - "【ignoring】 : 이벤트 무시 여부 【bool】", - "아래 예시에서 Switch가 선택되면 ignoring이 true가 되어 버튼 이벤트가 잠기고 클릭할 수 없게 됩니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_pt_PT.json deleted file mode 100644 index 27dfa8467..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 292, - "name": "IgnorePointer", - "localName": "Ignorar Cliques", - "info": "Contém um componente filho e pode decidir se o filho ignora eventos de gestos especificando o atributo ignoring, ele próprio não aceita eventos.", - "lever": 4, - "family": 2, - "linkIds": [ - 295, - 146, - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do IgnorePointer", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【ignoring】 : Se deve ignorar eventos 【bool】", - "Abaixo, quando o Switch está selecionado, ignoring é true, e o evento do botão será bloqueado, não podendo ser clicado." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_ru_RU.json deleted file mode 100644 index 5acc73202..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 292, - "name": "IgnorePointer", - "localName": "Игнорировать клик", - "info": "Содержит дочерний компонент, который может игнорировать жестовые события в зависимости от указанного свойства ignoring, сам по себе не принимает события.", - "lever": 4, - "family": 2, - "linkIds": [ - 295, - 146, - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование IgnorePointer", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【ignoring】 : Игнорировать ли события 【bool】", - "Как показано ниже, когда Switch выбран, ignoring становится true, и события кнопки блокируются, делая её неактивной для кликов." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_zh-CN.json deleted file mode 100644 index 19964c2b7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 292, - "name": "IgnorePointer", - "localName": "忽视点击", - "info": "容纳一个子组件,可以通过指定ignoring属性,来决定孩子是否忽略手势事件,其本身不接受事件。", - "lever": 4, - "family": 2, - "linkIds": [ - 295, - 146, - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IgnorePointer基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【ignoring】 : 是否忽视事件 【bool】", - "如下,Switch选中时ignoring为true,按钮事件将被锁定,无法点击。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/node1_base.dart deleted file mode 100644 index 699d88a70..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IgnorePointer/node1_base.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - - -class CustomIgnorePointer extends StatefulWidget { - const CustomIgnorePointer({Key? key}) : super(key: key); - - @override - _CustomIgnorePointerState createState() => _CustomIgnorePointerState(); -} - -class _CustomIgnorePointerState extends State { - bool _ignore = false; - - @override - Widget build(BuildContext context) { - return Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - GestureDetector( - onTap: (){ - print('IgnorePointer'); - }, - child: IgnorePointer( - ignoring: _ignore, - child: _buildButton(), - ), - ), - _buildSwitch(), - Text(!_ignore ? '允许点击' : '点击已锁定') - ], - ); - } - - Widget _buildButton() => ElevatedButton( - child: const Text( - 'To About', - style: TextStyle(color: Colors.white), - ), - onPressed: () => Navigator.of(context).pushNamed('AboutMePage')); - - Widget _buildSwitch() => Switch( - value: _ignore, - onChanged: (v) { - setState(() { - _ignore = v; - }); - }); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_de_DE.json deleted file mode 100644 index 03f46e2ea..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_de_DE.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 357, - "name": "ImageFiltered", - "localName": "Bildfilter", - "info": "Mit dem ImageFilter-Bildfilter können beliebige Komponenten mit Effekten wie Gaußscher Unschärfe, Farbfiltern, Transformationen usw. verarbeitet werden.", - "lever": 4, - "family": 2, - "linkIds": [ - 278, - 88 - ], - "nodes": [ - { - "file": "node1_blur.dart", - "name": "ImageFilter Gaußsche Unschärfe", - "desc": [ - "【imageFilter】 : Bildfilter 【ImageFilter】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - }, - { - "file": "node2_color.dart", - "name": "ImageFilter Farbeffekt", - "desc": [ - "Farbfilter wird durch das ColorFilter-Objekt implementiert." - ] - }, - { - "file": "node3_matrix.dart", - "name": "ImageFilter Transformationseffekt", - "desc": [ - "Matrix-Transformation durch ImageFilter.matrix-Konstruktion, aber eher unbrauchbar." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_en_US.json deleted file mode 100644 index 3501a59e0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_en_US.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 357, - "name": "ImageFiltered", - "localName": "Image Filter", - "info": "Through the ImageFilter image filter, any component can be processed with special effects, including but not limited to Gaussian blur, color filter, transformation, etc.", - "lever": 4, - "family": 2, - "linkIds": [ - 278, - 88 - ], - "nodes": [ - { - "file": "node1_blur.dart", - "name": "ImageFilter Gaussian Blur", - "desc": [ - "【imageFilter】 : Image filter 【ImageFilter】", - "【child】 : Child component 【Widget】" - ] - }, - { - "file": "node2_color.dart", - "name": "ImageFilter Color Effect", - "desc": [ - "Achieve color filter through the ColorFilter object." - ] - }, - { - "file": "node3_matrix.dart", - "name": "ImageFilter Transformation Effect", - "desc": [ - "Perform matrix transformation through the ImageFilter.matrix constructor, but it is relatively weak." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_es_ES.json deleted file mode 100644 index 66a8d1dda..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_es_ES.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 357, - "name": "ImageFiltered", - "localName": "Filtro de imagen", - "info": "Con el filtro de imagen ImageFilter, se pueden aplicar efectos especiales a cualquier componente, incluyendo pero no limitado a desenfoque gaussiano, filtros de color, transformaciones, etc.", - "lever": 4, - "family": 2, - "linkIds": [ - 278, - 88 - ], - "nodes": [ - { - "file": "node1_blur.dart", - "name": "Desenfoque gaussiano ImageFilter", - "desc": [ - "【imageFilter】 : Filtro de imagen 【ImageFilter】", - "【child】 : Componente hijo 【Widget】" - ] - }, - { - "file": "node2_color.dart", - "name": "Efecto de filtro de color ImageFilter", - "desc": [ - "Se implementa un filtro de color a través del objeto ColorFilter." - ] - }, - { - "file": "node3_matrix.dart", - "name": "Efecto de transformación ImageFilter", - "desc": [ - "Se realiza una transformación de matriz a través de la construcción ImageFilter.matrix, pero es bastante limitado." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_fr_FR.json deleted file mode 100644 index a9b78902b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_fr_FR.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 357, - "name": "ImageFiltered", - "localName": "Filtre d'image", - "info": "Avec le filtre d'image ImageFilter, vous pouvez appliquer des effets spéciaux à n'importe quel composant, y compris mais sans s'y limiter, le flou gaussien, les filtres de couleur, les transformations, etc.", - "lever": 4, - "family": 2, - "linkIds": [ - 278, - 88 - ], - "nodes": [ - { - "file": "node1_blur.dart", - "name": "ImageFilter Flou Gaussien", - "desc": [ - "【imageFilter】 : Filtre d'image 【ImageFilter】", - "【child】 : Composant enfant 【Widget】" - ] - }, - { - "file": "node2_color.dart", - "name": "ImageFilter Effet de Filtre de Couleur", - "desc": [ - "Réalisez un filtre de couleur via l'objet ColorFilter." - ] - }, - { - "file": "node3_matrix.dart", - "name": "ImageFilter Effet de Transformation", - "desc": [ - "Effectuez une transformation matricielle via la construction ImageFilter.matrix, mais c'est assez limité." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_it_IT.json deleted file mode 100644 index 496905097..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_it_IT.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 357, - "name": "ImageFiltered", - "localName": "Filtro Immagine", - "info": "Con il filtro immagine ImageFilter, è possibile applicare effetti speciali a qualsiasi componente, inclusi ma non limitati a sfocatura gaussiana, filtri colore, trasformazioni, ecc.", - "lever": 4, - "family": 2, - "linkIds": [ - 278, - 88 - ], - "nodes": [ - { - "file": "node1_blur.dart", - "name": "Sfocatura Gaussiana ImageFilter", - "desc": [ - "【imageFilter】 : Filtro immagine 【ImageFilter】", - "【child】 : Componente figlio 【Widget】" - ] - }, - { - "file": "node2_color.dart", - "name": "Effetto Filtro Colore ImageFilter", - "desc": [ - "Implementazione del filtro colore tramite l'oggetto ColorFilter." - ] - }, - { - "file": "node3_matrix.dart", - "name": "Effetto Trasformazione ImageFilter", - "desc": [ - "Trasformazione della matrice tramite la costruzione ImageFilter.matrix, ma è piuttosto limitata." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_ja_JP.json deleted file mode 100644 index 53bdef98a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_ja_JP.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 357, - "name": "ImageFiltered", - "localName": "画像フィルター", - "info": "ImageFilter 画像フィルターを使用すると、任意のコンポーネントに特殊効果を適用できます。これには、ガウスぼかし、カラーフィルター、変形などが含まれます。", - "lever": 4, - "family": 2, - "linkIds": [ - 278, - 88 - ], - "nodes": [ - { - "file": "node1_blur.dart", - "name": "ImageFilter ガウスぼかし", - "desc": [ - "【imageFilter】 : 画像フィルター 【ImageFilter】", - "【child】 : 子コンポーネント 【Widget】" - ] - }, - { - "file": "node2_color.dart", - "name": "ImageFilter カラーフィルター効果", - "desc": [ - "ColorFilter オブジェクトを使用してカラーフィルターを実現します。" - ] - }, - { - "file": "node3_matrix.dart", - "name": "ImageFilter 変形効果", - "desc": [ - "ImageFilter.matrix コンストラクタを使用して行列変換を行いますが、あまり役に立ちません。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_ko_KR.json deleted file mode 100644 index 7b4088e9a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_ko_KR.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 357, - "name": "ImageFiltered", - "localName": "이미지 필터", - "info": "ImageFilter 이미지 필터를 통해 모든 컴포넌트에 효과를 적용할 수 있습니다. 이는 가우시안 블러, 색상 필터, 변환 등을 포함하지만 이에 국한되지 않습니다.", - "lever": 4, - "family": 2, - "linkIds": [ - 278, - 88 - ], - "nodes": [ - { - "file": "node1_blur.dart", - "name": "ImageFilter 가우시안 블러", - "desc": [ - "【imageFilter】 : 이미지 필터 【ImageFilter】", - "【child】 : 자식 컴포넌트 【Widget】" - ] - }, - { - "file": "node2_color.dart", - "name": "ImageFilter 색상 필터 효과", - "desc": [ - "ColorFilter 객체를 통해 색상 필터를 구현합니다." - ] - }, - { - "file": "node3_matrix.dart", - "name": "ImageFilter 변환 효과", - "desc": [ - "ImageFilter.matrix 생성자를 통해 매트릭스 변환을 수행하지만, 다소 실용성이 떨어집니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_pt_PT.json deleted file mode 100644 index da190d408..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_pt_PT.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 357, - "name": "ImageFiltered", - "localName": "Filtro de Imagem", - "info": "Com o filtro de imagem ImageFilter, você pode aplicar efeitos especiais a qualquer componente, incluindo, mas não se limitando a, desfoque gaussiano, filtros de cores, transformações, etc.", - "lever": 4, - "family": 2, - "linkIds": [ - 278, - 88 - ], - "nodes": [ - { - "file": "node1_blur.dart", - "name": "Desfoque Gaussiano ImageFilter", - "desc": [ - "【imageFilter】 : filtro de imagem 【ImageFilter】", - "【child】 : componente filho 【Widget】" - ] - }, - { - "file": "node2_color.dart", - "name": "Efeito de Filtro de Cor ImageFilter", - "desc": [ - "Implementa o filtro de cor através do objeto ColorFilter." - ] - }, - { - "file": "node3_matrix.dart", - "name": "Efeito de Transformação ImageFilter", - "desc": [ - "Realiza transformações de matriz através da construção ImageFilter.matrix, mas é um pouco limitado." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_ru_RU.json deleted file mode 100644 index 6a00e1475..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_ru_RU.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 357, - "name": "ImageFiltered", - "localName": "Фильтр изображений", - "info": "С помощью фильтра изображений ImageFilter можно применять эффекты к любому компоненту, включая, но не ограничиваясь, размытием по Гауссу, цветовыми фильтрами, преобразованиями и т.д.", - "lever": 4, - "family": 2, - "linkIds": [ - 278, - 88 - ], - "nodes": [ - { - "file": "node1_blur.dart", - "name": "ImageFilter размытие по Гауссу", - "desc": [ - "【imageFilter】 : фильтр изображений 【ImageFilter】", - "【child】 : дочерний компонент 【Widget】" - ] - }, - { - "file": "node2_color.dart", - "name": "ImageFilter цветовой фильтр", - "desc": [ - "Реализация цветового фильтра через объект ColorFilter." - ] - }, - { - "file": "node3_matrix.dart", - "name": "ImageFilter эффект преобразования", - "desc": [ - "Преобразование матрицы через конструкцию ImageFilter.matrix, но это довольно неудобно." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_zh-CN.json deleted file mode 100644 index 8e82b4760..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/desc_zh-CN.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 357, - "name": "ImageFiltered", - "localName": "图像滤镜", - "info": "通过 ImageFilter 图像滤镜,可以对任意组件进行特效处理,包括但不限于高斯模糊、颜色滤镜、变换等。", - "lever": 4, - "family": 2, - "linkIds": [ - 278, - 88 - ], - "nodes": [ - { - "file": "node1_blur.dart", - "name": "ImageFilter 高斯模糊", - "desc": [ - "【imageFilter】 : 图像滤镜 【ImageFilter】", - "【child】 : 子组件 【Widget】" - ] - }, - { - "file": "node2_color.dart", - "name": "ImageFilter 滤色效果", - "desc": [ - "通过 ColorFilter 对象实现颜色滤镜。" - ] - }, - { - "file": "node3_matrix.dart", - "name": "ImageFilter 变换效果", - "desc": [ - "通过 ImageFilter.matrix 构造,进行矩阵变换,但比较鸡肋。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/node1_blur.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/node1_blur.dart deleted file mode 100644 index d6132adca..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/node1_blur.dart +++ /dev/null @@ -1,117 +0,0 @@ -import 'dart:ui'; - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2022/04/23 -/// contact me by email 1981462002@qq.com - -class ImageFilteredBlur extends StatefulWidget { - const ImageFilteredBlur({Key? key}) : super(key: key); - - @override - State createState() => _ImageFilteredBlurState(); -} - -class _ImageFilteredBlurState extends State { - double _sigmaX = 1.2; - double _sigmaY = 1.2; - TileMode _tileMode = TileMode.decal; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - ImageFiltered( - imageFilter: ImageFilter.blur( - sigmaX: _sigmaX, - sigmaY: _sigmaY, - tileMode: _tileMode, - ), - child: const _TargetContent(), - ), - _buildTools(), - ], - ); - } - - Widget _buildTools() => Column( - children: [ - Row( - children: [ - Expanded( - child: Slider( - min: 0, - max: 4, - value: _sigmaX, - divisions: 360, - label: 'x:' + _sigmaX.toStringAsFixed(1), - onChanged: (v) => setState(() => _sigmaX = v)), - ), - Expanded( - child: Slider( - min: 0, - max: 4, - value: _sigmaY, - divisions: 360, - label: 'y:' + _sigmaY.toStringAsFixed(1), - onChanged: (v) => setState(() => _sigmaY = v)), - ), - ], - ), - buildTileModeCheck() - ], - ); - - Widget buildTileModeCheck() => Wrap( - spacing: 10, - children: TileMode.values.map((e) { - TextStyle style; - if (e == _tileMode) { - Color color = Theme.of(context).primaryColor; - style = TextStyle(fontWeight: FontWeight.bold, color: color); - } else { - style = const TextStyle( - fontWeight: FontWeight.bold, color: Colors.grey); - } - return GestureDetector( - onTap: () => setState(() => _tileMode = e), - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 8), - child: Text( - e.toString().split('.')[1], - style: style, - ), - ), - ); - }).toList(), - ); -} - -class _TargetContent extends StatelessWidget { - const _TargetContent({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - children: [ - SizedBox( - height: 150, - width: 150, - child: Image.asset( - 'assets/images/sabar.webp', - fit: BoxFit.cover, - ), - ), - SizedBox( - height: 150, - width: 150, - child: Image.asset( - 'assets/images/wy_200x300.webp', - fit: BoxFit.cover, - ), - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/node2_color.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/node2_color.dart deleted file mode 100644 index 0ac1d6534..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/node2_color.dart +++ /dev/null @@ -1,138 +0,0 @@ -import 'dart:ui'; - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2022/04/23 -/// contact me by email 1981462002@qq.com - -class ImageFilteredColor extends StatefulWidget { - const ImageFilteredColor({Key? key}) : super(key: key); - - @override - State createState() => _ImageFilteredColorState(); -} - -class _ImageFilteredColorState extends State { - - String _currentFilter = 'srgbToLinear'; - - ColorFilter greyscale = const ColorFilter.matrix([ - 0.2126, 0.7152, 0.0722, 0, 0, - 0.2126, 0.7152, 0.0722, 0, 0, - 0.2126, 0.7152, 0.0722, 0, 0, - 0, 0, 0, 1, 0, - ]); - ColorFilter sepia = const ColorFilter.matrix([ - 0.393, 0.769, 0.189, 0, 0, - 0.349, 0.686, 0.168, 0, 0, - 0.272, 0.534, 0.131, 0, 0, - 0, 0, 0, 1, 0, - ]); - ColorFilter invert = const ColorFilter.matrix([ - -1, 0, 0, 0, 255, - 0, -1, 0, 0, 255, - 0, 0, -1, 0, 255, - 0, 0, 0, 1, 0, - ]); - ColorFilter identity = const ColorFilter.matrix([ - 1, 0, 0, 0, 0, - 0, 1, 0, 0, 0, - 0, 0, 1, 0, 0, - 0, 0, 0, 1, 0, - ]); - - - ColorFilter darken = const ColorFilter.matrix([ - 1,0,0,0,-126.0, - 0,1,0,0,-126.0, - 0,0,1,0,-126.0, - 0,0,0,1,0 - ]); - - ColorFilter light = const ColorFilter.matrix([ - 1,0,0,0,90, - 0,1,0,0,90, - 0,0,1,0,90, - 0,0,0,1,0 - ]); - - late Map filterMap={ - '原图': identity, - 'light': light, - 'darken': darken, - 'greyscale': greyscale, - 'sepia': sepia, - 'invert': invert, - 'srgbToLinear':const ColorFilter.srgbToLinearGamma(), - 'linearToSrgb':const ColorFilter.linearToSrgbGamma(), - }; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - ImageFiltered( - imageFilter: filterMap[_currentFilter]??identity, - child: const _TargetContent(), - ), - buildTileModeCheck() - ], - ); - } - - - Widget buildTileModeCheck() => Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Wrap( - children: filterMap.keys.map((e) { - TextStyle style; - if (e == _currentFilter) { - Color color = Theme.of(context).primaryColor; - style = TextStyle(fontWeight: FontWeight.bold, color: color); - } else { - style = const TextStyle( - fontWeight: FontWeight.bold, color: Colors.grey); - } - return GestureDetector( - onTap: () => setState(() => _currentFilter = e), - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 8,vertical: 2), - child: Text( - e, - style: style, - ), - ), - ); - }).toList(), - ), - ); -} - -class _TargetContent extends StatelessWidget { - const _TargetContent({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - children: [ - SizedBox( - height: 150, - width: 150, - child: Image.asset( - 'assets/images/sabar.webp', - fit: BoxFit.cover, - ), - ), - SizedBox( - height: 150, - width: 150, - child: Image.asset( - 'assets/images/wy_200x300.webp', - fit: BoxFit.cover, - ), - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/node3_matrix.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/node3_matrix.dart deleted file mode 100644 index 56d9ea891..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ImageFiltered/node3_matrix.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'dart:math'; -import 'dart:ui'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2022/04/23 -/// contact me by email 1981462002@qq.com - -class ImageFilteredMatrix extends StatefulWidget { - const ImageFilteredMatrix({Key? key}) : super(key: key); - - @override - State createState() => _ImageFilteredMatrixState(); -} - -class _ImageFilteredMatrixState extends State { - double _sigmaX = 0; - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - ImageFiltered( - imageFilter: ImageFilter.matrix( - Matrix4.rotationZ(_sigmaX/180*pi).storage - ), - child: const _TargetContent(), - ), - _buildTools(), - ], - ); - } - - Widget _buildTools() => Column( - children: [ - Row( - children: [ - const Text(' 旋转角度:'), - Expanded( - child: Slider( - min: 0, - max: 90, - value: _sigmaX, - divisions: 360, - label: 'x:' + _sigmaX.toStringAsFixed(1), - onChanged: (v) => setState(() => _sigmaX = v)), - ), - ], - ), - // buildTileModeCheck() - ], - ); -} - -class _TargetContent extends StatelessWidget { - const _TargetContent({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 150, - width: 150, - child: Image.asset( - 'assets/images/sabar.webp', - fit: BoxFit.cover, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_de_DE.json deleted file mode 100644 index 9a0619c98..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 298, - "name": "IntrinsicHeight", - "localName": "Intrinsische Höhe", - "info": "Eine Komponente, die die Größe ihrer Kindelemente basierend auf deren intrinsischer Höhe anpasst. Sie kann viele Layoutprobleme lösen, ist aber relativ teuer.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von IntrinsicHeight", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "Wie im Beispiel: Die Höhe auf der linken Seite ist variabel, die Höhe in der Mitte ist fest, und die Höhe auf der rechten Seite nimmt den höchsten Wert der beiden vorherigen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_en_US.json deleted file mode 100644 index 427b01c66..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 298, - "name": "IntrinsicHeight", - "localName": "Intrinsic Height", - "info": "A component that adjusts the size of its children based on their intrinsic height, which can solve many layout issues, but is relatively expensive.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of IntrinsicHeight", - "desc": [ - "【child】: Child component 【Widget】", - "As shown in the example: the height on the left can vary, the height in the middle is fixed, and the height on the right takes the highest value of the previous two." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_es_ES.json deleted file mode 100644 index 7bc26a1a0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 298, - "name": "IntrinsicHeight", - "localName": "Altura intrínseca", - "info": "Un componente que ajusta el tamaño de sus hijos según la altura intrínseca de los elementos hijos, puede resolver muchos problemas de diseño, pero es relativamente costoso.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de IntrinsicHeight", - "desc": [ - "【child】 : Widget hijo 【Widget】", - "Como en el ejemplo: la altura del lado izquierdo puede variar, la altura del centro es fija, y la altura del lado derecho toma el valor más alto de los dos anteriores." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_fr_FR.json deleted file mode 100644 index e20b1c234..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 298, - "name": "IntrinsicHeight", - "localName": "Hauteur intrinsèque", - "info": "Un composant qui ajuste la taille de ses enfants en fonction de leur hauteur intrinsèque, résout de nombreux problèmes de mise en page, mais est relativement coûteux.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'IntrinsicHeight", - "desc": [ - "【child】 : Enfant 【Widget】", - "Comme dans l'exemple : la hauteur de gauche est variable, la hauteur du milieu est fixe, la hauteur de droite prend la valeur maximale des deux premières." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_it_IT.json deleted file mode 100644 index 14ca5a635..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 298, - "name": "IntrinsicHeight", - "localName": "Altezza intrinseca", - "info": "Un componente che regola le dimensioni dei suoi elementi figli in base all'altezza intrinseca degli elementi figli, risolve molti problemi di layout, ma è relativamente costoso.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di IntrinsicHeight", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "Come nell'esempio: l'altezza a sinistra è variabile, l'altezza al centro è fissa, l'altezza a destra prende il valore più alto dei due precedenti." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_ja_JP.json deleted file mode 100644 index cbaaf8df7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 298, - "name": "IntrinsicHeight", - "localName": "固有高", - "info": "子要素の固有の高さに基づいてその子要素のサイズを調整するコンポーネントで、多くのレイアウトの問題を解決できますが、比較的高価です。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IntrinsicHeightの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "例: 左側の高さは可変、中央の高さは固定、右側の高さは前2つの最大値を取ります。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_ko_KR.json deleted file mode 100644 index de0dd7d9a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 298, - "name": "IntrinsicHeight", - "localName": "고유 높이", - "info": "자식 요소의 고유 높이에 따라 자식 요소의 크기를 조정하는 컴포넌트로, 많은 레이아웃 문제를 해결할 수 있지만 상대적으로 비용이 많이 듭니다.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IntrinsicHeight 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "예시: 왼쪽 높이는 변동 가능, 중간 높이는 고정, 오른쪽 높이는 앞 두 개의 최대값을 취합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_pt_PT.json deleted file mode 100644 index b0ba32431..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 298, - "name": "IntrinsicHeight", - "localName": "Altura Intrínseca", - "info": "Um componente que ajusta o tamanho dos seus filhos com base na altura intrínseca dos elementos filhos, pode resolver muitos problemas de layout, mas é relativamente caro.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do IntrinsicHeight", - "desc": [ - "【child】 : Componente filho 【Widget】", - "Como no exemplo: a altura à esquerda pode variar, a altura do meio é fixa, e a altura à direita assume o valor mais alto dos dois anteriores." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_ru_RU.json deleted file mode 100644 index 560076bf8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 298, - "name": "IntrinsicHeight", - "localName": "Встроенная высота", - "info": "Компонент, который регулирует размер своих дочерних элементов в зависимости от их собственной высоты, может решить множество проблем с макетом, но относительно дорог.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование IntrinsicHeight", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "Как в примере: высота слева может изменяться, высота в середине фиксирована, высота справа берет максимальное значение из первых двух." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_zh-CN.json deleted file mode 100644 index 71305b0a9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 298, - "name": "IntrinsicHeight", - "localName": "固有高", - "info": "根据子元素的固有高度调整其子元素大小的组件,可解决很多布局的疑难杂症,但相对昂贵。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IntrinsicHeight基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "如示例:左侧高可变动,中间高固定,右侧高取前两者的最高值。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/node1_base.dart deleted file mode 100644 index 68e9dbde0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicHeight/node1_base.dart +++ /dev/null @@ -1,66 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/21 -/// contact me by email 1981462002@qq.com - - -class IntrinsicHeightDemo extends StatefulWidget { - const IntrinsicHeightDemo({Key? key}) : super(key: key); - - @override - _IntrinsicHeightDemoState createState() => _IntrinsicHeightDemoState(); -} - -class _IntrinsicHeightDemoState extends State { - double _height =120.0; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - buildChild(_height), - const SizedBox(height: 10), - _buildSlider() - ], - ); - } - - Widget buildChild(double leftHeight) { - return IntrinsicHeight( - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Container( - height: leftHeight, - width: 120, - color: Colors.yellow, - alignment: Alignment.center, - child: Text("height:${leftHeight.toStringAsFixed(1)}"), - ), - Container( - color: Colors.blue, - width: 150, - height: 80, - alignment: Alignment.center, - child: const Text("固定高"), - ), - Container( - color: Colors.red, - width: 60, - alignment: Alignment.center, - child: const Text("最高"), - ) - ], - ), - ); - } - - Widget _buildSlider() =>Slider( - value: _height, - max: 200.0, - min: 30.0, - divisions: 17, - onChanged: (v)=> setState(() => _height= v), - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_de_DE.json deleted file mode 100644 index 441cf9af8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 297, - "name": "IntrinsicWidth", - "localName": "Intrinsische Breite", - "info": "Eine Komponente, die die Größe ihrer Kinder basierend auf deren intrinsischer Breite anpasst, kann viele Layoutprobleme lösen, ist jedoch relativ teuer.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von IntrinsicWidth", - "desc": [ - "【child】: Kindkomponente 【Widget】", - "Wie im Beispiel: Die Breite oben kann variieren, die Breite in der Mitte ist fest, und die Breite unten nimmt den höchsten Wert der beiden vorherigen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_en_US.json deleted file mode 100644 index 9b103bc32..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 297, - "name": "IntrinsicWidth", - "localName": "Intrinsic Width", - "info": "A component that adjusts the size of its child elements based on their intrinsic width, which can solve many layout issues but is relatively expensive.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of IntrinsicWidth", - "desc": [ - "【child】: Child component 【Widget】", - "As shown in the example: the width above can be changed, the width in the middle is fixed, and the width below takes the highest value of the former two." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_es_ES.json deleted file mode 100644 index 4db7a69fc..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 297, - "name": "IntrinsicWidth", - "localName": "Ancho intrínseco", - "info": "Componente que ajusta el tamaño de sus elementos secundarios según el ancho intrínseco de los mismos, puede resolver muchos problemas de diseño, pero es relativamente costoso.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de IntrinsicWidth", - "desc": [ - "【child】 : Componente secundario 【Widget】", - "Como en el ejemplo: el ancho de arriba puede variar, el ancho del medio es fijo, el ancho de abajo toma el valor más alto de los dos anteriores." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_fr_FR.json deleted file mode 100644 index 1b96204ed..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 297, - "name": "IntrinsicWidth", - "localName": "Largeur intrinsèque", - "info": "Un composant qui ajuste la taille de ses enfants en fonction de leur largeur intrinsèque, résout de nombreux problèmes de mise en page, mais est relativement coûteux.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'IntrinsicWidth", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "Comme dans l'exemple : la largeur du haut peut varier, celle du milieu est fixe, et celle du bas prend la valeur maximale des deux précédentes." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_it_IT.json deleted file mode 100644 index 91edb57c3..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 297, - "name": "IntrinsicWidth", - "localName": "Larghezza intrinseca", - "info": "Un componente che regola le dimensioni dei suoi elementi figli in base alla larghezza intrinseca degli elementi figli, risolve molti problemi di layout, ma è relativamente costoso.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di IntrinsicWidth", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "Come nell'esempio: la larghezza superiore è variabile, quella centrale è fissa, quella inferiore prende il valore più alto tra le prime due." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_ja_JP.json deleted file mode 100644 index eecce94f7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 297, - "name": "IntrinsicWidth", - "localName": "固有幅", - "info": "子要素の固有の幅に基づいて子要素のサイズを調整するコンポーネントで、多くのレイアウトの問題を解決できますが、比較的高コストです。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IntrinsicWidthの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "例: 上の幅は可変、中間の幅は固定、下の幅は前2つの最大値を取ります。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_ko_KR.json deleted file mode 100644 index a0fd16f3f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 297, - "name": "IntrinsicWidth", - "localName": "고유 너비", - "info": "자식 요소의 고유 너비에 따라 크기를 조정하는 컴포넌트로, 많은 레이아웃 문제를 해결할 수 있지만 상대적으로 비용이 많이 듭니다.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IntrinsicWidth 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "예시: 위쪽 너비는 변동 가능, 중간 너비는 고정, 아래쪽 너비는 앞 두 값 중 최대값을 취합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_pt_PT.json deleted file mode 100644 index 908e1280f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 297, - "name": "IntrinsicWidth", - "localName": "Largura Intrínseca", - "info": "Componente que ajusta o tamanho dos seus elementos filhos com base na largura intrínseca dos mesmos, resolvendo muitos problemas de layout, mas relativamente caro.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do IntrinsicWidth", - "desc": [ - "【child】 : Componente filho 【Widget】", - "Como no exemplo: a largura acima pode variar, a largura do meio é fixa, e a largura abaixo assume o valor mais alto dos dois anteriores." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_ru_RU.json deleted file mode 100644 index af6625d20..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 297, - "name": "IntrinsicWidth", - "localName": "Встроенная ширина", - "info": "Компонент, который регулирует размер своих дочерних элементов в зависимости от их внутренней ширины, решает множество проблем с макетом, но относительно дорогостоящий.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование IntrinsicWidth", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "Как в примере: ширина сверху может изменяться, ширина в середине фиксирована, ширина снизу принимает максимальное значение из первых двух." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_zh-CN.json deleted file mode 100644 index 7bce55355..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 297, - "name": "IntrinsicWidth", - "localName": "固有宽", - "info": "根据子元素的固有宽度度调整其子元素大小的组件,可解决很多布局的疑难杂症,但相对昂贵。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IntrinsicWidth基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "如示例:上面宽可变动,中间宽固定,下面宽取前两者的最高值。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/node1_base.dart deleted file mode 100644 index 823cdb9d4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/IntrinsicWidth/node1_base.dart +++ /dev/null @@ -1,66 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/21 -/// contact me by email 1981462002@qq.com - - -class IntrinsicWidthDemo extends StatefulWidget { - const IntrinsicWidthDemo({Key? key}) : super(key: key); - - @override - _IntrinsicWidthDemoState createState() => _IntrinsicWidthDemoState(); -} - -class _IntrinsicWidthDemoState extends State { - double _height =120.0; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - buildChild(_height), - const SizedBox(height: 10), - _buildSlider() - ], - ); - } - - Widget buildChild(double leftWidth) { - return IntrinsicWidth( - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Container( - height: 50, - width: leftWidth, - color: Colors.yellow, - alignment: Alignment.center, - child: Text("width:${leftWidth.toStringAsFixed(1)}"), - ), - Container( - color: Colors.blue, - width: 150, - height: 60, - alignment: Alignment.center, - child: const Text("固定宽"), - ), - Container( - color: Colors.red, - height: 40, - alignment: Alignment.center, - child: const Text("最宽"), - ) - ], - ), - ); - } - - Widget _buildSlider() =>Slider( - value: _height, - max: 200.0, - min: 80.0, - divisions: 17, - onChanged: (v)=> setState(() => _height= v), - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_de_DE.json deleted file mode 100644 index a084cd4ff..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_de_DE.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 287, - "name": "LayoutBuilder", - "localName": "Layout-Builder", - "info": "Kann die Größe des übergeordneten Containers erkennen und eine benutzerdefinierte Layout basierend auf den Abmessungen des übergeordneten Containers erstellen. Es ist ein sehr nützliches Layout-Komponente.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegendes Verständnis von LayoutBuilder", - "desc": [ - "【builder】: Layout-Builder 【LayoutWidgetBuilder】" - ] - }, - { - "file": "node2_fit.dart", - "name": "Anpassungsfähiges Layout von LayoutBuilder", - "desc": [ - "Kann das Design der Komponentenanzeige basierend auf der Größe des Bereichs durchführen.", - "Zum Beispiel können unterschiedliche Layout-Strukturen in verschiedenen Breitenbereichen angezeigt werden.", - "Schließlich ist es an vielen Stellen nicht einfach, den Bereich der übergeordneten Komponente zu erhalten, und die Verwendung von LayoutBuilder wird sehr angenehm sein." - ] - }, - { - "file": "node3_expend.dart", - "name": "Erweiterte Verwendung von LayoutBuilder", - "desc": [ - "Verwenden Sie TextPainter, um die Anzahl der Textzeilen zu überprüfen und die Funktion zum Erweitern oder Reduzieren zu implementieren." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_en_US.json deleted file mode 100644 index 266ade591..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_en_US.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 287, - "name": "LayoutBuilder", - "localName": "Layout Constructor", - "info": "Can detect the size of the parent container and complete custom layouts based on the size information of the parent container. It is a very practical layout component.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Understanding of LayoutBuilder", - "desc": [ - "【builder】: Layout Constructor 【LayoutWidgetBuilder】" - ] - }, - { - "file": "node2_fit.dart", - "name": "Adaptive Layout of LayoutBuilder", - "desc": [ - "Can design component display based on the size of the area.", - "For example, displaying different layout structures in different width areas.", - "After all, it is not easy to obtain the parent component area in many places, and using LayoutBuilder will be very refreshing." - ] - }, - { - "file": "node3_expend.dart", - "name": "Expanded Use of LayoutBuilder", - "desc": [ - "Use TextPainter to detect the number of lines of text to implement expand or collapse functionality." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_es_ES.json deleted file mode 100644 index e88b9cec5..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_es_ES.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 287, - "name": "LayoutBuilder", - "localName": "Constructor de diseño", - "info": "Puede detectar el tamaño del área del contenedor padre y completar el diseño personalizado según la información de tamaño del contenedor padre. Es un componente de diseño muy práctico.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Conocimiento básico de LayoutBuilder", - "desc": [ - "【builder】: Constructor de diseño 【LayoutWidgetBuilder】" - ] - }, - { - "file": "node2_fit.dart", - "name": "Adaptación de diseño de LayoutBuilder", - "desc": [ - "Puede diseñar la presentación de componentes según el tamaño del área.", - "Por ejemplo, mostrar diferentes estructuras de diseño en áreas de diferentes anchos.", - "Después de todo, en muchos lugares no es fácil obtener el área del componente padre, y usar LayoutBuilder será muy útil." - ] - }, - { - "file": "node3_expend.dart", - "name": "Uso extendido de LayoutBuilder", - "desc": [ - "Usar TextPainter para detectar el número de líneas de texto y lograr la función de expandir o contraer." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_fr_FR.json deleted file mode 100644 index 24c1445f1..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_fr_FR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 287, - "name": "LayoutBuilder", - "localName": "Constructeur de mise en page", - "info": "Peut détecter la taille de la zone du conteneur parent et compléter la mise en page personnalisée en fonction des informations de taille du conteneur parent. C'est un composant de mise en page très pratique.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Connaissance de base de LayoutBuilder", - "desc": [ - "【builder】 : Constructeur de mise en page 【LayoutWidgetBuilder】" - ] - }, - { - "file": "node2_fit.dart", - "name": "Adaptation de la mise en page de LayoutBuilder", - "desc": [ - "Peut concevoir l'affichage des composants en fonction de la taille de la zone.", - "Par exemple, afficher différentes structures de mise en page dans des zones de largeur différente.", - "Après tout, il n'est pas facile d'obtenir la zone du composant parent dans de nombreux endroits, l'utilisation de LayoutBuilder sera très agréable." - ] - }, - { - "file": "node3_expend.dart", - "name": "Utilisation étendue de LayoutBuilder", - "desc": [ - "Utilisez TextPainter pour détecter le nombre de lignes de texte et implémenter la fonction d'expansion ou de réduction." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_it_IT.json deleted file mode 100644 index c1ac0694d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_it_IT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 287, - "name": "LayoutBuilder", - "localName": "Costruttore di layout", - "info": "Può rilevare le dimensioni dell'area del contenitore padre e completare il layout personalizzato in base alle informazioni sulle dimensioni del contenitore padre. È un componente di layout molto pratico.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Conoscenza di base di LayoutBuilder", - "desc": [ - "【builder】: Costruttore di layout 【LayoutWidgetBuilder】" - ] - }, - { - "file": "node2_fit.dart", - "name": "Adattamento del layout di LayoutBuilder", - "desc": [ - "È possibile progettare la visualizzazione dei componenti in base alle dimensioni dell'area.", - "Ad esempio, mostrare diverse strutture di layout in aree di larghezza diversa.", - "Dopotutto, in molti posti non è facile ottenere l'area del componente padre, usare LayoutBuilder sarà molto utile." - ] - }, - { - "file": "node3_expend.dart", - "name": "Uso esteso di LayoutBuilder", - "desc": [ - "Usa TextPainter per rilevare il numero di righe del testo e implementare la funzione di espansione o di chiusura." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_ja_JP.json deleted file mode 100644 index 2e7598ac9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_ja_JP.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 287, - "name": "LayoutBuilder", - "localName": "レイアウトビルダー", - "info": "親コンテナの領域サイズを検出し、親コンテナのサイズ情報に基づいてカスタムレイアウトを完成させることができます。非常に実用的なレイアウトコンポーネントです。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LayoutBuilderの基本認識", - "desc": [ - "【builder】 : レイアウトビルダー 【LayoutWidgetBuilder】" - ] - }, - { - "file": "node2_fit.dart", - "name": "LayoutBuilderの適応レイアウト", - "desc": [ - "領域のサイズに基づいてコンポーネントの表示デザインを行うことができます。\"", - "たとえば、異なる幅の領域で異なるレイアウト構造を表示します。\"", - "結局のところ、多くの場所で親コンポーネントの領域を取得するのは容易ではなく、LayoutBuilderを使用すると非常に便利です。" - ] - }, - { - "file": "node3_expend.dart", - "name": "LayoutBuilderの展開使用", - "desc": [ - "TextPainterを使用してテキストの行数を検出し、展開または折りたたみ機能を実装します。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_ko_KR.json deleted file mode 100644 index ace16c973..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_ko_KR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 287, - "name": "LayoutBuilder", - "localName": "레이아웃 빌더", - "info": "부모 컨테이너의 영역 크기를 감지하고, 부모 컨테이너의 크기 정보를 기반으로 사용자 정의 레이아웃을 완성할 수 있습니다. 매우 실용적인 레이아웃 구성 요소입니다.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LayoutBuilder 기본 이해", - "desc": [ - "【builder】 : 레이아웃 빌더 【LayoutWidgetBuilder】" - ] - }, - { - "file": "node2_fit.dart", - "name": "LayoutBuilder의 적응형 레이아웃", - "desc": [ - "영역의 크기에 따라 컴포넌트 디스플레이를 설계할 수 있습니다.", - "예를 들어, 다른 너비 영역에서 다른 레이아웃 구조를 표시할 수 있습니다.", - "결국 많은 곳에서 부모 컴포넌트 영역을 쉽게 얻을 수 없기 때문에 LayoutBuilder를 사용하면 매우 편리합니다." - ] - }, - { - "file": "node3_expend.dart", - "name": "LayoutBuilder의 확장 사용", - "desc": [ - "TextPainter를 사용하여 텍스트의 줄 수를 감지하고, 확장 또는 축소 기능을 구현합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_pt_PT.json deleted file mode 100644 index 5c983efd0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_pt_PT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 287, - "name": "LayoutBuilder", - "localName": "Construtor de Layout", - "info": "Pode detectar o tamanho da área do contêiner pai e completar o layout personalizado de acordo com as informações de dimensão do contêiner pai. É um componente de layout muito útil.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Conhecimento Básico do LayoutBuilder", - "desc": [ - "【builder】 : Construtor de Layout 【LayoutWidgetBuilder】" - ] - }, - { - "file": "node2_fit.dart", - "name": "Adaptação de Layout do LayoutBuilder", - "desc": [ - "Pode projetar a exibição dos componentes de acordo com o tamanho da área.", - "Por exemplo, exibir diferentes estruturas de layout em áreas de diferentes larguras.", - "Afinal, em muitos lugares não é fácil obter a área do componente pai, usar o LayoutBuilder será muito conveniente." - ] - }, - { - "file": "node3_expend.dart", - "name": "Uso Expandido do LayoutBuilder", - "desc": [ - "Usar TextPainter para detectar o número de linhas de texto e implementar a função de expandir ou recolher." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_ru_RU.json deleted file mode 100644 index a0fa492e9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_ru_RU.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 287, - "name": "LayoutBuilder", - "localName": "Конструктор макета", - "info": "Может обнаружить размер области родительского контейнера и выполнить пользовательский макет на основе информации о размере родительского контейнера. Это очень полезный компонент макета.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное понимание LayoutBuilder", - "desc": [ - "【builder】 : Конструктор макета 【LayoutWidgetBuilder】" - ] - }, - { - "file": "node2_fit.dart", - "name": "Адаптация макета LayoutBuilder", - "desc": [ - "Можно проектировать отображение компонентов в зависимости от размера области.", - "Например, отображать различные структуры макета в областях с разной шириной.", - "Ведь во многих местах нелегко получить область родительского компонента, и использование LayoutBuilder будет очень удобным." - ] - }, - { - "file": "node3_expend.dart", - "name": "Расширенное использование LayoutBuilder", - "desc": [ - "Использование TextPainter для обнаружения количества строк текста и реализации функции развертывания или сворачивания." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_zh-CN.json deleted file mode 100644 index 2763c28d7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/desc_zh-CN.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 287, - "name": "LayoutBuilder", - "localName": "布局构造器", - "info": "可以检测到父容器的区域大小,并根据父容器的尺寸信息可以完成自定义布局。是一个非常实用的布局组件。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LayoutBuilder基本认识", - "desc": [ - "【builder】 : 布局构造器 【LayoutWidgetBuilder】" - ] - }, - { - "file": "node2_fit.dart", - "name": "LayoutBuilder的适应布局", - "desc": [ - "可以根据区域的大小进行组件展示设计。\"", - "比如在不同的宽度区域显示不同的布局结构。\"", - "毕竟很多地方不容易获取父组件区域,使用LayoutBuilder就会非常爽口。" - ] - }, - { - "file": "node3_expend.dart", - "name": "LayoutBuilder的展开使用", - "desc": [ - "使用TextPainter来检测文字的行数,实现展开或收起功能。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/node1_base.dart deleted file mode 100644 index 367af2cfc..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/node1_base.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomLayoutBuilder extends StatelessWidget { - const CustomLayoutBuilder({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - print('CustomLayoutBuild'); - return Container( - alignment: Alignment.center, - height: 80, - width: 150, - color: Colors.green, - child: LayoutBuilder( - builder: (_, zone) { - return Text( - '父容器宽:${zone.maxWidth}\n' - '父容器高:${zone.maxHeight}', - style: const TextStyle(color: Colors.white, fontSize: 16), - ); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/node2_fit.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/node2_fit.dart deleted file mode 100644 index 118b09eb2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/node2_fit.dart +++ /dev/null @@ -1,100 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - - -class FitByLayoutBuilder extends StatefulWidget { - const FitByLayoutBuilder({Key? key}) : super(key: key); - - @override - _FitByLayoutBuilderState createState() => _FitByLayoutBuilderState(); -} - -class _FitByLayoutBuilderState extends State { - double _width = 100; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - SizedBox( - width: _width, - child: LayoutBuilder( - builder: (_, zone) { - if (zone.maxWidth <= 150) { - return _buildType1(); - } else { - return _buildType2(zone); - } - }, - ), - ), - _buildSlider(), - ], - ); - } - - Widget _buildSlider() => Slider( - min: 50, - max: 300, - label: "父宽:${_width.toStringAsFixed(1)}", - value: _width, - onChanged: (v) => setState(() { - _width = v; - })); - - Widget _buildType1() => Container( - color: Colors.blue, - child: Column( - children: [ - _buildTitle(), - Padding( - padding: const EdgeInsets.all(8.0), - child: _buildContent(), - ), - ], - ), - ); - - Widget _buildType2(BoxConstraints zone) => Container( - height: 100, - width: zone.maxWidth, - color: Colors.orange, - child: Row( - children: [ - Container( - margin: const EdgeInsets.all(10), - height: 80, - width: 30, - color: Colors.grey, - ), - Expanded(child: _buildContent()) - ], - ), - ); - - Widget _buildTitle() => Container( - margin: const EdgeInsets.only(left: 10, right: 10, top: 10), - color: Colors.grey, - height: 30, - ); - - Widget _buildContent() => Wrap( - runSpacing: 3, - children: [ - Container( - color: Colors.red, - height: 30, - ), - Container( - color: Colors.yellow, - height: 30, - ), - Container( - color: Colors.green, - height: 30, - ), - ], - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/node3_expend.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/node3_expend.dart deleted file mode 100644 index 33c13c01f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LayoutBuilder/node3_expend.dart +++ /dev/null @@ -1,84 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - - -class SimpleExpandableText extends StatefulWidget { - const SimpleExpandableText({Key? key}) : super(key: key); - - @override - createState() => _SimpleExpandableTextState(); -} - -class _SimpleExpandableTextState extends State { - - final String text = '桃树、杏树、梨树,你不让我,我不让你,都开满了花赶趟儿。' - '红的像火,粉的像霞,白的像雪。' - '花里带着甜味儿;闭了眼,树上仿佛已经满是桃儿、杏儿、梨儿。' - '花下成千成百的蜜蜂嗡嗡地闹着,大小的蝴蝶飞来飞去。' - '野花遍地是:杂样儿,有名字的,没名字的,散在草丛里,像眼睛,像星星,还眨呀眨的。'; - - bool expand = false; - int maxLines = 3; - - final TextStyle style = - const TextStyle(fontSize: 15, color: Colors.grey, shadows: [ - Shadow( - color: Colors.white, - offset: Offset(1, 1), - ), - ]); - - BoxDecoration get boxDecoration => BoxDecoration( - color: Colors.cyanAccent.withAlpha(8), - borderRadius: const BorderRadiusDirectional.all( - Radius.circular(20), - ), - ); - - late TextPainter painter; - - @override - void initState() { - super.initState(); - painter = TextPainter( - text: TextSpan(text: text, style: style), - maxLines: maxLines, - textDirection: TextDirection.ltr, - ); - } - - @override - build(context) => Container( - decoration: boxDecoration, - padding: const EdgeInsets.all(15), - child: LayoutBuilder(builder: (context, size) { - painter.layout(maxWidth: size.maxWidth); - if (!painter.didExceedMaxLines) { - return Text(text, style: style); - } - return Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(text, maxLines: expand ? null : 3, style: style), - GestureDetector( - onTap: toggle, - child: Text( - expand ? '<< 收起' : '展开 >>', - style: const TextStyle(color: Colors.blue), - ), - ), - ], - ); - }), - ); - - void toggle() { - setState(() { - expand = !expand; - }); - } -} - diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_de_DE.json deleted file mode 100644 index 658010b65..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 79, - "name": "LimitedBox", - "localName": "Begrenzungsbox", - "info": "Kann ein Unterelement aufnehmen und den Bereich des Unterelements durch Angabe der maximalen Breite und Höhe begrenzen.", - "lever": 3, - "family": 2, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von LimitedBox", - "desc": [ - "【child】 : Unterelement 【Widget】", - "【maxHeight】 : Maximale Höhe 【double】", - "【maxWidth】 : Maximale Breite 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_en_US.json deleted file mode 100644 index 0fa695767..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 79, - "name": "LimitedBox", - "localName": "Limited Box", - "info": "Can contain one child component, limiting the area where the child component can reside by specifying the maximum width and height.", - "lever": 3, - "family": 2, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of LimitedBox", - "desc": [ - "【child】: Child component 【Widget】", - "【maxHeight】: Maximum height 【double】", - "【maxWidth】: Maximum width 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_es_ES.json deleted file mode 100644 index 3558aa47d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 79, - "name": "LimitedBox", - "localName": "Caja Limitada", - "info": "Puede contener un componente hijo, limitando el área del componente hijo especificando el ancho y alto máximos.", - "lever": 3, - "family": 2, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de LimitedBox", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【maxHeight】 : Altura máxima 【double】", - "【maxWidth】 : Ancho máximo 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_fr_FR.json deleted file mode 100644 index 99cb8f712..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 79, - "name": "LimitedBox", - "localName": "Boîte limitée", - "info": "Peut contenir un composant enfant, en limitant la zone de ce composant par une largeur et une hauteur maximales spécifiées.", - "lever": 3, - "family": 2, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de LimitedBox", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【maxHeight】 : Hauteur maximale 【double】", - "【maxWidth】 : Largeur maximale 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_it_IT.json deleted file mode 100644 index 61900467c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 79, - "name": "LimitedBox", - "localName": "Scatola Limitata", - "info": "Può contenere un componente figlio, limitando l'area del componente figlio specificando l'altezza e la larghezza massime.", - "lever": 3, - "family": 2, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di LimitedBox", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【maxHeight】 : Altezza massima 【double】", - "【maxWidth】 : Larghezza massima 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_ja_JP.json deleted file mode 100644 index 2bb36c0bf..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 79, - "name": "LimitedBox", - "localName": "制限ボックス", - "info": "子コンポーネントを1つ収容でき、最大幅と高さを指定して子コンポーネントの収容領域を制限します。", - "lever": 3, - "family": 2, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LimitedBoxの基本的な使用法", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【maxHeight】 : 最大高さ 【double】", - "【maxWidth】 : 最大幅 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_ko_KR.json deleted file mode 100644 index 6123b09ca..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 79, - "name": "LimitedBox", - "localName": "제한 상자", - "info": "하나의 하위 구성 요소를 수용할 수 있으며, 최대 너비와 높이를 지정하여 하위 구성 요소의 영역을 제한합니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LimitedBox 기본 사용", - "desc": [ - "【child】 : 자식 구성 요소 【Widget】", - "【maxHeight】 : 최대 높이 【double】", - "【maxWidth】 : 최대 너비 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_pt_PT.json deleted file mode 100644 index a84a02996..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 79, - "name": "LimitedBox", - "localName": "Caixa Limitada", - "info": "Pode conter um componente filho, limitando a área onde o componente filho pode residir, especificando a largura e altura máximas.", - "lever": 3, - "family": 2, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do LimitedBox", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【maxHeight】 : Altura máxima 【double】", - "【maxWidth】 : Largura máxima 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_ru_RU.json deleted file mode 100644 index 5ac51440a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 79, - "name": "LimitedBox", - "localName": "Ограничивающая коробка", - "info": "Может содержать один дочерний компонент, ограничивая область размещения дочернего компонента путем указания максимальной ширины и высоты.", - "lever": 3, - "family": 2, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование LimitedBox", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【maxHeight】 : Максимальная высота 【double】", - "【maxWidth】 : Максимальная ширина 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_zh-CN.json deleted file mode 100644 index 0aa3bf62c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 79, - "name": "LimitedBox", - "localName": "限制盒", - "info": "可容纳一个子组件,通过指定最大宽高来限定子组件容身区域。", - "lever": 3, - "family": 2, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LimitedBox基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【maxHeight】 : 最大高 【double】", - "【maxWidth】 : 最大宽 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/node1_base.dart deleted file mode 100644 index 47173673c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/LimitedBox/node1_base.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomLimitedBox extends StatefulWidget { - const CustomLimitedBox({Key? key}) : super(key: key); - - @override - _CustomLimitedBoxState createState() => _CustomLimitedBoxState(); -} - -class _CustomLimitedBoxState extends State { - String _text = ''; - - @override - Widget build(BuildContext context) { - Widget child = Container( - alignment: Alignment.center, - color: Colors.cyanAccent, - width: 50, - height: 50, - child: const Text("Static"), - ); - - Widget box = LimitedBox( - maxHeight: 60, - maxWidth: 100, - child: Container(color: Colors.orange, child: Text(_text)), - ); - - return Column( - children: [ - Container( - color: Colors.grey.withAlpha(22), - width: 300, - height: 100, - child: Row( - children: [child, UnconstrainedBox(child: box), child], - ), - ), - _buildInput() - ], - ); - } - - Widget _buildInput() { - return Padding( - padding: const EdgeInsets.all(18.0), - child: TextField( - decoration: const InputDecoration( - border: OutlineInputBorder(), - hintText: '请输入', - ), - onChanged: (v) { - setState(() { - _text = v; - }); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_de_DE.json deleted file mode 100644 index a4346c4e5..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 71, - "name": "Offstage", - "localName": "Verschwindende Komponente", - "info": "Kann eine Unterkomponente aufnehmen und deren Verschwinden ändern. Das Attribut offstage auf true bedeutet versteckt.", - "lever": 3, - "family": 2, - "linkIds": [ - 10 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von LimitedBox", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【offstage】 : Ob verschwunden 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_en_US.json deleted file mode 100644 index 23e3c8ea4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 71, - "name": "Offstage", - "localName": "Disappearing Component", - "info": "Can contain a child component, and can change its visibility. The offstage property set to true means hidden.", - "lever": 3, - "family": 2, - "linkIds": [ - 10 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of LimitedBox", - "desc": [ - "【child】: Child component 【Widget】", - "【offstage】: Whether to disappear 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_es_ES.json deleted file mode 100644 index 7639fe92d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 71, - "name": "Offstage", - "localName": "Componente Desaparecido", - "info": "Puede contener un componente hijo y cambiar su visibilidad. Si la propiedad offstage es true, indica que está oculto.", - "lever": 3, - "family": 2, - "linkIds": [ - 10 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de LimitedBox", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【offstage】 : Si está desaparecido 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_fr_FR.json deleted file mode 100644 index 491cda0f4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 71, - "name": "Offstage", - "localName": "Composant disparu", - "info": "Peut contenir un composant enfant et peut modifier sa disparition ou non. L'attribut offstage à true signifie qu'il est caché.", - "lever": 3, - "family": 2, - "linkIds": [ - 10 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de LimitedBox", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【offstage】 : Disparaît ou non 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_it_IT.json deleted file mode 100644 index ab1d8569f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 71, - "name": "Offstage", - "localName": "Componente Scomparso", - "info": "Può contenere un componente figlio e può cambiarne la visibilità. L'attributo offstage è true per indicare che è nascosto.", - "lever": 3, - "family": 2, - "linkIds": [ - 10 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di LimitedBox", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【offstage】 : Se è nascosto 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_ja_JP.json deleted file mode 100644 index 4dd62d857..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 71, - "name": "Offstage", - "localName": "非表示コンポーネント", - "info": "1つの子コンポーネントを収容でき、その表示・非表示を変更できます。offstage属性がtrueの場合、非表示になります。", - "lever": 3, - "family": 2, - "linkIds": [ - 10 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LimitedBoxの基本的な使用法", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【offstage】 : 非表示かどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_ko_KR.json deleted file mode 100644 index fb751e283..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 71, - "name": "Offstage", - "localName": "사라진 컴포넌트", - "info": "하나의 자식 컴포넌트를 수용할 수 있으며, 그 컴포넌트의 사라짐 여부를 변경할 수 있습니다. offstage 속성이 true이면 숨겨집니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 10 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LimitedBox 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【offstage】 : 사라짐 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_pt_PT.json deleted file mode 100644 index 475ec95a6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 71, - "name": "Offstage", - "localName": "Componente Desaparecido", - "info": "Pode conter um componente filho e alterar a sua visibilidade. A propriedade offstage é true para ocultar.", - "lever": 3, - "family": 2, - "linkIds": [ - 10 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do LimitedBox", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【offstage】 : Se desaparece 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_ru_RU.json deleted file mode 100644 index 9f3af1b3e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 71, - "name": "Offstage", - "localName": "Исчезающий компонент", - "info": "Может содержать один дочерний компонент, можно изменить его видимость. Свойство offstage, равное true, означает скрытие.", - "lever": 3, - "family": 2, - "linkIds": [ - 10 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование LimitedBox", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【offstage】 : Видимость 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_zh-CN.json deleted file mode 100644 index 17c804f5f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 71, - "name": "Offstage", - "localName": "消失组件", - "info": "可容纳一个子组件,可更改其的消失与否。offstage属性为true表示隐藏。", - "lever": 3, - "family": 2, - "linkIds": [ - 10 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LimitedBox基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【offstage】 : 是否消失 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/node1_base.dart deleted file mode 100644 index ca83cc163..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OffStage/node1_base.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomOffstage extends StatefulWidget { - const CustomOffstage({Key? key}) : super(key: key); - - @override - _CustomOffstageState createState() => _CustomOffstageState(); -} - -class _CustomOffstageState extends State { - bool _off = false; - - @override - Widget build(BuildContext context) { - Widget radBox = Container( - height: 50, - width: 60, - color: Colors.red, - child: Switch( - value: _off, - onChanged: (v) => setState(() => _off = v)), - ); - - return SizedBox( - width: 250, - height: 200, - child: Row( - children: [radBox, _buildOffStage(), radBox], - ), - ); - } - - Widget _buildOffStage() => Offstage( - offstage: _off, - child: Container( - alignment: Alignment.center, - height: 100, - width: 100, - color: Colors.blue, - child: const Text( - "Offstage", - style: TextStyle(fontSize: 20), - ), - )); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_de_DE.json deleted file mode 100644 index ca1011dc5..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 73, - "name": "Opacity", - "localName": "Transparenz", - "info": "Kann ein Kindelement aufnehmen und dessen Transparenz in den Opazitätswert ändern, Opazität liegt zwischen 0 und 1.", - "lever": 3, - "family": 2, - "linkIds": [ - 89, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Opacity", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【opacity】 : Transparenz 0~1 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_en_US.json deleted file mode 100644 index 352c2e08d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 73, - "name": "Opacity", - "localName": "Transparency", - "info": "Can contain a child component, changing its transparency to the opacity value, where opacity is between 0 and 1.", - "lever": 3, - "family": 2, - "linkIds": [ - 89, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Opacity", - "desc": [ - "【child】 : Child component 【Widget】", - "【opacity】 : Transparency 0~1 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_es_ES.json deleted file mode 100644 index f8028ecad..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 73, - "name": "Opacity", - "localName": "Transparencia", - "info": "Puede contener un componente hijo y cambiar su transparencia al valor de opacity, donde opacity está entre 0 y 1.", - "lever": 3, - "family": 2, - "linkIds": [ - 89, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Opacity", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【opacity】 : Transparencia 0~1 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_fr_FR.json deleted file mode 100644 index 0a1e98d36..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 73, - "name": "Opacity", - "localName": "Opacité", - "info": "Peut contenir un composant enfant, transformant sa transparence en valeur d'opacité, l'opacité est comprise entre 0 et 1.", - "lever": 3, - "family": 2, - "linkIds": [ - 89, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'Opacity", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【opacity】 : Opacité 0~1 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_it_IT.json deleted file mode 100644 index d51918992..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 73, - "name": "Opacity", - "localName": "Trasparenza", - "info": "Può contenere un componente figlio, trasformandone la trasparenza in un valore di opacità, dove l'opacità è compresa tra 0 e 1.", - "lever": 3, - "family": 2, - "linkIds": [ - 89, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di Opacity", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【opacity】 : Trasparenza 0~1 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_ja_JP.json deleted file mode 100644 index cf759bb5d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 73, - "name": "Opacity", - "localName": "不透明度", - "info": "子コンポーネントを1つ収容し、その不透明度をopacity値に変更できます。opacityは0〜1の間です。", - "lever": 3, - "family": 2, - "linkIds": [ - 89, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Opacityの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【opacity】 : 不透明度0〜1 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_ko_KR.json deleted file mode 100644 index 41a13f67b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 73, - "name": "Opacity", - "localName": "투명도", - "info": "하위 컴포넌트를 포함할 수 있으며, 그 투명도를 opacity 값으로 변경합니다. opacity는 0~1 사이입니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 89, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Opacity 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【opacity】 : 투명도 0~1 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_pt_PT.json deleted file mode 100644 index faafe0279..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 73, - "name": "Opacity", - "localName": "Opacidade", - "info": "Pode conter um componente filho, alterando a sua opacidade para o valor de opacity, onde opacity está entre 0 e 1.", - "lever": 3, - "family": 2, - "linkIds": [ - 89, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Opacity", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【opacity】 : Opacidade 0~1 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_ru_RU.json deleted file mode 100644 index 19a9bc749..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 73, - "name": "Opacity", - "localName": "Прозрачность", - "info": "Может содержать один дочерний компонент, изменяя его прозрачность на значение opacity, где opacity находится в диапазоне от 0 до 1.", - "lever": 3, - "family": 2, - "linkIds": [ - 89, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Opacity", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【opacity】 : Прозрачность 0~1 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_zh-CN.json deleted file mode 100644 index 9f558e9c4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 73, - "name": "Opacity", - "localName": "透明化", - "info": "可容纳一个子组件,将其透明度变为opacity值, opacity在0~1之间。", - "lever": 3, - "family": 2, - "linkIds": [ - 89, - 118 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Opacity基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【opacity】 : 透明度0~1 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/node1_base.dart deleted file mode 100644 index 798c891c5..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Opacity/node1_base.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomOpacity extends StatefulWidget { - const CustomOpacity({Key? key}) : super(key: key); - - @override - _CustomOpacityState createState() => _CustomOpacityState(); -} - -class _CustomOpacityState extends State { - double _opacity = 0.2; - - @override - Widget build(BuildContext context) { - return Column( - children: [_buildSlider(), _buildOpacity()], - ); - } - - // 创建Opacity - Widget _buildOpacity() => Opacity( - opacity: _opacity, - child: Image.asset(// 图片 - 'assets/images/icon_head.webp', - width: 100, - ), - ); - Widget _buildSlider() => Slider( - divisions: 20, - label: _opacity.toString(), - value: _opacity, - onChanged: (v) => setState(() => _opacity = v)); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_de_DE.json deleted file mode 100644 index f8e35218a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 83, - "name": "OverflowBox", - "localName": "Überlaufbox", - "info": "Kann ein Kindelement aufnehmen, und das Kindelement darf den Bereich des Elternelements überlaufen. Es kann der maximale und minimale Bereich für Breite und Höhe festgelegt werden und verfügt über eine Ausrichtungseigenschaft alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von OverflowBox", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【minWidth】 : Minimale Breite 【double】", - "【minHeight】 : Minimale Höhe 【double】", - "【maxHeight】 : Maximale Höhe 【double】", - "【maxWidth】 : Maximale Breite 【double】", - "【alignment】 : Ausrichtung 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_en_US.json deleted file mode 100644 index decab995e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 83, - "name": "OverflowBox", - "localName": "Overflow Box", - "info": "Can contain a child component, and the child component is allowed to overflow the parent component area. The maximum and minimum width and height can be specified for constraints, and it has the alignment property.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of OverflowBox", - "desc": [ - "【child】: Child component 【Widget】", - "【minWidth】: Minimum width 【double】", - "【minHeight】: Minimum height 【double】", - "【maxHeight】: Maximum height 【double】", - "【maxWidth】: Maximum width 【double】", - "【alignment】: Alignment 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_es_ES.json deleted file mode 100644 index 109703b44..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 83, - "name": "OverflowBox", - "localName": "Caja de desbordamiento", - "info": "Puede contener un componente hijo, y el componente hijo puede desbordar el área del componente padre. Se pueden especificar áreas máximas y mínimas de ancho y alto para limitar, y tiene la propiedad de alineación alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de OverflowBox", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【minWidth】 : Ancho mínimo 【double】", - "【minHeight】 : Altura mínima 【double】", - "【maxHeight】 : Altura máxima 【double】", - "【maxWidth】 : Ancho máximo 【double】", - "【alignment】 : Modo de alineación 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_fr_FR.json deleted file mode 100644 index 25b955645..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 83, - "name": "OverflowBox", - "localName": "Boîte de débordement", - "info": "Peut contenir un composant enfant, et le composant enfant est autorisé à déborder de la zone du composant parent. Il est possible de spécifier les zones maximales et minimales de largeur et de hauteur pour les limiter, et il possède une propriété d'alignement.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de OverflowBox", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【minWidth】 : Largeur minimale 【double】", - "【minHeight】 : Hauteur minimale 【double】", - "【maxHeight】 : Hauteur maximale 【double】", - "【maxWidth】 : Largeur maximale 【double】", - "【alignment】 : Alignement 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_it_IT.json deleted file mode 100644 index ca94efd50..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 83, - "name": "OverflowBox", - "localName": "Scatola di overflow", - "info": "Può contenere un componente figlio e consente al componente figlio di fuoriuscire dall'area del componente padre. È possibile specificare le aree massime e minime di larghezza e altezza per i limiti e ha la proprietà di allineamento alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di OverflowBox", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【minWidth】 : Larghezza minima 【double】", - "【minHeight】 : Altezza minima 【double】", - "【maxHeight】 : Altezza massima 【double】", - "【maxWidth】 : Larghezza massima 【double】", - "【alignment】 : Modalità di allineamento 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_ja_JP.json deleted file mode 100644 index 28db137c8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 83, - "name": "OverflowBox", - "localName": "オーバーフローボックス", - "info": "子コンポーネントを収容でき、子コンポーネントは親コンポーネントの領域をオーバーフローすることができます。幅と高さの最大最小領域を指定して制限することができ、アライメント属性alignmentを持っています。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OverflowBoxの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【minWidth】 : 最小幅 【double】", - "【minHeight】 : 最小高さ 【double】", - "【maxHeight】 : 最大高さ 【double】", - "【maxWidth】 : 最大幅 【double】", - "【alignment】 : アライメント方法 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_ko_KR.json deleted file mode 100644 index 1d253a68e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 83, - "name": "OverflowBox", - "localName": "오버플로우 박스", - "info": "하위 컴포넌트를 수용할 수 있으며, 하위 컴포넌트가 상위 컴포넌트 영역을 벗어날 수 있습니다. 최소 및 최대 너비와 높이를 지정하여 제한할 수 있으며, 정렬 속성 alignment를 가지고 있습니다.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OverflowBox 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【minWidth】 : 최소 너비 【double】", - "【minHeight】 : 최소 높이 【double】", - "【maxHeight】 : 최대 높이 【double】", - "【maxWidth】 : 최대 너비 【double】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_pt_PT.json deleted file mode 100644 index 12e6d9b17..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 83, - "name": "OverflowBox", - "localName": "Caixa de Transbordamento", - "info": "Pode conter um componente filho, e o componente filho pode transbordar a área do componente pai. Pode especificar as áreas mínimas e máximas de largura e altura para restringir, e possui o atributo de alinhamento alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do OverflowBox", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【minWidth】 : Largura mínima 【double】", - "【minHeight】 : Altura mínima 【double】", - "【maxHeight】 : Altura máxima 【double】", - "【maxWidth】 : Largura máxima 【double】", - "【alignment】 : Modo de alinhamento 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_ru_RU.json deleted file mode 100644 index 919e4dfeb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 83, - "name": "OverflowBox", - "localName": "Переполненная коробка", - "info": "Может содержать один дочерний компонент, и дочерний компонент может выходить за пределы области родительского компонента. Можно указать минимальные и максимальные области ширины и высоты для ограничения, имеет свойство выравнивания alignment.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование OverflowBox", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【minWidth】 : Минимальная ширина 【double】", - "【minHeight】 : Минимальная высота 【double】", - "【maxHeight】 : Максимальная высота 【double】", - "【maxWidth】 : Максимальная ширина 【double】", - "【alignment】 : Способ выравнивания 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_zh-CN.json deleted file mode 100644 index c3c55dc80..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 83, - "name": "OverflowBox", - "localName": "溢出盒", - "info": "可容纳一个子组件,且子组件允许溢出父组件区域,可以指定宽高的最大最小区域进行限定,拥有对齐属性alignment。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OverflowBox基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【minWidth】 : 最小宽 【double】", - "【minHeight】 : 最小高 【double】", - "【maxHeight】 : 最大高 【double】", - "【maxWidth】 : 最大宽 【double】", - "【alignment】 : 对齐方式 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/node1_base.dart deleted file mode 100644 index cbca2deab..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/OverflowBox/node1_base.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomOverflowBox extends StatefulWidget { - const CustomOverflowBox({Key? key}) : super(key: key); - - @override - _CustomOverflowBoxState createState() => _CustomOverflowBoxState(); -} - -class _CustomOverflowBoxState extends State { - String _text = ''; - - @override - Widget build(BuildContext context) { - Widget box = OverflowBox( - alignment: Alignment.center, - minHeight: 50, - minWidth: 50, - maxWidth: 200, - maxHeight: 120, - child: Container( - color: Colors.orange, - child: Text(_text), - ), - ); - return Column( - children: [ - Container( - color: Colors.grey.withAlpha(33), - width: 100, - height: 100, - child: box), - _buildInput() - ], - ); - } - - Widget _buildInput() { - return Padding( - padding: const EdgeInsets.all(18.0), - child: TextField( - decoration: const InputDecoration( - border: OutlineInputBorder(), - hintText: '请输入', - ), - onChanged: (v) { - setState(() { - _text = v; - }); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_de_DE.json deleted file mode 100644 index 510451de1..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_de_DE.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 74, - "name": "Padding", - "localName": "Abstandskomponente", - "info": "Kann ein Kindelement aufnehmen und fügt seinen eigenen Innenabstand hinzu, um den Platz des Kindelements zu begrenzen. Die Kerneigenschaft ist padding.", - "lever": 4, - "family": 2, - "linkIds": [ - 1, - 191 - ], - "nodes": [ - { - "file": "node1_all.dart", - "name": "Padding gleicher Abstand auf allen Seiten", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【padding】 : Innenabstand auf allen vier Seiten 【EdgeInsetsGeometry】", - "EdgeInsets.all wird verwendet, um den gleichen Abstand auf allen vier Seiten festzulegen" - ] - }, - { - "file": "node2_only.dart", - "name": "Padding einzelner Abstand", - "desc": [ - "EdgeInsets.only wird verwendet, um den gleichen Abstand auf allen vier Seiten festzulegen" - ] - }, - { - "file": "node3_symmetric.dart", - "name": "Padding Richtungsabstand", - "desc": [ - "EdgeInsets.symmetric wird verwendet, um den horizontalen und vertikalen Abstand festzulegen" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_en_US.json deleted file mode 100644 index e5dd8395b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_en_US.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 74, - "name": "Padding", - "localName": "Margin Component", - "info": "Can accommodate a child component, adding its own padding to limit the child component's placement. The core property is padding.", - "lever": 4, - "family": 2, - "linkIds": [ - 1, - 191 - ], - "nodes": [ - { - "file": "node1_all.dart", - "name": "Padding Equal Margin on All Sides", - "desc": [ - "【child】: Child component 【Widget】", - "【padding】: Inner four-sided margin 【EdgeInsetsGeometry】", - "EdgeInsets.all is used to define the same margin on all four sides" - ] - }, - { - "file": "node2_only.dart", - "name": "Padding Individual Margin", - "desc": [ - "EdgeInsets.only is used to define the same margin on all four sides" - ] - }, - { - "file": "node3_symmetric.dart", - "name": "Padding Directional Margin", - "desc": [ - "EdgeInsets.symmetric is used to define horizontal and vertical margins" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_es_ES.json deleted file mode 100644 index 754298f77..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_es_ES.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 74, - "name": "Padding", - "localName": "Componente de margen", - "info": "Puede contener un componente hijo, agregando su propio relleno interno para limitar el espacio ocupado por el componente hijo, la propiedad principal es el padding.", - "lever": 4, - "family": 2, - "linkIds": [ - 1, - 191 - ], - "nodes": [ - { - "file": "node1_all.dart", - "name": "Padding con márgenes iguales en los cuatro lados", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【padding】 : Relleno interno en los cuatro lados 【EdgeInsetsGeometry】", - "EdgeInsets.all se utiliza para definir el mismo margen en los cuatro lados" - ] - }, - { - "file": "node2_only.dart", - "name": "Padding con márgenes individuales", - "desc": [ - "EdgeInsets.only se utiliza para definir márgenes específicos en los cuatro lados" - ] - }, - { - "file": "node3_symmetric.dart", - "name": "Padding con márgenes direccionales", - "desc": [ - "EdgeInsets.symmetric se utiliza para definir márgenes en las direcciones horizontal y vertical" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_fr_FR.json deleted file mode 100644 index f840c12e4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_fr_FR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 74, - "name": "Padding", - "localName": "Composant de marge", - "info": "Peut contenir un composant enfant, ajoute une marge intérieure pour limiter l'espace occupé par le composant enfant, la propriété principale est padding.", - "lever": 4, - "family": 2, - "linkIds": [ - 1, - 191 - ], - "nodes": [ - { - "file": "node1_all.dart", - "name": "Padding avec marge égale sur les quatre côtés", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【padding】 : Marge intérieure sur les quatre côtés 【EdgeInsetsGeometry】", - "EdgeInsets.all est utilisé pour définir une marge égale sur les quatre côtés" - ] - }, - { - "file": "node2_only.dart", - "name": "Padding avec marge individuelle", - "desc": [ - "EdgeInsets.only est utilisé pour définir une marge individuelle sur les quatre côtés" - ] - }, - { - "file": "node3_symmetric.dart", - "name": "Padding avec marge directionnelle", - "desc": [ - "EdgeInsets.symmetric est utilisé pour définir une marge horizontale et verticale" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_it_IT.json deleted file mode 100644 index 4dc40d3a0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_it_IT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 74, - "name": "Padding", - "localName": "Componente margine", - "info": "Può contenere un componente figlio, aggiungendo il proprio padding interno per limitare il posizionamento del componente figlio, la proprietà principale è padding.", - "lever": 4, - "family": 2, - "linkIds": [ - 1, - 191 - ], - "nodes": [ - { - "file": "node1_all.dart", - "name": "Padding margine uguale su tutti i lati", - "desc": [ - "【child】 : componente figlio 【Widget】", - "【padding】 : margine interno su tutti i lati 【EdgeInsetsGeometry】\"", - "EdgeInsets.all viene utilizzato per definire lo stesso margine su tutti i lati" - ] - }, - { - "file": "node2_only.dart", - "name": "Padding margine singolo", - "desc": [ - "EdgeInsets.only viene utilizzato per definire lo stesso margine su tutti i lati" - ] - }, - { - "file": "node3_symmetric.dart", - "name": "Padding margine direzionale", - "desc": [ - "EdgeInsets.symmetric viene utilizzato per definire i margini orizzontali e verticali" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_ja_JP.json deleted file mode 100644 index d4009c668..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_ja_JP.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 74, - "name": "Padding", - "localName": "余白コンポーネント", - "info": "一つの子コンポーネントを収容し、自身の内側の余白を追加して子コンポーネントの占めるスペースを制限します。コア属性はpaddingです。", - "lever": 4, - "family": 2, - "linkIds": [ - 1, - 191 - ], - "nodes": [ - { - "file": "node1_all.dart", - "name": "Padding四面等余白", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【padding】 : 内側の四辺の余白 【EdgeInsetsGeometry】", - "EdgeInsets.allは同じ四辺の余白を制限するために使用されます" - ] - }, - { - "file": "node2_only.dart", - "name": "Padding単独余白", - "desc": [ - "EdgeInsets.onlyは同じ四辺の余白を制限するために使用されます" - ] - }, - { - "file": "node3_symmetric.dart", - "name": "Padding方向余白", - "desc": [ - "EdgeInsets.symmetricは水平方向と垂直方向の余白を制限するために使用されます" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_ko_KR.json deleted file mode 100644 index bfa917b7f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_ko_KR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 74, - "name": "Padding", - "localName": "여백 컴포넌트", - "info": "하나의 자식 컴포넌트를 수용할 수 있으며, 자체 내부 여백을 추가하여 자식 컴포넌트의 공간을 제한합니다. 핵심 속성은 padding입니다.", - "lever": 4, - "family": 2, - "linkIds": [ - 1, - 191 - ], - "nodes": [ - { - "file": "node1_all.dart", - "name": "Padding 사면 동일 여백", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【padding】 : 내부 사면 여백 【EdgeInsetsGeometry】\"", - "EdgeInsets.all은 동일한 사면 여백을 지정하는 데 사용됩니다." - ] - }, - { - "file": "node2_only.dart", - "name": "Padding 개별 여백", - "desc": [ - "EdgeInsets.only는 동일한 사면 여백을 지정하는 데 사용됩니다." - ] - }, - { - "file": "node3_symmetric.dart", - "name": "Padding 방향 여백", - "desc": [ - "EdgeInsets.symmetric는 수평 및 수직 방향의 여백을 지정하는 데 사용됩니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_pt_PT.json deleted file mode 100644 index 185dc4cf6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_pt_PT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 74, - "name": "Padding", - "localName": "Componente de Margem", - "info": "Pode acomodar um componente filho, adicionando o seu próprio preenchimento interno para limitar o espaço ocupado pelo componente filho, a propriedade central é o padding.", - "lever": 4, - "family": 2, - "linkIds": [ - 1, - 191 - ], - "nodes": [ - { - "file": "node1_all.dart", - "name": "Padding com Margens Iguais em Todos os Lados", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【padding】 : Margens internas 【EdgeInsetsGeometry】\"", - "EdgeInsets.all é usado para definir margens iguais em todos os lados" - ] - }, - { - "file": "node2_only.dart", - "name": "Padding com Margens Individuais", - "desc": [ - "EdgeInsets.only é usado para definir margens específicas" - ] - }, - { - "file": "node3_symmetric.dart", - "name": "Padding com Margens Direcionais", - "desc": [ - "EdgeInsets.symmetric é usado para definir margens horizontais e verticais" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_ru_RU.json deleted file mode 100644 index 8cc5d92b3..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_ru_RU.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 74, - "name": "Padding", - "localName": "Компонент отступов", - "info": "Может содержать один дочерний компонент, добавляя собственные внутренние отступы для ограничения места, занимаемого дочерним компонентом. Основное свойство - padding.", - "lever": 4, - "family": 2, - "linkIds": [ - 1, - 191 - ], - "nodes": [ - { - "file": "node1_all.dart", - "name": "Padding равные отступы со всех сторон", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【padding】 : Внутренние отступы 【EdgeInsetsGeometry】", - "EdgeInsets.all используется для задания одинаковых отступов со всех сторон" - ] - }, - { - "file": "node2_only.dart", - "name": "Padding отдельные отступы", - "desc": [ - "EdgeInsets.only используется для задания одинаковых отступов со всех сторон" - ] - }, - { - "file": "node3_symmetric.dart", - "name": "Padding направленные отступы", - "desc": [ - "EdgeInsets.symmetric используется для задания отступов по горизонтали и вертикали" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_zh-CN.json deleted file mode 100644 index 6c2cb52a2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/desc_zh-CN.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 74, - "name": "Padding", - "localName": "边距组件", - "info": "可容纳一个子组件,添加自身内边距来限制孩子组件的占位,核心属性为padding。", - "lever": 4, - "family": 2, - "linkIds": [ - 1, - 191 - ], - "nodes": [ - { - "file": "node1_all.dart", - "name": "Padding四面等边距", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【padding】 : 内四边距 【EdgeInsetsGeometry】\"", - "EdgeInsets.all用来限定相同的四边边距" - ] - }, - { - "file": "node2_only.dart", - "name": "Padding单独边距边距", - "desc": [ - "EdgeInsets.only用来限定相同的四边边距" - ] - }, - { - "file": "node3_symmetric.dart", - "name": "Padding方向边距", - "desc": [ - "EdgeInsets.symmetric用来限定水平和竖直方向的边距" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/node1_all.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/node1_all.dart deleted file mode 100644 index ee5f54a7a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/node1_all.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/5/3 -/// contact me by email 1981462002@qq.com - -class PaddingAll extends StatelessWidget { - const PaddingAll({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.grey.withAlpha(22), - width: 200, - height: 150, - child: Padding( - padding: const EdgeInsets.all(20), - child: _buildChild(), - ), - ); - } - - Widget _buildChild() => Container( - alignment: Alignment.center, - color: Colors.cyanAccent, - width: 100, - height: 100, - child: const Text("孩子"), - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/node2_only.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/node2_only.dart deleted file mode 100644 index 2ee74a2c1..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/node2_only.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/5/3 -/// contact me by email 1981462002@qq.com - -class PaddingOnly extends StatelessWidget { - const PaddingOnly({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.grey.withAlpha(22), - width: 200, - height: 150, - child: Padding( - padding: const EdgeInsets.only(top:10,left: 10), - child: _buildChild(), - ), - ); - } - - Widget _buildChild() => Container( - alignment: Alignment.center, - color: Colors.cyanAccent, - width: 100, - height: 100, - child: const Text("孩子"), - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/node3_symmetric.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/node3_symmetric.dart deleted file mode 100644 index db66db531..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Padding/node3_symmetric.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/5/3 -/// contact me by email 1981462002@qq.com - -class PaddingSymmetric extends StatelessWidget { - const PaddingSymmetric({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.grey.withAlpha(22), - width: 200, - height: 150, - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 30,horizontal: 10), - child: _buildChild(), - ), - ); - } - - Widget _buildChild() => Container( - alignment: Alignment.center, - color: Colors.cyanAccent, - width: 100, - height: 100, - child: const Text("孩子"), - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_de_DE.json deleted file mode 100644 index 68dd4911e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 296, - "name": "PhysicalModel", - "localName": "Physikalisches Modul", - "info": "Ermöglicht das Zuschneiden von Unterkomponenten in runder oder quadratischer Form und ermöglicht die Angabe von Hintergrundfarbe, Rundung, Schattentiefe, Schattenfarbe und Zuschneideverhalten.", - "lever": 3, - "family": 2, - "linkIds": [ - 279, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von PhysicalModel", - "desc": [ - "【clipBehavior】: Zuschneideverhalten 【Clip】", - "【borderRadius】: Rundung 【BorderRadius】", - "【child】: Unterkomponente 【Widget】", - "【elevation】: Schattentiefe 【double】", - "【shadowColor】: Schattenfarbe 【Color】", - "【shape】: Form 【BoxShape】", - "【color】: Farbe 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_en_US.json deleted file mode 100644 index b9351db83..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 296, - "name": "PhysicalModel", - "localName": "Physical Module", - "info": "Allows child components to be clipped according to circles and squares, and can specify background color, rounded corners, shadow depth, shadow color, and clipping behavior.", - "lever": 3, - "family": 2, - "linkIds": [ - 279, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of PhysicalModel", - "desc": [ - "【clipBehavior】: Clipping Behavior 【Clip】", - "【borderRadius】: Rounded Corners 【BorderRadius】", - "【child】: Child Component 【Widget】", - "【elevation】: Shadow Depth 【double】", - "【shadowColor】: Shadow Color 【Color】", - "【shape】: Shape 【BoxShape】", - "【color】: Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_es_ES.json deleted file mode 100644 index e00162d5e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 296, - "name": "PhysicalModel", - "localName": "Módulo Físico", - "info": "Permite recortar los componentes secundarios en forma circular o cuadrada, y se puede especificar el color de fondo, el radio de las esquinas, la profundidad de la sombra, el color de la sombra y el comportamiento de recorte.", - "lever": 3, - "family": 2, - "linkIds": [ - 279, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de PhysicalModel", - "desc": [ - "【clipBehavior】 : Comportamiento de recorte 【Clip】", - "【borderRadius】 : Radio de las esquinas 【BorderRadius】", - "【child】 : Componente secundario 【Widget】", - "【elevation】 : Profundidad de la sombra 【double】", - "【shadowColor】 : Color de la sombra 【Color】", - "【shape】 : Forma 【BoxShape】", - "【color】: Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_fr_FR.json deleted file mode 100644 index 43674cf5d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 296, - "name": "PhysicalModel", - "localName": "Module Physique", - "info": "Permet de découper les composants enfants selon une forme circulaire ou carrée, et de spécifier la couleur de fond, les coins arrondis, la profondeur de l'ombre, la couleur de l'ombre et le comportement de découpe.", - "lever": 3, - "family": 2, - "linkIds": [ - 279, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de PhysicalModel", - "desc": [ - "【clipBehavior】 : Comportement de découpe 【Clip】", - "【borderRadius】 : Coins arrondis 【BorderRadius】", - "【child】 : Composant enfant 【Widget】", - "【elevation】 : Profondeur de l'ombre 【double】", - "【shadowColor】 : Couleur de l'ombre 【Color】", - "【shape】 : Forme 【BoxShape】", - "【color】: Couleur 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_it_IT.json deleted file mode 100644 index 971304862..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 296, - "name": "PhysicalModel", - "localName": "Modulo Fisico", - "info": "Permette di ritagliare i componenti figli in base a forme circolari o quadrate, e di specificare il colore di sfondo, gli angoli arrotondati, la profondità dell'ombra, il colore dell'ombra e il comportamento di ritaglio.", - "lever": 3, - "family": 2, - "linkIds": [ - 279, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di PhysicalModel", - "desc": [ - "【clipBehavior】 : Comportamento di ritaglio 【Clip】", - "【borderRadius】 : Angoli arrotondati 【BorderRadius】", - "【child】 : Componente figlio 【Widget】", - "【elevation】 : Profondità dell'ombra 【double】", - "【shadowColor】 : Colore dell'ombra 【Color】", - "【shape】 : Forma 【BoxShape】", - "【color】: Colore 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_ja_JP.json deleted file mode 100644 index 82ad3a43e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 296, - "name": "PhysicalModel", - "localName": "物理モジュール", - "info": "子コンポーネントを円形や四角形でクリップし、背景色、角丸、影の深さ、影の色、クリップ動作を指定することができます。", - "lever": 3, - "family": 2, - "linkIds": [ - 279, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PhysicalModelの基本的な使用", - "desc": [ - "【clipBehavior】 : クリップ動作 【Clip】", - "【borderRadius】 : 角丸 【BorderRadius】", - "【child】 : 子コンポーネント 【Widget】", - "【elevation】 : 影の深さ 【double】", - "【shadowColor】 : 影の色 【Color】", - "【shape】 : 形状 【BoxShape】", - "【color】: 色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_ko_KR.json deleted file mode 100644 index 8d153b759..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 296, - "name": "PhysicalModel", - "localName": "물리 모듈", - "info": "자식 위젯을 원형 또는 사각형으로 자를 수 있으며, 배경색, 모서리 반경, 그림자 깊이, 그림자 색상, 클리핑 동작을 지정할 수 있습니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 279, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PhysicalModel 기본 사용", - "desc": [ - "【clipBehavior】 : 클리핑 동작 【Clip】", - "【borderRadius】 : 모서리 반경 【BorderRadius】", - "【child】 : 자식 위젯 【Widget】", - "【elevation】 : 그림자 깊이 【double】", - "【shadowColor】 : 그림자 색상 【Color】", - "【shape】 : 모양 【BoxShape】", - "【color】: 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_pt_PT.json deleted file mode 100644 index 2ee84c80f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 296, - "name": "PhysicalModel", - "localName": "Módulo Físico", - "info": "Permite que os subcomponentes sejam cortados de acordo com formas circulares ou quadradas, e pode especificar a cor de fundo, cantos arredondados, profundidade da sombra, cor da sombra e comportamento de corte.", - "lever": 3, - "family": 2, - "linkIds": [ - 279, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do PhysicalModel", - "desc": [ - "【clipBehavior】 : Comportamento de corte 【Clip】", - "【borderRadius】 : Cantos arredondados 【BorderRadius】", - "【child】 : Subcomponente 【Widget】", - "【elevation】 : Profundidade da sombra 【double】", - "【shadowColor】 : Cor da sombra 【Color】", - "【shape】 : Forma 【BoxShape】", - "【color】: Cor 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_ru_RU.json deleted file mode 100644 index 2c6f69f07..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 296, - "name": "PhysicalModel", - "localName": "Физический модуль", - "info": "Позволяет обрезать дочерние компоненты по кругу или квадрату, а также можно указать цвет фона, радиус скругления, глубину тени, цвет тени и поведение обрезки.", - "lever": 3, - "family": 2, - "linkIds": [ - 279, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование PhysicalModel", - "desc": [ - "【clipBehavior】 : Поведение обрезки 【Clip】", - "【borderRadius】 : Радиус скругления 【BorderRadius】", - "【child】 : Дочерний компонент 【Widget】", - "【elevation】 : Глубина тени 【double】", - "【shadowColor】 : Цвет тени 【Color】", - "【shape】 : Форма 【BoxShape】", - "【color】: Цвет 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_zh-CN.json deleted file mode 100644 index 1b02584c8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 296, - "name": "PhysicalModel", - "localName": "物理模块", - "info": "可以让子组件按照圆形、方行进行剪裁,并且可以指定背景色、圆角、影深、阴影颜色、剪切行为。", - "lever": 3, - "family": 2, - "linkIds": [ - 279, - 69 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PhysicalModel基本使用", - "desc": [ - "【clipBehavior】 : 裁剪行为 【Clip】", - "【borderRadius】 : 圆角 【BorderRadius】", - "【child】 : 子组件 【Widget】", - "【elevation】 : 阴影深 【double】", - "【shadowColor】 : 阴影颜色 【Color】", - "【shape】 : 形状 【BoxShape】", - "【color】: 颜色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/node1_base.dart deleted file mode 100644 index 716ec9ff4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalModel/node1_base.dart +++ /dev/null @@ -1,48 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class PhysicalModelDemo extends StatelessWidget{ - const PhysicalModelDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - SizedBox( - width: 150, - height: 150, - child: PhysicalModel( - shadowColor: Colors.orange, - elevation: 3, - child: Image.asset( - 'assets/images/caver.webp', - fit: BoxFit.cover, - ), - clipBehavior: Clip.hardEdge, - shape: BoxShape.circle, - color: Colors.deepPurpleAccent), - ), - - SizedBox( - width: 150, - height: 150, - child: PhysicalModel( - shadowColor: Colors.orange, - elevation: 3, - child: Image.asset( - 'assets/images/caver.webp', - fit: BoxFit.cover, - ), - borderRadius: const BorderRadius.all(Radius.circular(20)), - clipBehavior: Clip.hardEdge, - shape: BoxShape.rectangle, - color: Colors.deepPurpleAccent), - ), - ], - ); - } - -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_de_DE.json deleted file mode 100644 index 73eed0969..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 279, - "name": "PhysicalShape", - "localName": "Physikalische Form", - "info": "Ermöglicht es den Unterkomponenten, entlang eines Pfads beschnitten zu werden, und ermöglicht die Angabe von Hintergrundfarbe, Schattentiefe, Schattenfarbe und Schneidverhalten.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von PhysicalShape", - "desc": [ - "【clipper】 : Clipper 【CustomClipper】", - "【clipBehavior】 : Schneidverhalten 【Clip】", - "【child】 : Unterkomponente 【Widget】", - "【elevation】 : Schattentiefe 【double】", - "【shadowColor】 : Schattenfarbe 【Color】", - "【color】: Farbe 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_en_US.json deleted file mode 100644 index 4ea4b73e4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 279, - "name": "PhysicalShape", - "localName": "Physical Shape", - "info": "Allows child components to be clipped according to the path, and can specify background color, shadow depth, shadow color, and clipping behavior.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of PhysicalShape", - "desc": [ - "【clipper】: Clipper 【CustomClipper】", - "【clipBehavior】: Clipping Behavior 【Clip】", - "【child】: Child Component 【Widget】", - "【elevation】: Shadow Depth 【double】", - "【shadowColor】: Shadow Color 【Color】", - "【color】: Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_es_ES.json deleted file mode 100644 index dcf2db89d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 279, - "name": "PhysicalShape", - "localName": "Forma Física", - "info": "Permite que los componentes hijos se recorten según una ruta, y se puede especificar el color de fondo, la profundidad de la sombra, el color de la sombra y el comportamiento de recorte.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de PhysicalShape", - "desc": [ - "【clipper】: Recortador 【CustomClipper】", - "【clipBehavior】: Comportamiento de recorte 【Clip】", - "【child】: Componente hijo 【Widget】", - "【elevation】: Profundidad de la sombra 【double】", - "【shadowColor】: Color de la sombra 【Color】", - "【color】: Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_fr_FR.json deleted file mode 100644 index 5eb0c9f1e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 279, - "name": "PhysicalShape", - "localName": "Forme physique", - "info": "Permet de découper les composants enfants selon un chemin, et permet de spécifier la couleur de fond, la profondeur de l'ombre, la couleur de l'ombre et le comportement de découpage.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de PhysicalShape", - "desc": [ - "【clipper】 : coupeur 【CustomClipper】", - "【clipBehavior】 : comportement de découpage 【Clip】", - "【child】 : composant enfant 【Widget】", - "【elevation】 : profondeur de l'ombre 【double】", - "【shadowColor】 : couleur de l'ombre 【Color】", - "【color】: couleur 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_it_IT.json deleted file mode 100644 index 6946db317..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 279, - "name": "PhysicalShape", - "localName": "Forma Fisica", - "info": "Consente ai componenti figli di essere ritagliati secondo un percorso e può specificare il colore di sfondo, la profondità dell'ombra, il colore dell'ombra e il comportamento di ritaglio.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di PhysicalShape", - "desc": [ - "【clipper】 : Ritagliatore 【CustomClipper】", - "【clipBehavior】 : Comportamento di ritaglio 【Clip】", - "【child】 : Componente figlio 【Widget】", - "【elevation】 : Profondità dell'ombra 【double】", - "【shadowColor】 : Colore dell'ombra 【Color】", - "【color】: Colore 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_ja_JP.json deleted file mode 100644 index 73e8f5f19..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 279, - "name": "PhysicalShape", - "localName": "物理形状", - "info": "子コンポーネントをパスに沿ってクリップし、背景色、影の深さ、影の色、クリップ動作を指定できます。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PhysicalShapeの基本使用", - "desc": [ - "【clipper】 : クリッパー 【CustomClipper】", - "【clipBehavior】 : クリップ動作 【Clip】", - "【child】 : 子コンポーネント 【Widget】", - "【elevation】 : 影の深さ 【double】", - "【shadowColor】 : 影の色 【Color】", - "【color】: 色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_ko_KR.json deleted file mode 100644 index edbc87f7a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 279, - "name": "PhysicalShape", - "localName": "물리적 모양", - "info": "자식 위젯이 경로에 따라 잘릴 수 있도록 하고, 배경색, 그림자 깊이, 그림자 색상, 클리핑 동작을 지정할 수 있습니다.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PhysicalShape 기본 사용", - "desc": [ - "【clipper】 : 클리퍼 【CustomClipper】", - "【clipBehavior】 : 클리핑 동작 【Clip】", - "【child】 : 자식 위젯 【Widget】", - "【elevation】 : 그림자 깊이 【double】", - "【shadowColor】 : 그림자 색상 【Color】", - "【color】: 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_pt_PT.json deleted file mode 100644 index 293b4bd00..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 279, - "name": "PhysicalShape", - "localName": "Forma Física", - "info": "Permite que os componentes filhos sejam cortados de acordo com o caminho, e pode especificar a cor de fundo, profundidade da sombra, cor da sombra, comportamento de corte.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do PhysicalShape", - "desc": [ - "【clipper】: Cortador 【CustomClipper】", - "【clipBehavior】: Comportamento de Corte 【Clip】", - "【child】: Componente Filho 【Widget】", - "【elevation】: Profundidade da Sombra 【double】", - "【shadowColor】: Cor da Sombra 【Color】", - "【color】: Cor 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_ru_RU.json deleted file mode 100644 index e9ee52388..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 279, - "name": "PhysicalShape", - "localName": "Физическая форма", - "info": "Позволяет обрезать дочерние компоненты по пути, а также можно указать цвет фона, глубину тени, цвет тени и поведение обрезки.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование PhysicalShape", - "desc": [ - "【clipper】 : Обрезчик 【CustomClipper】", - "【clipBehavior】 : Поведение обрезки 【Clip】", - "【child】 : Дочерний компонент 【Widget】", - "【elevation】 : Глубина тени 【double】", - "【shadowColor】 : Цвет тени 【Color】", - "【color】: Цвет 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_zh-CN.json deleted file mode 100644 index d09a16837..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 279, - "name": "PhysicalShape", - "localName": "物理形状", - "info": "可以让子组件按照路径进行剪裁,并且可以指定背景色、影深、阴影颜色、剪切行为。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PhysicalShape基本使用", - "desc": [ - "【clipper】 : 裁剪器 【CustomClipper】", - "【clipBehavior】 : 裁剪行为 【Clip】", - "【child】 : 子组件 【Widget】", - "【elevation】 : 阴影深 【double】", - "【shadowColor】 : 阴影颜色 【Color】", - "【color】: 颜色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/node1_base.dart deleted file mode 100644 index e2f4e8727..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/PhysicalShape/node1_base.dart +++ /dev/null @@ -1,30 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class PhysicalShapeDemo extends StatelessWidget { - const PhysicalShapeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 200, - height: 200, - child: PhysicalShape( - shadowColor: Colors.orange, - elevation: 3, - child: Image.asset( - 'assets/images/caver.webp', - fit: BoxFit.cover, - ), - clipBehavior: Clip.hardEdge, - clipper: const ShapeBorderClipper( - shape: CircleBorder(side: BorderSide.none), - ), - color: Colors.deepPurpleAccent), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_de_DE.json deleted file mode 100644 index 3f21c3409..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 264, - "name": "RepaintBoundary", - "localName": "Neulackgrenze", - "info": "Erstellt eine separate Anzeigeliste für Unterkomponenten, um die Leistung zu verbessern. Im Quellcode wird es in Komponenten wie TextField, DrawerController, Scrollbar, Sliver usw. verwendet.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RepaintBoundary", - "desc": [ - "【child】 : Unterkomponente 【Widget】", - "Zum Beispiel wird in der obigen Zeichenansicht die paint-Methode auch dann kontinuierlich ausgeführt, wenn shouldRepaint false ist. Die Verwendung von RepaintBoundary kann unnötiges Zeichnen vermeiden." - ] - }, - { - "file": "node2_save.dart", - "name": "Speichern eines Widgets als Bild", - "desc": [ - "Mit RenderRepaintBoundary können Bildinformationen der Unterkomponente abgerufen werden, um sie als Bilddatei zu speichern." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_en_US.json deleted file mode 100644 index 420495baa..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 264, - "name": "RepaintBoundary", - "localName": "Repaint Boundary", - "info": "Creates a separate display list for child components to improve performance. It is used in components such as TextField, DrawerController, Scrollbar, and Sliver in the source code.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RepaintBoundary", - "desc": [ - "【child】 : Child component 【Widget】", - "For example, in the above drawing view, even if shouldRepaint is false, the paint method will be continuously executed during scrolling. Using RepaintBoundary can avoid unnecessary drawing." - ] - }, - { - "file": "node2_save.dart", - "name": "Save Widget as Image", - "desc": [ - "Through RenderRepaintBoundary, you can obtain the Image information of the child component, and then save the bytes as an image file." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_es_ES.json deleted file mode 100644 index 82831684e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 264, - "name": "RepaintBoundary", - "localName": "Límite de repintado", - "info": "Crea una lista de visualización separada para los componentes hijos, mejorando el rendimiento. Se utiliza en componentes como TextField, DrawerController, Scrollbar, Sliver, etc.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RepaintBoundary", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "Por ejemplo, en la vista de dibujo anterior, incluso si shouldRepaint es false, el método paint se ejecutará continuamente durante el desplazamiento. Usar RepaintBoundary puede evitar pinturas innecesarias." - ] - }, - { - "file": "node2_save.dart", - "name": "Guardar Widget como imagen", - "desc": [ - "A través de RenderRepaintBoundary se puede obtener la información de la imagen del componente hijo, y así guardar los bytes como un archivo de imagen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_fr_FR.json deleted file mode 100644 index 838e65f06..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 264, - "name": "RepaintBoundary", - "localName": "Limite de Repaint", - "info": "Crée une liste d'affichage séparée pour les composants enfants, améliorant ainsi les performances. Utilisé dans les composants tels que TextField, DrawerController, Scrollbar, Sliver, etc. dans le code source.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RepaintBoundary", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "Par exemple, dans la vue de dessin ci-dessus, même si shouldRepaint est false, la méthode paint sera constamment exécutée lors du défilement. L'utilisation de RepaintBoundary peut éviter les peintures inutiles." - ] - }, - { - "file": "node2_save.dart", - "name": "Sauvegarder un Widget en tant qu'image", - "desc": [ - "Grâce à RenderRepaintBoundary, il est possible d'obtenir les informations d'image du composant enfant, puis de les sauvegarder sous forme de fichier image." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_it_IT.json deleted file mode 100644 index 5ca398003..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 264, - "name": "RepaintBoundary", - "localName": "Confine di ridisegno", - "info": "Crea una lista di visualizzazione separata per i componenti figli, migliorando le prestazioni. Nel codice sorgente, viene utilizzato in componenti come TextField, DrawerController, Scrollbar, Sliver, ecc.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di RepaintBoundary", - "desc": [ - "【child】 : componente figlio 【Widget】", - "Ad esempio, nella vista di disegno sopra, anche se shouldRepaint è false, il metodo paint verrà eseguito continuamente durante lo scorrimento. L'uso di RepaintBoundary può evitare ridisegni non necessari." - ] - }, - { - "file": "node2_save.dart", - "name": "Salvare un Widget come immagine", - "desc": [ - "Attraverso RenderRepaintBoundary è possibile ottenere le informazioni sull'immagine del componente figlio, ottenendo così i byte per salvarli come file immagine." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_ja_JP.json deleted file mode 100644 index ac0a67214..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 264, - "name": "RepaintBoundary", - "localName": "再描画境界", - "info": "子コンポーネントのための別個の表示リストを作成し、パフォーマンスを向上させます。ソースコードではTextField、DrawerController、Scrollbar、Sliverなどのコンポーネントに適用されています", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RepaintBoundaryの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "例えば、上記の描画ビューでは、shouldRepaintがfalseであっても、スクロール中にpaintメソッドが繰り返し実行されます。RepaintBoundaryを使用することで、不要な描画を避けることができます。" - ] - }, - { - "file": "node2_save.dart", - "name": "Widgetを画像として保存", - "desc": [ - "RenderRepaintBoundaryを使用して、子コンポーネントのImage情報を取得し、バイトとして画像ファイルに保存することができます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_ko_KR.json deleted file mode 100644 index 79bd059f8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 264, - "name": "RepaintBoundary", - "localName": "리페인트 경계", - "info": "자식 위젯을 위한 별도의 디스플레이 리스트를 생성하여 성능을 향상시킵니다. 소스 코드에서 TextField, DrawerController, Scrollbar, Sliver 등 다양한 위젯에 적용되어 있습니다.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RepaintBoundary 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "예를 들어 위의 그리기 뷰는 shouldRepaint가 false인 경우에도 스크롤 중에 paint 메소드가 계속 실행됩니다. RepaintBoundary를 사용하면 불필요한 그리기를 방지할 수 있습니다." - ] - }, - { - "file": "node2_save.dart", - "name": "위젯을 이미지로 저장", - "desc": [ - "RenderRepaintBoundary를 통해 자식 위젯의 이미지 정보를 얻어 바이트로 저장하여 이미지 파일로 저장할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_pt_PT.json deleted file mode 100644 index 78089c63b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 264, - "name": "RepaintBoundary", - "localName": "Limite de Repintura", - "info": "Cria uma lista de exibição separada para componentes filhos, melhorando o desempenho. É utilizado em componentes como TextField, DrawerController, Scrollbar, Sliver, entre outros, no código-fonte.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do RepaintBoundary", - "desc": [ - "【child】 : Componente filho 【Widget】", - "Por exemplo, na vista de desenho acima, mesmo que shouldRepaint seja falso, o método paint será executado continuamente durante o deslizamento. Usar RepaintBoundary pode evitar pinturas desnecessárias." - ] - }, - { - "file": "node2_save.dart", - "name": "Salvar Widget como Imagem", - "desc": [ - "Através do RenderRepaintBoundary, é possível obter informações de imagem do componente filho e, assim, salvar os bytes como um arquivo de imagem." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_ru_RU.json deleted file mode 100644 index ef65d3e35..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 264, - "name": "RepaintBoundary", - "localName": "Граница перерисовки", - "info": "Создает отдельный список отображения для дочерних компонентов, повышая производительность. Используется в компонентах, таких как TextField, DrawerController, Scrollbar, Sliver и других в исходном коде.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RepaintBoundary", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "Например, в приведенном выше примере отображения, даже если shouldRepaint равен false, метод paint будет постоянно выполняться во время прокрутки. Использование RepaintBoundary позволяет избежать ненужной перерисовки." - ] - }, - { - "file": "node2_save.dart", - "name": "Сохранение Widget в виде изображения", - "desc": [ - "С помощью RenderRepaintBoundary можно получить информацию об изображении дочернего компонента и сохранить его в виде файла изображения." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_zh-CN.json deleted file mode 100644 index b2ee37a97..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 264, - "name": "RepaintBoundary", - "localName": "重绘边界", - "info": "为子组件创建一个单独的显示列表,提升性能。源码中在TextField、DrawerController、Scrollbar、Sliver等组件中均有应用", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RepaintBoundary基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "比如上面的绘制视图,即使shouldRepaint为false,在滑动中会也会不断执行paint方法,使用RepaintBoundary可以避免不必要的绘制。" - ] - }, - { - "file": "node2_save.dart", - "name": "保存Widget成为图片", - "desc": [ - "通过RenderRepaintBoundary可以获取子组件的Image信息,从而获取字节保存为图片文件。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/main.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/main.dart deleted file mode 100644 index 13fecd3ad..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/main.dart +++ /dev/null @@ -1,26 +0,0 @@ -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com -/// 说明: - -import 'package:flutter/material.dart'; -import 'node2_save.dart'; - - -void main() => runApp(const MyApp()); - -class MyApp extends StatelessWidget { - const MyApp({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Flutter Demo', - theme: ThemeData( - primarySwatch: Colors.blue, - ), - home: Scaffold( - appBar: AppBar(), - body: Center(child: RepaintBoundarySave()), - )); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/node1_base.dart deleted file mode 100644 index f26bf1f04..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/node1_base.dart +++ /dev/null @@ -1,178 +0,0 @@ -import 'dart:ui'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class RepaintBoundaryDemo extends StatelessWidget{ - const RepaintBoundaryDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const RepaintBoundary( - child: TempPlayBezier3Page(), - ); - } -} - -class TempPlayBezier3Page extends StatefulWidget { - const TempPlayBezier3Page({Key? key}) : super(key: key); - - @override - _TempPlayBezier3PageState createState() => _TempPlayBezier3PageState(); -} - -class _TempPlayBezier3PageState extends State { - List _pos = []; - int? selectPos; - - @override - void initState() { - _initPoints(); - super.initState(); - } - - void _initPoints() { - _pos = []; - _pos.add(const Offset(0, 0)); - _pos.add(const Offset(60, -60)); - _pos.add(const Offset(-90, -90)); - _pos.add(const Offset(-120, -40)); - } - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - width: MediaQuery.of(context).size.width, - child: CustomPaint( - painter: TempBezierPainter(pos: _pos, selectPos: selectPos), - ), - ); - } -} - -class TempBezierPainter extends CustomPainter { - late Paint _gridPaint; - late Path _gridPath; - - late Paint _mainPaint; - late Path _mainPath; - int? selectPos; - late Paint _helpPaint; - - List pos; - - TempBezierPainter({this.pos=const [], this.selectPos}) { - _gridPaint = Paint()..style = PaintingStyle.stroke; - _gridPath = Path(); - - _mainPaint = Paint() - ..color = Colors.orange - ..style = PaintingStyle.stroke - ..strokeWidth = 2; - _mainPath = Path(); - - _helpPaint = Paint() - ..color = Colors.purple - ..style = PaintingStyle.stroke - ..strokeWidth = 2 - ..strokeCap = StrokeCap.round; - } - - @override - void paint(Canvas canvas, Size size) { - print('----------Paint-------'); - canvas.clipRect(Offset.zero & size); - canvas.translate(size.width / 2, size.height / 2); - _drawGrid(canvas, size); //绘制格线 - _drawAxis(canvas, size); //绘制轴线 - - _mainPath.moveTo(pos[0].dx, pos[0].dy); - _mainPath.cubicTo( - pos[1].dx, pos[1].dy, pos[2].dx, pos[2].dy, pos[3].dx, pos[3].dy); - canvas.drawPath(_mainPath, _mainPaint); - _drawHelp(canvas); - _drawSelectPos(canvas); - } - - @override - bool shouldRepaint(CustomPainter oldDelegate) => false; - - void _drawGrid(Canvas canvas, Size size) { - _gridPaint - ..color = Colors.grey - ..strokeWidth = 0.5; - _gridPath = _buildGridPath(_gridPath, size); - canvas.drawPath(_buildGridPath(_gridPath, size), _gridPaint); - - canvas.save(); - canvas.scale(1, -1); //沿x轴镜像 - canvas.drawPath(_gridPath, _gridPaint); - canvas.restore(); - - canvas.save(); - canvas.scale(-1, 1); //沿y轴镜像 - canvas.drawPath(_gridPath, _gridPaint); - canvas.restore(); - - canvas.save(); - canvas.scale(-1, -1); //沿原点镜像 - canvas.drawPath(_gridPath, _gridPaint); - canvas.restore(); - } - - void _drawAxis(Canvas canvas, Size size) { - canvas.drawPoints( - PointMode.lines, - [ - Offset(-size.width / 2, 0), - Offset(size.width / 2, 0), - Offset(0, -size.height / 2), - Offset(0, size.height / 2), - Offset(0, size.height / 2), - Offset(0 - 7.0, size.height / 2 - 10), - Offset(0, size.height / 2), - Offset(0 + 7.0, size.height / 2 - 10), - Offset(size.width / 2, 0), - Offset(size.width / 2 - 10, 7), - Offset(size.width / 2, 0), - Offset(size.width / 2 - 10, -7), - ], - _gridPaint - ..color = Colors.blue - ..strokeWidth = 1.5); - } - - Path _buildGridPath(Path path, Size size, {step = 20.0}) { - for (int i = 0; i < size.height / 2 / step; i++) { - path.moveTo(0, step * i); - path.relativeLineTo(size.width / 2, 0); - } - for (int i = 0; i < size.width / 2 / step; i++) { - path.moveTo(step * i, 0); - path.relativeLineTo( - 0, - size.height / 2, - ); - } - return path; - } - - void _drawHelp(Canvas canvas) { - canvas.drawPoints(PointMode.lines, pos, _helpPaint..strokeWidth = 1); - canvas.drawPoints(PointMode.points, pos, _helpPaint..strokeWidth = 8); - } - - void _drawSelectPos(Canvas canvas) { - if (selectPos == null) return; - canvas.drawCircle( - pos[selectPos!], - 10, - _helpPaint - ..color = Colors.green - ..strokeWidth = 2); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/node2_save.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/node2_save.dart deleted file mode 100644 index a235ebd35..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RepaintBoundary/node2_save.dart +++ /dev/null @@ -1,70 +0,0 @@ -import 'dart:io'; -import 'dart:typed_data'; -import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; -import 'package:path_provider/path_provider.dart'; -import 'dart:ui' as ui; -import 'node1_base.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class RepaintBoundarySave extends StatefulWidget { - - const RepaintBoundarySave({super.key}); - - @override - State createState() => _RepaintBoundarySaveState(); -} - -class _RepaintBoundarySaveState extends State { - final GlobalKey _globalKey = GlobalKey(); - - @override - Widget build(BuildContext context) { - return Stack( - children: [ - RepaintBoundary( - key: _globalKey, - child: const TempPlayBezier3Page(), - ), - Positioned(right: -10, child: _buildButton3(context)) - ], - ); - } - - Widget _buildButton3(context) => MaterialButton( - child: const Icon( - Icons.save_alt, - size: 15, - color: Colors.white, - ), - color: Colors.green, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - onPressed: () async { - Uint8List? bits = await _widget2Image(_globalKey); - Directory dir = await getApplicationSupportDirectory(); - File file = File(dir.path + "/save_img.png"); - if(bits==null) return; - var f = await file.writeAsBytes(bits); - ScaffoldMessenger.of(context).showSnackBar(SnackBar( - backgroundColor: Theme.of(context).primaryColor, - content: Text('保存成功后! 路径为:${f.path}'), - )); - }); - - Future _widget2Image(GlobalKey key) async { - RenderObject? boundary = key.currentContext?.findRenderObject(); - if(boundary==null || boundary is! RenderRepaintBoundary) return null; - - //获得 ui.image - ui.Image img = await boundary.toImage(); - //获取图片字节 - var byteData = await img.toByteData(format: ui.ImageByteFormat.png); - Uint8List? bits = byteData?.buffer.asUint8List(); - return bits; - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_de_DE.json deleted file mode 100644 index 731df6159..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 72, - "name": "RotatedBox", - "localName": "Drehbox", - "info": "Kann ein Unterelement aufnehmen und es im Uhrzeigersinn um quarterTurns*90° drehen.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RotatedBox", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【quarterTurns】 : Um wie viele 90° gedreht werden soll 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_en_US.json deleted file mode 100644 index 7dcd5cb0c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 72, - "name": "RotatedBox", - "localName": "Rotated Box", - "info": "Can contain a child widget, rotating it clockwise by quarterTurns*90°.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RotatedBox", - "desc": [ - "【child】 : Child widget 【Widget】", - "【quarterTurns】 : How many 90° to rotate 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_es_ES.json deleted file mode 100644 index 1cb8f9ced..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 72, - "name": "RotatedBox", - "localName": "Caja Rotada", - "info": "Puede contener un componente hijo, girándolo en sentido horario en quarterTurns*90°.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RotatedBox", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【quarterTurns】 : Cuántos 90° girar 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_fr_FR.json deleted file mode 100644 index 6088e564e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 72, - "name": "RotatedBox", - "localName": "Boîte Rotée", - "info": "Peut contenir un composant enfant, le faisant pivoter dans le sens horaire de quarterTurns*90°.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RotatedBox", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【quarterTurns】 : Nombre de rotations de 90° 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_it_IT.json deleted file mode 100644 index e7323602a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 72, - "name": "RotatedBox", - "localName": "Scatola Ruotata", - "info": "Può contenere un componente figlio, ruotandolo in senso orario di quarterTurns*90°.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di RotatedBox", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【quarterTurns】 : Quanti 90° ruotare 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_ja_JP.json deleted file mode 100644 index 9ab2b2334..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 72, - "name": "RotatedBox", - "localName": "回転ボックス", - "info": "1つの子コンポーネントを収容し、それを時計回りにquarterTurns*90°回転させます。", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RotatedBoxの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【quarterTurns】 : 90°回転する回数 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_ko_KR.json deleted file mode 100644 index 7b476c41f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 72, - "name": "RotatedBox", - "localName": "회전 상자", - "info": "하나의 자식 위젯을 포함할 수 있으며, 시계 방향으로 quarterTurns*90°만큼 회전시킵니다.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RotatedBox 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【quarterTurns】 : 90° 회전 횟수 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_pt_PT.json deleted file mode 100644 index cb67f1bfb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 72, - "name": "RotatedBox", - "localName": "Caixa Giratória", - "info": "Pode conter um componente filho, girando-o no sentido horário em quarterTurns*90°.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do RotatedBox", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【quarterTurns】 : Quantos 90° para girar 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_ru_RU.json deleted file mode 100644 index 7f6465f71..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 72, - "name": "RotatedBox", - "localName": "Повернутый ящик", - "info": "Может содержать один дочерний компонент, поворачивая его по часовой стрелке на quarterTurns*90°.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RotatedBox", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【quarterTurns】 : Сколько раз повернуть на 90° 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_zh-CN.json deleted file mode 100644 index 87b81cb2f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 72, - "name": "RotatedBox", - "localName": "旋转盒", - "info": "可容纳一个子组件,将其沿顺时针旋转quarterTurns*90°。", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RotatedBox基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【quarterTurns】 : 旋转多少个90° 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/node1_base.dart deleted file mode 100644 index 622d17f58..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/RotatedBox/node1_base.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomRotatedBox extends StatefulWidget { - const CustomRotatedBox({Key? key}) : super(key: key); - - @override - _CustomRotatedBoxState createState() => _CustomRotatedBoxState(); -} - -class _CustomRotatedBoxState extends State { - int _quarterTurns = 0; - - @override - Widget build(BuildContext context) { - return RotatedBox( - quarterTurns: _quarterTurns, - child: GestureDetector( - onTap: () => setState(() => _quarterTurns++), - child: const Icon( - Icons.android, - size: 60, - color: Colors.blue, - )), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_de_DE.json deleted file mode 100644 index b630b69dd..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_de_DE.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 277, - "name": "ShaderMask", - "localName": "Shader-Maske", - "info": "Kann ein Kind aufnehmen und das Kind durch einen Shader einfärben, wobei der Mischmodus angegeben werden kann. Wird häufig für die Farbverlaufsverarbeitung von Komponenten verwendet.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 38 - ], - "nodes": [ - { - "file": "node1_radial.dart", - "name": "Radialer Farbverlauf", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【shaderCallback】 : Shader-Rückruf 【ShaderCallback】", - "【blendMode】 : Mischmodus 【BlendMode】", - " Erstellt einen radialen Farbverlaufsshader durch RadialGradient#createShader." - ] - }, - { - "file": "node2_linear.dart", - "name": "Linearer Farbverlauf", - "desc": [ - "Erstellt einen linearen Farbverlaufsshader durch LinearGradient#createShader", - "Weitere Informationen zu Shadern finden Sie im 【Zeichnungsalbum】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_en_US.json deleted file mode 100644 index bf1fb1abb..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_en_US.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 277, - "name": "ShaderMask", - "localName": "Shader Mask", - "info": "Can accommodate a child and apply shading to the child through a shader, with the ability to specify blending modes. Commonly used for gradient processing of components.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 38 - ], - "nodes": [ - { - "file": "node1_radial.dart", - "name": "Radial Gradient Shading", - "desc": [ - "【child】: Child component 【Widget】", - "【shaderCallback】: Shader callback 【ShaderCallback】", - "【blendMode】: Blending mode 【BlendMode】", - " Create a radial gradient shader through RadialGradient#createShader." - ] - }, - { - "file": "node2_linear.dart", - "name": "Linear Gradient Shading", - "desc": [ - "Create a linear gradient shader through LinearGradient#createShader", - "For more information on shaders, see 【Drawing Album】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_es_ES.json deleted file mode 100644 index 7d568a3ca..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_es_ES.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 277, - "name": "ShaderMask", - "localName": "Máscara de sombreado", - "info": "Puede contener un hijo y aplicar sombreado al hijo a través de un sombreador, se puede especificar el modo de mezcla. Normalmente se utiliza para el procesamiento de gradientes de color en componentes.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 38 - ], - "nodes": [ - { - "file": "node1_radial.dart", - "name": "Sombreado de gradiente radial", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【shaderCallback】 : Callback del sombreador 【ShaderCallback】", - "【blendMode】 : Modo de mezcla 【BlendMode】", - " Crea un sombreador de gradiente radial a través de RadialGradient#createShader." - ] - }, - { - "file": "node2_linear.dart", - "name": "Sombreado de gradiente lineal", - "desc": [ - "Crea un sombreador de gradiente lineal a través de LinearGradient#createShader", - "Para más información sobre sombreadores, consulte el 【Álbum de dibujo】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_fr_FR.json deleted file mode 100644 index 4a4f8f299..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_fr_FR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 277, - "name": "ShaderMask", - "localName": "Masque de nuance", - "info": "Peut contenir un enfant et appliquer une teinte à l'enfant via un nuanceur, avec la possibilité de spécifier un mode de mélange. Couramment utilisé pour le traitement des dégradés de composants.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 38 - ], - "nodes": [ - { - "file": "node1_radial.dart", - "name": "Teinte de dégradé radial", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【shaderCallback】 : Rappel du nuanceur 【ShaderCallback】", - "【blendMode】 : Mode de mélange 【BlendMode】", - " Crée un nuanceur de dégradé radial via RadialGradient#createShader." - ] - }, - { - "file": "node2_linear.dart", - "name": "Teinte de dégradé linéaire", - "desc": [ - "Crée un nuanceur de dégradé linéaire via LinearGradient#createShader", - "Pour plus d'informations sur les nuanceurs, voir 【Album de dessin】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_it_IT.json deleted file mode 100644 index 14396a8ed..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_it_IT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 277, - "name": "ShaderMask", - "localName": "Maschera Shader", - "info": "Può contenere un figlio e colorare il figlio attraverso uno shader, specificando la modalità di fusione. Solitamente utilizzato per il trattamento della gradazione dei componenti.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 38 - ], - "nodes": [ - { - "file": "node1_radial.dart", - "name": "Sfumatura Radiale", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【shaderCallback】 : Callback dello shader 【ShaderCallback】", - "【blendMode】 : Modalità di fusione 【BlendMode】", - " Crea uno shader di sfumatura radiale attraverso RadialGradient#createShader." - ] - }, - { - "file": "node2_linear.dart", - "name": "Sfumatura Lineare", - "desc": [ - "Crea uno shader di sfumatura lineare attraverso LinearGradient#createShader", - "Per ulteriori informazioni sugli shader, consulta 【Album di disegno】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_ja_JP.json deleted file mode 100644 index 5e543115f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_ja_JP.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 277, - "name": "ShaderMask", - "localName": "シェーダーマスク", - "info": "1つの子要素を保持し、シェーダーを使用して子要素に色を付けることができます。ブレンドモードを指定できます。通常、コンポーネントのグラデーション処理に使用されます。", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 38 - ], - "nodes": [ - { - "file": "node1_radial.dart", - "name": "ラジアルグラデーションシェーダー", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【shaderCallback】 : シェーダーコールバック 【ShaderCallback】", - "【blendMode】 : ブレンドモード 【BlendMode】", - " RadialGradient#createShaderを使用してラジアルグラデーションシェーダーを作成します。" - ] - }, - { - "file": "node2_linear.dart", - "name": "リニアグラデーションシェーダー", - "desc": [ - "LinearGradient#createShaderを使用してリニアグラデーションシェーダーを作成します", - "シェーダーに関する詳細は【描画アルバム】を参照してください" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_ko_KR.json deleted file mode 100644 index 093434188..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_ko_KR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 277, - "name": "ShaderMask", - "localName": "셰이더 마스크", - "info": "하나의 자식을 포함할 수 있으며, 셰이더를 통해 자식에 색상을 입힐 수 있습니다. 혼합 모드를 지정할 수 있습니다. 일반적으로 컴포넌트 그라데이션 처리에 사용됩니다.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 38 - ], - "nodes": [ - { - "file": "node1_radial.dart", - "name": "방사형 그라데이션 색상", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【shaderCallback】 : 셰이더 콜백 【ShaderCallback】", - "【blendMode】 : 혼합 모드 【BlendMode】", - " RadialGradient#createShader를 통해 방사형 그라데이션 셰이더를 생성합니다." - ] - }, - { - "file": "node2_linear.dart", - "name": "선형 그라데이션 색상", - "desc": [ - "LinearGradient#createShader를 통해 선형 그라데이션 셰이더를 생성합니다", - "셰이더 관련 지식은 【그리기 앨범】을 참조하세요" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_pt_PT.json deleted file mode 100644 index a0bf5dd27..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_pt_PT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 277, - "name": "ShaderMask", - "localName": "Máscara de Shader", - "info": "Pode conter um filho e colorir o filho através de um shader, podendo especificar o modo de mistura. Geralmente usado para processamento de gradiente de componentes.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 38 - ], - "nodes": [ - { - "file": "node1_radial.dart", - "name": "Coloração de Gradiente Radial", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【shaderCallback】 : Callback do shader 【ShaderCallback】", - "【blendMode】 : Modo de mistura 【BlendMode】", - " Cria um shader de gradiente radial através de RadialGradient#createShader." - ] - }, - { - "file": "node2_linear.dart", - "name": "Coloração de Gradiente Linear", - "desc": [ - "Cria um shader de gradiente linear através de LinearGradient#createShader", - "Para mais informações sobre shaders, consulte o 【Álbum de Desenho】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_ru_RU.json deleted file mode 100644 index 99c04db0b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_ru_RU.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 277, - "name": "ShaderMask", - "localName": "Маска шейдера", - "info": "Может содержать один дочерний элемент и применять к нему шейдер, можно указать режим смешивания. Обычно используется для градиентной обработки компонентов.", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 38 - ], - "nodes": [ - { - "file": "node1_radial.dart", - "name": "Радиальный градиент", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【shaderCallback】 : Коллбэк шейдера 【ShaderCallback】", - "【blendMode】 : Режим смешивания 【BlendMode】", - " Создание радиального градиентного шейдера через RadialGradient#createShader." - ] - }, - { - "file": "node2_linear.dart", - "name": "Линейный градиент", - "desc": [ - "Создание линейного градиентного шейдера через LinearGradient#createShader", - "Подробнее о шейдерах см. в 【Альбоме рисования】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_zh-CN.json deleted file mode 100644 index 357226820..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/desc_zh-CN.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 277, - "name": "ShaderMask", - "localName": "着色器遮罩", - "info": "可容纳一个孩子,并通过着色器来对孩子进行着色,可指定混色模式。通常用于组件渐变色处理。", - "lever": 4, - "family": 2, - "linkIds": [ - 88, - 38 - ], - "nodes": [ - { - "file": "node1_radial.dart", - "name": "径向渐变着色", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【shaderCallback】 : 着色器回调 【ShaderCallback】", - "【blendMode】 : 混色模式 【BlendMode】", - " 通过RadialGradient#createShader创建径向渐变着色器。" - ] - }, - { - "file": "node2_linear.dart", - "name": "线性渐变着色", - "desc": [ - "通过LinearGradient#createShader创建线性渐变着色器", - "着色器相关知识详见【绘制专辑】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/node1_radial.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/node1_radial.dart deleted file mode 100644 index 7f9bda4c0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/node1_radial.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-12 -/// contact me by email 1981462002@qq.com - -class RadialShaderMask extends StatelessWidget { - const RadialShaderMask({Key? key}) : super(key: key); - - final List colors = const [Colors.red, Colors.yellow, Colors.blue]; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - ShaderMask( - shaderCallback: _buildShader, - child: Image.asset( - 'assets/images/icon_head.webp', - height: 70, - width: 70, - ), - ), - ShaderMask( - shaderCallback: _buildShader, - child: const Text( - '张风捷特烈', - style: TextStyle(fontSize: 40, color: Colors.white), - ), - ), - ShaderMask( - shaderCallback: _buildShader, - child: Container( - height: 100, - color: Colors.white, - width: 50, - ), - ), - ], - ); - } - - - Shader _buildShader(Rect bounds) => RadialGradient( - center: Alignment.topLeft, - radius: 1.0, - tileMode: TileMode.mirror, - colors: colors) - .createShader(bounds); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/node2_linear.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/node2_linear.dart deleted file mode 100644 index 2a96d7b37..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/ShaderMask/node2_linear.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-12 -/// contact me by email 1981462002@qq.com - -class LinearShaderMask extends StatelessWidget { - const LinearShaderMask({Key? key}) : super(key: key); - - final List colors = const [Colors.red, Colors.yellow, Colors.blue]; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - ShaderMask( - shaderCallback: _buildShader, - child: Image.asset( - 'assets/images/icon_head.webp', - height: 70, - width: 70, - ), - ), - ShaderMask( - shaderCallback: _buildShader, - child: const Text( - '张风捷特烈', - style: TextStyle(fontSize: 40, color: Colors.white), - ), - ), - ShaderMask( - shaderCallback: _buildShader, - child: Container( - height: 100, - color: Colors.white, - width: 50, - ), - ), - ], - ); - } - - Shader _buildShader(Rect bounds) => LinearGradient( - begin: Alignment.centerLeft, - end: Alignment.centerRight, - tileMode: TileMode.mirror, - colors: colors) - .createShader(bounds); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_de_DE.json deleted file mode 100644 index 0dcba6cc5..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 294, - "name": "SizeChangedLayoutNotifier", - "localName": "Größenänderungsbenachrichtigung", - "info": "Mit SizeChangedLayoutNotifier kann eine Benachrichtigung gesendet werden, nachdem sich der Layoutbereich eines Kindelements ändert. Die Benachrichtigung kann mit NotificationListener überwacht werden.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung", - "desc": [ - "【child】 : Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_en_US.json deleted file mode 100644 index b67b9139e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 294, - "name": "SizeChangedLayoutNotifier", - "localName": "Size Change Notification", - "info": "Using SizeChangedLayoutNotifier can send a notification after the layout area of the child component changes. NotificationListener can be used to monitor it.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage", - "desc": [ - "【child】 : Component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_es_ES.json deleted file mode 100644 index 9f4a9aef1..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 294, - "name": "SizeChangedLayoutNotifier", - "localName": "Notificador de cambio de tamaño", - "info": "Usando SizeChangedLayoutNotifier, se puede emitir una notificación cuando cambia el área de diseño de un componente hijo. Se puede escuchar usando NotificationListener.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico", - "desc": [ - "【child】 : Componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_fr_FR.json deleted file mode 100644 index 4ba60dba9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 294, - "name": "SizeChangedLayoutNotifier", - "localName": "Notification de changement de taille", - "info": "Utiliser SizeChangedLayoutNotifier permet d'émettre une notification lorsque la zone de mise en page d'un composant enfant change. Utilisez NotificationListener pour écouter ces notifications.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base", - "desc": [ - "【child】 : Composant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_it_IT.json deleted file mode 100644 index ef73a668c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 294, - "name": "SizeChangedLayoutNotifier", - "localName": "Notifica di Cambio Dimensione", - "info": "Utilizzando SizeChangedLayoutNotifier, è possibile inviare una notifica quando l'area di layout di un componente figlio cambia. È possibile ascoltare questa notifica utilizzando NotificationListener.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di Base", - "desc": [ - "【child】 : Componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_ja_JP.json deleted file mode 100644 index 75ee50c0a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 294, - "name": "SizeChangedLayoutNotifier", - "localName": "サイズ変更通知", - "info": "SizeChangedLayoutNotifierを使用すると、子コンポーネントのレイアウト領域が変更された後に通知を発行できます。NotificationListenerを使用して監視することができます。", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "基本使用", - "desc": [ - "【child】 : コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_ko_KR.json deleted file mode 100644 index 77ef19fc2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 294, - "name": "SizeChangedLayoutNotifier", - "localName": "크기 변경 알림", - "info": "SizeChangedLayoutNotifier를 사용하면 하위 구성 요소 레이아웃 영역이 변경된 후 알림을 보낼 수 있습니다. NotificationListener를 사용하여 이를 감지할 수 있습니다.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "기본 사용", - "desc": [ - "【child】 : 구성 요소 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_pt_PT.json deleted file mode 100644 index 928126c53..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 294, - "name": "SizeChangedLayoutNotifier", - "localName": "Notificador de Mudança de Tamanho", - "info": "Usando o SizeChangedLayoutNotifier, é possível emitir uma notificação após uma mudança na área de layout do componente filho. O NotificationListener pode ser usado para monitorar.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico", - "desc": [ - "【child】 : Componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_ru_RU.json deleted file mode 100644 index 5380f36b2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 294, - "name": "SizeChangedLayoutNotifier", - "localName": "Уведомление об изменении размера", - "info": "Использование SizeChangedLayoutNotifier позволяет отправлять уведомления после изменения области макета дочернего компонента. Для прослушивания можно использовать NotificationListener.", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование", - "desc": [ - "【child】 : Компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_zh-CN.json deleted file mode 100644 index 8cc2e40ae..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 294, - "name": "SizeChangedLayoutNotifier", - "localName": "尺寸变化通告", - "info": "使用 SizeChangedLayoutNotifier 可以在子组件布局区域发生变化后,发出通知。使用NotificationListener可以进行监听。", - "lever": 2, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "基本使用", - "desc": [ - "【child】 : 组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/node1_base.dart deleted file mode 100644 index 4dd5fe89d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/node1_base.dart +++ /dev/null @@ -1,67 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class SizeChangedLayoutNotifierDemo extends StatefulWidget { - const SizeChangedLayoutNotifierDemo({Key? key}) : super(key: key); - - @override - _SizeChangedLayoutNotifierDemoState createState() => _SizeChangedLayoutNotifierDemoState(); -} - -class _SizeChangedLayoutNotifierDemoState extends State { - @override - Widget build(BuildContext context) { - return NotificationListener( - onNotification: _onNotification, - child: const ChangeableBox(), - ); - } - - bool _onNotification(SizeChangedLayoutNotification notification) { - print('---------SizeChangedLayoutNotification------'); - return false; - } -} - -class ChangeableBox extends StatefulWidget { - const ChangeableBox({Key? key}) : super(key: key); - - @override - _ChangeableBoxState createState() => _ChangeableBoxState(); -} - -class _ChangeableBoxState extends State { - double width = 40; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - SizeChangedLayoutNotifier( - child: Container( - width: width, - height: 100, - color: Colors.blue, - ), - ), - Slider( - max: 200, - min: 20, - divisions: 10, - value: width, - onChanged: _changeWidth, - ) - ], - ); - } - - void _changeWidth(double value) { - setState(() { - width = value; - }); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_de_DE.json deleted file mode 100644 index 5b1876fa2..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 76, - "name": "SizedBox", - "localName": "Größenfestgelegte Box", - "info": "Kann ein Kindelement aufnehmen und den Bereich für das Kindelement durch Angabe von Breite und Höhe begrenzen.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SizedBox", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【width】 : Breite 【double】", - "【height】 : Höhe 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_en_US.json deleted file mode 100644 index ff26d6bd7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 76, - "name": "SizedBox", - "localName": "SizedBox", - "info": "Can contain a child component, limiting the area of the child component by specifying width and height.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SizedBox", - "desc": [ - "【child】 : Child component 【Widget】", - "【width】 : Width 【double】", - "【height】 : Height 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_es_ES.json deleted file mode 100644 index ced0e87b8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 76, - "name": "SizedBox", - "localName": "Caja de tamaño fijo", - "info": "Puede contener un componente hijo, limitando el área del componente hijo especificando el ancho y el alto.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SizedBox", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【width】 : Ancho 【double】", - "【height】 : Alto 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_fr_FR.json deleted file mode 100644 index 22607dbb7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 76, - "name": "SizedBox", - "localName": "Boîte de taille fixe", - "info": "Peut contenir un composant enfant, en spécifiant la largeur et la hauteur pour limiter la zone du composant enfant.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SizedBox", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【width】 : Largeur 【double】", - "【height】 : Hauteur 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_it_IT.json deleted file mode 100644 index 0fd5d488a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 76, - "name": "SizedBox", - "localName": "Scatola di dimensioni fisse", - "info": "Può contenere un componente figlio, limitando l'area del componente figlio specificando larghezza e altezza.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di SizedBox", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【width】 : Larghezza 【double】", - "【height】 : Altezza 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_ja_JP.json deleted file mode 100644 index 396c2501a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 76, - "name": "SizedBox", - "localName": "サイズ指定ボックス", - "info": "子コンポーネントを収容し、幅と高さを指定して子コンポーネントの領域を制限します。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SizedBoxの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【width】 : 幅 【double】", - "【height】 : 高さ 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_ko_KR.json deleted file mode 100644 index da76fdd21..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 76, - "name": "SizedBox", - "localName": "고정 크기 상자", - "info": "하위 컴포넌트를 수용할 수 있으며, 너비와 높이를 지정하여 하위 컴포넌트의 영역을 제한합니다.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SizedBox 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【width】 : 너비 【double】", - "【height】 : 높이 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_pt_PT.json deleted file mode 100644 index 20ca3e91b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 76, - "name": "SizedBox", - "localName": "Caixa de Tamanho Fixo", - "info": "Pode conter um componente filho, limitando a área do componente filho especificando a largura e altura.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SizedBox", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【width】 : Largura 【double】", - "【height】 : Altura 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_ru_RU.json deleted file mode 100644 index e201ebc60..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 76, - "name": "SizedBox", - "localName": "Коробка с фиксированным размером", - "info": "Может содержать один дочерний компонент, ограничивая область размещения дочернего компонента указанием ширины и высоты.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SizedBox", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【width】 : Ширина 【double】", - "【height】 : Высота 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_zh-CN.json deleted file mode 100644 index 825a2c2a4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 76, - "name": "SizedBox", - "localName": "定尺寸盒", - "info": "可容纳一个子组件,通过指定宽高限定子组件容身区域。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SizedBox基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【width】 : 宽 【double】", - "【height】 : 高 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/node1_base.dart deleted file mode 100644 index 3147a97fd..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedBox/node1_base.dart +++ /dev/null @@ -1,38 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomSizedBox extends StatelessWidget { - const CustomSizedBox({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Widget child = Container( - alignment: Alignment.center, - color: Colors.cyanAccent, - width: 50, - height: 50, - child: const Text("Static"), - ); - - Widget box = SizedBox( - width: 80, - height: 40, - child: Container( - color: Colors.orange, - child: const Icon( - Icons.android, - color: Colors.white, - )), - ); - - return Container( - color: Colors.grey.withAlpha(22), - width: 200, - height: 100, - child: Row( - children: [child, box, child], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_de_DE.json deleted file mode 100644 index 27ce75d03..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 84, - "name": "SizedOverflowBox", - "localName": "Größenüberlaufbox", - "info": "Kann ein Kindelement aufnehmen, und das Kindelement darf den Bereich des Elternelements überlaufen. Das Kindelement kann durch die size-Eigenschaft verschoben werden und verfügt über die Ausrichtungseigenschaft alignment.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SizedOverflowBox", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【size】 : Größenverschiebung 【Size】", - "【alignment】 : Ausrichtung 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_en_US.json deleted file mode 100644 index 6f3ed70a4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 84, - "name": "SizedOverflowBox", - "localName": "Sized Overflow Box", - "info": "Can contain a child component, and the child component is allowed to overflow the parent component area. The child component can be offset through the size property, and has the alignment property.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SizedOverflowBox", - "desc": [ - "【child】: Child component 【Widget】", - "【size】: Size offset 【Size】", - "【alignment】: Alignment method 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_es_ES.json deleted file mode 100644 index 774d3627a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 84, - "name": "SizedOverflowBox", - "localName": "Caja de desbordamiento de tamaño", - "info": "Puede contener un componente hijo, y el componente hijo puede desbordar el área del componente padre. Se puede desplazar el componente hijo mediante la propiedad size y tiene la propiedad de alineación alignment.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SizedOverflowBox", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【size】 : Desplazamiento de tamaño 【Size】", - "【alignment】 : Método de alineación 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_fr_FR.json deleted file mode 100644 index 38f12409a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 84, - "name": "SizedOverflowBox", - "localName": "Boîte de débordement dimensionnée", - "info": "Peut contenir un composant enfant, et le composant enfant est autorisé à déborder de la zone du composant parent. Il est possible de décaler le composant enfant à l'aide de la propriété size, et il possède la propriété d'alignement alignment.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SizedOverflowBox", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【size】 : Décalage de taille 【Size】", - "【alignment】 : Méthode d'alignement 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_it_IT.json deleted file mode 100644 index 2a4ebf9fe..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 84, - "name": "SizedOverflowBox", - "localName": "Scatola di dimensioni eccessive", - "info": "Può contenere un componente figlio e il componente figlio può fuoriuscire dall'area del componente genitore. È possibile spostare il componente figlio tramite la proprietà size e ha la proprietà di allineamento alignment.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SizedOverflowBox", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【size】 : Spostamento delle dimensioni 【Size】", - "【alignment】 : Modalità di allineamento 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_ja_JP.json deleted file mode 100644 index 872a5e1b9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 84, - "name": "SizedOverflowBox", - "localName": "サイズオーバーフローボックス", - "info": "子コンポーネントを収容でき、子コンポーネントは親コンポーネントの領域をオーバーフローすることが許可されています。size属性を使用して子コンポーネントをオフセットでき、alignment属性を持っています。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SizedOverflowBoxの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【size】 : サイズオフセット 【Size】", - "【alignment】 : アラインメント 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_ko_KR.json deleted file mode 100644 index db62b43bc..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 84, - "name": "SizedOverflowBox", - "localName": "크기 오버플로우 박스", - "info": "하위 컴포넌트를 포함할 수 있으며, 하위 컴포넌트가 상위 컴포넌트 영역을 벗어날 수 있습니다. size 속성을 통해 하위 컴포넌트를 오프셋할 수 있으며, alignment 속성을 가지고 있습니다.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SizedOverflowBox 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【size】 : 크기 오프셋 【Size】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_pt_PT.json deleted file mode 100644 index 0edaf0bc8..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 84, - "name": "SizedOverflowBox", - "localName": "Caixa de Transbordamento Dimensionada", - "info": "Pode conter um componente filho, e o componente filho pode transbordar a área do componente pai. O componente filho pode ser deslocado através da propriedade size, e possui a propriedade de alinhamento alignment.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SizedOverflowBox", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【size】 : Deslocamento de tamanho 【Size】", - "【alignment】 : Modo de alinhamento 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_ru_RU.json deleted file mode 100644 index ded711d2c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 84, - "name": "SizedOverflowBox", - "localName": "Размерный переполняющий ящик", - "info": "Может содержать один дочерний компонент, и дочерний компонент может выходить за пределы области родительского компонента. Можно смещать дочерний компонент с помощью свойства size, имеет свойство выравнивания alignment.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SizedOverflowBox", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【size】 : Смещение размера 【Size】", - "【alignment】 : Способ выравнивания 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_zh-CN.json deleted file mode 100644 index e0bb02790..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 84, - "name": "SizedOverflowBox", - "localName": "尺寸溢出盒", - "info": "可容纳一个子组件,且子组件允许溢出父组件区域,可以通过size属性对子组件进行偏移,拥有对齐属性alignment。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SizedOverflowBox基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【size】 : 尺寸偏移 【Size】", - "【alignment】 : 对齐方式 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/node1_base.dart deleted file mode 100644 index 8270a626e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/SizedOverflowBox/node1_base.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomSizedOverflowBox extends StatefulWidget { - const CustomSizedOverflowBox({Key? key}) : super(key: key); - - @override - _CustomSizedOverflowBoxState createState() => _CustomSizedOverflowBoxState(); -} - -class _CustomSizedOverflowBoxState extends State { - double _x = 50; - double _y = 44; - - @override - Widget build(BuildContext context) { - Widget box = SizedOverflowBox( - alignment: Alignment.bottomRight, - size: Size(_x, _y), - child: Container(width: 30, height: 50, color: Colors.orange), - ); - return Column( - children: [ - Container( - alignment: Alignment.topLeft, - color: Colors.grey.withAlpha(88), - width: 250, - height: 60, - child: box), - _buildSlider() - ], - ); - } - - Widget _buildSlider() => - Column( - children: [ - Slider( - divisions: 100, - min: 0, - max: 250, - label: 'x:' + _x.toStringAsFixed(1), - value: _x, - onChanged: (v) => setState(() => _x = v)), - Slider( - divisions: 100, - min: 0, - max: 100, - label: 'y:' + _y.toStringAsFixed(1), - value: _y, - onChanged: (v) => setState(() => _y = v)), - - ], - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_de_DE.json deleted file mode 100644 index fa94071a7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 280, - "name": "TapRegion", - "localName": "Klickbereich", - "info": "Komponente, die interne oder externe Klickrückrufe erkennen kann. Durch die groupId können mehrere Bereiche als eine Einheit betrachtet werden.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Interne und externe Klicks überwachen", - "desc": [ - "【enabled】 : Verfügbar 【bool】", - "【onTapOutside】 : Externer Klick-Listener 【TapRegionCallback?】", - "【onTapInside】 : Interner Klick-Listener 【TapRegionCallback?】", - "【groupId】 : Klickbereichsgruppenkennung 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_en_US.json deleted file mode 100644 index bbe560abe..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 280, - "name": "TapRegion", - "localName": "Tap Region", - "info": "A component that can detect internal or external click callbacks, and multiple regions can be treated as one through the groupId.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Listen to clicks inside and outside the component", - "desc": [ - "【enabled】 : Whether it is available 【bool】", - "【onTapOutside】 : Listen to clicks outside 【TapRegionCallback?】", - "【onTapInside】 : Listen to clicks inside 【TapRegionCallback?】", - "【groupId】 : Click region group identifier 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_es_ES.json deleted file mode 100644 index 5cf6a1b70..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 280, - "name": "TapRegion", - "localName": "Área de toque", - "info": "Componente capaz de detectar devoluciones de llamada de toques internos o externos, mediante groupId varias áreas pueden considerarse como una sola.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Escuchar toques dentro y fuera del componente", - "desc": [ - "【enabled】 : ¿Está disponible? 【bool】", - "【onTapOutside】 : Escucha de toques externos 【TapRegionCallback?】", - "【onTapInside】 : Escucha de toques internos 【TapRegionCallback?】", - "【groupId】 : Identificador del grupo de área de toque 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_fr_FR.json deleted file mode 100644 index ca3ba3fe4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 280, - "name": "TapRegion", - "localName": "Zone de clic", - "info": "Un composant capable de détecter les rappels de clic internes ou externes, plusieurs zones peuvent être considérées comme une seule via groupId.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Écouter les clics à l'intérieur et à l'extérieur du composant", - "desc": [ - "【enabled】 : Activé ou non 【bool】", - "【onTapOutside】 : Écouteur de clic externe 【TapRegionCallback?】", - "【onTapInside】 : Écouteur de clic interne 【TapRegionCallback?】", - "【groupId】 : Identifiant du groupe de zone de clic 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_it_IT.json deleted file mode 100644 index 6faac12ca..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 280, - "name": "TapRegion", - "localName": "Area di tocco", - "info": "Componente in grado di rilevare i callback di clic interni o esterni, tramite groupId più aree possono essere considerate come una sola.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Ascolta i clic interni ed esterni del componente", - "desc": [ - "【enabled】 : Se è disponibile 【bool】", - "【onTapOutside】 : Ascolta i clic esterni 【TapRegionCallback?】", - "【onTapInside】 : Ascolta i clic interni 【TapRegionCallback?】", - "【groupId】 : Identificatore del gruppo dell'area di tocco 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_ja_JP.json deleted file mode 100644 index e071c615b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 280, - "name": "TapRegion", - "localName": "タップ範囲", - "info": "内部または外部のタップコールバックを検出できるコンポーネントで、groupId を使用して複数の領域を一体として扱うことができます。", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "コンポーネントの内部と外部のタップを監視", - "desc": [ - "【enabled】 : 有効かどうか 【bool】", - "【onTapOutside】 : 外部タップ監視 【TapRegionCallback?】", - "【onTapInside】 : 内部タップ監視 【TapRegionCallback?】", - "【groupId】 : タップ領域グループ識別子 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_ko_KR.json deleted file mode 100644 index 403aeae29..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 280, - "name": "TapRegion", - "localName": "탭 영역", - "info": "내부 또는 외부 탭 콜백을 감지할 수 있는 구성 요소로, groupId를 통해 여러 영역을 하나로 간주할 수 있습니다.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "내부 및 외부 탭 구성 요소 감시", - "desc": [ - "【enabled】 : 사용 가능 여부 【bool】", - "【onTapOutside】 : 외부 탭 감시 【TapRegionCallback?】", - "【onTapInside】 : 내부 탭 감시 【TapRegionCallback?】", - "【groupId】 : 탭 영역 그룹 식별자 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_pt_PT.json deleted file mode 100644 index 3402fa25a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 280, - "name": "TapRegion", - "localName": "Área de Toque", - "info": "Componente capaz de detectar retornos de chamada de toque interno ou externo, através do groupId várias áreas podem ser consideradas como uma só.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Monitorizar toques internos e externos do componente", - "desc": [ - "【enabled】 : Se está disponível 【bool】", - "【onTapOutside】 : Monitorização de toque externo 【TapRegionCallback?】", - "【onTapInside】 : Monitorização de toque interno 【TapRegionCallback?】", - "【groupId】 : Identificador do grupo de área de toque 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_ru_RU.json deleted file mode 100644 index f52b260a0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 280, - "name": "TapRegion", - "localName": "Область нажатия", - "info": "Компонент, который может обнаруживать обратные вызовы при нажатии внутри или снаружи, с помощью groupId несколько областей могут рассматриваться как одно целое.", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Прослушивание нажатий внутри и снаружи компонента", - "desc": [ - "【enabled】 : Доступен ли 【bool】", - "【onTapOutside】 : Прослушивание нажатия снаружи 【TapRegionCallback?】", - "【onTapInside】 : Прослушивание нажатия внутри 【TapRegionCallback?】", - "【groupId】 : Идентификатор группы области нажатия 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_zh-CN.json deleted file mode 100644 index 240f2deef..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 280, - "name": "TapRegion", - "localName": "点击范围", - "info": "能够检测内部或外部点击回调的组件,通过 groupId 可以多个区域视为一体。", - "lever": 4, - "family": 2, - "linkIds": [ - 146, - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "监听点击组件内部和外部", - "desc": [ - "【enabled】 : 是否可用 【bool】", - "【onTapOutside】 : 点击外界监听 【TapRegionCallback?】", - "【onTapInside】 : 点击内部监听 【TapRegionCallback?】", - "【groupId】 : 点击区域组标识 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/node1.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/node1.dart deleted file mode 100644 index 57642455b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TapRegion/node1.dart +++ /dev/null @@ -1,45 +0,0 @@ -import 'package:flutter/material.dart'; - -class TapRegionDemo1 extends StatefulWidget { - const TapRegionDemo1({super.key}); - - @override - State createState() => _TapRegionDemo1State(); -} - -class _TapRegionDemo1State extends State { - String info = 'Tap any where'; - - @override - Widget build(BuildContext context) { - return TapRegion( - onTapOutside: _onTapOutside, - onTapInside: _onTapInside, - child: Container( - alignment: Alignment.center, - height: 64, - width: 160, - color: isOut ? Colors.grey : Colors.blue, - child: Text( - info, - textAlign: TextAlign.center, - style: const TextStyle(color: Colors.white), - ), - ), - ); - } - - bool get isOut => info.contains('TapOutside'); - - void _onTapOutside(PointerDownEvent event) { - setState(() { - info = "TapOutside:\n${event.position}"; - }); - } - - void _onTapInside(PointerDownEvent event) { - setState(() { - info = "TapInside:\n${event.position}"; - }); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_de_DE.json deleted file mode 100644 index 2a33f0260..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 281, - "name": "TextFieldTapRegion", - "localName": "Eingabefeld-Klickbereich", - "info": "TapRegion mit der groupId EditableText, der den Klickbereich anderer Komponenten als Teil des Eingabefelds behandelt.", - "lever": 3, - "family": 2, - "linkIds": [ - 280, - 54, - 245 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Klicks innerhalb und außerhalb der Komponente überwachen", - "desc": [ - "Im Beispiel wird der Fokus des Eingabefelds nicht aufgehoben, wenn auf das Plus- oder Minuszeichen geklickt wird, und die Tastatur kann weiterhin verwendet werden.", - "【enabled】 : Verfügbar 【bool】", - "【onTapOutside】 : Überwachung von Klicks außerhalb 【TapRegionCallback?】", - "【onTapInside】 : Überwachung von Klicks innerhalb 【TapRegionCallback?】", - "【groupId】 : Gruppenkennung des Klickbereichs 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_en_US.json deleted file mode 100644 index b42d276c6..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 281, - "name": "TextFieldTapRegion", - "localName": "TextField Tap Region", - "info": "The TapRegion with groupId as EditableText allows the clickable area of other components to be considered as one with the input field.", - "lever": 3, - "family": 2, - "linkIds": [ - 280, - 54, - 245 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Monitor Clicks Inside and Outside the Component", - "desc": [ - "In the example, clicking the plus and minus signs does not cancel the focus of the input field, and the keyboard can still be used for input.", - "【enabled】 : Whether it is available 【bool】", - "【onTapOutside】 : External click listener 【TapRegionCallback?】", - "【onTapInside】 : Internal click listener 【TapRegionCallback?】", - "【groupId】 : Clickable area group identifier 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_es_ES.json deleted file mode 100644 index 88bb35b5c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 281, - "name": "TextFieldTapRegion", - "localName": "Área de clic del campo de texto", - "info": "El TapRegion con groupId como EditableText permite que el área de clic de otros componentes se considere como parte del campo de texto.", - "lever": 3, - "family": 2, - "linkIds": [ - 280, - 54, - 245 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Escuchar clics dentro y fuera del componente", - "desc": [ - "En el ejemplo, al hacer clic en los botones de más y menos, no se cancela el enfoque del campo de texto, y el teclado aún puede escribir.", - "【enabled】 : ¿Está disponible? 【bool】", - "【onTapOutside】 : Escucha de clic fuera 【TapRegionCallback?】", - "【onTapInside】 : Escucha de clic dentro 【TapRegionCallback?】", - "【groupId】 : Identificador del grupo de área de clic 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_fr_FR.json deleted file mode 100644 index db182a21a..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 281, - "name": "TextFieldTapRegion", - "localName": "Zone de clic du champ de saisie", - "info": "Le TapRegion avec groupId pour EditableText permet de considérer la zone de clic d'autres composants comme faisant partie du champ de saisie.", - "lever": 3, - "family": 2, - "linkIds": [ - 280, - 54, - 245 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Écouter les clics à l'intérieur et à l'extérieur du composant", - "desc": [ - "Dans l'exemple, cliquer sur les boutons plus et moins ne supprime pas le focus du champ de saisie, le clavier reste actif pour la saisie.", - "【enabled】 : Actif ou non 【bool】", - "【onTapOutside】 : Écouteur de clic à l'extérieur 【TapRegionCallback?】", - "【onTapInside】 : Écouteur de clic à l'intérieur 【TapRegionCallback?】", - "【groupId】 : Identifiant du groupe de la zone de clic 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_it_IT.json deleted file mode 100644 index e1e9d93e9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 281, - "name": "TextFieldTapRegion", - "localName": "Area di clic del campo di testo", - "info": "Il TapRegion con groupId EditableText consente di considerare l'area di clic di altri componenti come parte integrante del campo di testo.", - "lever": 3, - "family": 2, - "linkIds": [ - 280, - 54, - 245 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Ascolta i clic all'interno e all'esterno del componente", - "desc": [ - "Nell'esempio, cliccando sui pulsanti più e meno, il focus del campo di testo non viene perso e la tastiera rimane attiva per l'input.", - "【enabled】 : Se è abilitato 【bool】", - "【onTapOutside】 : Ascolta i clic all'esterno 【TapRegionCallback?】", - "【onTapInside】 : Ascolta i clic all'interno 【TapRegionCallback?】", - "【groupId】 : Identificatore del gruppo dell'area di clic 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_ja_JP.json deleted file mode 100644 index a4ea11251..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 281, - "name": "TextFieldTapRegion", - "localName": "テキストフィールドタップ範囲", - "info": "groupId が EditableText の TapRegion で、他のコンポーネントのタップ範囲をテキストフィールドと一体化させることができます。", - "lever": 3, - "family": 2, - "linkIds": [ - 280, - 54, - 245 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "クリックコンポーネントの内部と外部を監視", - "desc": [ - "ケースでプラスとマイナスをクリックしても、テキストフィールドのフォーカスは解除されず、キーボードで入力が可能です。", - "【enabled】 : 有効かどうか 【bool】", - "【onTapOutside】 : 外部クリック監視 【TapRegionCallback?】", - "【onTapInside】 : 内部クリック監視 【TapRegionCallback?】", - "【groupId】 : タップ領域グループ識別子 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_ko_KR.json deleted file mode 100644 index a42cb79e0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 281, - "name": "TextFieldTapRegion", - "localName": "입력란 클릭 범위", - "info": "groupId가 EditableText인 TapRegion으로, 다른 컴포넌트의 클릭 범위를 입력란과 일체로 간주할 수 있습니다.", - "lever": 3, - "family": 2, - "linkIds": [ - 280, - 54, - 245 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "컴포넌트 내부 및 외부 클릭 감지", - "desc": [ - "예시에서 더하기 및 빼기 버튼을 클릭해도 입력란의 포커스가 해제되지 않으며, 키보드로 입력이 가능합니다.", - "【enabled】 : 사용 가능 여부 【bool】", - "【onTapOutside】 : 외부 클릭 감지 【TapRegionCallback?】", - "【onTapInside】 : 내부 클릭 감지 【TapRegionCallback?】", - "【groupId】 : 클릭 영역 그룹 식별자 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_pt_PT.json deleted file mode 100644 index 9561c633d..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 281, - "name": "TextFieldTapRegion", - "localName": "Área de Clique da Caixa de Texto", - "info": "O TapRegion com groupId como EditableText permite que a área de clique de outros componentes seja considerada como parte da caixa de texto.", - "lever": 3, - "family": 2, - "linkIds": [ - 280, - 54, - 245 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Monitorar Cliques Dentro e Fora do Componente", - "desc": [ - "No exemplo, clicar nos botões de adicionar e subtrair não cancela o foco da caixa de texto, e o teclado ainda pode ser usado para digitar.", - "【enabled】 : Disponível ou não 【bool】", - "【onTapOutside】 : Monitoramento de clique fora 【TapRegionCallback?】", - "【onTapInside】 : Monitoramento de clique dentro 【TapRegionCallback?】", - "【groupId】 : Identificador do grupo da área de clique 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_ru_RU.json deleted file mode 100644 index aace9a55b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 281, - "name": "TextFieldTapRegion", - "localName": "Область нажатия текстового поля", - "info": "TapRegion с groupId EditableText позволяет рассматривать область нажатия других компонентов как единое целое с текстовым полем.", - "lever": 3, - "family": 2, - "linkIds": [ - 280, - 54, - 245 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Слушатель нажатий внутри и снаружи компонента", - "desc": [ - "В примере нажатие на плюс и минус не снимает фокус с текстового поля, и клавиатура все еще может вводить текст.", - "【enabled】 : Доступно ли 【bool】", - "【onTapOutside】 : Слушатель нажатий снаружи 【TapRegionCallback?】", - "【onTapInside】 : Слушатель нажатий внутри 【TapRegionCallback?】", - "【groupId】 : Идентификатор группы области нажатия 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_zh-CN.json deleted file mode 100644 index 2b4b488fd..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 281, - "name": "TextFieldTapRegion", - "localName": "输入框点击范围", - "info": "groupId 为 EditableText 的 TapRegion,可以让其他组件的点击范围与输入框视为一体。", - "lever": 3, - "family": 2, - "linkIds": [ - 280, - 54, - 245 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "监听点击组件内部和外部", - "desc": [ - "案例中点击加号和减号,不会取消输入框的焦点,键盘仍然可以输入。", - "【enabled】 : 是否可用 【bool】", - "【onTapOutside】 : 点击外界监听 【TapRegionCallback?】", - "【onTapInside】 : 点击内部监听 【TapRegionCallback?】", - "【groupId】 : 点击区域组标识 【Object?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/node1.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/node1.dart deleted file mode 100644 index 7ca7d1c02..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/TextFieldTapRegion/node1.dart +++ /dev/null @@ -1,85 +0,0 @@ -import 'package:flutter/material.dart'; - -class TextFieldTapRegionDemo1 extends StatefulWidget { - const TextFieldTapRegionDemo1({super.key}); - - @override - State createState() => _TextFieldTapRegionDemo1State(); -} - -class _TextFieldTapRegionDemo1State extends State { - TextEditingController controller = TextEditingController(text: '0'); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 160, - child: Row( - children: [ - Expanded(child: _buildInput()), - const SizedBox(width: 8), - TextFieldTapRegion(child: buildButtons()) - ], - ), - ); - } - - Widget _buildInput() { - return TextField( - autofocus: true, - decoration: const InputDecoration( - border: OutlineInputBorder(), - ), - onChanged: _onChange, - controller: controller, - textAlign: TextAlign.center, - ); - } - - void _onChange(String value) {} - - Widget buildButtons() { - ButtonStyle style = circleStyle; - return Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - OutlinedButton( - style: style, - onPressed: _increment, - child: const Icon(Icons.add, size: 16), - ), - const SizedBox(height: 2), - OutlinedButton( - onPressed: _decrement, - style: style, - child: const Icon(Icons.remove, size: 16), - ), - ], - ); - } - - ButtonStyle get circleStyle => OutlinedButton.styleFrom( - shape: const StadiumBorder(), - padding: EdgeInsets.zero, - minimumSize: const Size(32, 32), - maximumSize: const Size(32, 32), - ); - - void _increment() { - int value = int.tryParse(controller.text) ?? 0; - _updateText('${value + 1}', collapsed: true); - } - - void _decrement() { - int value = int.tryParse(controller.text) ?? 0; - _updateText('${value - 1}', collapsed: true); - } - - void _updateText(String text, {bool collapsed = true}) { - if (text != controller.text) { - controller.value = TextEditingValue( - text: text, - ); - } - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_de_DE.json deleted file mode 100644 index 4f6ecf63c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_de_DE.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 78, - "name": "Transform", - "localName": "Transformation", - "info": "Kann ein Unterelement aufnehmen und kann das Unterelement über eine 4*4-Transformationsmatrix transformieren.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_skew.dart", - "name": "Schieftransformation skew", - "desc": [ - "Die Schiefe x wird durch die Zahl R0C1 gesteuert, der Eingabeparameter ist ein Bogenmaßwert, der den Schiefewinkel darstellt", - "Die Schiefe y wird durch die Zahl R1C0 gesteuert, der Eingabeparameter ist ein Bogenmaßwert, der den Schiefewinkel darstellt" - ] - }, - { - "file": "node2_translation.dart", - "name": "Verschiebungstransformation translationValues", - "desc": [ - "Die Verschiebung x wird durch die Zahl R0C3 gesteuert, der Eingabeparameter ist ein numerischer Wert, der die Verschiebungslänge darstellt", - "Die Verschiebung y wird durch die Zahl R1C3 gesteuert, der Eingabeparameter ist ein numerischer Wert, der die Verschiebungslänge darstellt", - "Die Verschiebung z wird durch die Zahl R2C3 gesteuert, der Eingabeparameter ist ein numerischer Wert, der die Verschiebungslänge darstellt" - ] - }, - { - "file": "node3_scale.dart", - "name": "Skalierungstransformation diagonal3Values", - "desc": [ - "Die Skalierung x wird durch die Zahl R0C0 gesteuert, der Eingabeparameter ist ein numerischer Wert, der den Skalierungsfaktor darstellt", - "Die Skalierung y wird durch die Zahl R1C2 gesteuert, der Eingabeparameter ist ein numerischer Wert, der den Skalierungsfaktor darstellt", - "Die Skalierung z wird durch die Zahl R2C2 gesteuert, der Eingabeparameter ist ein numerischer Wert, der den Skalierungsfaktor darstellt" - ] - }, - { - "file": "node4_rotate.dart", - "name": "Rotationstransformation rotation", - "desc": [ - "Die x-Rotation wird durch R1C1, R1C2, R2C1, R2C2 gesteuert, der Eingabeparameter stellt ein Bogenmaß dar", - "Die y-Rotation wird durch R0C0, R0C2, R2C0, R2C2 gesteuert, der Eingabeparameter stellt ein Bogenmaß dar", - "Die z-Rotation wird durch R0C0, R0C1, R1C0, R1C1 gesteuert" - ] - }, - { - "file": "node5_perspective.dart", - "name": "Perspektivtransformation rotation", - "desc": [ - "Die Perspektive wird durch R3C1, R3C2, R3C3 gesteuert" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_en_US.json deleted file mode 100644 index 789280b53..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_en_US.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 78, - "name": "Transform", - "localName": "Transform", - "info": "Can accommodate a child component, and can transform the child component through a 4*4 transformation matrix.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_skew.dart", - "name": "Skew Transform skew", - "desc": [ - "Skew x is controlled by the R0C1 number, the input is in radians, representing the skew angle", - "Skew y is controlled by the R1C0 number, the input is in radians, representing the skew angle" - ] - }, - { - "file": "node2_translation.dart", - "name": "Translation Transform translationValues", - "desc": [ - "Translation x is controlled by the R0C3 number, the input is a value, representing the translation length", - "Translation y is controlled by the R1C3 number, the input is a value, representing the translation length", - "Translation z is controlled by the R2C3 number, the input is a value, representing the translation length" - ] - }, - { - "file": "node3_scale.dart", - "name": "Scale Transform diagonal3Values", - "desc": [ - "Scale x is controlled by the R0C0 number, the input is a value, representing the scaling factor", - "Scale y is controlled by the R1C2 number, the input is a value, representing the scaling factor", - "Scale z is controlled by the R2C2 number, the input is a value, representing the scaling factor" - ] - }, - { - "file": "node4_rotate.dart", - "name": "Rotation Transform rotation", - "desc": [ - "x rotation is controlled by R1C1, R1C2, R2C1, R2C2, the input represents radians", - "y rotation is controlled by R0C0, R0C2, R2C0, R2C2, the input represents radians", - "z rotation is controlled by R0C0, R0C1, R1C0, R1C1" - ] - }, - { - "file": "node5_perspective.dart", - "name": "Perspective Transform rotation", - "desc": [ - "Perspective is controlled by R3C1, R3C2, R3C3" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_es_ES.json deleted file mode 100644 index 079d402e9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_es_ES.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 78, - "name": "Transform", - "localName": "Transformación", - "info": "Puede contener un subcomponente, y se puede transformar el subcomponente mediante una matriz de transformación 4*4.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_skew.dart", - "name": "Transformación de sesgo skew", - "desc": [ - "El sesgo x está controlado por el número R0C1, el parámetro de entrada es un valor en radianes, que representa el ángulo de sesgo.", - "El sesgo y está controlado por el número R1C0, el parámetro de entrada es un valor en radianes, que representa el ángulo de sesgo." - ] - }, - { - "file": "node2_translation.dart", - "name": "Transformación de traslación translationValues", - "desc": [ - "La traslación x está controlada por el número R0C3, el parámetro de entrada es un valor numérico, que representa la longitud de la traslación.", - "La traslación y está controlada por el número R1C3, el parámetro de entrada es un valor numérico, que representa la longitud de la traslación.", - "La traslación z está controlada por el número R2C3, el parámetro de entrada es un valor numérico, que representa la longitud de la traslación." - ] - }, - { - "file": "node3_scale.dart", - "name": "Transformación de escala diagonal3Values", - "desc": [ - "La escala x está controlada por el número R0C0, el parámetro de entrada es un valor numérico, que representa la tasa de escala.", - "La escala y está controlada por el número R1C2, el parámetro de entrada es un valor numérico, que representa la tasa de escala.", - "La escala z está controlada por el número R2C2, el parámetro de entrada es un valor numérico, que representa la tasa de escala." - ] - }, - { - "file": "node4_rotate.dart", - "name": "Transformación de rotación rotation", - "desc": [ - "La rotación x está controlada por R1C1, R1C2, R2C1, R2C2, el parámetro de entrada representa radianes.", - "La rotación y está controlada por R0C0, R0C2, R2C0, R2C2, el parámetro de entrada representa radianes.", - "La rotación z está controlada por R0C0, R0C1, R1C0, R1C1." - ] - }, - { - "file": "node5_perspective.dart", - "name": "Transformación de perspectiva rotation", - "desc": [ - "La perspectiva está controlada por R3C1, R3C2, R3C3." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_fr_FR.json deleted file mode 100644 index 3057ac291..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_fr_FR.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 78, - "name": "Transform", - "localName": "Transformation", - "info": "Peut contenir un composant enfant, et peut transformer le composant enfant via une matrice de transformation 4*4.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_skew.dart", - "name": "Transformation en biais skew", - "desc": [ - "Le biais x est contrôlé par le nombre R0C1, l'entrée est une valeur en radians, représentant l'angle de biais", - "Le biais y est contrôlé par le nombre R1C0, l'entrée est une valeur en radians, représentant l'angle de biais" - ] - }, - { - "file": "node2_translation.dart", - "name": "Transformation de translation translationValues", - "desc": [ - "La translation x est contrôlée par le nombre R0C3, l'entrée est une valeur numérique, représentant la longueur de la translation", - "La translation y est contrôlée par le nombre R1C3, l'entrée est une valeur numérique, représentant la longueur de la translation", - "La translation z est contrôlée par le nombre R2C3, l'entrée est une valeur numérique, représentant la longueur de la translation" - ] - }, - { - "file": "node3_scale.dart", - "name": "Transformation de mise à l'échelle diagonal3Values", - "desc": [ - "La mise à l'échelle x est contrôlée par le nombre R0C0, l'entrée est une valeur numérique, représentant le facteur de mise à l'échelle", - "La mise à l'échelle y est contrôlée par le nombre R1C2, l'entrée est une valeur numérique, représentant le facteur de mise à l'échelle", - "La mise à l'échelle z est contrôlée par le nombre R2C2, l'entrée est une valeur numérique, représentant le facteur de mise à l'échelle" - ] - }, - { - "file": "node4_rotate.dart", - "name": "Transformation de rotation rotation", - "desc": [ - "La rotation x est contrôlée par R1C1, R1C2, R2C1, R2C2, l'entrée représente des radians", - "La rotation y est contrôlée par R0C0, R0C2, R2C0, R2C2, l'entrée représente des radians", - "La rotation z est contrôlée par R0C0, R0C1, R1C0, R1C1" - ] - }, - { - "file": "node5_perspective.dart", - "name": "Transformation de perspective rotation", - "desc": [ - "La perspective est contrôlée par R3C1, R3C2, R3C3" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_it_IT.json deleted file mode 100644 index 7c069639c..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_it_IT.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 78, - "name": "Transform", - "localName": "Trasformazione", - "info": "Può contenere un componente figlio e può trasformare il componente figlio tramite una matrice di trasformazione 4*4.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_skew.dart", - "name": "Trasformazione inclinata skew", - "desc": [ - "L'inclinazione x è controllata dal numero R0C1, il parametro è un valore in radianti, che rappresenta l'angolo di inclinazione", - "L'inclinazione y è controllata dal numero R1C0, il parametro è un valore in radianti, che rappresenta l'angolo di inclinazione" - ] - }, - { - "file": "node2_translation.dart", - "name": "Trasformazione di traslazione translationValues", - "desc": [ - "La traslazione x è controllata dal numero R0C3, il parametro è un valore numerico, che rappresenta la lunghezza della traslazione", - "La traslazione y è controllata dal numero R1C3, il parametro è un valore numerico, che rappresenta la lunghezza della traslazione", - "La traslazione z è controllata dal numero R2C3, il parametro è un valore numerico, che rappresenta la lunghezza della traslazione" - ] - }, - { - "file": "node3_scale.dart", - "name": "Trasformazione di scala diagonal3Values", - "desc": [ - "La scala x è controllata dal numero R0C0, il parametro è un valore numerico, che rappresenta il fattore di scala", - "La scala y è controllata dal numero R1C2, il parametro è un valore numerico, che rappresenta il fattore di scala", - "La scala z è controllata dal numero R2C2, il parametro è un valore numerico, che rappresenta il fattore di scala" - ] - }, - { - "file": "node4_rotate.dart", - "name": "Trasformazione di rotazione rotation", - "desc": [ - "La rotazione x è controllata da R1C1, R1C2, R2C1, R2C2, il parametro rappresenta i radianti", - "La rotazione y è controllata da R0C0, R0C2, R2C0, R2C2, il parametro rappresenta i radianti", - "La rotazione z è controllata da R0C0, R0C1, R1C0, R1C1" - ] - }, - { - "file": "node5_perspective.dart", - "name": "Trasformazione prospettica rotation", - "desc": [ - "La prospettiva è controllata da R3C1, R3C2, R3C3" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_ja_JP.json deleted file mode 100644 index 9b4225857..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_ja_JP.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 78, - "name": "Transform", - "localName": "変換", - "info": "子コンポーネントを収容でき、4*4の変換マトリックスを使用して子コンポーネントを変換できます。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_skew.dart", - "name": "スキュー変換skew", - "desc": [ - "スキューxはR0C1の数値で制御され、入力はラジアン値で、スキュー角度を表します", - "スキューyはR1C0の数値で制御され、入力はラジアン値で、スキュー角度を表します" - ] - }, - { - "file": "node2_translation.dart", - "name": "平行移動変換translationValues", - "desc": [ - "平行移動xはR0C3の数値で制御され、入力は数値で、平行移動の長さを表します", - "平行移動yはR1C3の数値で制御され、入力は数値で、平行移動の長さを表します", - "平行移動zはR2C3の数値で制御され、入力は数値で、平行移動の長さを表します" - ] - }, - { - "file": "node3_scale.dart", - "name": "スケール変換diagonal3Values", - "desc": [ - "スケールxはR0C0の数値で制御され、入力は数値で、スケールの比率を表します", - "スケールyはR1C2の数値で制御され、入力は数値で、スケールの比率を表します", - "スケールzはR2C2の数値で制御され、入力は数値で、スケールの比率を表します" - ] - }, - { - "file": "node4_rotate.dart", - "name": "回転変換rotation", - "desc": [ - "x回転はR1C1、R1C2、R2C1、R2C2で制御され、入力はラジアンを表します", - "y回転はR0C0、R0C2、R2C0、R2C2で制御され、入力はラジアンを表します", - "z回転はR0C0、R0C1、R1C0、R1C1で制御されます" - ] - }, - { - "file": "node5_perspective.dart", - "name": "遠近法変換rotation", - "desc": [ - "遠近法はR3C1、R3C2、R3C3で制御されます" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_ko_KR.json deleted file mode 100644 index efe554675..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_ko_KR.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 78, - "name": "Transform", - "localName": "변환", - "info": "하위 컴포넌트를 수용할 수 있으며, 4*4 변환 행렬을 통해 하위 컴포넌트를 변환할 수 있습니다.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_skew.dart", - "name": "기울임 변환 skew", - "desc": [ - "x 기울임은 R0C1 숫자로 제어되며, 입력은 라디안 값으로 기울임 각도를 나타냅니다.", - "y 기울임은 R1C0 숫자로 제어되며, 입력은 라디안 값으로 기울임 각도를 나타냅니다." - ] - }, - { - "file": "node2_translation.dart", - "name": "이동 변환 translationValues", - "desc": [ - "x 이동은 R0C3 숫자로 제어되며, 입력은 숫자 값으로 이동 길이를 나타냅니다.", - "y 이동은 R1C3 숫자로 제어되며, 입력은 숫자 값으로 이동 길이를 나타냅니다.", - "z 이동은 R2C3 숫자로 제어되며, 입력은 숫자 값으로 이동 길이를 나타냅니다." - ] - }, - { - "file": "node3_scale.dart", - "name": "크기 조절 변환 diagonal3Values", - "desc": [ - "x 크기 조절은 R0C0 숫자로 제어되며, 입력은 숫자 값으로 크기 비율을 나타냅니다.", - "y 크기 조절은 R1C2 숫자로 제어되며, 입력은 숫자 값으로 크기 비율을 나타냅니다.", - "z 크기 조절은 R2C2 숫자로 제어되며, 입력은 숫자 값으로 크기 비율을 나타냅니다." - ] - }, - { - "file": "node4_rotate.dart", - "name": "회전 변환 rotation", - "desc": [ - "x 회전은 R1C1, R1C2, R2C1, R2C2로 제어되며, 입력은 라디안 값을 나타냅니다.", - "y 회전은 R0C0, R0C2, R2C0, R2C2로 제어되며, 입력은 라디안 값을 나타냅니다.", - "z 회전은 R0C0, R0C1, R1C0, R1C1로 제어됩니다." - ] - }, - { - "file": "node5_perspective.dart", - "name": "원근 변환 rotation", - "desc": [ - "R3C1, R3C2, R3C3로 원근을 제어합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_pt_PT.json deleted file mode 100644 index 368179eb7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_pt_PT.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 78, - "name": "Transform", - "localName": "Transformação", - "info": "Pode acomodar um subcomponente, pode transformar o subcomponente através de uma matriz de transformação 4*4.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_skew.dart", - "name": "Transformação de inclinação skew", - "desc": [ - "A inclinação x é controlada pelo número R0C1, o parâmetro de entrada é o valor em radianos, indicando o ângulo de inclinação", - "A inclinação y é controlada pelo número R1C0, o parâmetro de entrada é o valor em radianos, indicando o ângulo de inclinação" - ] - }, - { - "file": "node2_translation.dart", - "name": "Transformação de translação translationValues", - "desc": [ - "A translação x é controlada pelo número R0C3, o parâmetro de entrada é um valor numérico, indicando o comprimento da translação", - "A translação y é controlada pelo número R1C3, o parâmetro de entrada é um valor numérico, indicando o comprimento da translação", - "A translação z é controlada pelo número R2C3, o parâmetro de entrada é um valor numérico, indicando o comprimento da translação" - ] - }, - { - "file": "node3_scale.dart", - "name": "Transformação de escala diagonal3Values", - "desc": [ - "A escala x é controlada pelo número R0C0, o parâmetro de entrada é um valor numérico, indicando a taxa de escala", - "A escala y é controlada pelo número R1C2, o parâmetro de entrada é um valor numérico, indicando a taxa de escala", - "A escala z é controlada pelo número R2C2, o parâmetro de entrada é um valor numérico, indicando a taxa de escala" - ] - }, - { - "file": "node4_rotate.dart", - "name": "Transformação de rotação rotation", - "desc": [ - "A rotação x é controlada por R1C1, R1C2, R2C1, R2C2, o parâmetro de entrada representa radianos", - "A rotação y é controlada por R0C0, R0C2, R2C0, R2C2, o parâmetro de entrada representa radianos", - "A rotação z é controlada por R0C0, R0C1, R1C0, R1C1" - ] - }, - { - "file": "node5_perspective.dart", - "name": "Transformação de perspetiva rotation", - "desc": [ - "A perspetiva é controlada por R3C1, R3C2, R3C3" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_ru_RU.json deleted file mode 100644 index a77e34e21..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_ru_RU.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 78, - "name": "Transform", - "localName": "Преобразование", - "info": "Может содержать один дочерний компонент, который может быть преобразован с использованием матрицы преобразования 4*4.", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_skew.dart", - "name": "Наклонное преобразование skew", - "desc": [ - "Наклон по x управляется числом R0C1, входной параметр - значение в радианах, обозначающее угол наклона", - "Наклон по y управляется числом R1C0, входной параметр - значение в радианах, обозначающее угол наклона" - ] - }, - { - "file": "node2_translation.dart", - "name": "Преобразование перемещения translationValues", - "desc": [ - "Перемещение по x управляется числом R0C3, входной параметр - числовое значение, обозначающее длину перемещения", - "Перемещение по y управляется числом R1C3, входной параметр - числовое значение, обозначающее длину перемещения", - "Перемещение по z управляется числом R2C3, входной параметр - числовое значение, обозначающее длину перемещения" - ] - }, - { - "file": "node3_scale.dart", - "name": "Преобразование масштабирования diagonal3Values", - "desc": [ - "Масштабирование по x управляется числом R0C0, входной параметр - числовое значение, обозначающее коэффициент масштабирования", - "Масштабирование по y управляется числом R1C2, входной параметр - числовое значение, обозначающее коэффициент масштабирования", - "Масштабирование по z управляется числом R2C2, входной параметр - числовое значение, обозначающее коэффициент масштабирования" - ] - }, - { - "file": "node4_rotate.dart", - "name": "Преобразование вращения rotation", - "desc": [ - "Вращение по x управляется числами R1C1, R1C2, R2C1, R2C2, входной параметр - значение в радианах", - "Вращение по y управляется числами R0C0, R0C2, R2C0, R2C2, входной параметр - значение в радианах", - "Вращение по z управляется числами R0C0, R0C1, R1C0, R1C1" - ] - }, - { - "file": "node5_perspective.dart", - "name": "Преобразование перспективы rotation", - "desc": [ - "Перспектива управляется числами R3C1, R3C2, R3C3" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_zh-CN.json deleted file mode 100644 index 74a4da8c7..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/desc_zh-CN.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 78, - "name": "Transform", - "localName": "变换", - "info": "可容纳一个子组件,可以通过一个4*4的变换矩阵对子组件进行变换。", - "lever": 4, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_skew.dart", - "name": "斜切变换skew", - "desc": [ - "斜切x由R0C1数控制,入参为弧度值,表示斜切角度", - "斜切y由R1C0数控制,入参为弧度值,表示斜切角度" - ] - }, - { - "file": "node2_translation.dart", - "name": "平移变换translationValues", - "desc": [ - "平移x由R0C3数控制,入参为数值,表示平移长度", - "平移y由R1C3数控制,入参为数值,表示平移长度", - "平移z由R2C3数控制,入参为数值,表示平移长度" - ] - }, - { - "file": "node3_scale.dart", - "name": "缩放变换diagonal3Values", - "desc": [ - "缩放x由R0C0数控制,入参为数值,表示缩放分率", - "缩放y由R1C2数控制,入参为数值,表示缩放分率", - "缩放z由R2C2数控制,入参为数值,表示缩放分率" - ] - }, - { - "file": "node4_rotate.dart", - "name": "旋转变换rotation", - "desc": [ - "x旋转由R1C1、R1C2、R2C1、R2C2控制,入参表示弧度", - "y旋转由R0C0、R0C2、R2C0、R2C2控制,入参表示弧度", - "z旋转由R0C0、R0C1、R1C0、R1C1控制," - ] - }, - { - "file": "node5_perspective.dart", - "name": "透视变换rotation", - "desc": [ - "由R3C1、R3C2、R3C3控制透视" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/matrix4_shower.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/matrix4_shower.dart deleted file mode 100644 index f5dbadef0..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/matrix4_shower.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com -/// 说明: - -class Matrix4Shower extends StatelessWidget { - final Matrix4 matrix4; - - const Matrix4Shower(this.matrix4, {Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Text( - '${matrix4.entry(0, 0).toStringAsFixed(1)},${matrix4.entry(0, 1).toStringAsFixed(1)},${matrix4.entry(0, 2).toStringAsFixed(1)},${matrix4.entry(0, 3).toStringAsFixed(1)},\n' - '${matrix4.entry(1, 0).toStringAsFixed(1)},${matrix4.entry(1, 1).toStringAsFixed(1)},${matrix4.entry(1, 2).toStringAsFixed(1)},${matrix4.entry(1, 3).toStringAsFixed(1)},\n' - '${matrix4.entry(2, 0).toStringAsFixed(1)},${matrix4.entry(2, 1).toStringAsFixed(1)},${matrix4.entry(2, 2).toStringAsFixed(1)},${matrix4.entry(2, 3).toStringAsFixed(1)},\n' - '${matrix4.entry(3, 0).toStringAsFixed(1)},${matrix4.entry(3, 1).toStringAsFixed(1)},${matrix4.entry(3, 2).toStringAsFixed(1)},${matrix4.entry(3, 3).toStringAsFixed(1)}', - style: const TextStyle(fontSize: 20, color: Colors.blue), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node1_skew.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node1_skew.dart deleted file mode 100644 index 6fd4a91f4..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node1_skew.dart +++ /dev/null @@ -1,81 +0,0 @@ -import 'dart:math'; -import 'package:flutter/material.dart'; - -import 'matrix4_shower.dart'; - -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class SkewTransform extends StatefulWidget { - const SkewTransform({Key? key}) : super(key: key); - - @override - _SkewTransformState createState() => _SkewTransformState(); -} - -class _SkewTransformState extends State { - late Matrix4 _m4; - double _alpha = 0; - double _beta = 0; - - @override - void initState() { - _m4 = Matrix4.identity(); - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [_buildTransform(), Matrix4Shower(_m4)], - ), - _buildSliders() - ], - ); - } - - Widget _buildTransform() { - _m4 = Matrix4.skew(_alpha, _beta); - return Transform( - transform: _m4, - child: Container( - color: Colors.cyanAccent, - width: 100, - height: 100, - child: Image.asset( - 'assets/images/wy_300x200.webp', - fit: BoxFit.cover, - )), - ); - } - - Widget _buildSliders() => Column( - children: [ - Slider( - min: -pi, - max: pi, - value: _alpha, - divisions: 360, - label: 'alpha:' + (_alpha * 180 / pi).toStringAsFixed(1) + "°", - onChanged: (v) { - setState(() { - _alpha = v; - }); - }), - Slider( - min: -pi, - max: pi, - value: _beta, - divisions: 360, - label: 'beta:' + (_beta * 180 / pi).toStringAsFixed(1) + "°", - onChanged: (v) { - setState(() { - _beta = v; - }); - }) - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node2_translation.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node2_translation.dart deleted file mode 100644 index 0c67ffa13..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node2_translation.dart +++ /dev/null @@ -1,92 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'matrix4_shower.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class TranslationTransform extends StatefulWidget { - const TranslationTransform({Key? key}) : super(key: key); - - @override - _TranslationTransformState createState() => _TranslationTransformState(); -} - -class _TranslationTransformState extends State { - late Matrix4 _m4; - double _x = 0; - double _y = 0; - double _z = 0; - - @override - void initState() { - _m4 = Matrix4.identity(); - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [_buildTransform(), Matrix4Shower(_m4)], - ), - _buildSliders() - ], - ); - } - - Widget _buildTransform() { - _m4 = Matrix4.translationValues(_x, _y, _z); - return Transform( - transform: _m4, - child: Container( - color: Colors.cyanAccent, - width: 100, - height: 100, - child: Image.asset( - 'assets/images/wy_300x200.webp', - fit: BoxFit.cover, - )), - ); - } - - Widget _buildSliders() => Column( - children: [ - Slider( - min: -100, - max: 100, - value: _x, - divisions: 360, - label: 'x:${_x.toStringAsFixed(1)}', - onChanged: (v) { - setState(() { - _x = v; - }); - }), - Slider( - min: -100, - max: 100, - value: _y, - divisions: 360, - label: 'y:${_y.toStringAsFixed(1)}', - onChanged: (v) { - setState(() { - _y = v; - }); - }), - Slider( - min: -100, - max: 100, - value: _z, - divisions: 360, - label: 'z:${_z.toStringAsFixed(1)}', - onChanged: (v) { - setState(() { - _z = v; - }); - }) - ], - ); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node3_scale.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node3_scale.dart deleted file mode 100644 index 9d0e9a0c3..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node3_scale.dart +++ /dev/null @@ -1,91 +0,0 @@ -import 'package:flutter/material.dart'; -import 'matrix4_shower.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class ScaleTransform extends StatefulWidget { - const ScaleTransform({Key? key}) : super(key: key); - - @override - _ScaleTransformState createState() => _ScaleTransformState(); -} - -class _ScaleTransformState extends State { - late Matrix4 _m4; - double _x = 1.0; - double _y = 1.0; - double _z = 1.0; - - @override - void initState() { - _m4 = Matrix4.identity(); - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [_buildTransform(), Matrix4Shower(_m4)], - ), - _buildSliders() - ], - ); - } - - Widget _buildTransform() { - _m4 = Matrix4.diagonal3Values(_x, _y, _z); - return Transform( - transform: _m4, - child: Container( - color: Colors.cyanAccent, - width: 100, - height: 100, - child: Image.asset( - 'assets/images/wy_300x200.webp', - fit: BoxFit.cover, - )), - ); - } - - Widget _buildSliders() => Column( - children: [ - Slider( - min: -2, - max: 2, - value: _x, - divisions: 360, - label: 'x:${_x.toStringAsFixed(1)}', - onChanged: (v) { - setState(() { - _x = v; - }); - }), - Slider( - min: -2, - max: 2, - value: _y, - divisions: 360, - label: 'y:${_y.toStringAsFixed(1)}', - onChanged: (v) { - setState(() { - _y = v; - }); - }), - Slider( - min: -2, - max: 2, - value: _z, - divisions: 360, - label: 'z:${_z.toStringAsFixed(1)}', - onChanged: (v) { - setState(() { - _z = v; - }); - }) - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node4_rotate.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node4_rotate.dart deleted file mode 100644 index 569d2d28b..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node4_rotate.dart +++ /dev/null @@ -1,112 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -import 'matrix4_shower.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class RotateTransform extends StatefulWidget { - const RotateTransform({Key? key}) : super(key: key); - - @override - _RotateTransformState createState() => _RotateTransformState(); -} - -class _RotateTransformState extends State { - late Matrix4 _m4; - double _x = 0; - int _rotateFlag = 1; - - @override - void initState() { - _m4 = Matrix4.identity(); - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [_buildTransform(), Matrix4Shower(_m4)], - ), - _buildSliders() - ], - ); - } - - Widget _buildTransform() { - if (_rotateFlag == 1) { - _m4 = Matrix4.rotationX(_x); - } else if (_rotateFlag == 2) { - _m4 = Matrix4.rotationY(_x); - } else { - _m4 = Matrix4.rotationZ(_x); - } - - return Transform( - transform: _m4, - child: Container( - color: Colors.cyanAccent, - width: 100, - height: 100, - child: Image.asset( - 'assets/images/wy_300x200.webp', - fit: BoxFit.cover, - )), - ); - } - - final Map map = { - 1: 'rotationX', - 2: 'rotationY', - 3: 'rotationZ', - }; - - Widget _buildSliders() => Column( - children: [ - Wrap( - children: map.keys.map((key) => _buildChild(key)).toList(), - ), - Slider( - min: -pi, - max: pi, - value: _x, - divisions: 360, - label: 'x:${_x.toStringAsFixed(1)}', - onChanged: (v) { - setState(() { - _x = v; - }); - }), - ], - ); - - Padding _buildChild(int key) { - return Padding( - padding: const EdgeInsets.all(4.0), - child: FilterChip( - selectedColor: Colors.orange.withAlpha(55), - selectedShadowColor: Colors.blue, - shadowColor: Colors.orangeAccent, - pressElevation: 5, - elevation: 3, - avatar: CircleAvatar(child: Text(key.toString())), - label: Text(map[key]!), - selected: _rotateFlag == key, - onSelected: (bool value) { - print(map[key]); - setState(() { - _x = 0; - if (value) { - _rotateFlag = key; - } - }); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node5_perspective.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node5_perspective.dart deleted file mode 100644 index 09890b826..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/node5_perspective.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class R3C2 extends StatefulWidget { - const R3C2({Key? key}) : super(key: key); - - @override - _R3C2State createState() => _R3C2State(); -} - -class _R3C2State extends State { - late Matrix4 _m4; - double _value = 0; - double _rad = 0; - - @override - Widget build(BuildContext context) { - _m4 = Matrix4.identity() -// ..setEntry(3, 0, _value) // x -// ..setEntry(3, 1, _value)// y - ..setEntry(3, 2, _value) // z - ..rotateY(_rad) -// ..rotateX(_rad) - ; - return Column( - children: [ - Transform( - transform: _m4, - child: Container( - color: Colors.cyanAccent, - width: 100, - height: 100, - child: Image.asset( - 'assets/images/wy_300x200.webp', - fit: BoxFit.cover, - )), - ), - _buildSliders() - ], - ); - } - - Widget _buildSliders() => Column( - children: [ - Slider( - min: -0.01, - max: 0.01, - value: _value, - divisions: 360, - label: 'x:${_value.toStringAsFixed(5)}', - onChanged: (v) { - setState(() { - _value = v; - }); - }), - Slider( - min: -pi, - max: pi, - value: _rad, - divisions: 360, - label: '角度:' + (_rad * 180 / pi).toStringAsFixed(1) + "°", - onChanged: (v) { - setState(() { - _rad = v; - }); - }), - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/zz_node_op.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/zz_node_op.dart deleted file mode 100644 index 67770279e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/Transform/zz_node_op.dart +++ /dev/null @@ -1,98 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com -/// 说明: - -class CustomTransform extends StatefulWidget { - const CustomTransform({Key? key}) : super(key: key); - - @override - _CustomTransformState createState() => _CustomTransformState(); -} - -class _CustomTransformState extends State { - double angle = 0.0; - List m = [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - 0.0, - 0.0, - 0.1, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - ]; - - @override - Widget build(BuildContext context) { - var transform = Transform( - transform: Matrix4(m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], - m[9], m[10], m[11], m[12], m[13], m[14], m[15]), - child: Container( - alignment: Alignment.center, - color: Colors.cyanAccent, - width: 100, - height: 100, - child: Image.asset( - 'assets/images/wy_300x200.webp', - fit: BoxFit.cover, - )), - ); - - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Container( - alignment: Alignment.topLeft, - color: Colors.grey.withAlpha(22), - width: 200, - height: 150, - child: transform, - ), - Text( - '${m[0]},${m[1]},${m[2]},${m[3]},\n' - '${m[4]},${m[5]},${m[6]},${m[7]},\n' - '${m[8]},${m[9]},${m[10]},${m[11]},\n' - '${m[12]},${m[13]},${m[14]},${m[15]}\n', - style: const TextStyle(fontSize: 20), - ) - ], - ), - SizedBox( - width: MediaQuery.of(context).size.width, - height: 200, - child: _buildSliders()) - ], - ); - } - - Widget _buildSliders() => GridView.count( - crossAxisCount: 2, - childAspectRatio: 8, - children: m - .asMap() - .keys - .map((i) => Slider( - value: m[i], - max: 0.01, - min: 0.0, - divisions: 10, - onChanged: (v) { - setState(() { - m[i] = v; - }); - })) - .toList()); -} diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_de_DE.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_de_DE.json deleted file mode 100644 index c53fc137f..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 81, - "name": "UnconstrainedBox", - "localName": "Unbegrenzte Box", - "info": "Kann ein Unterelement aufnehmen und hebt alle Bereichsbeschränkungen dieses Elements auf, um seine eigene Größe zu zeigen.", - "lever": 3, - "family": 1, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von UnconstrainedBox", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【constrainedAxis】 : Noch eingeschränkte Achse*2 【Axis】", - "【alignment】 : Ausrichtung 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_en_US.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_en_US.json deleted file mode 100644 index 0173f7695..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 81, - "name": "UnconstrainedBox", - "localName": "Unconstrained Box", - "info": "Can contain a child component and remove all area constraints of the component, displaying its own size.", - "lever": 3, - "family": 1, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of UnconstrainedBox", - "desc": [ - "【child】: Child component 【Widget】", - "【constrainedAxis】: Axes still constrained*2 【Axis】", - "【alignment】: Alignment method 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_es_ES.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_es_ES.json deleted file mode 100644 index d66a2aa26..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 81, - "name": "UnconstrainedBox", - "localName": "Caja sin restricciones", - "info": "Puede contener un componente hijo y elimina todas las restricciones de área de ese componente, mostrando su tamaño propio.", - "lever": 3, - "family": 1, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de UnconstrainedBox", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【constrainedAxis】 : Eje aún restringido*2 【Axis】", - "【alignment】 : Modo de alineación 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_fr_FR.json deleted file mode 100644 index 2062709c9..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 81, - "name": "UnconstrainedBox", - "localName": "Boîte sans contrainte", - "info": "Peut contenir un composant enfant et libère toutes les contraintes de zone de ce composant, montrant sa taille réelle.", - "lever": 3, - "family": 1, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'UnconstrainedBox", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【constrainedAxis】 : Axe toujours contraint*2 【Axis】", - "【alignment】 : Mode d'alignement 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_it_IT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_it_IT.json deleted file mode 100644 index 399a45484..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 81, - "name": "UnconstrainedBox", - "localName": "Scatola senza vincoli", - "info": "Può contenere un componente figlio e rimuove tutti i vincoli di area di quel componente, mostrando le proprie dimensioni.", - "lever": 3, - "family": 1, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di UnconstrainedBox", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【constrainedAxis】 : Asse ancora vincolato*2 【Axis】", - "【alignment】 : Allineamento 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_ja_JP.json deleted file mode 100644 index 5d6038833..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 81, - "name": "UnconstrainedBox", - "localName": "無制約ボックス", - "info": "子コンポーネントを収容し、そのコンポーネントのすべての領域制約を解除し、自己サイズを表示します。", - "lever": 3, - "family": 1, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "UnconstrainedBoxの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【constrainedAxis】 : 制約を受ける軸*2 【Axis】", - "【alignment】 : 整列方式 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_ko_KR.json deleted file mode 100644 index 334a6f720..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 81, - "name": "UnconstrainedBox", - "localName": "제약 없는 상자", - "info": "하위 컴포넌트를 수용하고 해당 컴포넌트의 모든 영역 제약을 해제하여 자체 크기를 표시합니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "UnconstrainedBox 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【constrainedAxis】 : 여전히 제약을 받는 축*2 【Axis】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_pt_PT.json deleted file mode 100644 index 37b03da3e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 81, - "name": "UnconstrainedBox", - "localName": "Caixa sem Restrições", - "info": "Pode conter um componente filho e remove todas as restrições de área desse componente, exibindo o seu próprio tamanho.", - "lever": 3, - "family": 1, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do UnconstrainedBox", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【constrainedAxis】 : Eixo ainda restrito*2 【Axis】", - "【alignment】 : Modo de alinhamento 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_ru_RU.json deleted file mode 100644 index b9a740d18..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 81, - "name": "UnconstrainedBox", - "localName": "Неограниченный контейнер", - "info": "Может содержать один дочерний компонент и снимает все ограничения области для этого компонента, позволяя ему отображать свои собственные размеры.", - "lever": 3, - "family": 1, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование UnconstrainedBox", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【constrainedAxis】 : Ось, которая остается ограниченной*2 【Axis】", - "【alignment】 : Способ выравнивания 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_zh-CN.json deleted file mode 100644 index 77714ac35..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 81, - "name": "UnconstrainedBox", - "localName": "无约束盒", - "info": "可容纳一个子组件,并解除该组件的所有区域约束,展现自我尺寸。", - "lever": 3, - "family": 1, - "linkIds": [ - 80 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "UnconstrainedBox基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【constrainedAxis】 : 仍受约束的轴*2 【Axis】", - "【alignment】 : 对齐方式 【AlignmentGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/node1_base.dart b/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/node1_base.dart deleted file mode 100644 index e2d622f1e..000000000 --- a/modules/widget_system/widgets/lib/SingleChildRenderObjectWidget/UnConstrainedBox/node1_base.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-19 -/// contact me by email 1981462002@qq.com - -class CustomUnConstrainedBox extends StatefulWidget { - const CustomUnConstrainedBox({Key? key}) : super(key: key); - - @override - _CustomUnConstrainedBoxState createState() => _CustomUnConstrainedBoxState(); -} - -class _CustomUnConstrainedBoxState extends State { - bool _value = false; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - children: [_buildUnconstrainedBox(), _buildConstrainedAxis()], - ); - } - - Widget _buildUnconstrainedBox() { - Widget child = Container( - color: Colors.cyanAccent, - width: 60, - height: 60, - child: Switch( - value: _value, - onChanged: (v) { - setState(() { - _value = v; - }); - }, - ), - ); - - return Column( - children: [ - Container( - color: Colors.grey.withAlpha(22), - width: 150, - height: 100, - child: _value - ? UnconstrainedBox(alignment: Alignment.center, child: child) - : child, - ), - Text(_value ? "已解除约束" : "子组件受约束") - ], - ); - } - - Widget _buildConstrainedAxis() { - return Column( - children: [ - Container( - color: Colors.grey.withAlpha(22), - width: 150, - height: 100, - child: UnconstrainedBox( - alignment: Alignment.center, - constrainedAxis: Axis.vertical, - child: Container( - color: Colors.cyanAccent, - width: 60, - height: 60, - )), - ), - const Text("竖直方向仍约束") - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_de_DE.json deleted file mode 100644 index f93798a08..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 302, - "name": "CupertinoSliverNavigationBar", - "localName": "Sliver-Navigationsleiste", - "info": "Navigationsleisten-Effekt in iOS11, der largeTitle beim Ausklappen anzeigt, beim Hochscrollen der Liste jedoch nicht. Wenn middle leer ist, wird der largeTitle in kleiner Schriftgröße als middle angezeigt.", - "lever": 2, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung der Navigationsleiste", - "desc": [ - "【leading】 : Linke Komponente 【Widget】", - "【middle】 : Mittlere Komponente 【Widget】", - "【trailing】 : Rechte Komponente 【Widget】", - "【largeTitle】 : Untere ausklappbare Komponente 【Widget】", - "【border】 : Randlinie 【Border】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【padding】 : Innenabstand 【EdgeInsetsDirectional】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_en_US.json deleted file mode 100644 index d639ce44a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 302, - "name": "CupertinoSliverNavigationBar", - "localName": "Sliver Navigation Bar", - "info": "The navigation bar effect in iOS11, the largeTitle is displayed when expanded, and it is not displayed when the list is scrolled up. If the middle is empty, the largeTitle will be displayed as the middle in a smaller font size.", - "lever": 2, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Navigation Bar", - "desc": [ - "【leading】: Left component 【Widget】", - "【middle】: Middle component 【Widget】", - "【trailing】: Trailing component 【Widget】", - "【largeTitle】: Bottom expandable component 【Widget】", - "【border】: Border 【Border】", - "【backgroundColor】: Background color 【Color】", - "【padding】: Padding 【EdgeInsetsDirectional】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_es_ES.json deleted file mode 100644 index 2442c5d6a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 302, - "name": "CupertinoSliverNavigationBar", - "localName": "Barra de navegación Sliver", - "info": "Efecto de la barra de navegación en iOS11, el largeTitle se muestra cuando se expande, no se muestra cuando la lista se desliza hacia arriba. Si el middle está vacío, el largeTitle se mostrará como middle con un tamaño de fuente pequeño.", - "lever": 2, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de la barra de navegación", - "desc": [ - "【leading】 : Componente izquierdo 【Widget】", - "【middle】 : Componente central 【Widget】", - "【trailing】 : Componente derecho 【Widget】", - "【largeTitle】 : Componente de expansión inferior 【Widget】", - "【border】 : Borde 【Border】", - "【backgroundColor】 : Color de fondo 【Color】", - "【padding】 : Relleno interno 【EdgeInsetsDirectional】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_fr_FR.json deleted file mode 100644 index 125aec02d..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 302, - "name": "CupertinoSliverNavigationBar", - "localName": "Barre de navigation Sliver", - "info": "Effet de la barre de navigation dans iOS11, le largeTitle s'affiche lors du déploiement, disparaît lors du défilement vers le haut de la liste. Si le middle est vide, le largeTitle sera affiché en petite taille comme middle.", - "lever": 2, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de la barre de navigation", - "desc": [ - "【leading】 : Composant de gauche 【Widget】", - "【middle】 : Composant du milieu 【Widget】", - "【trailing】 : Composant de droite 【Widget】", - "【largeTitle】 : Composant de déploiement en bas 【Widget】", - "【border】 : Bordure 【Border】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【padding】 : Marge intérieure 【EdgeInsetsDirectional】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_it_IT.json deleted file mode 100644 index 07b5f9450..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 302, - "name": "CupertinoSliverNavigationBar", - "localName": "Barra di navigazione Sliver", - "info": "Effetto della barra di navigazione in iOS11, il largeTitle viene visualizzato quando espanso, non viene visualizzato quando la lista scorre verso l'alto, se il middle è vuoto, il largeTitle verrà visualizzato come middle con un carattere più piccolo.", - "lever": 2, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base della barra di navigazione", - "desc": [ - "【leading】 : Componente sinistro 【Widget】", - "【middle】 : Componente centrale 【Widget】", - "【trailing】 : Componente finale 【Widget】", - "【largeTitle】 : Componente di espansione inferiore 【Widget】", - "【border】 : Bordo 【Border】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【padding】 : Spaziatura interna 【EdgeInsetsDirectional】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_ja_JP.json deleted file mode 100644 index 1f1abc56b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 302, - "name": "CupertinoSliverNavigationBar", - "localName": "Sliverナビゲーションバー", - "info": "iOS11のナビゲーションバー効果で、展開時にlargeTitleが表示され、リストを上にスクロールすると表示されなくなります。もしmiddleが空の場合、largeTitleは小さいフォントサイズでmiddleとして表示されます。", - "lever": 2, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ナビゲーションバーの基本使用", - "desc": [ - "【leading】 : 左側のコンポーネント 【Widget】", - "【middle】 : 中間のコンポーネント 【Widget】", - "【trailing】 : 末尾のコンポーネント 【Widget】", - "【largeTitle】 : 下部折りたたみコンポーネント 【Widget】", - "【border】 : ボーダー 【Border】", - "【backgroundColor】 : 背景色 【Color】", - "【padding】 : 内側の余白 【EdgeInsetsDirectional】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_ko_KR.json deleted file mode 100644 index d0388828f..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 302, - "name": "CupertinoSliverNavigationBar", - "localName": "Sliver 네비게이션 바", - "info": "iOS11에서의 네비게이션 바 효과, 펼칠 때 largeTitle이 표시되며, 리스트를 위로 스크롤하면 표시되지 않습니다. middle이 비어 있으면 largeTitle이 작은 글자 크기로 middle로 표시됩니다.", - "lever": 2, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "네비게이션 바 기본 사용법", - "desc": [ - "【leading】 : 왼쪽 컴포넌트 【Widget】", - "【middle】 : 중간 컴포넌트 【Widget】", - "【trailing】 : 오른쪽 컴포넌트 【Widget】", - "【largeTitle】 : 하단 확장 컴포넌트 【Widget】", - "【border】 : 테두리 【Border】", - "【backgroundColor】 : 배경색 【Color】", - "【padding】 : 안쪽 여백 【EdgeInsetsDirectional】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_pt_PT.json deleted file mode 100644 index e363bc47f..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 302, - "name": "CupertinoSliverNavigationBar", - "localName": "Barra de navegação Sliver", - "info": "Efeito da barra de navegação no iOS11, o largeTitle é exibido quando expandido, não é exibido quando a lista é deslizada para cima, se o middle estiver vazio, o largeTitle será exibido como middle com um tamanho de fonte menor.", - "lever": 2, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico da barra de navegação", - "desc": [ - "【leading】 : Componente esquerdo 【Widget】", - "【middle】 : Componente do meio 【Widget】", - "【trailing】 : Componente da cauda 【Widget】", - "【largeTitle】 : Componente de expansão inferior 【Widget】", - "【border】 : Borda 【Border】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【padding】 : Preenchimento interno 【EdgeInsetsDirectional】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_ru_RU.json deleted file mode 100644 index a51f90df4..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 302, - "name": "CupertinoSliverNavigationBar", - "localName": "Sliver навигационная панель", - "info": "Эффект навигационной панели в iOS11, largeTitle отображается при раскрытии, не отображается при прокрутке списка вверх. Если middle пуст, largeTitle будет отображаться как middle с меньшим размером шрифта.", - "lever": 2, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование навигационной панели", - "desc": [ - "【leading】 : Левый компонент 【Widget】", - "【middle】 : Средний компонент 【Widget】", - "【trailing】 : Хвостовой компонент 【Widget】", - "【largeTitle】 : Нижний раскрывающийся компонент 【Widget】", - "【border】 : Граница 【Border】", - "【backgroundColor】 : Цвет фона 【Color】", - "【padding】 : Внутренний отступ 【EdgeInsetsDirectional】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_zh-CN.json deleted file mode 100644 index 4182f3024..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 302, - "name": "CupertinoSliverNavigationBar", - "localName": "Sliver导航条", - "info": "iOS11中导航条效果,展开时largeTitle显示,列表上滑后不显示,如果middle为空,largeTitle会以小字号作为middle。", - "lever": 2, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "导航条基本使用", - "desc": [ - "【leading】 : 左侧组件 【Widget】", - "【middle】 : 中间组件 【Widget】", - "【trailing】 : 尾部组件 【Widget】", - "【largeTitle】 : 底部折展组件 【Widget】", - "【border】 : 边线 【Border】", - "【backgroundColor】 : 背景色 【Color】", - "【padding】 : 内边距 【EdgeInsetsDirectional】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/node1_base.dart deleted file mode 100644 index 00c448f7f..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverNavigationBar/node1_base.dart +++ /dev/null @@ -1,88 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class CupertinoSliverNavigationBarDemo extends StatelessWidget { - const CupertinoSliverNavigationBarDemo({super.key}); - - List get data => [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [ - CupertinoSliverNavigationBar( - trailing: const Icon( - CupertinoIcons.share, - size: 25, - ), - leading: _buildLeading(), - backgroundColor: Colors.white, - // middle: Text('张风捷特烈'), - largeTitle: Row( - mainAxisSize: MainAxisSize.min, - children: const [ - Icon( - Icons.ac_unit, - size: 20, - ), - Padding( - padding: EdgeInsets.symmetric(horizontal: 8), - child: Text('张风捷特烈'), - ), - Icon(Icons.ac_unit, size: 20), - ], - ), - ), - _buildSliverList() - ], - ), - ); - } - - Widget _buildSliverList() => SliverPrototypeExtentList( - prototypeItem: Container( - height: 40, - ), - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_de_DE.json deleted file mode 100644 index 3e180a103..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 303, - "name": "CupertinoSliverRefreshControl", - "localName": "Sliver Aktualisierungssteuerung", - "info": "iOS-Stil Pull-to-Refresh-Steuerung, die asynchrone Aktualisierungsmethoden, benutzerdefinierte Steuerungskomponenten, die Höhe des Indikators und die Höhe des Auslösens des Ladens durchziehen kann.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung der Aktualisierungssteuerung", - "desc": [ - "【refreshIndicatorExtent】 : Höhe des Ladeindikators 【double】", - "【refreshTriggerPullDistance】 : Höhe des Auslösens des Ladens durchziehen 【double】", - "【onRefresh】 : Pull-to-Refresh-Ereignis 【RefreshCallback】", - "【builder】 : Indikator-Builder 【RefreshControlIndicatorBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_en_US.json deleted file mode 100644 index 759043abf..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 303, - "name": "CupertinoSliverRefreshControl", - "localName": "Sliver Refresh Controller", - "info": "iOS-style pull-to-refresh controller that can execute asynchronous refresh methods, customize controller components, set the height at which the indicator stays, and the scroll height that triggers loading.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Refresh Controller", - "desc": [ - "【refreshIndicatorExtent】: Height of the loading indicator 【double】", - "【refreshTriggerPullDistance】: Scroll height that triggers loading 【double】", - "【onRefresh】: Pull-down event 【RefreshCallback】", - "【builder】: Indicator builder 【RefreshControlIndicatorBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_es_ES.json deleted file mode 100644 index b3bbc36db..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 303, - "name": "CupertinoSliverRefreshControl", - "localName": "Controlador de actualización Sliver", - "info": "Controlador de actualización de estilo iOS que puede ejecutar métodos de actualización asíncronos, personalizar componentes del controlador, altura de permanencia del indicador y altura de deslizamiento para activar la carga.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico del controlador de actualización", - "desc": [ - "【refreshIndicatorExtent】 : Altura del indicador de carga 【double】", - "【refreshTriggerPullDistance】 : Altura de deslizamiento para activar la carga 【double】", - "【onRefresh】 : Evento de deslizamiento hacia abajo 【RefreshCallback】", - "【builder】 : Constructor del indicador 【RefreshControlIndicatorBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_fr_FR.json deleted file mode 100644 index 97e8293dd..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 303, - "name": "CupertinoSliverRefreshControl", - "localName": "Contrôleur de rafraîchissement Sliver", - "info": "Contrôleur de rafraîchissement de style iOS, capable d'exécuter des méthodes de rafraîchissement asynchrones, de personnaliser les composants du contrôleur, la hauteur de séjour de l'indicateur et la hauteur de glissement pour déclencher le chargement.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base du contrôleur de rafraîchissement", - "desc": [ - "【refreshIndicatorExtent】 : Hauteur de l'indicateur de chargement 【double】", - "【refreshTriggerPullDistance】 : Hauteur de glissement pour déclencher le chargement 【double】", - "【onRefresh】 : Événement de glissement vers le bas 【RefreshCallback】", - "【builder】 : Constructeur de l'indicateur 【RefreshControlIndicatorBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_it_IT.json deleted file mode 100644 index 657a18472..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 303, - "name": "CupertinoSliverRefreshControl", - "localName": "Controller di aggiornamento Sliver", - "info": "Controller di aggiornamento a stile iOS, esegue metodi di aggiornamento asincroni, personalizza i componenti del controller, l'altezza di sosta dell'indicatore e l'altezza di scorrimento per attivare il caricamento.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base del controller di aggiornamento", - "desc": [ - "【refreshIndicatorExtent】 : Altezza dell'indicatore di caricamento 【double】", - "【refreshTriggerPullDistance】 : Altezza di scorrimento per attivare il caricamento 【double】", - "【onRefresh】 : Evento di trascinamento verso il basso 【RefreshCallback】", - "【builder】 : Costruttore dell'indicatore 【RefreshControlIndicatorBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_ja_JP.json deleted file mode 100644 index 2ef32644f..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 303, - "name": "CupertinoSliverRefreshControl", - "localName": "Sliverリフレッシュコントローラー", - "info": "iOSスタイルのプルダウンリフレッシュコントローラーで、非同期リフレッシュメソッドの実行、カスタムコントローラーコンポーネント、インジケーターの停留高さ、およびロードをトリガーするスワイプ高さを設定できます。", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "リフレッシュコントローラーの基本使用", - "desc": [ - "【refreshIndicatorExtent】 : ロード中インジケーターの高さ 【double】", - "【refreshTriggerPullDistance】 : ロードをトリガーするスワイプ高さ 【double】", - "【onRefresh】 : プルダウンイベント 【RefreshCallback】", - "【builder】 : インジケーターコンストラクター 【RefreshControlIndicatorBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_ko_KR.json deleted file mode 100644 index dc59fef10..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 303, - "name": "CupertinoSliverRefreshControl", - "localName": "Sliver 새로고침 컨트롤러", - "info": "iOS 스타일의 풀다운 새로고침 컨트롤러로, 비동기 새로고침 메소드 실행, 사용자 정의 컨트롤러 컴포넌트, 인디케이터 고정 높이 및 로딩을 트리거하는 스와이프 높이를 설정할 수 있습니다.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "새로고침 컨트롤러 기본 사용", - "desc": [ - "【refreshIndicatorExtent】 : 로딩 중 인디케이터 높이 【double】", - "【refreshTriggerPullDistance】 : 로딩을 트리거하는 스와이프 높이 【double】", - "【onRefresh】 : 풀다운 이벤트 【RefreshCallback】", - "【builder】 : 인디케이터 빌더 【RefreshControlIndicatorBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_pt_PT.json deleted file mode 100644 index dfcb13913..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 303, - "name": "CupertinoSliverRefreshControl", - "localName": "Controlador de Atualização Sliver", - "info": "Controlador de atualização de deslizar para baixo no estilo iOS, capaz de executar métodos de atualização assíncronos, personalizar componentes do controlador, altura de permanência do indicador e altura de deslize para acionar o carregamento.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Controlador de Atualização", - "desc": [ - "【refreshIndicatorExtent】 : Altura do indicador de carregamento 【double】", - "【refreshTriggerPullDistance】 : Altura de deslize para acionar o carregamento 【double】", - "【onRefresh】 : Evento de deslizar para baixo 【RefreshCallback】", - "【builder】 : Construtor do indicador 【RefreshControlIndicatorBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_ru_RU.json deleted file mode 100644 index ba7d2b0ee..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 303, - "name": "CupertinoSliverRefreshControl", - "localName": "Sliver контроллер обновления", - "info": "Контроллер обновления в стиле iOS, который может выполнять асинхронные методы обновления, настраивать компоненты контроллера, высоту остановки индикатора и высоту скольжения для запуска загрузки.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование контроллера обновления", - "desc": [ - "【refreshIndicatorExtent】 : Высота индикатора загрузки 【double】", - "【refreshTriggerPullDistance】 : Высота скольжения для запуска загрузки 【double】", - "【onRefresh】 : Событие прокрутки вниз 【RefreshCallback】", - "【builder】 : Конструктор индикатора 【RefreshControlIndicatorBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_zh-CN.json deleted file mode 100644 index c8ba82c01..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 303, - "name": "CupertinoSliverRefreshControl", - "localName": "Sliver刷新控制器", - "info": "iOS风格的下拉刷新控制器,可执行异步刷新方法、自定义控制器组件、指示器停留高度和触发加载的滑动高度。", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "刷新控制器基本使用", - "desc": [ - "【refreshIndicatorExtent】 : 加载中指示器高度 【double】", - "【refreshTriggerPullDistance】 : 触发加载的滑动高度 【double】", - "【onRefresh】 : 下拉事件 【RefreshCallback】", - "【builder】 : 指示器构造器 【RefreshControlIndicatorBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/node1_base.dart deleted file mode 100644 index 47975d7c5..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CupertinoSliverRefreshControl/node1_base.dart +++ /dev/null @@ -1,120 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class CupertinoSliverRefreshControlDemo extends StatefulWidget { - const CupertinoSliverRefreshControlDemo({Key? key}) : super(key: key); - - @override - _CupertinoSliverRefreshControlDemoState createState() => - _CupertinoSliverRefreshControlDemoState(); -} - -class _CupertinoSliverRefreshControlDemoState - extends State { - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - - final Random r = Random(); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - physics: const BouncingScrollPhysics( - parent: AlwaysScrollableScrollPhysics()), - slivers: [ - _buildSliverAppBar(), - CupertinoSliverRefreshControl( - refreshIndicatorExtent: 60, - refreshTriggerPullDistance: 80, - onRefresh: _doRefresh, - ), - _buildSliverList() - ], - ), - ); - } - - Widget _buildSliverList() => SliverFixedExtentList( - itemExtent: 50, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 120.0, - leading: Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - - Color randomColor() => Color.fromARGB( - r.nextInt(255), r.nextInt(255), r.nextInt(255), r.nextInt(255)); - - Future _doRefresh() async { - await Future.delayed(const Duration(seconds: 2)); - setState(() { - data.insertAll(0, [randomColor()]); - }); - } -} diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_de_DE.json deleted file mode 100644 index 65808d073..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 183, - "name": "CustomScrollView", - "localName": "Allgemeine Scroll-Ansicht", - "info": "Eine allgemeine Scroll-Struktur, die Eigenschaften wie Scroll-Richtung, ob umgekehrt, Scroll-Controller usw. festlegen kann. Die darin enthaltenen Unterkomponenten müssen zur Sliver-Familie gehören.", - "lever": 5, - "family": 4, - "linkIds": [ - 184, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CustomScrollView", - "desc": [ - "【slivers】 : Liste der Unterkomponenten 【List】", - "【reverse】 : Ob umgekehrt 【bool】", - "【scrollDirection】 : Scroll-Richtung 【Axis】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_en_US.json deleted file mode 100644 index 5eb90c191..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 183, - "name": "CustomScrollView", - "localName": "General Scroll View", - "info": "A general scroll structure that can specify properties such as scroll direction, whether to reverse, scroll controller, etc. The child components it contains must be from the Sliver family.", - "lever": 5, - "family": 4, - "linkIds": [ - 184, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CustomScrollView", - "desc": [ - "【slivers】 : Child component list 【List】", - "【reverse】 : Whether to reverse 【bool】", - "【scrollDirection】 : Scroll direction 【Axis】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_es_ES.json deleted file mode 100644 index 8544d1758..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 183, - "name": "CustomScrollView", - "localName": "Vista de desplazamiento universal", - "info": "Una estructura de desplazamiento universal que puede especificar la dirección de desplazamiento, si es inverso, el controlador de desplazamiento y otras propiedades. Los componentes secundarios que contiene deben ser de la familia Sliver.", - "lever": 5, - "family": 4, - "linkIds": [ - 184, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CustomScrollView", - "desc": [ - "【slivers】 : Lista de componentes secundarios 【List】", - "【reverse】 : Si es inverso 【bool】", - "【scrollDirection】 : Dirección de desplazamiento 【Axis】", - "【controller】 : Controlador 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_fr_FR.json deleted file mode 100644 index 3491884b8..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 183, - "name": "CustomScrollView", - "localName": "Vue de défilement universelle", - "info": "Une structure de défilement universelle qui permet de spécifier la direction du défilement, l'inversion, le contrôleur de défilement, etc. Les composants enfants inclus doivent être de la famille Sliver.", - "lever": 5, - "family": 4, - "linkIds": [ - 184, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CustomScrollView", - "desc": [ - "【slivers】 : Liste des composants enfants 【List】", - "【reverse】 : Inversion 【bool】", - "【scrollDirection】 : Direction du défilement 【Axis】", - "【controller】 : Contrôleur 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_it_IT.json deleted file mode 100644 index ef4f3b179..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 183, - "name": "CustomScrollView", - "localName": "Visualizzazione a scorrimento universale", - "info": "Una struttura di scorrimento universale che consente di specificare la direzione di scorrimento, se invertire, il controller di scorrimento e altre proprietà. I componenti figli inclusi devono appartenere alla famiglia Sliver.", - "lever": 5, - "family": 4, - "linkIds": [ - 184, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CustomScrollView", - "desc": [ - "【slivers】 : Lista dei componenti figli 【List】", - "【reverse】 : Se invertire 【bool】", - "【scrollDirection】 : Direzione di scorrimento 【Axis】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_ja_JP.json deleted file mode 100644 index 610f11f58..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 183, - "name": "CustomScrollView", - "localName": "汎用スクロールビュー", - "info": "汎用的なスクロール構造で、スクロール方向、逆方向かどうか、スクロールコントローラーなどの属性を指定できます。含まれる子コンポーネントはSliverファミリーでなければなりません。", - "lever": 5, - "family": 4, - "linkIds": [ - 184, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CustomScrollViewの基本使用", - "desc": [ - "【slivers】 : 子コンポーネントリスト 【List】", - "【reverse】 : 逆方向かどうか 【bool】", - "【scrollDirection】 : スクロール方向 【Axis】", - "【controller】 : コントローラー 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_ko_KR.json deleted file mode 100644 index 5ce0e4b48..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 183, - "name": "CustomScrollView", - "localName": "일반 스크롤 뷰", - "info": "일반적인 스크롤 구조로, 스크롤 방향, 역방향 여부, 스크롤 컨트롤러 등의 속성을 지정할 수 있습니다. 포함된 하위 컴포넌트들은 반드시 Sliver 패밀리여야 합니다.", - "lever": 5, - "family": 4, - "linkIds": [ - 184, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CustomScrollView 기본 사용법", - "desc": [ - "【slivers】 : 하위 컴포넌트 목록 【List】", - "【reverse】 : 역방향 여부 【bool】", - "【scrollDirection】 : 스크롤 방향 【Axis】", - "【controller】 : 컨트롤러 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_pt_PT.json deleted file mode 100644 index 3195984f3..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 183, - "name": "CustomScrollView", - "localName": "Visão de Rolagem Universal", - "info": "Uma estrutura de rolagem universal que pode especificar a direção de rolagem, se é reversa, o controlador de rolagem e outras propriedades. Os componentes filhos incluídos devem ser da família Sliver.", - "lever": 5, - "family": 4, - "linkIds": [ - 184, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do CustomScrollView", - "desc": [ - "【slivers】 : Lista de componentes filhos 【List】", - "【reverse】 : Se é reverso 【bool】", - "【scrollDirection】 : Direção de rolagem 【Axis】", - "【controller】 : Controlador 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_ru_RU.json deleted file mode 100644 index 1d1e586bf..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 183, - "name": "CustomScrollView", - "localName": "Универсальная прокрутка", - "info": "Универсальная структура прокрутки, которая позволяет задать направление прокрутки, обратное ли оно, контроллер прокрутки и другие свойства. Вложенные компоненты должны принадлежать семейству Sliver.", - "lever": 5, - "family": 4, - "linkIds": [ - 184, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CustomScrollView", - "desc": [ - "【slivers】 : Список дочерних компонентов 【List】", - "【reverse】 : Обратная ли прокрутка 【bool】", - "【scrollDirection】 : Направление прокрутки 【Axis】", - "【controller】 : Контроллер 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_zh-CN.json deleted file mode 100644 index 5bbfabdb4..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 183, - "name": "CustomScrollView", - "localName": "通用滑动视图", - "info": "一个通用的滑动结构,可以指定滑动方向、是否反向、滑动控制器等属性。其中包含的子组件们必须是Sliver家族。", - "lever": 5, - "family": 4, - "linkIds": [ - 184, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CustomScrollView基本使用", - "desc": [ - "【slivers】 : 子组件列表 【List】", - "【reverse】 : 是否反向 【bool】", - "【scrollDirection】 : 滑动方向 【Axis】", - "【controller】 : 控制器 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/CustomScrollView/node1_base.dart deleted file mode 100644 index 9e482f0f2..000000000 --- a/modules/widget_system/widgets/lib/Sliver/CustomScrollView/node1_base.dart +++ /dev/null @@ -1,90 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class CustomScrollViewDemo extends StatelessWidget { - const CustomScrollViewDemo({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - anchor: 0, - scrollDirection: Axis.vertical, - reverse: false, - slivers: [_buildSliverAppBar(), _buildSliverFixedExtentList()], - ), - ); - } - - TextStyle get textStyle => const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ]); - - Widget _buildSliverFixedExtentList() => SliverFixedExtentList( - itemExtent: 60, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: data[index], - child: Text( - colorString(data[index]), - style: textStyle, - ), - ), - childCount: data.length), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - - _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')), - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - title: const Text( - '张风捷特烈', - style: TextStyle(color: Colors.black, //标题 - shadows: [ - Shadow( - color: Colors.blue, - offset: Offset(1, 1), - blurRadius: 2, - ) - ]), - ), - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_de_DE.json deleted file mode 100644 index c5891b0d6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 209, - "name": "DecoratedSliver", - "localName": "Dekorierte Gleitfläche", - "info": "Diese Komponente wird in einem Scroll-Viewport verwendet und kann ein untergeordnetes Sliver-Element umhüllen, um ihm einen Dekorationseffekt hinzuzufügen.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Grundlegende Verwendung von DecoratedSliver", - "desc": [ - "【sliver】 : Kindkomponente 【Widget?】", - "【decoration】 : Dekorationsobjekt 【Decoration】", - "【position】 : Dekorationsposition 【DecorationPosition】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_en_US.json deleted file mode 100644 index 8a4de0b9f..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 209, - "name": "DecoratedSliver", - "localName": "Decorated Sliver", - "info": "This component is used in sliding viewports and can wrap a child Sliver component to add Decoration effects.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Basic Usage of DecoratedSliver", - "desc": [ - "【sliver】: Child component 【Widget?】", - "【decoration】: Decoration object 【Decoration】", - "【position】: Decoration position 【DecorationPosition】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_es_ES.json deleted file mode 100644 index 78ade3b80..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 209, - "name": "DecoratedSliver", - "localName": "Panel deslizante decorado", - "info": "Este componente se aplica en ventanas deslizantes y puede envolver un componente Sliver hijo para agregar efectos de decoración Decoration.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso básico de DecoratedSliver", - "desc": [ - "【sliver】 : Componente hijo 【Widget?】", - "【decoration】 : Objeto de decoración 【Decoration】", - "【position】 : Posición de la decoración 【DecorationPosition】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_fr_FR.json deleted file mode 100644 index 2a9b5860a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 209, - "name": "DecoratedSliver", - "localName": "Glissière décorée", - "info": "Ce composant est utilisé dans une vue défilante et peut envelopper un composant Sliver enfant pour ajouter un effet de décoration.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation de base de DecoratedSliver", - "desc": [ - "【sliver】 : Composant enfant 【Widget?】", - "【decoration】 : Objet de décoration 【Decoration】", - "【position】 : Position de la décoration 【DecorationPosition】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_it_IT.json deleted file mode 100644 index b9b45c95d..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 209, - "name": "DecoratedSliver", - "localName": "Decorazione Sliver", - "info": "Questo componente viene utilizzato in una vista scorrevole e può avvolgere un componente Sliver figlio, aggiungendo un effetto decorativo Decoration.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso di base di DecoratedSliver", - "desc": [ - "【sliver】 : Componente figlio 【Widget?】", - "【decoration】 : Oggetto decorativo 【Decoration】", - "【position】 : Posizione della decorazione 【DecorationPosition】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_ja_JP.json deleted file mode 100644 index 4bff3278a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 209, - "name": "DecoratedSliver", - "localName": "装飾スライバー", - "info": "このコンポーネントはスクロールビューで使用され、子スライバーコンポーネントをラップして、装飾効果を追加します。", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "DecoratedSliver の基本使用", - "desc": [ - "【sliver】 : 子コンポーネント 【Widget?】", - "【decoration】 : 装飾オブジェクト 【Decoration】", - "【position】 : 装飾位置 【DecorationPosition】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_ko_KR.json deleted file mode 100644 index 8ea23507a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 209, - "name": "DecoratedSliver", - "localName": "장식 슬라이더", - "info": "이 컴포넌트는 슬라이딩 뷰포트에 적용되며, 자식 Sliver 컴포넌트를 감싸서 Decoration 장식 효과를 추가할 수 있습니다.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "DecoratedSliver 기본 사용법", - "desc": [ - "【sliver】 : 자식 컴포넌트 【Widget?】", - "【decoration】 : 장식 객체 【Decoration】", - "【position】 : 장식 위치 【DecorationPosition】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_pt_PT.json deleted file mode 100644 index d55a26683..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 209, - "name": "DecoratedSliver", - "localName": "Slider Decorado", - "info": "Este componente é aplicado em portas de visualização deslizantes, pode envolver um componente Sliver filho, adicionando um efeito de decoração Decoration.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso Básico do DecoratedSliver", - "desc": [ - "【sliver】 : Componente filho 【Widget?】", - "【decoration】 : Objeto de decoração 【Decoration】", - "【position】 : Posição da decoração 【DecorationPosition】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_ru_RU.json deleted file mode 100644 index 633b7d756..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 209, - "name": "DecoratedSliver", - "localName": "Декорированный слайдер", - "info": "Этот компонент используется в прокручиваемых окнах и может обернуть дочерний компонент Sliver, добавляя эффекты декорации Decoration.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Основное использование DecoratedSliver", - "desc": [ - "【sliver】 : Дочерний компонент 【Widget?】", - "【decoration】 : Объект декорации 【Decoration】", - "【position】 : Позиция декорации 【DecorationPosition】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_zh-CN.json deleted file mode 100644 index ea9dfa29c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 209, - "name": "DecoratedSliver", - "localName": "装饰滑片", - "info": "该组件应用于滑动视口中,可以包裹一个子 Sliver 组件,为其添加 Decoration 装饰效果。", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "DecoratedSliver 基本使用", - "desc": [ - "【sliver】 : 孩子组件 【Widget?】", - "【decoration】 : 装饰对象 【Decoration】", - "【position】 : 装饰位置 【DecorationPosition】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/node1.dart b/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/node1.dart deleted file mode 100644 index 85379eae6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/DecoratedSliver/node1.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/8/18 -/// contact me by email 1981462002@qq.com - -class DecorationSliverDemo extends StatelessWidget { - const DecorationSliverDemo({super.key}); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [ - SliverPadding( - padding: const EdgeInsets.all(8), - sliver: DecoratedSliver( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(20), - boxShadow: const [ - BoxShadow( - color: Color(0xFF111133), - blurRadius: 2, - offset: Offset(-2, -1)) - ], - gradient: LinearGradient( - colors: const [ - Color(0xFFEEEEEE), - Color(0xFF111133), - ], - stops: const [0.1, 1.0], - ), - ), - sliver: SliverList( - delegate: SliverChildBuilderDelegate( - (_, index) => Padding( - padding: const EdgeInsets.all(8.0), - child: Center( - child: Text( - '张风捷特烈-$index', - style: TextStyle(fontSize: 24, color: Colors.white), - )), - ), - childCount: 128), - ), - ), - ), - ], - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_de_DE.json deleted file mode 100644 index 36a9e492c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 196, - "name": "FlexibleSpaceBar", - "localName": "Dehnbarer Raumleiste", - "info": "Wird normalerweise im dehnbaren Bereich von SliverAppBar verwendet und kann Titel, Titelabstand, Hintergrund, Faltmodus usw. angeben.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von FlexibleSpaceBar", - "desc": [ - "【title】 : Titelkomponente 【Widget】", - "【titlePadding】 : Titelabstand 【EdgeInsetsGeometry】", - "【collapseMode】 : Faltmodus 【CollapseMode】", - "【stretchModes】 : Dehnmodi 【List】", - "【background】 : Hintergrundkomponente 【Widget】", - "【centerTitle】 : Zentralisiert 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_en_US.json deleted file mode 100644 index fee8b71a2..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 196, - "name": "FlexibleSpaceBar", - "localName": "Stretch Space Bar", - "info": "Typically used in the stretchable area of SliverAppBar, it can specify the title, title spacing, background, collapse mode, etc.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of FlexibleSpaceBar", - "desc": [ - "【title】 : Title component 【Widget】", - "【titlePadding】 : Title spacing 【EdgeInsetsGeometry】", - "【collapseMode】 : Collapse mode 【CollapseMode】", - "【stretchModes】 : Stretch modes 【List】", - "【background】 : Background component 【Widget】", - "【centerTitle】 : Whether to center 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_es_ES.json deleted file mode 100644 index 04bd8a77a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 196, - "name": "FlexibleSpaceBar", - "localName": "Barra de espacio flexible", - "info": "Normalmente se utiliza en la región extensible de SliverAppBar, donde se pueden especificar el título, el espaciado del título, el fondo, el modo de plegado, etc.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de FlexibleSpaceBar", - "desc": [ - "【title】 : Componente de título 【Widget】", - "【titlePadding】 : Espaciado del título 【EdgeInsetsGeometry】", - "【collapseMode】 : Modo de plegado 【CollapseMode】", - "【stretchModes】 : Modos de extensión 【List】", - "【background】 : Componente de fondo 【Widget】", - "【centerTitle】 : Centrado o no 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_fr_FR.json deleted file mode 100644 index 7af61bbff..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 196, - "name": "FlexibleSpaceBar", - "localName": "Barre d'espace flexible", - "info": "Utilisé généralement dans la zone extensible de SliverAppBar, permet de spécifier le titre, l'espacement du titre, l'arrière-plan, le mode de repli, etc.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de FlexibleSpaceBar", - "desc": [ - "【title】 : Composant de titre 【Widget】", - "【titlePadding】 : Espacement du titre 【EdgeInsetsGeometry】", - "【collapseMode】 : Mode de repli 【CollapseMode】", - "【stretchModes】 : Modes d'extension 【List】", - "【background】 : Composant d'arrière-plan 【Widget】", - "【centerTitle】 : Centré ou non 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_it_IT.json deleted file mode 100644 index 0fbf71be0..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 196, - "name": "FlexibleSpaceBar", - "localName": "Barra spaziale flessibile", - "info": "Utilizzata solitamente nell'area estensibile di SliverAppBar, può specificare titolo, spaziatura del titolo, sfondo, modalità di collasso, ecc.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di FlexibleSpaceBar", - "desc": [ - "【title】 : Componente del titolo 【Widget】", - "【titlePadding】 : Spaziatura del titolo 【EdgeInsetsGeometry】", - "【collapseMode】 : Modalità di collasso 【CollapseMode】", - "【stretchModes】 : Modalità di estensione 【List】", - "【background】 : Componente di sfondo 【Widget】", - "【centerTitle】 : Centrato o meno 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_ja_JP.json deleted file mode 100644 index b0b59ec16..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 196, - "name": "FlexibleSpaceBar", - "localName": "伸縮スペースバー", - "info": "通常、SliverAppBar内の伸縮可能な領域に使用され、タイトル、タイトルの間隔、背景、折りたたみモードなどを指定できます。", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FlexibleSpaceBarの基本使用", - "desc": [ - "【title】 : タイトルコンポーネント 【Widget】", - "【titlePadding】 : タイトルの間隔 【EdgeInsetsGeometry】", - "【collapseMode】 : 折りたたみモード 【CollapseMode】", - "【stretchModes】 : 伸縮モード 【List】", - "【background】 : 背景コンポーネント 【Widget】", - "【centerTitle】 : 中央揃えかどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_ko_KR.json deleted file mode 100644 index 503086182..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 196, - "name": "FlexibleSpaceBar", - "localName": "확장 가능한 공간 바", - "info": "일반적으로 SliverAppBar에서 확장 가능한 영역으로 사용되며, 제목, 제목 간격, 배경, 접기 모드 등을 지정할 수 있습니다.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FlexibleSpaceBar 기본 사용법", - "desc": [ - "【title】 : 제목 컴포넌트 【Widget】", - "【titlePadding】 : 제목 간격 【EdgeInsetsGeometry】", - "【collapseMode】 : 접기 모드 【CollapseMode】", - "【stretchModes】 : 확장 모드 【List】", - "【background】 : 배경 컴포넌트 【Widget】", - "【centerTitle】 : 중앙 정렬 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_pt_PT.json deleted file mode 100644 index 16985132b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 196, - "name": "FlexibleSpaceBar", - "localName": "Barra de Espaço Flexível", - "info": "Normalmente usado na área expansível de um SliverAppBar, pode especificar o título, espaçamento do título, fundo, modo de recolhimento, etc.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do FlexibleSpaceBar", - "desc": [ - "【title】 : Componente do título 【Widget】", - "【titlePadding】 : Espaçamento do título 【EdgeInsetsGeometry】", - "【collapseMode】 : Modo de recolhimento 【CollapseMode】", - "【stretchModes】 : Modos de extensão 【List】", - "【background】 : Componente de fundo 【Widget】", - "【centerTitle】 : Centralizar 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_ru_RU.json deleted file mode 100644 index a0a1a9fef..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 196, - "name": "FlexibleSpaceBar", - "localName": "Растягивающееся пространство", - "info": "Обычно используется в растягиваемой области SliverAppBar, можно указать заголовок, отступы заголовка, фон, режим сворачивания и т.д.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование FlexibleSpaceBar", - "desc": [ - "【title】 : Заголовок 【Widget】", - "【titlePadding】 : Отступ заголовка 【EdgeInsetsGeometry】", - "【collapseMode】 : Режим сворачивания 【CollapseMode】", - "【stretchModes】 : Режимы растяжения 【List】", - "【background】 : Фон 【Widget】", - "【centerTitle】 : Центрировать заголовок 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_zh-CN.json deleted file mode 100644 index af842005c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 196, - "name": "FlexibleSpaceBar", - "localName": "伸展空间栏", - "info": "通常用于SliverAppBar中的可伸展区域,可指定标题、标题间距、背景、折叠模式等。", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FlexibleSpaceBar基本使用", - "desc": [ - "【title】 : 标题组件 【Widget】", - "【titlePadding】 : 标题间距 【EdgeInsetsGeometry】", - "【collapseMode】 : 折叠模式 【CollapseMode】", - "【stretchModes】 : 延伸模式 【List】", - "【background】 : 背景组件 【Widget】", - "【centerTitle】 : 是否居中 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/node1_base.dart deleted file mode 100644 index ba132525e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/FlexibleSpaceBar/node1_base.dart +++ /dev/null @@ -1,98 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - - -class FlexibleSpaceBarDemo extends StatelessWidget { - const FlexibleSpaceBarDemo({super.key}); - - List get data => [ - Colors.blue[50]!, - Colors.blue[100]!, - Colors.blue[200]!, - Colors.blue[300]!, - Colors.blue[400]!, - Colors.blue[500]!, - Colors.blue[600]!, - Colors.blue[700]!, - Colors.blue[800]!, - Colors.blue[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [_buildSliverAppBar(), _buildSliverFixedExtentList()], - ), - ); - } - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: _buildLeading(), - actions: _buildActions(), - pinned: true, - backgroundColor: Colors.blue, - flexibleSpace: FlexibleSpaceBar(//伸展处布局 - centerTitle: false, - title: const Text( - '张风捷特烈', - style: TextStyle(shadows: [ - Shadow(color: Colors.blue, offset: Offset(1, 1), blurRadius: 2) - ]), - ), - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), - //标题边距 - collapseMode: CollapseMode.parallax, - //视差效果 - stretchModes: const [StretchMode.blurBackground, StretchMode.zoomBackground], - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - Widget _buildSliverFixedExtentList() => SliverFixedExtentList( - itemExtent: 60, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_de_DE.json deleted file mode 100644 index a7a8130b2..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_de_DE.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 309, - "name": "PinnedHeaderSliver", - "localName": "Fixierter Header-Sliver", - "info": "Ein Sliver, der am oberen Rand des Viewports verbleiben kann und den Effekt des Festklebens einfach erreicht.", - "lever": 4, - "family": 4, - "linkIds": [ - 190 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "PinnedHeaderSliver offizielles Beispiel", - "display": "new_page", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget?】", - "PinnedHeaderSliver kann nur in Scroll-Viewports verwendet werden, wobei die untergeordnete Komponente beim Scrollen nach oben nicht aus dem Viewport verschwindet, sondern am oberen Rand des Viewports verbleibt." - ] - }, - { - "file": "node_02.dart", - "name": "Titel festkleben", - "display": "new_page", - "desc": [ - "Ein auf PinnedHeaderSliver basierender Effekt, bei dem der Titel festklebt. Beachten Sie, dass auch die Trennlinie unten den Effekt des Festklebens hat." - ] - }, - { - "file": "node_03.dart", - "name": "Titel+Suche festkleben", - "display": "new_page", - "desc": [ - "Ein auf PinnedHeaderSliver basierender Effekt, bei dem der Titel und das Suchfeld festkleben." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_en_US.json deleted file mode 100644 index cd8ac1f4a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_en_US.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 309, - "name": "PinnedHeaderSliver", - "localName": "Pinned Header Sliver", - "info": "A sliver that can stay at the top of the viewport, easily achieving a sticky header effect.", - "lever": 4, - "family": 4, - "linkIds": [ - 190 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "PinnedHeaderSliver Official Example", - "display": "new_page", - "desc": [ - "【child】 : Child widget 【Widget?】", - "PinnedHeaderSliver can only be used in a scroll viewport, where the child widget will not move out of the viewport when scrolling to the top, thus staying above the viewport." - ] - }, - { - "file": "node_02.dart", - "name": "Sticky Header", - "display": "new_page", - "desc": [ - "The sticky header effect implemented based on PinnedHeaderSliver, note that the divider below also has a sticky effect." - ] - }, - { - "file": "node_03.dart", - "name": "Sticky Header + Search", - "display": "new_page", - "desc": [ - "The sticky header + search box effect implemented based on PinnedHeaderSliver." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_es_ES.json deleted file mode 100644 index 520a0506a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_es_ES.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 309, - "name": "PinnedHeaderSliver", - "localName": "Cabecera Fija Deslizante", - "info": "Un panel deslizante que puede permanecer en la parte superior de la ventana gráfica, logrando fácilmente el efecto de fijación en la parte superior.", - "lever": 4, - "family": 4, - "linkIds": [ - 190 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Ejemplo oficial de PinnedHeaderSliver", - "display": "new_page", - "desc": [ - "【child】 : Componente hijo 【Widget?】", - "PinnedHeaderSliver solo se puede usar en ventanas gráficas desplazables, donde el componente hijo no sale de la ventana gráfica cuando se desliza hacia la parte superior, permaneciendo así en la parte superior de la ventana gráfica." - ] - }, - { - "file": "node_02.dart", - "name": "Título fijado en la parte superior", - "display": "new_page", - "desc": [ - "Efecto de título fijado en la parte superior basado en PinnedHeaderSliver, observe que la línea divisoria inferior también tiene el efecto de fijación en la parte superior." - ] - }, - { - "file": "node_03.dart", - "name": "Título + Búsqueda fijada en la parte superior", - "display": "new_page", - "desc": [ - "Efecto de título + cuadro de búsqueda fijado en la parte superior basado en PinnedHeaderSliver." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_fr_FR.json deleted file mode 100644 index 0e1a5c816..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_fr_FR.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 309, - "name": "PinnedHeaderSliver", - "localName": "Glissière d'en-tête fixe", - "info": "Une glissière qui peut rester en haut de la vue, permettant de réaliser facilement un effet de fixation en haut.", - "lever": 4, - "family": 4, - "linkIds": [ - 190 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Exemple officiel de PinnedHeaderSliver", - "display": "new_page", - "desc": [ - "【child】 : Composant enfant 【Widget?】", - "PinnedHeaderSliver ne peut être utilisé que dans une vue défilante, où le composant enfant ne sort pas de la vue lorsqu'il est glissé vers le haut, restant ainsi en haut de la vue." - ] - }, - { - "file": "node_02.dart", - "name": "Titre fixé en haut", - "display": "new_page", - "desc": [ - "Effet de titre fixé en haut basé sur PinnedHeaderSliver, notez que la ligne de séparation en dessous a également un effet de fixation en haut." - ] - }, - { - "file": "node_03.dart", - "name": "Titre + recherche fixés en haut", - "display": "new_page", - "desc": [ - "Effet de titre + boîte de recherche fixés en haut basé sur PinnedHeaderSliver." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_it_IT.json deleted file mode 100644 index 29a97b670..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_it_IT.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 309, - "name": "PinnedHeaderSliver", - "localName": "Sliver con intestazione fissa", - "info": "Uno sliver che può rimanere nella parte superiore della viewport, per ottenere facilmente l'effetto di adesione in cima.", - "lever": 4, - "family": 4, - "linkIds": [ - 190 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Esempio ufficiale di PinnedHeaderSliver", - "display": "new_page", - "desc": [ - "【child】 : Componente figlio 【Widget?】", - "PinnedHeaderSliver può essere utilizzato solo in una viewport scorrevole, dove il componente figlio, quando scorre verso l'alto, non esce dalla viewport, rimanendo così nella parte superiore della viewport." - ] - }, - { - "file": "node_02.dart", - "name": "Intestazione adesiva", - "display": "new_page", - "desc": [ - "Effetto di intestazione adesiva realizzato con PinnedHeaderSliver, nota che anche la linea di separazione sotto ha un effetto adesivo." - ] - }, - { - "file": "node_03.dart", - "name": "Intestazione + ricerca adesiva", - "display": "new_page", - "desc": [ - "Effetto di intestazione e casella di ricerca adesiva realizzato con PinnedHeaderSliver." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_ja_JP.json deleted file mode 100644 index dd19b43d7..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_ja_JP.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 309, - "name": "PinnedHeaderSliver", - "localName": "固定ヘッダースライバー", - "info": "ビューポート上部に留まるスライバーで、簡単に吸着効果を実現できます。", - "lever": 4, - "family": 4, - "linkIds": [ - 190 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "PinnedHeaderSliver 公式サンプル", - "display": "new_page", - "desc": [ - "【child】 : 子コンポーネント 【Widget?】", - "PinnedHeaderSliver はスクロールビューポートでのみ使用でき、子コンポーネントはトップにスクロールしてもビューポートから出ず、ビューポート上部に留まります。" - ] - }, - { - "file": "node_02.dart", - "name": "タイトル吸着", - "display": "new_page", - "desc": [ - "PinnedHeaderSliver に基づいて実装されたタイトル吸着効果です。下の分割線にも吸着効果があることに注意してください。" - ] - }, - { - "file": "node_03.dart", - "name": "タイトル+検索吸着", - "display": "new_page", - "desc": [ - "PinnedHeaderSliver に基づいて実装されたタイトル+検索ボックスの吸着効果です。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_ko_KR.json deleted file mode 100644 index 2b05b0221..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_ko_KR.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 309, - "name": "PinnedHeaderSliver", - "localName": "고정 헤더 슬라이버", - "info": "뷰포트 상단에 고정될 수 있는 슬라이버로, 쉽게 상단 고정 효과를 구현할 수 있습니다.", - "lever": 4, - "family": 4, - "linkIds": [ - 190 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "PinnedHeaderSliver 공식 예제", - "display": "new_page", - "desc": [ - "【child】 : 자식 위젯 【Widget?】", - "PinnedHeaderSliver는 스크롤 뷰포트에서만 사용할 수 있으며, 자식 위젯이 상단으로 스크롤될 때 뷰포트에서 벗어나지 않고 상단에 고정됩니다." - ] - }, - { - "file": "node_02.dart", - "name": "제목 상단 고정", - "display": "new_page", - "desc": [ - "PinnedHeaderSliver를 기반으로 구현한 제목 상단 고정 효과, 아래 구분선도 상단 고정 효과가 적용된 것을 확인할 수 있습니다." - ] - }, - { - "file": "node_03.dart", - "name": "제목+검색 상단 고정", - "display": "new_page", - "desc": [ - "PinnedHeaderSliver를 기반으로 구현한 제목과 검색창의 상단 고정 효과." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_pt_PT.json deleted file mode 100644 index 126b966fc..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_pt_PT.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 309, - "name": "PinnedHeaderSliver", - "localName": "Cabeçalho Fixo Deslizante", - "info": "Um painel deslizante que pode permanecer na parte superior da viewport, facilitando o efeito de fixação no topo.", - "lever": 4, - "family": 4, - "linkIds": [ - 190 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Exemplo Oficial do PinnedHeaderSliver", - "display": "new_page", - "desc": [ - "【child】 : Componente filho 【Widget?】", - "O PinnedHeaderSliver só pode ser usado em viewports de rolagem, onde o componente filho não sai da viewport ao rolar para o topo, permanecendo assim na parte superior da viewport." - ] - }, - { - "file": "node_02.dart", - "name": "Título Fixo no Topo", - "display": "new_page", - "desc": [ - "Efeito de título fixo no topo baseado no PinnedHeaderSliver, observe que a linha divisória abaixo também tem o efeito de fixação no topo." - ] - }, - { - "file": "node_03.dart", - "name": "Título + Barra de Pesquisa Fixa no Topo", - "display": "new_page", - "desc": [ - "Efeito de título + barra de pesquisa fixa no topo baseado no PinnedHeaderSliver." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_ru_RU.json deleted file mode 100644 index 00291bfaa..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_ru_RU.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 309, - "name": "PinnedHeaderSliver", - "localName": "Фиксированный верхний слайдер", - "info": "Слайдер, который может оставаться в верхней части окна просмотра, легко достигая эффекта прилипания к верху.", - "lever": 4, - "family": 4, - "linkIds": [ - 190 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "Официальный пример PinnedHeaderSliver", - "display": "new_page", - "desc": [ - "【child】 : Дочерний компонент 【Widget?】", - "PinnedHeaderSliver может использоваться только в прокручиваемом окне просмотра, где дочерний компонент при прокрутке до верха не выходит из окна просмотра, а остается в его верхней части." - ] - }, - { - "file": "node_02.dart", - "name": "Прилипание заголовка к верху", - "display": "new_page", - "desc": [ - "Эффект прилипания заголовка к верху, реализованный на основе PinnedHeaderSliver. Обратите внимание, что разделительная линия внизу также имеет эффект прилипания к верху." - ] - }, - { - "file": "node_03.dart", - "name": "Прилипание заголовка и поиска к верху", - "display": "new_page", - "desc": [ - "Эффект прилипания заголовка и поля поиска к верху, реализованный на основе PinnedHeaderSliver." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_zh-CN.json deleted file mode 100644 index 86f2cae4e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/desc_zh-CN.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 309, - "name": "PinnedHeaderSliver", - "localName": "固定头部滑片", - "info": "一个可以停留在视口上部的滑片, 可轻松完成吸顶效果。", - "lever": 4, - "family": 4, - "linkIds": [ - 190 - ], - "nodes": [ - { - "file": "node_01.dart", - "name": "PinnedHeaderSliver 官方案例", - "display": "new_page", - "desc": [ - "【child】 : 子组件 【Widget?】", - "PinnedHeaderSliver 只能用在滚动视口中,其中子组件在滑动到顶部时,不会移出视口,从而会停留在视口上方。" - ] - }, - { - "file": "node_02.dart", - "name": "标题吸顶", - "display": "new_page", - "desc": [ - "基于 PinnedHeaderSliver 实现的标题吸顶效果,注意看下方的分隔线也有吸顶效果哦。" - ] - }, - { - "file": "node_03.dart", - "name": "标题+搜索吸顶", - "display": "new_page", - "desc": [ - "基于 PinnedHeaderSliver 实现的标题+搜索框的吸顶效果。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/node_01.dart b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/node_01.dart deleted file mode 100644 index ec0180625..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/node_01.dart +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; - - - -class PinnedHeaderSliverNode1 extends StatefulWidget { - const PinnedHeaderSliverNode1({ super.key }); - - @override - State createState() => _PinnedHeaderSliverNode1State(); -} - -class _PinnedHeaderSliverNode1State extends State { - int count = 0; - late final ScrollController scrollController; - - @override - void initState() { - super.initState(); - scrollController = ScrollController(); - } - - @override - void dispose() { - scrollController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final ThemeData theme = Theme.of(context); - final ColorScheme colorScheme = theme.colorScheme; - - final Widget header = Container( - color: colorScheme.surface, - padding: const EdgeInsets.all(4), - child: Material( - color: colorScheme.primaryContainer, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8), - side: BorderSide( - width: 7, - color: colorScheme.outline, - ), - ), - child: Container( - alignment: Alignment.center, - padding: const EdgeInsets.symmetric(vertical: 48), - child: Text( - count.isOdd ? 'Alternative Title\nWith Two Lines' : 'PinnedHeaderSliver', - style: theme.textTheme.headlineMedium!.copyWith( - color: colorScheme.onPrimaryContainer, - ), - ), - ), - ), - ); - - return Scaffold( - body: SafeArea( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 4), - child: - CustomScrollView( - controller: scrollController, - slivers: [ - PinnedHeaderSliver(child: header), - const _ItemList(), - ], - ), - ), - ), - floatingActionButton: FloatingActionButton( - onPressed: () { - setState(() { - count += 1; - }); - }, - child: const Icon(Icons.add), - ), - ); - } -} - -// A placeholder SliverList of 25 items. -class _ItemList extends StatelessWidget { - const _ItemList({ - super.key, - this.itemCount = 50, - }); - - final int itemCount; - - @override - Widget build(BuildContext context) { - final ColorScheme colorScheme = Theme.of(context).colorScheme; - return SliverList( - delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { - return Card( - color: colorScheme.onSecondary, - child: ListTile( - textColor: colorScheme.secondary, - title: Text('Item $index'), - ), - ); - }, - childCount: itemCount, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/node_02.dart b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/node_02.dart deleted file mode 100644 index a3c26c8a3..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/node_02.dart +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:ui'; - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -class PinnedHeaderSliverNode2 extends StatefulWidget { - const PinnedHeaderSliverNode2({super.key}); - - @override - State createState() => _PinnedHeaderSliverNode2State(); -} - -class _PinnedHeaderSliverNode2State extends State { - int count = 0; - late final ScrollController scrollController; - - @override - void initState() { - super.initState(); - scrollController = ScrollController(); - } - - @override - void dispose() { - scrollController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final ThemeData theme = Theme.of(context); - final ColorScheme colorScheme = theme.colorScheme; - return Scaffold( - backgroundColor: Colors.white, - body: - CustomScrollView( - controller: scrollController, - slivers: [ - _buildSliverBar(), - _buildTitleText(), - const PinnedHeaderSliver(child: Divider()), - const _ItemList(), - ], - ), - ); - } - - Widget _buildSliverBar() { - const Icon icon = Icon(CupertinoIcons.settings, color: Colors.blue); - const TextStyle style = TextStyle(fontSize: 16, fontWeight: FontWeight.bold); - const Text text = Text('Settings', style: style); - Widget action = IconButton(onPressed: () {}, icon: icon ); - return SliverLayoutBuilder(builder: (_, scs) { - double factor = (scs.scrollOffset / kToolbarHeight).clamp(0, 1); - factor = factor < 0.2 ? 0 : factor; - AppBar header = AppBar( - backgroundColor: Colors.white, - surfaceTintColor: Colors.transparent, - actions: [action], - centerTitle: true, - title: Opacity(opacity: factor, child: text), - ); - return PinnedHeaderSliver(child: header); - }); - } - - Widget _buildTitleText() { - const TextStyle style = TextStyle(fontSize: 20, fontWeight: FontWeight.bold); - const Text text = Text('Settings', style: style); - return const SliverToBoxAdapter( - child: Padding( - padding: EdgeInsets.only(left: 12.0, bottom: 8), - child: text, - ), - ); - } -} - -class _ItemList extends StatelessWidget { - const _ItemList({ - super.key, - this.itemCount = 50, - }); - - final int itemCount; - - @override - Widget build(BuildContext context) { - final ColorScheme colorScheme = Theme.of(context).colorScheme; - return SliverList( - delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { - return ListTile( - dense: true, - textColor: colorScheme.secondary, - title: Text('#$index title'), - subtitle: Text('Subtitle in line $index'), - ); - }, - childCount: itemCount, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/node_03.dart b/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/node_03.dart deleted file mode 100644 index 6028b1f22..000000000 --- a/modules/widget_system/widgets/lib/Sliver/PinnedHeaderSliver/node_03.dart +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:ui'; - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -class PinnedHeaderSliverNode3 extends StatefulWidget { - const PinnedHeaderSliverNode3({super.key}); - - @override - State createState() => _PinnedHeaderSliverNode3State(); -} - -class _PinnedHeaderSliverNode3State extends State { - int count = 0; - late final ScrollController scrollController; - - @override - void initState() { - super.initState(); - scrollController = ScrollController(); - } - - @override - void dispose() { - scrollController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final ThemeData theme = Theme.of(context); - final ColorScheme colorScheme = theme.colorScheme; - - return Scaffold( - backgroundColor: Colors.white, - body: CustomScrollView( - controller: scrollController, - slivers: [ - _buildSliverBar(), - _buildTitleText(), - _buildSliverSearch(), - -// PinnedHeaderSliver(child: Padding( -// padding: const EdgeInsets.symmetric(horizontal: 12.0), -// child: TextField( -// decoration: InputDecoration( -// filled: true, -// fillColor: Colors.white, -// border: InputBorder.none -// ), -// ), -// )), - - const _ItemList(), - ], - ), - ); - } - - Widget _buildSliverBar() { - const Icon icon = Icon(CupertinoIcons.settings, color: Colors.blue); - const TextStyle style = TextStyle(fontSize: 16, fontWeight: FontWeight.bold); - const Text text = Text('Settings', style: style); - Widget action = IconButton(onPressed: () {}, icon: icon); - return SliverLayoutBuilder(builder: (_, scs) { - double factor = (scs.scrollOffset / kToolbarHeight).clamp(0, 1); - factor = factor < 0.2 ? 0 : factor; - AppBar header = AppBar( - backgroundColor: Colors.white, - surfaceTintColor: Colors.transparent, - actions: [action], - centerTitle: true, - title: Opacity(opacity: factor, child: text), - ); - return PinnedHeaderSliver(child: header); - }); - } - - Widget _buildTitleText() { - const TextStyle style = TextStyle(fontSize: 20, fontWeight: FontWeight.bold); - const Text text = Text('Settings', style: style); - return const SliverToBoxAdapter( - child: Padding( - padding: EdgeInsets.only(left: 12.0, bottom: 8), - child: text, - ), - ); - } - - Widget _buildSliverSearch() { - BoxDecoration decoration = BoxDecoration( - color: const Color(0xffefeff1), borderRadius: BorderRadius.circular(6)); - Widget prefix = const Padding( - padding: EdgeInsets.only(left: 8.0), - child: Icon(CupertinoIcons.search, size: 20, color: Color(0xff808082)) - ); - return PinnedHeaderSliver( - child: ColoredBox( - color: Colors.white, - child: Column( - children: [ - Padding( - padding: const EdgeInsets.only(bottom: 8.0, right: 12, left: 12), - child: CupertinoTextField( - readOnly: true, - placeholder: '搜索', - onTap: _toSearchPage, - decoration: decoration, - prefix:prefix, - style: const TextStyle(fontSize: 14), - placeholderStyle: const TextStyle(color: Color(0xff808082)), - padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 8), - ), - ), - const Divider(), - ], - ), - )); - } - - void _toSearchPage() { - Navigator.of(context).push( - MaterialPageRoute(builder: (_) => Scaffold(appBar: AppBar(title: const Text('SearchPage')))), - ); - } -} - -// A placeholder SliverList of 25 items. -class _ItemList extends StatelessWidget { - const _ItemList({ - super.key, - this.itemCount = 50, - }); - - final int itemCount; - - @override - Widget build(BuildContext context) { - final ColorScheme colorScheme = Theme - .of(context) - .colorScheme; - return SliverList( - delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { - return ListTile( - dense: true, - textColor: colorScheme.secondary, - title: Text('#$index title'), - subtitle: Text('Subtitle in line $index'), - ); - }, - childCount: itemCount, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_de_DE.json deleted file mode 100644 index 3b1fdbf43..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 301, - "name": "SliverAnimatedList", - "localName": "Sliver animierte Liste", - "info": "Eine Sliver-Komponente, die beim Einfügen oder Entfernen von Elementen Animationseffekte erzeugt.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverAnimatedList", - "desc": [ - "【itemBuilder】 : Item-Konstruktor 【AnimatedListItemBuilder】", - "【initialItemCount】 : Anfangszahl der Items 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_en_US.json deleted file mode 100644 index aebb2f927..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 301, - "name": "SliverAnimatedList", - "localName": "Sliver Animated List", - "info": "A sliver component that animates items when they are inserted or removed.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverAnimatedList", - "desc": [ - "【itemBuilder】: Item builder 【AnimatedListItemBuilder】", - "【initialItemCount】: Initial item count 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_es_ES.json deleted file mode 100644 index d25e85a8a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 301, - "name": "SliverAnimatedList", - "localName": "Lista animada Sliver", - "info": "Componente sliver que anima los elementos al insertar o eliminar.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverAnimatedList", - "desc": [ - "【itemBuilder】: Constructor de elementos 【AnimatedListItemBuilder】", - "【initialItemCount】: Número inicial de elementos 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_fr_FR.json deleted file mode 100644 index 5286a69e5..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 301, - "name": "SliverAnimatedList", - "localName": "Liste animée Sliver", - "info": "Un composant sliver qui anime les éléments lors de leur insertion ou suppression.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverAnimatedList", - "desc": [ - "【itemBuilder】 : constructeur d'item 【AnimatedListItemBuilder】", - "【initialItemCount】 : nombre initial d'items 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_it_IT.json deleted file mode 100644 index 10b79a1dc..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 301, - "name": "SliverAnimatedList", - "localName": "Lista animata Sliver", - "info": "Componente sliver che aggiunge effetti animati quando si inseriscono o rimuovono elementi.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverAnimatedList", - "desc": [ - "【itemBuilder】: costruttore di item 【AnimatedListItemBuilder】", - "【initialItemCount】: numero iniziale di item 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_ja_JP.json deleted file mode 100644 index c161c7a02..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 301, - "name": "SliverAnimatedList", - "localName": "Sliverアニメーションリスト", - "info": "アイテムを挿入または削除する際にアニメーション効果を持つsliverコンポーネント。", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverAnimatedList基本使用", - "desc": [ - "【itemBuilder】 : アイテムビルダー 【AnimatedListItemBuilder】", - "【initialItemCount】 : 初期アイテム数 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_ko_KR.json deleted file mode 100644 index 623980fdf..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 301, - "name": "SliverAnimatedList", - "localName": "Sliver 애니메이션 리스트", - "info": "항목을 삽입하거나 삭제할 때 애니메이션 효과를 주는 sliver 컴포넌트입니다.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverAnimatedList 기본 사용", - "desc": [ - "【itemBuilder】 : 아이템 생성기 【AnimatedListItemBuilder】", - "【initialItemCount】 : 초기 아이템 개수 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_pt_PT.json deleted file mode 100644 index f05bec086..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 301, - "name": "SliverAnimatedList", - "localName": "Lista Animada Sliver", - "info": "Componente sliver que anima itens ao inserir ou remover.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SliverAnimatedList", - "desc": [ - "【itemBuilder】: construtor de itens 【AnimatedListItemBuilder】", - "【initialItemCount】: número inicial de itens 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_ru_RU.json deleted file mode 100644 index f18977292..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 301, - "name": "SliverAnimatedList", - "localName": "Анимированный список Sliver", - "info": "Компонент Sliver, который анимирует элементы при их вставке или удалении.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverAnimatedList", - "desc": [ - "【itemBuilder】: конструктор элемента 【AnimatedListItemBuilder】", - "【initialItemCount】: начальное количество элементов 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_zh-CN.json deleted file mode 100644 index 3e96db1ff..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 301, - "name": "SliverAnimatedList", - "localName": "Sliver动画列表", - "info": "在插入或删除项目时使其有动画效果的sliver组件。", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverAnimatedList基本使用", - "desc": [ - "【itemBuilder】 : item构造器 【AnimatedListItemBuilder】", - "【initialItemCount】 : 初始item个数 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/node1_base.dart deleted file mode 100644 index 033918cb3..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAnimatedList/node1_base.dart +++ /dev/null @@ -1,192 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class SliverAnimatedListDemo extends StatefulWidget { - const SliverAnimatedListDemo({Key? key}) : super(key: key); - - @override - _SliverAnimatedListDemoState createState() => - _SliverAnimatedListDemoState(); -} - -class _SliverAnimatedListDemoState extends State { - - final GlobalKey _listKey = GlobalKey(); - late ListModel _list; - int? _selectedItem; - int _nextItem=0; - - @override - void initState() { - super.initState(); - _list = ListModel( - listKey: _listKey, - initialItems: [0, 1, 2], - removedItemBuilder: _buildRemovedItem, - ); - _nextItem = 3; - } - - Widget _buildItem(BuildContext context, int index, Animation animation) { - return CardItem( - animation: animation, - item: _list[index], - selected: _selectedItem == _list[index], - onTap: () { - setState(() { - _selectedItem = _selectedItem == _list[index] ? null : _list[index]; - }); - }, - ); - } - - Widget _buildRemovedItem(int item, BuildContext context, Animation animation) { - return CardItem( - animation: animation, - item: item, - selected: false, - ); - } - - void _insert() { - final int index = _selectedItem == null ? _list.length : _list.indexOf(_selectedItem!); - _list.insert(index, _nextItem++); - } - - void _remove() { - if (_selectedItem != null) { - _list.removeAt(_list.indexOf(_selectedItem!)); - setState(() { - _selectedItem = null; - }); - } else { - if(_list.length>0){ - _list.removeAt(0); - setState(() { - _selectedItem = null; - }); - } - } - } - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [ - SliverAppBar( - title: const Text( - 'SliverAnimatedList', - style: TextStyle(fontSize: 20), - ), - expandedHeight: 60, - centerTitle: true, - leading: IconButton( - icon: const Icon(Icons.add_circle), - onPressed: _insert, - tooltip: '插入一个item', - iconSize: 32, - ), - actions: [ - IconButton( - icon: const Icon(Icons.remove_circle), - onPressed: _remove, - tooltip: '删除选中的item', - iconSize: 32, - ), - ], - ), - SliverAnimatedList( - key: _listKey, - initialItemCount: _list.length, - itemBuilder: _buildItem, - ), - ], - ), - ); - } - - -} - -class ListModel { - ListModel({ - required this.listKey, - required this.removedItemBuilder, - required Iterable? initialItems, - }) : assert(removedItemBuilder != null), - _items = List.from(initialItems ?? []); - final GlobalKey listKey; - final dynamic removedItemBuilder; - final List _items; - SliverAnimatedListState? get _animatedList => listKey.currentState; - void insert(int index, E item) { - _items.insert(index, item); - _animatedList?.insertItem(index); - } - E removeAt(int index) { - final E removedItem = _items.removeAt(index); - if (removedItem != null) { - _animatedList?.removeItem( - index, - (BuildContext context, Animation animation) => removedItemBuilder(removedItem, context, animation), - ); - } - return removedItem; - } - int get length => _items.length; - E operator [](int index) => _items[index]; - int indexOf(E item) => _items.indexOf(item); -} - - -class CardItem extends StatelessWidget { - const CardItem({ - Key? key, - required this.animation, - required this.item, - this.onTap, - this.selected = false, - }) :super(key: key); - final Animation animation; - final VoidCallback? onTap; - final int item; - final bool selected; - @override - Widget build(BuildContext context) { - return Padding( - padding: - const EdgeInsets.only( - left: 2.0, - right: 2.0, - top: 2.0, - bottom: 0.0, - ), - child: SizeTransition( - axis: Axis.vertical, - sizeFactor: animation, - child: GestureDetector( - onTap: onTap, - child: SizedBox( - height: 60.0, - child: Card( - color: selected - ? Colors.black12 - : Colors.primaries[item % Colors.primaries.length], - child: Center( - child: Text( - 'Item $item', - style: const TextStyle(color: Colors.white,fontSize: 16), - ), - ), - ), - ), - ), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_de_DE.json deleted file mode 100644 index ed587190f..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_de_DE.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 184, - "name": "SliverAppBar", - "localName": "Sliver-Kopfleiste", - "info": "Die allgemeine Struktur der oberen Leiste der Sliver-Familie, die linke, mittlere und rechte Komponenten, Schrumpfraum, Schattentiefe, Festmodus, Hintergrundfarbe usw. angeben kann.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 196 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverAppBar", - "desc": [ - "【leading】 : Linke Komponente 【Widget】", - "【title】 : Mittlere Komponente 【Widget】", - "【actions】 : Liste der rechten Komponenten 【List】", - "【floating】 : Ob schwebend 【bool】", - "【pinned】 : Ob oben verbleibend 【bool】", - "【snap】 : Ob halb zusammengeklappt 【bool】", - "【bottom】 : Untere Komponente 【PreferredSizeWidget】", - "【expandedHeight】 : Erweiterungshöhe 【double】", - "【elevation】 : Schattentiefe 【double】", - "【flexibleSpace】 : Erweiterungsraum 【FlexibleSpaceBar】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【controller】 : Controller 【ScrollController】", - " Wenn snap true ist, muss floating true sein" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_en_US.json deleted file mode 100644 index d149c4ecd..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_en_US.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 184, - "name": "SliverAppBar", - "localName": "Sliver Header Bar", - "info": "A common structure for the top bar of the Sliver family, which can specify left, center, and right components, collapse space, shadow depth, fixed mode, background color, and other properties.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 196 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverAppBar", - "desc": [ - "【leading】: Left component 【Widget】", - "【title】: Center component 【Widget】", - "【actions】: List of trailing components 【List】", - "【floating】: Whether to float 【bool】", - "【pinned】: Whether to stay at the top 【bool】", - "【snap】: Whether to semi-collapse 【bool】", - "【bottom】: Bottom component 【PreferredSizeWidget】", - "【expandedHeight】: Expanded height 【double】", - "【elevation】: Shadow depth 【double】", - "【flexibleSpace】: Expanded space 【FlexibleSpaceBar】", - "【backgroundColor】: Background color 【Color】", - "【controller】: Controller 【ScrollController】", - " When snap is true, floating must be true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_es_ES.json deleted file mode 100644 index 561d9e08b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_es_ES.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 184, - "name": "SliverAppBar", - "localName": "Barra superior Sliver", - "info": "Estructura común de la barra superior de la familia Sliver, que puede especificar componentes izquierdos, centrales y derechos, espacio de contracción, profundidad de sombra, modo fijo, color de fondo, etc.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 196 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverAppBar", - "desc": [ - "【leading】 : Componente izquierdo 【Widget】", - "【title】 : Componente central 【Widget】", - "【actions】 : Lista de componentes finales 【List】", - "【floating】 : Si flota 【bool】", - "【pinned】 : Si se queda en la parte superior 【bool】", - "【snap】 : Si se contrae parcialmente 【bool】", - "【bottom】 : Componente inferior 【PreferredSizeWidget】", - "【expandedHeight】 : Altura extendida 【double】", - "【elevation】 : Profundidad de sombra 【double】", - "【flexibleSpace】 : Espacio extendido 【FlexibleSpaceBar】", - "【backgroundColor】 : Color de fondo 【Color】", - "【controller】 : Controlador 【ScrollController】", - " snap debe ser true cuando floating es true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_fr_FR.json deleted file mode 100644 index 875a641f1..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_fr_FR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 184, - "name": "SliverAppBar", - "localName": "Barre d'en-tête Sliver", - "info": "Structure générique de la barre supérieure de la famille Sliver, qui peut spécifier des composants gauche, centre et droit, un espace de rétrécissement, une profondeur d'ombre, un mode fixe, une couleur d'arrière-plan, etc.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 196 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverAppBar", - "desc": [ - "【leading】 : Composant gauche 【Widget】", - "【title】 : Composant central 【Widget】", - "【actions】 : Liste des composants de fin 【List】", - "【floating】 : Flottant ou non 【bool】", - "【pinned】 : Reste en haut ou non 【bool】", - "【snap】 : Semi-déployé ou non 【bool】", - "【bottom】 : Composant inférieur 【PreferredSizeWidget】", - "【expandedHeight】 : Hauteur étendue 【double】", - "【elevation】 : Profondeur d'ombre 【double】", - "【flexibleSpace】 : Espace étendu 【FlexibleSpaceBar】", - "【backgroundColor】 : Couleur d'arrière-plan 【Color】", - "【controller】 : Contrôleur 【ScrollController】", - " snap doit être true lorsque floating est true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_it_IT.json deleted file mode 100644 index 3e967d78a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_it_IT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 184, - "name": "SliverAppBar", - "localName": "Barra superiore Sliver", - "info": "Struttura generica della barra superiore della famiglia Sliver, che consente di specificare componenti sinistra, centro e destra, spazio di contrazione, profondità dell'ombra, modalità fissa, colore di sfondo e altre proprietà.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 196 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverAppBar", - "desc": [ - "【leading】 : Componente sinistro 【Widget】", - "【title】 : Componente centrale 【Widget】", - "【actions】 : Lista dei componenti finali 【List】", - "【floating】 : Se fluttuante 【bool】", - "【pinned】 : Se rimane in cima 【bool】", - "【snap】 : Se semi-collassato 【bool】", - "【bottom】 : Componente inferiore 【PreferredSizeWidget】", - "【expandedHeight】 : Altezza estesa 【double】", - "【elevation】 : Profondità dell'ombra 【double】", - "【flexibleSpace】 : Spazio esteso 【FlexibleSpaceBar】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【controller】 : Controller 【ScrollController】", - " Quando snap è true, floating deve essere true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_ja_JP.json deleted file mode 100644 index 1ccc855ef..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_ja_JP.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 184, - "name": "SliverAppBar", - "localName": "Sliverヘッダーバー", - "info": "Sliverファミリーのトップバー共通構造。左中右のコンポーネント、収縮スペース、影の深さ、固定モード、背景色などの属性を指定できます。", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 196 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverAppBar基本使用", - "desc": [ - "【leading】 : 左側コンポーネント 【Widget】", - "【title】 : 中央コンポーネント 【Widget】", - "【actions】 : 末尾コンポーネントリスト 【List】", - "【floating】 : フローティングするか 【bool】", - "【pinned】 : トップに留まるか 【bool】", - "【snap】 : 半収展するか 【bool】", - "【bottom】 : 底部コンポーネント 【PreferredSizeWidget】", - "【expandedHeight】 : 拡張高さ 【double】", - "【elevation】 : 影の深さ 【double】", - "【flexibleSpace】 : 拡張スペース 【FlexibleSpaceBar】", - "【backgroundColor】 : 背景色 【Color】", - "【controller】 : コントローラー 【ScrollController】", - " snapがtrueの場合、floatingはtrueである必要があります" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_ko_KR.json deleted file mode 100644 index 89628f4e8..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_ko_KR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 184, - "name": "SliverAppBar", - "localName": "Sliver 헤더 바", - "info": "Sliver 패밀리의 상단 바 공통 구조로, 좌중우 컴포넌트, 축소 공간, 그림자 깊이, 고정 모드, 배경색 등 속성을 지정할 수 있습니다.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 196 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverAppBar 기본 사용", - "desc": [ - "【leading】 : 왼쪽 컴포넌트 【Widget】", - "【title】 : 중앙 컴포넌트 【Widget】", - "【actions】 : 오른쪽 컴포넌트 리스트 【List】", - "【floating】 : 플로팅 여부 【bool】", - "【pinned】 : 상단 고정 여부 【bool】", - "【snap】 : 반 접힘 여부 【bool】", - "【bottom】 : 하단 컴포넌트 【PreferredSizeWidget】", - "【expandedHeight】 : 확장 높이 【double】", - "【elevation】 : 그림자 깊이 【double】", - "【flexibleSpace】 : 확장 공간 【FlexibleSpaceBar】", - "【backgroundColor】 : 배경색 【Color】", - "【controller】 : 컨트롤러 【ScrollController】", - " snap이 true일 경우 floating은 반드시 true여야 함" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_pt_PT.json deleted file mode 100644 index 7c2ce2225..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_pt_PT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 184, - "name": "SliverAppBar", - "localName": "Barra de Cabeçalho Sliver", - "info": "Estrutura comum da barra superior da família Sliver, pode especificar componentes esquerdo, central e direito, espaço de recolhimento, profundidade de sombra, modo fixo, cor de fundo, etc.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 196 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SliverAppBar", - "desc": [ - "【leading】 : Componente esquerdo 【Widget】", - "【title】 : Componente central 【Widget】", - "【actions】 : Lista de componentes da cauda 【List】", - "【floating】 : Se flutua 【bool】", - "【pinned】 : Se fica no topo 【bool】", - "【snap】 : Se recolhe parcialmente 【bool】", - "【bottom】 : Componente inferior 【PreferredSizeWidget】", - "【expandedHeight】 : Altura estendida 【double】", - "【elevation】 : Profundidade da sombra 【double】", - "【flexibleSpace】 : Espaço flexível 【FlexibleSpaceBar】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【controller】 : Controlador 【ScrollController】", - " Quando snap é true, floating deve ser true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_ru_RU.json deleted file mode 100644 index 9cf0712a9..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_ru_RU.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 184, - "name": "SliverAppBar", - "localName": "Sliver заголовок", - "info": "Общая структура верхней панели семейства Sliver, которая может указывать левый, центральный и правый компоненты, пространство сжатия, глубину тени, фиксированный режим, цвет фона и другие атрибуты.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 196 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverAppBar", - "desc": [ - "【leading】 : Левый компонент 【Widget】", - "【title】 : Центральный компонент 【Widget】", - "【actions】 : Список конечных компонентов 【List】", - "【floating】 : Плавающий ли 【bool】", - "【pinned】 : Остается ли наверху 【bool】", - "【snap】 : Полузакрытый ли 【bool】", - "【bottom】 : Нижний компонент 【PreferredSizeWidget】", - "【expandedHeight】 : Высота расширения 【double】", - "【elevation】 : Глубина тени 【double】", - "【flexibleSpace】 : Пространство расширения 【FlexibleSpaceBar】", - "【backgroundColor】 : Цвет фона 【Color】", - "【controller】 : Контроллер 【ScrollController】", - " snap true, необходимо floating true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_zh-CN.json deleted file mode 100644 index 04ea3ea57..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/desc_zh-CN.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 184, - "name": "SliverAppBar", - "localName": "Sliver头部栏", - "info": "Sliver家族的顶部栏通用结构,可以指定左中右组件、收缩空间、影深、固定模式、背景色等属性。", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 196 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverAppBar基本使用", - "desc": [ - "【leading】 : 左侧组件 【Widget】", - "【title】 : 中间组件 【Widget】", - "【actions】 : 尾部组件列表 【List】", - "【floating】 : 是否浮动 【bool】", - "【pinned】 : 是否顶部停留 【bool】", - "【snap】 : 是否半收展 【bool】", - "【bottom】 : 底部组件 【PreferredSizeWidget】", - "【expandedHeight】 : 延展高度 【double】", - "【elevation】 : 影深 【double】", - "【flexibleSpace】 : 延展空间 【FlexibleSpaceBar】", - "【backgroundColor】 : 背景色 【Color】", - "【controller】 : 控制器 【ScrollController】", - " snap为true时必需floating为true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverAppBar/node1_base.dart deleted file mode 100644 index 12cff8d39..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverAppBar/node1_base.dart +++ /dev/null @@ -1,155 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class SliverAppBarDemo extends StatefulWidget { - const SliverAppBarDemo({Key? key}) : super(key: key); - - @override - _SliverAppBarDemoState createState() => _SliverAppBarDemoState(); -} - -class _SliverAppBarDemoState extends State { - bool _floating = false; - bool _pinned = false; - bool _snap = false; - - final List data = [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildTool(), - SizedBox( - height: 300, - child: CustomScrollView( - slivers: [ - _buildSliverAppBar(), - _buildSliverFixedExtentList() - ], - ), - ), - ], - ); - } - - Widget _buildSliverAppBar() { - print(_floating); - return SliverAppBar( - expandedHeight: 190.0, - leading: _buildLeading(), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - floating: _floating, - pinned: _pinned, - snap: _snap, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar(//伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - Widget _buildSliverFixedExtentList() => SliverFixedExtentList( - itemExtent: 60, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - - Widget _buildTool() { - return Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Wrap( - direction: Axis.vertical, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - const Text('floating'), - Switch( - value: _floating, - onChanged: (v) { - if(_snap&&!v){ - _snap =false; - } - setState(() => _floating = v); - }), - ], - ), - Wrap( - direction: Axis.vertical, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - const Text('pinned'), - Switch( - value: _pinned, - onChanged: (v) => setState(() => _pinned = v)), - ], - ) ,Wrap( - direction: Axis.vertical, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - const Text('snap'), - Switch( - value: _snap, - onChanged: (v) { - if(_floating){ - setState(() => _snap = v); - } - }), - ], - ) - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_de_DE.json deleted file mode 100644 index 713fe6189..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 270, - "name": "SliverConstrainedCrossAxis", - "localName": "Kreuzachsen-Größenbeschränkung für Sliver", - "info": "Legt die Größe für eine Sliver-Komponente in der Kreuzachsenrichtung fest, um die Größe des Slivers zu begrenzen.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Grundlegende Verwendung von SliverConstrainedCrossAxis", - "desc": [ - "【maxExtent】 : Größe 【double】", - "【sliver】 : Untergeordnete Komponente 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_en_US.json deleted file mode 100644 index bf34df040..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 270, - "name": "SliverConstrainedCrossAxis", - "localName": "Cross Axis Size Constrained Sliver", - "info": "Specifies the size in the cross-axis direction for a Sliver component to constrain the sliver size.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Basic Usage of SliverConstrainedCrossAxis", - "desc": [ - "【maxExtent】 : size 【double】", - "【sliver】 : child component 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_es_ES.json deleted file mode 100644 index d22b986c1..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 270, - "name": "SliverConstrainedCrossAxis", - "localName": "Restricción de tamaño en el eje cruzado para Sliver", - "info": "Especifica un tamaño en la dirección del eje cruzado para limitar el tamaño de un componente Sliver.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso básico de SliverConstrainedCrossAxis", - "desc": [ - "【maxExtent】 : tamaño 【double】", - "【sliver】 : componente hijo 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_fr_FR.json deleted file mode 100644 index 7888ed003..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 270, - "name": "SliverConstrainedCrossAxis", - "localName": "Contrainte de taille de l'axe transversal pour Sliver", - "info": "Spécifie une taille pour contraindre la dimension d'un composant Sliver dans la direction de l'axe transversal.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation de base de SliverConstrainedCrossAxis", - "desc": [ - "【maxExtent】 : taille 【double】", - "【sliver】 : composant enfant 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_it_IT.json deleted file mode 100644 index 1d305ce8e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 270, - "name": "SliverConstrainedCrossAxis", - "localName": "Vincolo dimensionale dell'asse trasversale per Sliver", - "info": "Specifica una dimensione per limitare la dimensione di un componente Sliver nella direzione dell'asse trasversale.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso di base di SliverConstrainedCrossAxis", - "desc": [ - "【maxExtent】 : dimensione 【double】", - "【sliver】 : componente figlio 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_ja_JP.json deleted file mode 100644 index 5557edd0c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 270, - "name": "SliverConstrainedCrossAxis", - "localName": "クロス軸サイズ制約スライバー", - "info": "Sliverコンポーネントに対して、クロス軸方向にサイズを指定してスライバーのサイズを制限します。", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverConstrainedCrossAxis 基本使用", - "desc": [ - "【maxExtent】 : サイズ 【double】", - "【sliver】 : 子コンポーネント 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_ko_KR.json deleted file mode 100644 index 858179326..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 270, - "name": "SliverConstrainedCrossAxis", - "localName": "교차축 크기 제약 슬라이버", - "info": "Sliver 컴포넌트의 교차축 방향에서 크기를 지정하여 슬라이버 크기를 제한합니다.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverConstrainedCrossAxis 기본 사용", - "desc": [ - "【maxExtent】 : 크기 【double】", - "【sliver】 : 자식 컴포넌트 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_pt_PT.json deleted file mode 100644 index e6080d010..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 270, - "name": "SliverConstrainedCrossAxis", - "localName": "Folha de deslizamento com restrição de tamanho do eixo cruzado", - "info": "Especifica o tamanho na direção do eixo cruzado para limitar o tamanho da folha de deslizamento para um componente Sliver.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso básico de SliverConstrainedCrossAxis", - "desc": [ - "【maxExtent】 : Tamanho 【double】", - "【sliver】 : Componente filho 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_ru_RU.json deleted file mode 100644 index 7029456c2..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 270, - "name": "SliverConstrainedCrossAxis", - "localName": "Ограничение размера слайдера по поперечной оси", - "info": "Задает размер для компонента Sliver в направлении поперечной оси, чтобы ограничить размер слайдера.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Основное использование SliverConstrainedCrossAxis", - "desc": [ - "【maxExtent】 : размер 【double】", - "【sliver】 : дочерний компонент 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_zh-CN.json deleted file mode 100644 index 1e66edb0b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 270, - "name": "SliverConstrainedCrossAxis", - "localName": "交叉轴尺寸约束滑片", - "info": "为一个 Sliver 组件在交叉轴方向上,指定尺寸大小来限制滑片尺寸。", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverConstrainedCrossAxis 基本使用", - "desc": [ - "【maxExtent】 : 大小 【double】", - "【sliver】 : 子组件 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/node1.dart b/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/node1.dart deleted file mode 100644 index b591d991b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverConstrainedCrossAxis/node1.dart +++ /dev/null @@ -1,86 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/8/18 -/// contact me by email 1981462002@qq.com - -class SliverConstrainedCrossAxisDemo extends StatelessWidget { - const SliverConstrainedCrossAxisDemo({super.key}); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [ - SliverCrossAxisGroup( - slivers: [ - SliverConstrainedCrossAxis( - maxExtent: 100, - sliver: _SliverColorList( - height: 100.0, - fontSize: 24, - count: 8, - color1: Colors.amber[300], - color2: Colors.blue[300], - ), - ), - SliverCrossAxisExpanded( - flex: 1, - sliver: _SliverColorList( - height: 80.0, - fontSize: 18, - count: 15, - color1: Colors.green[300], - color2: Colors.red[300], - ), - ), - SliverCrossAxisExpanded( - flex: 1, - sliver: _SliverColorList( - height: 50.0, - fontSize: 20, - count: 6, - color1: Colors.purple[300], - color2: Colors.orange[300], - )), - ], - ), - ], - ), - ); - } -} - -class _SliverColorList extends StatelessWidget { - final double height; - final double fontSize; - final Color? color1; - final Color? color2; - final int count; - const _SliverColorList( - {super.key, - required this.height, - required this.fontSize, - required this.count, - this.color1, - this.color2}); - - @override - Widget build(BuildContext context) { - return SliverList.builder( - itemBuilder: (BuildContext context, int index) { - return Container( - color: index.isEven ? color1 : color2, - height: height, - child: Center( - child: Text( - 'Item ${index}', - style: TextStyle(fontSize: fontSize), - ), - ), - ); - }, - itemCount: count, - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_de_DE.json deleted file mode 100644 index 7a6e31d6f..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 271, - "name": "SliverCrossAxisExpanded", - "localName": "Cross-Axis-Erweiterungsschieber", - "info": "Gibt für eine Sliver-Komponente in der Richtung der Querachse einen Flex-Anteil an, um die Größe des Schiebers zu begrenzen.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 270 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Grundlegende Verwendung von SliverCrossAxisExpanded", - "desc": [ - "【flex】 : Anteil 【int】", - "【sliver】 : Untergeordnete Komponente 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_en_US.json deleted file mode 100644 index 9bf13408d..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 271, - "name": "SliverCrossAxisExpanded", - "localName": "Cross Axis Expanded Sliver", - "info": "Specifies the flex ratio in the cross-axis direction for a Sliver component to constrain the size of the sliver.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 270 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Basic Usage of SliverCrossAxisExpanded", - "desc": [ - "【flex】: Ratio 【int】", - "【sliver】: Child Component 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_es_ES.json deleted file mode 100644 index 15f422ad8..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 271, - "name": "SliverCrossAxisExpanded", - "localName": "Deslizador Expandido en Eje Cruzado", - "info": "Para un componente Sliver, especifica la proporción flex en la dirección del eje cruzado para limitar el tamaño del deslizador.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 270 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso básico de SliverCrossAxisExpanded", - "desc": [ - "【flex】 : proporción 【int】", - "【sliver】 : componente hijo 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_fr_FR.json deleted file mode 100644 index d0a99dffb..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 271, - "name": "SliverCrossAxisExpanded", - "localName": "Glissière d'expansion de l'axe croisé", - "info": "Pour un composant Sliver, spécifie la proportion de flex dans la direction de l'axe croisé pour limiter la taille de la glissière.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 270 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation de base de SliverCrossAxisExpanded", - "desc": [ - "【flex】 : proportion 【int】", - "【sliver】 : composant enfant 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_it_IT.json deleted file mode 100644 index 0538e9fb8..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 271, - "name": "SliverCrossAxisExpanded", - "localName": "Cursore Espanso sull'Asse Incrociato", - "info": "Specifica la proporzione flex per limitare le dimensioni del cursore in direzione dell'asse incrociato per un componente Sliver.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 270 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso di base di SliverCrossAxisExpanded", - "desc": [ - "【flex】 : proporzione 【int】", - "【sliver】 : componente figlio 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_ja_JP.json deleted file mode 100644 index b8ce18cd6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 271, - "name": "SliverCrossAxisExpanded", - "localName": "クロス軸拡張スライバー", - "info": "スライバーコンポーネントのクロス軸方向に、flex比率を指定してスライバーのサイズを制限します。", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 270 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverCrossAxisExpanded 基本使用", - "desc": [ - "【flex】 : 比率 【int】", - "【sliver】 : 子コンポーネント 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_ko_KR.json deleted file mode 100644 index 33dd18a18..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 271, - "name": "SliverCrossAxisExpanded", - "localName": "교차축 확장 슬라이스", - "info": "Sliver 컴포넌트의 교차축 방향에서 flex 비율을 지정하여 슬라이스 크기를 제한합니다.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 270 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverCrossAxisExpanded 기본 사용", - "desc": [ - "【flex】 : 비율 【int】", - "【sliver】 : 하위 컴포넌트 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_pt_PT.json deleted file mode 100644 index 52a4b46cf..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 271, - "name": "SliverCrossAxisExpanded", - "localName": "Slider de Expansão do Eixo Cruzado", - "info": "Para um componente Sliver, especifica a proporção flex na direção do eixo cruzado para limitar o tamanho do slider.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 270 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso Básico do SliverCrossAxisExpanded", - "desc": [ - "【flex】 : Proporção 【int】", - "【sliver】 : Componente Filho 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_ru_RU.json deleted file mode 100644 index 5982223ea..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 271, - "name": "SliverCrossAxisExpanded", - "localName": "Расширенный слайвер по поперечной оси", - "info": "Для компонента Sliver указывает долю flex в направлении поперечной оси, чтобы ограничить размер слайвера.", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 270 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Основное использование SliverCrossAxisExpanded", - "desc": [ - "【flex】 : доля 【int】", - "【sliver】 : дочерний компонент 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_zh-CN.json deleted file mode 100644 index be048a2e6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 271, - "name": "SliverCrossAxisExpanded", - "localName": "交叉轴延展滑片", - "info": "为一个 Sliver 组件在交叉轴方向上,指定 flex 占比来限制滑片尺寸。", - "lever": 3, - "family": 4, - "linkIds": [ - 269, - 270 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverCrossAxisExpanded 基本使用", - "desc": [ - "【flex】 : 占比 【int】", - "【sliver】 : 子组件 【Widget?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/node1.dart b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/node1.dart deleted file mode 100644 index 419af803e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisExpanded/node1.dart +++ /dev/null @@ -1,76 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/8/18 -/// contact me by email 1981462002@qq.com - -class SliverCrossAxisExpandedDemo extends StatelessWidget { - const SliverCrossAxisExpandedDemo({super.key}); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [ - SliverCrossAxisGroup( - slivers: [ - SliverCrossAxisExpanded( - flex: 1, - sliver: _SliverColorList( - height: 80.0, - fontSize: 18, - count: 15, - color1: Colors.green[300], - color2: Colors.red[300], - ), - ), - SliverCrossAxisExpanded( - flex: 1, - sliver: _SliverColorList( - height: 50.0, - fontSize: 20, - count: 6, - color1: Colors.purple[300], - color2: Colors.orange[300], - )), - ], - ), - ], - ), - ); - } -} - -class _SliverColorList extends StatelessWidget { - final double height; - final double fontSize; - final Color? color1; - final Color? color2; - final int count; - const _SliverColorList( - {super.key, - required this.height, - required this.fontSize, - required this.count, - this.color1, - this.color2}); - - @override - Widget build(BuildContext context) { - return SliverList.builder( - itemBuilder: (BuildContext context, int index) { - return Container( - color: index.isEven ? color1 : color2, - height: height, - child: Center( - child: Text( - 'Item ${index}', - style: TextStyle(fontSize: fontSize), - ), - ), - ); - }, - itemCount: count, - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_de_DE.json deleted file mode 100644 index c9882cb00..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 269, - "name": "SliverCrossAxisGroup", - "localName": "Kreuzachsen-Gruppe", - "info": "Kann mehrere Sliver-Komponenten aufnehmen und sie in der gleitenden Querhauptachse als Gruppe behandeln.", - "lever": 4, - "family": 4, - "linkIds": [ - 268, - 270, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Grundlegende Verwendung von SliverCrossAxisGroup", - "desc": [ - "【slivers】 : Liste der Unterkomponenten 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_en_US.json deleted file mode 100644 index 0a942bf2b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 269, - "name": "SliverCrossAxisGroup", - "localName": "Cross Axis Sliver Group", - "info": "Can contain multiple Sliver components, treating them as a group in the cross main axis direction of scrolling.", - "lever": 4, - "family": 4, - "linkIds": [ - 268, - 270, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Basic Usage of SliverCrossAxisGroup", - "desc": [ - "【slivers】 : List of child components 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_es_ES.json deleted file mode 100644 index 19cfce97c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 269, - "name": "SliverCrossAxisGroup", - "localName": "Grupo de deslizadores en eje cruzado", - "info": "Puede contener múltiples componentes Sliver, tratándolos como un grupo en la dirección del eje principal cruzado durante el desplazamiento.", - "lever": 4, - "family": 4, - "linkIds": [ - 268, - 270, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso básico de SliverCrossAxisGroup", - "desc": [ - "【slivers】 : Lista de componentes hijos 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_fr_FR.json deleted file mode 100644 index 7bb641370..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 269, - "name": "SliverCrossAxisGroup", - "localName": "Groupe de glissières d'axe croisé", - "info": "Peut contenir plusieurs composants Sliver, les traitant comme un groupe dans la direction de l'axe principal de défilement.", - "lever": 4, - "family": 4, - "linkIds": [ - 268, - 270, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation de base de SliverCrossAxisGroup", - "desc": [ - "【slivers】 : Liste des composants enfants 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_it_IT.json deleted file mode 100644 index ae753b3e6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 269, - "name": "SliverCrossAxisGroup", - "localName": "Gruppo di scorrimento dell'asse trasversale", - "info": "Può contenere più componenti Sliver, considerandoli come un gruppo nella direzione dell'asse trasversale durante lo scorrimento.", - "lever": 4, - "family": 4, - "linkIds": [ - 268, - 270, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso di base di SliverCrossAxisGroup", - "desc": [ - "【slivers】 : Lista dei componenti figli 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_ja_JP.json deleted file mode 100644 index 1d063bba8..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 269, - "name": "SliverCrossAxisGroup", - "localName": "クロス軸スライドグループ", - "info": "複数のSliverコンポーネントを収容し、それらをスクロールのクロスメイン軸方向でグループとして扱うことができます。", - "lever": 4, - "family": 4, - "linkIds": [ - 268, - 270, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverCrossAxisGroup 基本使用", - "desc": [ - "【slivers】 : 子コンポーネントリスト 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_ko_KR.json deleted file mode 100644 index 1c50ba546..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 269, - "name": "SliverCrossAxisGroup", - "localName": "교차축 슬라이더 그룹", - "info": "여러 개의 Sliver 컴포넌트를 수용할 수 있으며, 스크롤 교차 주축 방향에서 하나의 그룹으로 간주되도록 합니다.", - "lever": 4, - "family": 4, - "linkIds": [ - 268, - 270, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverCrossAxisGroup 기본 사용법", - "desc": [ - "【slivers】 : 자식 컴포넌트 목록 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_pt_PT.json deleted file mode 100644 index 576fa851e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 269, - "name": "SliverCrossAxisGroup", - "localName": "Grupo de Slides do Eixo Cruzado", - "info": "Pode acomodar vários componentes Sliver, tratando-os como um grupo na direção do eixo principal cruzado durante o deslizamento.", - "lever": 4, - "family": 4, - "linkIds": [ - 268, - 270, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso Básico do SliverCrossAxisGroup", - "desc": [ - "【slivers】 : Lista de componentes filhos 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_ru_RU.json deleted file mode 100644 index 752077fb2..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 269, - "name": "SliverCrossAxisGroup", - "localName": "Группа слайдов по поперечной оси", - "info": "Может содержать несколько компонентов Sliver, позволяя рассматривать их как группу в направлении главной оси скольжения.", - "lever": 4, - "family": 4, - "linkIds": [ - 268, - 270, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Основное использование SliverCrossAxisGroup", - "desc": [ - "【slivers】 : Список дочерних компонентов 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_zh-CN.json deleted file mode 100644 index a6d2cc9f7..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 269, - "name": "SliverCrossAxisGroup", - "localName": "交叉轴滑片组", - "info": "可以容纳多个 Sliver 组件,让它们在滑动的交叉主轴方向上视为一组。", - "lever": 4, - "family": 4, - "linkIds": [ - 268, - 270, - 271 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverCrossAxisGroup 基本使用", - "desc": [ - "【slivers】 : 子组件列表 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/node1.dart b/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/node1.dart deleted file mode 100644 index 3533f0f66..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverCrossAxisGroup/node1.dart +++ /dev/null @@ -1,79 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/8/18 -/// contact me by email 1981462002@qq.com - -class SliverCrossAxisGroupDemo extends StatelessWidget { - const SliverCrossAxisGroupDemo({super.key}); - - @override - Widget build(BuildContext context) { - double width = MediaQuery.of(context).size.width; - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [ - SliverCrossAxisGroup( - slivers: [ - SliverConstrainedCrossAxis( - maxExtent: 100, - sliver: _SliverColorList( - height: 100.0, - fontSize: 24, - count: 8, - color1: Colors.amber[300], - color2: Colors.blue[300], - ), - ), - SliverConstrainedCrossAxis( - maxExtent: width - 100, - sliver: _SliverColorList( - height: 80.0, - fontSize: 18, - count: 15, - color1: Colors.green[300], - color2: Colors.red[300], - ), - ), - ], - ), - ], - ), - ); - - } -} - -class _SliverColorList extends StatelessWidget { - final double height; - final double fontSize; - final Color? color1; - final Color? color2; - final int count; - const _SliverColorList( - {super.key, - required this.height, - required this.fontSize, - required this.count, - this.color1, - this.color2}); - - @override - Widget build(BuildContext context) { - return SliverList.builder( - itemBuilder: (BuildContext context, int index) { - return Container( - color: index.isEven ? color1 : color2, - height: height, - child: Center( - child: Text( - 'Item ${index}', - style: TextStyle(fontSize: fontSize), - ), - ), - ); - }, - itemCount: count, - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_de_DE.json deleted file mode 100644 index 5c9d5f77c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 306, - "name": "SliverFillRemaining", - "localName": "Sliver füllt den Rest", - "info": "Ein Sliver, das ein einzelnes Box-Kind enthält und den verbleibenden Platz im Viewport ausfüllt. Es können zwei boolesche Werte angegeben werden, um den Scroll-Effekt zu steuern, wie im folgenden Beispiel gezeigt, um es selbst zu erleben.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverFillRemaining", - "desc": [ - "【hasScrollBody】 : Ob es einen Scroll-Body hat 【bool】", - "【fillOverscroll】 : Ob der Scroll-Bereich gefüllt werden kann 【bool】", - "【child】 : Kindkomponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_en_US.json deleted file mode 100644 index 0b8149b34..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 306, - "name": "SliverFillRemaining", - "localName": "Sliver Fill Remaining", - "info": "A sliver that contains a single box child element, which fills the remaining space in the viewport. Two boolean values can be specified to control the scrolling effect, as shown in the example below, experience it yourself.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverFillRemaining", - "desc": [ - "【hasScrollBody】: Whether it has a scroll body 【bool】", - "【fillOverscroll】: Whether it can fill the scroll area 【bool】", - "【child】: Child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_es_ES.json deleted file mode 100644 index 871bd2035..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 306, - "name": "SliverFillRemaining", - "localName": "Sliver llenar el espacio restante", - "info": "Un sliver que contiene un solo elemento hijo de tipo box, que llena el espacio restante en la ventana gráfica. Se pueden especificar dos valores booleanos para controlar el efecto de desplazamiento, como en el siguiente ejemplo, para que lo experimentes por ti mismo.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverFillRemaining", - "desc": [ - "【hasScrollBody】 : Si tiene un cuerpo de desplazamiento 【bool】", - "【fillOverscroll】 : Si se puede llenar el área de desplazamiento 【bool】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_fr_FR.json deleted file mode 100644 index 0601452fa..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 306, - "name": "SliverFillRemaining", - "localName": "Sliver remplir le reste", - "info": "Un sliver qui contient un seul élément box, il remplit l'espace restant dans la fenêtre. Deux valeurs booléennes peuvent être spécifiées pour contrôler l'effet de défilement, comme dans l'exemple suivant, à expérimenter par vous-même.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverFillRemaining", - "desc": [ - "【hasScrollBody】 : Si le corps a un défilement 【bool】", - "【fillOverscroll】 : Si la zone de défilement peut être remplie 【bool】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_it_IT.json deleted file mode 100644 index 4d90f7450..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 306, - "name": "SliverFillRemaining", - "localName": "Sliver riempie il rimanente", - "info": "Un sliver che contiene un singolo elemento figlio box, che riempie lo spazio rimanente nella finestra. È possibile specificare due valori bool per controllare l'effetto di scorrimento, come nell'esempio seguente, da provare personalmente.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverFillRemaining", - "desc": [ - "【hasScrollBody】 : Se ha un corpo di scorrimento 【bool】", - "【fillOverscroll】 : Se può riempire l'area di scorrimento 【bool】", - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_ja_JP.json deleted file mode 100644 index 76b57533a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 306, - "name": "SliverFillRemaining", - "localName": "Sliver残りを埋める", - "info": "ビューポート内の残りのスペースを埋める単一のbox子要素を含むsliverです。以下の例のように、スライド効果を制御するために2つのbool値を指定できます。自分で体験してください。", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverFillRemaining基本使用", - "desc": [ - "【hasScrollBody】 : スクロール本体を持つかどうか 【bool】", - "【fillOverscroll】 : スクロール領域を埋めることができるかどうか 【bool】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_ko_KR.json deleted file mode 100644 index 22432e3e5..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 306, - "name": "SliverFillRemaining", - "localName": "Sliver 남은 공간 채우기", - "info": "단일 box 자식을 포함하는 sliver로, 뷰포트의 남은 공간을 채웁니다. 아래 예시와 같이 두 개의 bool 값을 지정하여 스크롤 효과를 제어할 수 있습니다. 직접 경험해 보세요.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverFillRemaining 기본 사용법", - "desc": [ - "【hasScrollBody】 : 스크롤 본체 여부 【bool】", - "【fillOverscroll】 : 스크롤 영역 채우기 여부 【bool】", - "【child】 : 자식 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_pt_PT.json deleted file mode 100644 index e9c9a50e3..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 306, - "name": "SliverFillRemaining", - "localName": "Sliver preencher restante", - "info": "Um sliver que contém um único elemento box, que preenche o espaço restante na janela de visualização. Dois valores bool podem ser especificados para controlar o efeito de deslizamento, como no exemplo a seguir, experimente você mesmo.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do SliverFillRemaining", - "desc": [ - "【hasScrollBody】 : Se tem um corpo de rolagem 【bool】", - "【fillOverscroll】 : Se pode preencher a área de rolagem 【bool】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_ru_RU.json deleted file mode 100644 index 913a2816f..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 306, - "name": "SliverFillRemaining", - "localName": "Sliver заполняет оставшееся", - "info": "Sliver, содержащий один дочерний элемент box, который заполняет оставшееся пространство в окне просмотра. Можно указать два логических значения для управления эффектом прокрутки, как показано в следующем примере, попробуйте сами.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverFillRemaining", - "desc": [ - "【hasScrollBody】 : Имеет ли прокручиваемую основу 【bool】", - "【fillOverscroll】 : Можно ли заполнить область прокрутки 【bool】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_zh-CN.json deleted file mode 100644 index 19bbb6681..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 306, - "name": "SliverFillRemaining", - "localName": "Sliver填补剩余", - "info": "一个包含单个box子元素的sliver,它填充了视窗中的剩余空间。可指定两个bool值控制滑动效果,如下示例,自己体会。", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverFillRemaining基本使用", - "desc": [ - "【hasScrollBody】 : 是否具有滚动主体 【bool】", - "【fillOverscroll】 : 是否可填充滚动区域 【bool】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/node1_base.dart deleted file mode 100644 index e3a0edf58..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillRemaining/node1_base.dart +++ /dev/null @@ -1,150 +0,0 @@ -import 'dart:math'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class SliverFillRemainingDemo extends StatefulWidget { - const SliverFillRemainingDemo({Key? key}) : super(key: key); - - @override - _SliverFillRemainingDemoState createState() => - _SliverFillRemainingDemoState(); -} - -class _SliverFillRemainingDemoState extends State { - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - - final Random r = Random(); - - bool hasScrollBody = false; - bool fillOverscroll = true; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - physics: const BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), - slivers: [ - _buildSliverAppBar(), - _buildSliverList(), - SliverFillRemaining( - hasScrollBody: hasScrollBody, - fillOverscroll: fillOverscroll, - child: Container( - decoration: const BoxDecoration( - image: DecorationImage( - fit: BoxFit.cover, - image: AssetImage("assets/images/sabar_bar.webp"))), - // // color: Colors.teal[100], - child: _buildBottomChild(), - ), - ), - ], - ), - ); - } - - Widget _buildBottomChild() => Align( - alignment: Alignment.bottomCenter, - child: Padding( - padding: const EdgeInsets.all(16.0), - child: Wrap( - spacing: 10, - children: [ - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - ), - onPressed: () { - setState(() { - hasScrollBody = !hasScrollBody; - }); - }, - child: Text('hasScrollBody:$hasScrollBody',style: const TextStyle(color: Colors.white),), - ), - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - ), - onPressed: () { - setState(() { - fillOverscroll = !fillOverscroll; - }); - }, - child: Text('fillOverscroll:$fillOverscroll',style: const TextStyle(color: Colors.white)), - ), - ], - ), - ), - ); - - Widget _buildSliverList() => SliverFixedExtentList( - itemExtent: 50, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 120.0, - leading: Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_de_DE.json deleted file mode 100644 index cd900f243..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 187, - "name": "SliverFillViewport", - "localName": "Sliver-Füllansichtsliste", - "info": "Eine Listenkomponente der Sliver-Familie, die über einen Delegate Unterkomponenten erstellt. Die Höhe der Elemente füllt den Ansichtsbereich, und es kann angegeben werden, ob ein Bruchteil verwendet wird.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverFillViewport", - "desc": [ - "【viewportFraction】 : Ansichtsbruchteil 【double】", - "【delegate】 : Kind-Delegate 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_en_US.json deleted file mode 100644 index 70abeab97..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 187, - "name": "SliverFillViewport", - "localName": "Sliver Fill Viewport", - "info": "A list component of the Sliver family, which constructs child components through a delegate. The height of the item will fill the viewport, and you can specify the fraction.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverFillViewport", - "desc": [ - "【viewportFraction】 : Viewport Fraction 【double】", - "【delegate】 : Child Delegate 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_es_ES.json deleted file mode 100644 index 99a48b3fe..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 187, - "name": "SliverFillViewport", - "localName": "Lista de vista de relleno Sliver", - "info": "Componente de lista de la familia Sliver, construye subcomponentes a través de delegate, la altura del elemento llenará la ventana gráfica, se puede especificar si es una fracción.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverFillViewport", - "desc": [ - "【viewportFraction】 : Fracción de la ventana gráfica 【double】", - "【delegate】 : Delegado de hijos 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_fr_FR.json deleted file mode 100644 index 2b7683231..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 187, - "name": "SliverFillViewport", - "localName": "Liste de vue de remplissage Sliver", - "info": "Composant de liste de la famille Sliver, qui construit des sous-composants via un délégué, la hauteur de l'élément remplira la vue, et il est possible de spécifier si la fraction est divisée.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverFillViewport", - "desc": [ - "【viewportFraction】 : Fraction de la vue 【double】", - "【delegate】 : Délégué des enfants 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_it_IT.json deleted file mode 100644 index b6e42baee..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 187, - "name": "SliverFillViewport", - "localName": "Sliver riempie la vista", - "info": "Componente della lista della famiglia Sliver, costruisce i componenti figli tramite il delegate, l'altezza dell'elemento riempirà la vista, è possibile specificare la frazione.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverFillViewport", - "desc": [ - "【viewportFraction】 : Frazione della vista 【double】", - "【delegate】 : Delegato dei figli 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_ja_JP.json deleted file mode 100644 index 8d2507f92..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 187, - "name": "SliverFillViewport", - "localName": "Sliverビューポートを埋めるリスト", - "info": "Sliverファミリーのリストコンポーネントで、delegateを通じて子コンポーネントを構築し、アイテムの高さがビューポートを埋めます。分率を指定することもできます。", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverFillViewportの基本使用", - "desc": [ - "【viewportFraction】 : ビューポート分率 【double】", - "【delegate】 : 子デリゲート 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_ko_KR.json deleted file mode 100644 index fbeb3ab5e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 187, - "name": "SliverFillViewport", - "localName": "Sliver 뷰포트 채우기", - "info": "Sliver 패밀리의 리스트 컴포넌트로, delegate를 통해 자식 컴포넌트를 구성하며, 아이템의 높이가 뷰포트를 채웁니다. 분율을 지정할 수 있습니다.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverFillViewport 기본 사용법", - "desc": [ - "【viewportFraction】 : 뷰포트 분율 【double】", - "【delegate】 : 자식 대리자 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_pt_PT.json deleted file mode 100644 index a40a323aa..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 187, - "name": "SliverFillViewport", - "localName": "Lista de visualização de preenchimento Sliver", - "info": "Componente de lista da família Sliver, que constrói subcomponentes através de um delegate. A altura do item preencherá a viewport, e pode-se especificar a fração de preenchimento.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do SliverFillViewport", - "desc": [ - "【viewportFraction】 : Fração da viewport 【double】", - "【delegate】 : Delegado dos filhos 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_ru_RU.json deleted file mode 100644 index 934b45691..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 187, - "name": "SliverFillViewport", - "localName": "Sliver заполнение списка представлений", - "info": "Компонент списка семейства Sliver, который создает дочерние компоненты через делегат, высота элемента заполняет видимую область, можно указать долю.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverFillViewport", - "desc": [ - "【viewportFraction】 : Доля видимой области 【double】", - "【delegate】 : Делегат дочерних элементов 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_zh-CN.json deleted file mode 100644 index f10797754..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 187, - "name": "SliverFillViewport", - "localName": "Sliver填充视图列表", - "info": "Sliver家族的列表组件,通过delegate构造子组件,item的高度会填空视口,可以指定是否的分率。", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverFillViewport基本使用", - "desc": [ - "【viewportFraction】 : 视口分率 【double】", - "【delegate】 : 孩子代理 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/node1_base.dart deleted file mode 100644 index f8ce2d42d..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFillViewport/node1_base.dart +++ /dev/null @@ -1,112 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class SliverFillViewportDemo extends StatefulWidget { - const SliverFillViewportDemo({Key? key}) : super(key: key); - - @override - _SliverFillViewportDemoState createState() => _SliverFillViewportDemoState(); -} - -class _SliverFillViewportDemoState extends State { - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - - double _viewportFraction = 0.5; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildTool(), - SizedBox( - height: 300, - child: CustomScrollView( - slivers: [_buildSliverAppBar(), _buildSliverList()], - ), - ), - ], - ); - } - - Widget _buildSliverList() => SliverFillViewport( - viewportFraction: _viewportFraction, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: _buildLeading(), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - - _buildTool() { - return Slider( - value: _viewportFraction, - min: 0.01, - divisions: 20, - label: _viewportFraction.toStringAsFixed(1), - max: 2.0, - onChanged: (v) => setState(() => _viewportFraction = v)); - } -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_de_DE.json deleted file mode 100644 index 229d8972b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 186, - "name": "SliverFixedExtentList", - "localName": "Sliver feste erweiterte Liste", - "info": "Eine Listenkomponente der Sliver-Familie, die über einen Delegate Unterkomponenten konstruiert und die Höhe der Elemente festlegen kann. Wird häufig in CustomScrollView verwendet.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverFixedExtentList", - "desc": [ - "【itemExtent】 : Erzwungene Länge in Hauptachsenrichtung 【double】", - "【delegate】 : Kinderdelegat 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_en_US.json deleted file mode 100644 index 157222576..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 186, - "name": "SliverFixedExtentList", - "localName": "Sliver Fixed Extent List", - "info": "A list component of the Sliver family, which constructs child components through a delegate and can specify the height of the item. It is commonly used in CustomScrollView.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverFixedExtentList", - "desc": [ - "【itemExtent】: Forced length in the main axis 【double】", - "【delegate】: Child delegate 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_es_ES.json deleted file mode 100644 index cefbb2aff..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 186, - "name": "SliverFixedExtentList", - "localName": "Lista de extensión fija de Sliver", - "info": "Componente de lista de la familia Sliver, que construye subcomponentes a través de un delegado y puede especificar la altura de los elementos. Normalmente se utiliza en CustomScrollView.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverFixedExtentList", - "desc": [ - "【itemExtent】 : Longitud forzada en la dirección del eje principal 【double】", - "【delegate】 : Delegado de hijos 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_fr_FR.json deleted file mode 100644 index 35b9e914f..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 186, - "name": "SliverFixedExtentList", - "localName": "Liste d'extension fixe Sliver", - "info": "Composant de liste de la famille Sliver, qui construit les sous-composants via un délégué et permet de spécifier la hauteur des éléments. Généralement utilisé dans CustomScrollView.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverFixedExtentList", - "desc": [ - "【itemExtent】 : Longueur forcée dans la direction principale 【double】", - "【delegate】 : Délégué des enfants 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_it_IT.json deleted file mode 100644 index 655ceb5af..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 186, - "name": "SliverFixedExtentList", - "localName": "Lista estensibile fissa Sliver", - "info": "Componente della lista della famiglia Sliver, che costruisce i componenti figli tramite il delegate, consente di specificare l'altezza dell'elemento. Solitamente utilizzato in CustomScrollView.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverFixedExtentList", - "desc": [ - "【itemExtent】 : Lunghezza forzata nella direzione dell'asse principale 【double】", - "【delegate】 : Delegato dei figli 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_ja_JP.json deleted file mode 100644 index 430e43830..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 186, - "name": "SliverFixedExtentList", - "localName": "Sliver固定延展リスト", - "info": "Sliverファミリーのリストコンポーネントで、delegateを使用して子コンポーネントを構築し、アイテムの高さを指定できます。通常、CustomScrollViewで使用されます。", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverFixedExtentList基本使用", - "desc": [ - "【itemExtent】 : 主軸方向の強制長さ 【double】", - "【delegate】 : 子要素の代理 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_ko_KR.json deleted file mode 100644 index a2579c185..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 186, - "name": "SliverFixedExtentList", - "localName": "Sliver 고정 확장 리스트", - "info": "Sliver 패밀리의 리스트 컴포넌트로, delegate를 통해 자식 컴포넌트를 구성하고, 아이템의 높이를 지정할 수 있습니다. 일반적으로 CustomScrollView에서 사용됩니다.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverFixedExtentList 기본 사용", - "desc": [ - "【itemExtent】 : 주축 방향 강제 길이 【double】", - "【delegate】 : 자식 대리자 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_pt_PT.json deleted file mode 100644 index 21fa98fd1..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 186, - "name": "SliverFixedExtentList", - "localName": "Lista de Extensão Fixa Sliver", - "info": "Componente de lista da família Sliver, que constrói subcomponentes através de um delegate, permitindo especificar a altura do item. Geralmente usado em CustomScrollView.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SliverFixedExtentList", - "desc": [ - "【itemExtent】 : Comprimento forçado na direção do eixo principal 【double】", - "【delegate】 : Delegate dos filhos 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_ru_RU.json deleted file mode 100644 index b2e677eb5..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 186, - "name": "SliverFixedExtentList", - "localName": "Sliver фиксированный расширяемый список", - "info": "Компонент списка семейства Sliver, который создает дочерние компоненты через делегат и позволяет указать высоту элемента. Обычно используется в CustomScrollView.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverFixedExtentList", - "desc": [ - "【itemExtent】 : Принудительная длина по главной оси 【double】", - "【delegate】 : Делегат дочерних элементов 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_zh-CN.json deleted file mode 100644 index cc974701a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 186, - "name": "SliverFixedExtentList", - "localName": "Sliver固定延展列表", - "info": "Sliver家族的列表组件,通过delegate构造子组件,可以指定item的高度。通常用于CustomScrollView中。", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 185, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverFixedExtentList基本使用", - "desc": [ - "【itemExtent】 : 主轴方向强迫长度 【double】", - "【delegate】 : 孩子代理 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/node1_base.dart deleted file mode 100644 index 11efccb23..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverFixedExtentList/node1_base.dart +++ /dev/null @@ -1,96 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class SliverFixedExtentListDemo extends StatefulWidget { - const SliverFixedExtentListDemo({Key? key}) : super(key: key); - - @override - _SliverFixedExtentListDemoState createState() => _SliverFixedExtentListDemoState(); -} - -class _SliverFixedExtentListDemoState extends State { - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [_buildSliverAppBar(), _buildSliverList()], - ), - ); - } - - Widget _buildSliverList() => SliverFixedExtentList( - itemExtent: 50, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: _buildLeading(), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_de_DE.json deleted file mode 100644 index af3048152..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 188, - "name": "SliverGrid", - "localName": "Sliver-Gitter", - "info": "Ein Gitterlisten-Widget der Sliver-Familie, ähnlich wie GirdView, das durch count und extent konstruiert wird. Wird normalerweise in CustomScrollView verwendet.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverList", - "desc": [ - "SliverGrid.count Konstruktion mit spezifizierter axialer Anzahl", - "SliverGrid.extent Konstruktion mit spezifizierter axialer Länge", - "Attributeigenschaften sind ähnlich wie bei GridView, siehe dazu" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_en_US.json deleted file mode 100644 index 89980569a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 188, - "name": "SliverGrid", - "localName": "Sliver Grid", - "info": "A grid list component of the Sliver family, similar to GridView, constructed with count and extent. Usually used in CustomScrollView.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverList", - "desc": [ - "SliverGrid.count constructs with specified axial count", - "SliverGrid.extent constructs with specified axial length", - "The attribute characteristics are the same as GridView, see it for details" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_es_ES.json deleted file mode 100644 index f0ccd1a73..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 188, - "name": "SliverGrid", - "localName": "Cuadrícula Sliver", - "info": "Componente de lista de cuadrícula de la familia Sliver, similar a GirdView, construido a través de count y extent. Normalmente se utiliza en CustomScrollView.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverList", - "desc": [ - "SliverGrid.count construye especificando la cantidad axial", - "SliverGrid.extent construye especificando la longitud axial", - "Las características de los atributos son las mismas que GridView, se pueden ver en detalle" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_fr_FR.json deleted file mode 100644 index feac18d1b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 188, - "name": "SliverGrid", - "localName": "Grille Sliver", - "info": "Composant de liste de grille de la famille Sliver, similaire à GirdView, construit via count et extent. Généralement utilisé dans CustomScrollView.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverList", - "desc": [ - "SliverGrid.count construction avec un nombre spécifié dans l'axe", - "SliverGrid.extent construction avec une longueur spécifiée dans l'axe", - "Les caractéristiques des propriétés sont similaires à GridView, voir les détails" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_it_IT.json deleted file mode 100644 index 1fa0db2f8..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 188, - "name": "SliverGrid", - "localName": "Griglia Sliver", - "info": "Componente della lista a griglia della famiglia Sliver, simile a GirdView, costruito tramite count e extent. Solitamente utilizzato in CustomScrollView.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverList", - "desc": [ - "SliverGrid.count costruisce specificando il numero di assi", - "SliverGrid.extent costruisce specificando la lunghezza dell'asse", - "Le caratteristiche degli attributi sono le stesse di GridView, si può fare riferimento a quello per i dettagli" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_ja_JP.json deleted file mode 100644 index f453572b3..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 188, - "name": "SliverGrid", - "localName": "Sliverグリッド", - "info": "Sliverファミリーのグリッドリストコンポーネントで、GirdViewと類似しており、countとextentで構築されます。通常はCustomScrollViewで使用されます。", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverListの基本的な使用", - "desc": [ - "SliverGrid.count 軸方向の数を指定して構築", - "SliverGrid.extent 軸方向の長さを指定して構築", - "属性特性はGridViewと同じで、詳細はそちらを参照してください" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_ko_KR.json deleted file mode 100644 index 9495f1c04..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 188, - "name": "SliverGrid", - "localName": "Sliver 그리드", - "info": "Sliver 패밀리의 그리드 리스트 컴포넌트로, GirdView와 유사하며 count와 extent로 구성됩니다. 주로 CustomScrollView에서 사용됩니다.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverList 기본 사용", - "desc": [ - "SliverGrid.count는 축 방향 수량으로 구성", - "SliverGrid.extent는 축 방향 길이로 구성", - "속성 특성은 GridView와 동일하며, 자세한 내용은 해당 문서 참조" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_pt_PT.json deleted file mode 100644 index 68b0edae6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 188, - "name": "SliverGrid", - "localName": "Grelha Sliver", - "info": "Componente de lista de grelha da família Sliver, semelhante ao GirdView, construído através de count e extent. Geralmente usado em CustomScrollView.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverList", - "desc": [ - "SliverGrid.count especifica a construção do número axial", - "SliverGrid.extent especifica a construção do comprimento axial", - "As características dos atributos são semelhantes ao GridView, consulte para mais detalhes" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_ru_RU.json deleted file mode 100644 index 9bb25afd9..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 188, - "name": "SliverGrid", - "localName": "Sliver сетка", - "info": "Компонент списка сетки семейства Sliver, аналогичный GirdView, создается с помощью count и extent. Обычно используется в CustomScrollView.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverList", - "desc": [ - "SliverGrid.count создается с указанием количества по оси", - "SliverGrid.extent создается с указанием длины по оси", - "Характеристики атрибутов такие же, как у GridView, подробности см. в нем" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_zh-CN.json deleted file mode 100644 index 0a409789d..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 188, - "name": "SliverGrid", - "localName": "Sliver网格", - "info": "Sliver家族的网格列表组件,和GirdView类似,通过count和extent构造。通常用于CustomScrollView中。", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverList基本使用", - "desc": [ - "SliverGrid.count 指定轴向数量构造", - "SliverGrid.extent 指定轴向长度构造", - "属性特征同GridView,可详见之" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverGrid/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverGrid/node1_base.dart deleted file mode 100644 index eef958f66..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverGrid/node1_base.dart +++ /dev/null @@ -1,82 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class SliverGirdDemo extends StatelessWidget { - const SliverGirdDemo({super.key}); - - List get data => List.generate(128, (i) => Color(0xFF6600FF - 2 * i)); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [_buildSliverAppBar(), _buildSliverList()], - ), - ); - } - - Widget _buildSliverList() => SliverGrid.extent( - childAspectRatio: 1 / 0.618, - maxCrossAxisExtent: 180, - crossAxisSpacing: 5, - mainAxisSpacing: 5, - children: data - .map((e) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: e, - child: Text( - colorString(e), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - )) - .toList(), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: _buildLeading(), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_de_DE.json deleted file mode 100644 index 27f63ad39..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 305, - "name": "SliverIgnorePointer", - "localName": "Sliver ignorieren Ereignisse", - "info": "Kann ein Sliver-Widget umhüllen und durch ignoring steuern, ob dieses Sliver-Widget auf Ereignisse reagieren kann.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverIgnorePointer", - "desc": [ - "【sliver】: Sliver-Widget 【Widget】", - "【ignoring】: Ereignisse ignorieren 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_en_US.json deleted file mode 100644 index ca7fcfdba..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 305, - "name": "SliverIgnorePointer", - "localName": "Sliver Ignore Events", - "info": "Can wrap a sliver component, and control whether the sliver component can respond to events through ignoring.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverIgnorePointer", - "desc": [ - "【sliver】: sliver component 【Widget】", - "【ignoring】: whether to ignore events 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_es_ES.json deleted file mode 100644 index f838f0f7b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 305, - "name": "SliverIgnorePointer", - "localName": "Sliver ignorar eventos", - "info": "Puede envolver un componente sliver, y controlar si este componente sliver puede responder a eventos a través de ignoring.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverIgnorePointer", - "desc": [ - "【sliver】: componente sliver 【Widget】", - "【ignoring】: si se ignoran los eventos 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_fr_FR.json deleted file mode 100644 index 5e97cdb64..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 305, - "name": "SliverIgnorePointer", - "localName": "Sliver Ignorer les Événements", - "info": "Peut envelopper un composant sliver, en contrôlant via 'ignoring' si ce composant sliver peut répondre aux événements.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverIgnorePointer", - "desc": [ - "【sliver】 : composant sliver 【Widget】", - "【ignoring】 : ignorer les événements 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_it_IT.json deleted file mode 100644 index a66bb9ddb..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 305, - "name": "SliverIgnorePointer", - "localName": "Sliver ignora eventi", - "info": "Può avvolgere un componente sliver, controllando se il componente sliver può rispondere agli eventi tramite ignoring.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverIgnorePointer", - "desc": [ - "【sliver】: componente sliver 【Widget】", - "【ignoring】: ignora eventi 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_ja_JP.json deleted file mode 100644 index be0974556..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 305, - "name": "SliverIgnorePointer", - "localName": "Sliverイベント無視", - "info": "sliverコンポーネントをラップし、ignoringを使用してそのsliverコンポーネントがイベントに応答するかどうかを制御できます。", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverIgnorePointerの基本使用", - "desc": [ - "【sliver】 : sliverコンポーネント 【Widget】", - "【ignoring】 : イベントを無視するかどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_ko_KR.json deleted file mode 100644 index 44933a44e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 305, - "name": "SliverIgnorePointer", - "localName": "Sliver 이벤트 무시", - "info": "sliver 컴포넌트를 감싸고, ignoring을 통해 해당 sliver 컴포넌트가 이벤트에 반응할지 여부를 제어할 수 있습니다.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverIgnorePointer 기본 사용", - "desc": [ - "【sliver】 : sliver 컴포넌트 【Widget】", - "【ignoring】 : 이벤트 무시 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_pt_PT.json deleted file mode 100644 index 8aba19ebe..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 305, - "name": "SliverIgnorePointer", - "localName": "Sliver Ignorar Eventos", - "info": "Pode envolver um componente sliver, controlando através de ignoring se este componente sliver pode responder a eventos.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SliverIgnorePointer", - "desc": [ - "【sliver】: componente sliver 【Widget】", - "【ignoring】: ignorar eventos 【bool】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_ru_RU.json deleted file mode 100644 index cbe4f7b47..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 305, - "name": "SliverIgnorePointer", - "localName": "Sliver игнорировать события", - "info": "Может обернуть sliver-компонент, и с помощью ignoring контролировать, может ли этот sliver-компонент реагировать на события.", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverIgnorePointer", - "desc": [ - "【sliver】 : sliver-компонент 【Widget】", - "【ignoring】 : игнорировать ли события 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_zh-CN.json deleted file mode 100644 index b3273228a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 305, - "name": "SliverIgnorePointer", - "localName": "Sliver忽略事件", - "info": "可以包裹一个sliver组件,通过ignoring来控制该sliver组件是否可以响应事件。", - "lever": 3, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverIgnorePointer基本使用", - "desc": [ - "【sliver】 : sliver组件 【Widget】", - "【ignoring】 : 是否忽略事件 【bool】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/node1_base.dart deleted file mode 100644 index 28123a777..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverIgnorePointer/node1_base.dart +++ /dev/null @@ -1,151 +0,0 @@ -import 'dart:math'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class SliverIgnorePointerDemo extends StatefulWidget { - const SliverIgnorePointerDemo({Key? key}) : super(key: key); - - @override - _SliverIgnorePointerDemoState createState() => - _SliverIgnorePointerDemoState(); -} - -class _SliverIgnorePointerDemoState extends State { - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - final Random r = Random(); - bool hasScrollBody = false; - bool fillOverscroll = true; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - physics: const BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), - slivers: [ - _buildSliverAppBar(), - _buildSliverList(), - SliverIgnorePointer( - ignoring: true, - sliver: SliverFillRemaining( - hasScrollBody: hasScrollBody, - fillOverscroll: fillOverscroll, - child: Container( - decoration: const BoxDecoration( - image: DecorationImage( - fit: BoxFit.cover, - image: AssetImage("assets/images/sabar_bar.webp"))), - // // color: Colors.teal[100], - child: _buildBottomChild(), - ), - ), - ), - ], - ), - ); - } - - Widget _buildBottomChild() => Align( - alignment: Alignment.bottomCenter, - child: Padding( - padding: const EdgeInsets.all(16.0), - child: Wrap( - spacing: 10, - children: [ - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - ), - onPressed: () { - setState(() { - hasScrollBody = !hasScrollBody; - }); - }, - child: Text('hasScrollBody:$hasScrollBody',style: const TextStyle(color: Colors.white),), - ), - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - ), - onPressed: () { - setState(() { - fillOverscroll = !fillOverscroll; - }); - }, - child: Text('fillOverscroll:$fillOverscroll',style: const TextStyle(color: Colors.white)), - ), - ], - ), - ), - ); - - Widget _buildSliverList() => SliverFixedExtentList( - itemExtent: 50, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 120.0, - leading: Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_de_DE.json deleted file mode 100644 index 77965bcf6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 304, - "name": "SliverLayoutBuilder", - "localName": "Sliver-Layout-Builder", - "info": "Ein Mitglied der Sliver-Familie, das während des Scrollvorgangs durch das zurückgegebene SliverConstraints-Objekt die Konstruktion von Unterkomponenten ermöglicht.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverLayoutBuilder", - "desc": [ - "【builder】 : Komponentenkonstruktor 【SliverLayoutWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_en_US.json deleted file mode 100644 index 92c87ab49..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 304, - "name": "SliverLayoutBuilder", - "localName": "Sliver Layout Builder", - "info": "A member of the Sliver family, which allows the construction of child components through the SliverConstraints object during the scrolling process.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverLayoutBuilder", - "desc": [ - "【builder】: Component Builder 【SliverLayoutWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_es_ES.json deleted file mode 100644 index 9983b1ea1..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 304, - "name": "SliverLayoutBuilder", - "localName": "Constructor de diseño Sliver", - "info": "Miembro de la familia Sliver, que permite la construcción de componentes secundarios a través del objeto SliverConstraints devuelto durante el desplazamiento.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverLayoutBuilder", - "desc": [ - "【builder】: Constructor de componentes 【SliverLayoutWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_fr_FR.json deleted file mode 100644 index eca65d512..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 304, - "name": "SliverLayoutBuilder", - "localName": "Constructeur de mise en page Sliver", - "info": "Membre de la famille Sliver, il permet de construire des composants enfants via l'objet SliverConstraints rappelé pendant le défilement.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverLayoutBuilder", - "desc": [ - "【builder】 : Constructeur de composant 【SliverLayoutWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_it_IT.json deleted file mode 100644 index a2d547f6d..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 304, - "name": "SliverLayoutBuilder", - "localName": "Costruttore di layout Sliver", - "info": "Membro della famiglia Sliver, durante lo scorrimento è possibile costruire i componenti figli utilizzando l'oggetto SliverConstraints restituito dalla callback.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverLayoutBuilder", - "desc": [ - "【builder】 : Costruttore di componenti 【SliverLayoutWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_ja_JP.json deleted file mode 100644 index 26a99a1fa..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 304, - "name": "SliverLayoutBuilder", - "localName": "Sliverレイアウトビルダー", - "info": "Sliverファミリーの一員で、スライド中にコールバックされるSliverConstraintsオブジェクトを使用して子コンポーネントを構築できます。", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverLayoutBuilderの基本使用", - "desc": [ - "【builder】 : コンポーネントビルダー 【SliverLayoutWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_ko_KR.json deleted file mode 100644 index 84a48d73c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 304, - "name": "SliverLayoutBuilder", - "localName": "Sliver 레이아웃 빌더", - "info": "Sliver 패밀리의 일원으로, 스크롤 중에 콜백된 SliverConstraints 객체를 통해 하위 컴포넌트를 구성할 수 있습니다.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverLayoutBuilder 기본 사용", - "desc": [ - "【builder】 : 컴포넌트 빌더 【SliverLayoutWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_pt_PT.json deleted file mode 100644 index 46c083b23..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 304, - "name": "SliverLayoutBuilder", - "localName": "Construtor de Layout Sliver", - "info": "Membro da família Sliver, que permite a construção de componentes filhos através do objeto SliverConstraints retornado durante o deslizamento.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do SliverLayoutBuilder", - "desc": [ - "【builder】 : Construtor de componentes 【SliverLayoutWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_ru_RU.json deleted file mode 100644 index 0daadcdd5..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 304, - "name": "SliverLayoutBuilder", - "localName": "Конструктор макета Sliver", - "info": "Член семейства Sliver, который позволяет создавать дочерние компоненты через объект SliverConstraints, возвращаемый в процессе прокрутки.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverLayoutBuilder", - "desc": [ - "【builder】 : Конструктор компонентов 【SliverLayoutWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_zh-CN.json deleted file mode 100644 index 4e8ad40a2..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 304, - "name": "SliverLayoutBuilder", - "localName": "Sliver布局构造器", - "info": "Sliver家族一员,在滑动过程中可以通过回调出的 SliverConstraints 对象进行子组件的构造。", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 251 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverLayoutBuilder基本使用", - "desc": [ - "【builder】 : 组件构造器 【SliverLayoutWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/node1_base.dart deleted file mode 100644 index 88ec65aa6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverLayoutBuilder/node1_base.dart +++ /dev/null @@ -1,117 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; - - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class SliverLayoutBuilderDemo extends StatefulWidget { - const SliverLayoutBuilderDemo({Key? key}) : super(key: key); - - @override - _SliverLayoutBuilderDemoState createState() => - _SliverLayoutBuilderDemoState(); -} - -class _SliverLayoutBuilderDemoState extends State { - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - physics: const BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()), - slivers: [ - _buildSliverAppBar(), - SliverLayoutBuilder( - builder: _buildSliver, - ), - _buildSliverList(), - ], - ), - ); - } - - Widget _buildSliverList() => SliverFixedExtentList( - itemExtent: 50, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 120.0, - leading: Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - - Widget _buildSliver(BuildContext context, SliverConstraints constraints) { - return SliverToBoxAdapter( - child: Container( - alignment: Alignment.center, - height: constraints.remainingPaintExtent / 3, - color: Colors.red, - child: const Text( - "SliverLayoutBuilder", - style: TextStyle(color: Colors.white, fontSize: 20), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverList/desc_de_DE.json deleted file mode 100644 index e55576cb8..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 185, - "name": "SliverList", - "localName": "Sliver-Liste", - "info": "Eine Listenkomponente der Sliver-Familie, die durch die Angabe eines Delegaten Unterkomponenten erstellt. Wird normalerweise in CustomScrollView verwendet.", - "lever": 5, - "family": 4, - "linkIds": [ - 183, - 186, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverList", - "desc": [ - "【delegate】 : Kinderdelegierter 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverList/desc_en_US.json deleted file mode 100644 index 74c968487..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 185, - "name": "SliverList", - "localName": "Sliver List", - "info": "A list component of the Sliver family, which constructs child components by specifying a delegate. It is commonly used in CustomScrollView.", - "lever": 5, - "family": 4, - "linkIds": [ - 183, - 186, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverList", - "desc": [ - "【delegate】: Child delegate 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverList/desc_es_ES.json deleted file mode 100644 index 4be4dda9c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 185, - "name": "SliverList", - "localName": "Lista Sliver", - "info": "Componente de lista de la familia Sliver, que construye subcomponentes especificando un delegate. Normalmente se utiliza en CustomScrollView.", - "lever": 5, - "family": 4, - "linkIds": [ - 183, - 186, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverList", - "desc": [ - "【delegate】 : Delegado de hijos 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverList/desc_fr_FR.json deleted file mode 100644 index 81be999c3..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 185, - "name": "SliverList", - "localName": "Liste Sliver", - "info": "Composant de liste de la famille Sliver, qui construit des sous-composants en spécifiant un délégué. Généralement utilisé dans CustomScrollView.", - "lever": 5, - "family": 4, - "linkIds": [ - 183, - 186, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverList", - "desc": [ - "【delegate】 : délégué des enfants 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverList/desc_it_IT.json deleted file mode 100644 index d5cda55ea..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 185, - "name": "SliverList", - "localName": "Lista Sliver", - "info": "Componente lista della famiglia Sliver, che costruisce i componenti figli specificando un delegate. Comunemente utilizzato in CustomScrollView.", - "lever": 5, - "family": 4, - "linkIds": [ - 183, - 186, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverList", - "desc": [ - "【delegate】 : delegato dei figli 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverList/desc_ja_JP.json deleted file mode 100644 index 952207b9a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 185, - "name": "SliverList", - "localName": "Sliverリスト", - "info": "Sliverファミリーのリストコンポーネントで、delegateを指定して子コンポーネントを構築します。通常、CustomScrollViewで使用されます。", - "lever": 5, - "family": 4, - "linkIds": [ - 183, - 186, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverListの基本使用", - "desc": [ - "【delegate】 : 子デリゲート 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverList/desc_ko_KR.json deleted file mode 100644 index ab539a54b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 185, - "name": "SliverList", - "localName": "Sliver 리스트", - "info": "Sliver 패밀리의 리스트 컴포넌트로, delegate를 지정하여 자식 컴포넌트를 구성합니다. 주로 CustomScrollView에서 사용됩니다.", - "lever": 5, - "family": 4, - "linkIds": [ - 183, - 186, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverList 기본 사용", - "desc": [ - "【delegate】 : 자식 대리 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverList/desc_pt_PT.json deleted file mode 100644 index e5dbe650e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 185, - "name": "SliverList", - "localName": "Lista Sliver", - "info": "Componente de lista da família Sliver, que constrói subcomponentes especificando um delegate. Normalmente usado em CustomScrollView.", - "lever": 5, - "family": 4, - "linkIds": [ - 183, - 186, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do SliverList", - "desc": [ - "【delegate】 : Delegado de filhos 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverList/desc_ru_RU.json deleted file mode 100644 index 0aed51200..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 185, - "name": "SliverList", - "localName": "Список Sliver", - "info": "Компонент списка семейства Sliver, который создает дочерние элементы через указанный делегат. Обычно используется в CustomScrollView.", - "lever": 5, - "family": 4, - "linkIds": [ - 183, - 186, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverList", - "desc": [ - "【delegate】 : Дочерний делегат 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverList/desc_zh-CN.json deleted file mode 100644 index 6b776f337..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 185, - "name": "SliverList", - "localName": "Sliver列表", - "info": "Sliver家族的列表组件,通过指定delegate构造子组件。通常用于CustomScrollView中。", - "lever": 5, - "family": 4, - "linkIds": [ - 183, - 186, - 187 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverList基本使用", - "desc": [ - "【delegate】 : 孩子代理 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverList/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverList/node1_base.dart deleted file mode 100644 index ea903dca2..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverList/node1_base.dart +++ /dev/null @@ -1,89 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class SliverListDemo extends StatelessWidget { - const SliverListDemo({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [_buildSliverAppBar(), _buildSliverList()], - ), - ); - } - - Widget _buildSliverList() => SliverList( - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: _buildLeading(), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_de_DE.json deleted file mode 100644 index b7417fa72..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 268, - "name": "SliverMainAxisGroup", - "localName": "Hauptachsen-Sliver-Gruppe", - "info": "Kann mehrere Sliver-Komponenten aufnehmen, die in der gleitenden Hauptachsenrichtung als Gruppe behandelt werden.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Grundlegende Verwendung von SliverMainAxisGroup", - "desc": [ - "【slivers】 : Liste der Unterkomponenten 【List】", - "Kann mit SliverPersistentHeader kombiniert werden, um Gruppierungen und den Effekt von fixierten Überschriften zu erzielen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_en_US.json deleted file mode 100644 index 8478aa50b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 268, - "name": "SliverMainAxisGroup", - "localName": "Main Axis Sliver Group", - "info": "Can accommodate multiple Sliver components, treating them as a group in the sliding main axis direction.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Basic Usage of SliverMainAxisGroup", - "desc": [ - "【slivers】: List of child components 【List】", - "Can be combined with SliverPersistentHeader to achieve grouping and sticky header effects." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_es_ES.json deleted file mode 100644 index 8665856fa..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 268, - "name": "SliverMainAxisGroup", - "localName": "Grupo de deslizamiento del eje principal", - "info": "Puede contener múltiples componentes Sliver, permitiendo que se consideren como un grupo en la dirección del eje principal de desplazamiento.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso básico de SliverMainAxisGroup", - "desc": [ - "【slivers】 : Lista de componentes hijos 【List】", - "Se puede combinar con SliverPersistentHeader para lograr un efecto de agrupación y fijación de títulos en la parte superior." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_fr_FR.json deleted file mode 100644 index 7a5206ece..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 268, - "name": "SliverMainAxisGroup", - "localName": "Groupe d'axe principal glissant", - "info": "Peut contenir plusieurs composants Sliver, les considérant comme un groupe dans la direction de l'axe principal de défilement.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation de base de SliverMainAxisGroup", - "desc": [ - "【slivers】 : Liste des composants enfants 【List】", - "Peut être combiné avec SliverPersistentHeader pour réaliser un effet de regroupement et de fixation du titre en haut." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_it_IT.json deleted file mode 100644 index 776ae341b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 268, - "name": "SliverMainAxisGroup", - "localName": "Gruppo di Sliver sull'Asse Principale", - "info": "Può contenere più componenti Sliver, trattandoli come un gruppo nella direzione di scorrimento dell'asse principale.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso di base di SliverMainAxisGroup", - "desc": [ - "【slivers】 : Lista dei componenti figli 【List】", - "Può essere combinato con SliverPersistentHeader per realizzare raggruppamenti e l'effetto di titolo fisso in cima." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_ja_JP.json deleted file mode 100644 index 046878ed1..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 268, - "name": "SliverMainAxisGroup", - "localName": "主軸スライダーグループ", - "info": "複数のSliverコンポーネントを収容し、それらをスクロールする主軸方向で一つのグループとして扱うことができます。", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverMainAxisGroup 基本使用", - "desc": [ - "【slivers】 : 子コンポーネントリスト 【List】", - "SliverPersistentHeaderと組み合わせて、グループ化やタイトルの吸着効果を実現できます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_ko_KR.json deleted file mode 100644 index 590367abe..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 268, - "name": "SliverMainAxisGroup", - "localName": "주축 슬라이더 그룹", - "info": "여러 개의 Sliver 컴포넌트를 수용할 수 있으며, 스크롤하는 주축 방향에서 하나의 그룹으로 간주됩니다.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverMainAxisGroup 기본 사용법", - "desc": [ - "【slivers】 : 자식 컴포넌트 리스트 【List】", - "SliverPersistentHeader와 결합하여 그룹화 및 제목 고정 효과를 구현할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_pt_PT.json deleted file mode 100644 index ba26253b6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 268, - "name": "SliverMainAxisGroup", - "localName": "Grupo de Slides do Eixo Principal", - "info": "Pode conter vários componentes Sliver, permitindo que sejam tratados como um grupo na direção do eixo de deslizamento.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso Básico do SliverMainAxisGroup", - "desc": [ - "【slivers】 : Lista de componentes filhos 【List】", - "Pode ser combinado com SliverPersistentHeader para alcançar efeitos de agrupamento e fixação de títulos no topo." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_ru_RU.json deleted file mode 100644 index 5b8092840..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 268, - "name": "SliverMainAxisGroup", - "localName": "Группа слайдеров главной оси", - "info": "Может содержать несколько компонентов Sliver, позволяя рассматривать их как группу в направлении скольжения главной оси.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Основное использование SliverMainAxisGroup", - "desc": [ - "【slivers】 : Список дочерних компонентов 【List】", - "Может использоваться в сочетании с SliverPersistentHeader для реализации группировки и эффекта прилипания заголовка." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_zh-CN.json deleted file mode 100644 index 7abcc8f92..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 268, - "name": "SliverMainAxisGroup", - "localName": "主轴滑片组", - "info": "可以容纳多个 Sliver 组件,让它们在滑动的主轴方向上视为一组。", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "SliverMainAxisGroup 基本使用", - "desc": [ - "【slivers】 : 子组件列表 【List】", - "可结合 SliverPersistentHeader 实现分组,标题吸顶效果。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/node1.dart b/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/node1.dart deleted file mode 100644 index 5675f9e07..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverMainAxisGroup/node1.dart +++ /dev/null @@ -1,95 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/8/18 -/// contact me by email 1981462002@qq.com - -class ItemData { - final String groupName; - final List users; - - ItemData({required this.groupName, this.users = const []}); - - static List get testData => [ - ItemData(groupName: '幻将术士', users: ['梦小梦', '梦千']), - ItemData( - groupName: '幻将剑客', users: ['捷特', '龙少', '莫向阳', '何解连', '浪封', '梦飞烟']), - ItemData(groupName: '幻将弓者', users: ['巫缨', '巫妻孋', '摄王', '裔王', '梦童']), - ItemData( - groupName: '其他', users: List.generate(20, (index) => '小兵$index')), - ]; -} - -class SliverMainAxisGroupDemo extends StatelessWidget{ - const SliverMainAxisGroupDemo({super.key}); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: ItemData.testData.map(_buildGroup).toList(), - ), - ); - } - - Widget _buildGroup(ItemData itemData) { - return SliverMainAxisGroup(slivers: [ - SliverPersistentHeader( - pinned: true, - delegate: _HeaderDelegate(itemData.groupName), - ), - SliverList( - // tag2 - delegate: SliverChildBuilderDelegate( - (_, index) => _buildItemByUser(itemData.users[index]), - childCount: itemData.users.length, - ), - ), - ]); - } - - Widget _buildItemByUser(String user) { - return Container( - alignment: Alignment.center, - height: 56, - child: Row( - children: [ - const Padding( - padding: EdgeInsets.only(left: 20, right: 10.0), - child: FlutterLogo(size: 30), - ), - Text( - user, - style: const TextStyle(fontSize: 16), - ), - ], - ), - ); - } -} - -class _HeaderDelegate extends SliverPersistentHeaderDelegate { - const _HeaderDelegate(this.title); - - final String title; - - @override - Widget build( - BuildContext context, double shrinkOffset, bool overlapsContent) { - return Container( - alignment: Alignment.centerLeft, - color: const Color(0xffF6F6F6), - padding: const EdgeInsets.only(left: 20), - height: 40, - child: Text(title)); - } - - @override - double get maxExtent => minExtent; - - @override - double get minExtent => 40; - - @override - bool shouldRebuild(covariant _HeaderDelegate oldDelegate) => title!=oldDelegate.title; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_de_DE.json deleted file mode 100644 index 50b283d3b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 192, - "name": "SliverOpacity", - "localName": "Sliver Transparenz", - "info": "Kann ein Kindelement der Sliver-Familie aufnehmen und die Transparenz des Kindelements durch opacity angeben.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverOpacity", - "desc": [ - "【opacity】 : Transparenz 【double】", - "【sliver】 : Kindelement 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_en_US.json deleted file mode 100644 index a3d1e34e7..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 192, - "name": "SliverOpacity", - "localName": "Sliver Opacity", - "info": "Can accommodate a child component of the Sliver family and specify the opacity of the child component through opacity.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverOpacity", - "desc": [ - "【opacity】: Opacity 【double】", - "【sliver】: Child Component 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_es_ES.json deleted file mode 100644 index 1a4aac8d1..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 192, - "name": "SliverOpacity", - "localName": "Opacidad de Sliver", - "info": "Puede contener un componente hijo de la familia Sliver y especificar la opacidad del componente hijo a través de opacity.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverOpacity", - "desc": [ - "【opacity】 : Opacidad 【double】", - "【sliver】 : Componente hijo 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_fr_FR.json deleted file mode 100644 index 626274032..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 192, - "name": "SliverOpacity", - "localName": "Opacité de Sliver", - "info": "Peut contenir un composant enfant de la famille Sliver et spécifier l'opacité du composant enfant via opacity.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverOpacity", - "desc": [ - "【opacity】 : opacité 【double】", - "【sliver】 : composant enfant 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_it_IT.json deleted file mode 100644 index 25668b4c4..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 192, - "name": "SliverOpacity", - "localName": "Opacità Sliver", - "info": "Può contenere un componente figlio della famiglia Sliver e specificare l'opacità del componente figlio tramite opacity.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverOpacity", - "desc": [ - "【opacity】 : opacità 【double】", - "【sliver】 : componente figlio 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_ja_JP.json deleted file mode 100644 index ff4b4bcb1..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 192, - "name": "SliverOpacity", - "localName": "Sliver透明度", - "info": "Sliverファミリーの子コンポーネントを収容でき、opacityを通じて子コンポーネントの透明度を指定できます。", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverOpacityの基本使用", - "desc": [ - "【opacity】 : 透明度 【double】", - "【sliver】 : 子コンポーネント 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_ko_KR.json deleted file mode 100644 index 09c331943..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 192, - "name": "SliverOpacity", - "localName": "Sliver 투명도", - "info": "Sliver 계열의 자식 위젯을 포함할 수 있으며, opacity를 통해 자식 위젯의 투명도를 지정할 수 있습니다.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverOpacity 기본 사용", - "desc": [ - "【opacity】 : 투명도 【double】", - "【sliver】 : 자식 위젯 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_pt_PT.json deleted file mode 100644 index 4f9e76ef5..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 192, - "name": "SliverOpacity", - "localName": "Opacidade Sliver", - "info": "Pode acomodar um componente filho da família Sliver e especificar a opacidade do componente filho através de opacity.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do SliverOpacity", - "desc": [ - "【opacity】 : opacidade 【double】", - "【sliver】 : componente filho 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_ru_RU.json deleted file mode 100644 index ca602737c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 192, - "name": "SliverOpacity", - "localName": "Прозрачность Sliver", - "info": "Может содержать дочерний компонент из семейства Sliver и указывать прозрачность дочернего компонента через opacity.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverOpacity", - "desc": [ - "【opacity】 : прозрачность 【double】", - "【sliver】 : дочерний компонент 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_zh-CN.json deleted file mode 100644 index 7aa31a0b9..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 192, - "name": "SliverOpacity", - "localName": "Sliver透明度", - "info": "可容纳一个Sliver家族的子组件,并通过opacity来指定子组件的透明度。", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverOpacity基本使用", - "desc": [ - "【opacity】 : 透明度 【double】", - "【sliver】 : 子组件 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverOpacity/node1_base.dart deleted file mode 100644 index 209d76299..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOpacity/node1_base.dart +++ /dev/null @@ -1,87 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class SliverOpacityDemo extends StatelessWidget { - const SliverOpacityDemo({super.key}); - - List get data => List.generate(128, (i) => Color(0xFF6600FF - 2 * i)); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [ - _buildSliverAppBar(), - SliverPadding( - padding: const EdgeInsets.only(top: 10), - sliver: SliverOpacity(opacity: 0.2, sliver: _buildSliverGrid())) - ], - ), - ); - } - - Widget _buildSliverGrid() => SliverGrid.extent( - childAspectRatio: 1 / 0.618, - maxCrossAxisExtent: 180, - crossAxisSpacing: 5, - mainAxisSpacing: 5, - children: data - .map((e) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: e, - child: Text( - colorString(e), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - )) - .toList(), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: _buildLeading(), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_de_DE.json deleted file mode 100644 index 8067bd074..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 307, - "name": "SliverOverlapAbsorber", - "localName": "Überlappungsabsorber", - "info": "Wickelt einen anderen Sliver ein und zwingt ihn, seinen Layoutbereich als überlappend zu betrachten. Muss in Verbindung mit SliverOverlapInjector verwendet werden.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 308 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverOverlapAbsorber", - "desc": [ - "【sliver】 : Untergeordnete Komponente 【Widget】", - "【handle】 : *Handler 【SliverOverlapAbsorberHandle】", - "Wenn die Komponenten SliverOverlapAbsorber und SliverOverlapInjector nicht verwendet werden, überlappt der Inhalt von NestedScrollView die Kopfleiste." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_en_US.json deleted file mode 100644 index b582af345..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 307, - "name": "SliverOverlapAbsorber", - "localName": "Overlap Absorber", - "info": "Wraps another sliver and forces its layout extent to be treated as overlapping. Needs to be used in conjunction with SliverOverlapInjector.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 308 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverOverlapAbsorber", - "desc": [ - "【sliver】 : Child component 【Widget】", - "【handle】 : *Handler 【SliverOverlapAbsorberHandle】", - "If the SliverOverlapAbsorber and SliverOverlapInjector components are not used, the content of the NestedScrollView will overlap with the header bar." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_es_ES.json deleted file mode 100644 index b04a0462e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 307, - "name": "SliverOverlapAbsorber", - "localName": "Absorbedor de superposición", - "info": "Envuelve otro sliver y fuerza a que su rango de diseño sea considerado como superposición. Debe usarse junto con SliverOverlapInjector.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 308 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverOverlapAbsorber", - "desc": [ - "【sliver】 : Componente hijo 【Widget】", - "【handle】 : *Manejador 【SliverOverlapAbsorberHandle】", - "Si no se utilizan los componentes SliverOverlapAbsorber y SliverOverlapInjector, el contenido de NestedScrollView se superpondrá con la barra de encabezado." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_fr_FR.json deleted file mode 100644 index 11f241768..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 307, - "name": "SliverOverlapAbsorber", - "localName": "Absorbeur de chevauchement", - "info": "Enveloppe un autre sliver et force sa plage de disposition à être considérée comme un chevauchement. Doit être utilisé avec SliverOverlapInjector.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 308 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverOverlapAbsorber", - "desc": [ - "【sliver】 : Composant enfant 【Widget】", - "【handle】 : *Gestionnaire 【SliverOverlapAbsorberHandle】", - "Si vous n'utilisez pas les composants SliverOverlapAbsorber et SliverOverlapInjector, le contenu de NestedScrollView se chevauchera avec la barre d'en-tête." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_it_IT.json deleted file mode 100644 index 621213c43..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 307, - "name": "SliverOverlapAbsorber", - "localName": "Assorbitore di Sovrapposizione", - "info": "Avvolge un altro sliver e costringe la sua area di layout a essere considerata sovrapposta. Deve essere utilizzato insieme a SliverOverlapInjector.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 308 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di SliverOverlapAbsorber", - "desc": [ - "【sliver】 : Componente figlio 【Widget】", - "【handle】 : *Gestore 【SliverOverlapAbsorberHandle】", - "Se non si utilizzano i componenti SliverOverlapAbsorber e SliverOverlapInjector, il contenuto di NestedScrollView si sovrapporrà alla barra dell'intestazione." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_ja_JP.json deleted file mode 100644 index 698bb492a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 307, - "name": "SliverOverlapAbsorber", - "localName": "オーバーラップアブソーバー", - "info": "別のsliverをラップし、そのレイアウト範囲をオーバーラップとして扱うように強制します。SliverOverlapInjectorと一緒に使用する必要があります。", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 308 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverOverlapAbsorberの基本的な使用法", - "desc": [ - "【sliver】 : 子コンポーネント 【Widget】", - "【handle】 : *ハンドラ 【SliverOverlapAbsorberHandle】", - "SliverOverlapAbsorberとSliverOverlapInjectorコンポーネントを使用しない場合、NestedScrollViewの内容がヘッダーバーと重なります。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_ko_KR.json deleted file mode 100644 index 7181ed393..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 307, - "name": "SliverOverlapAbsorber", - "localName": "겹침 흡수기", - "info": "다른 sliver를 감싸고, 그 레이아웃 범위가 겹치는 것으로 간주되도록 강제합니다. SliverOverlapInjector와 함께 사용해야 합니다.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 308 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverOverlapAbsorber 기본 사용", - "desc": [ - "【sliver】 : 자식 위젯 【Widget】", - "【handle】 *핸들러 【SliverOverlapAbsorberHandle】", - "SliverOverlapAbsorber와 SliverOverlapInjector 컴포넌트를 사용하지 않으면, NestedScrollView의 내용이 헤더 바와 겹치게 됩니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_pt_PT.json deleted file mode 100644 index 2fd274d6b..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 307, - "name": "SliverOverlapAbsorber", - "localName": "Absorvedor de Sobreposição", - "info": "Envolve outro sliver e força que o seu alcance de layout seja considerado sobreposto. Precisa ser usado em conjunto com o SliverOverlapInjector.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 308 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SliverOverlapAbsorber", - "desc": [ - "【sliver】 : Componente filho 【Widget】", - "【handle】 : *Manipulador 【SliverOverlapAbsorberHandle】", - "Se os componentes SliverOverlapAbsorber e SliverOverlapInjector não forem usados, o conteúdo do NestedScrollView sobreporá a barra de cabeçalho." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_ru_RU.json deleted file mode 100644 index c7b565f77..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 307, - "name": "SliverOverlapAbsorber", - "localName": "Поглотитель перекрытия", - "info": "Обертывает другой sliver и заставляет его область макета считаться перекрывающейся. Необходимо использовать вместе с SliverOverlapInjector.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 308 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverOverlapAbsorber", - "desc": [ - "【sliver】 : Дочерний компонент 【Widget】", - "【handle】 : *Обработчик 【SliverOverlapAbsorberHandle】", - "Если не использовать компоненты SliverOverlapAbsorber и SliverOverlapInjector, содержимое NestedScrollView будет перекрываться с заголовком." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_zh-CN.json deleted file mode 100644 index 7ced33556..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 307, - "name": "SliverOverlapAbsorber", - "localName": "重叠吸收器", - "info": "包裹另一个的sliver,并迫使其布局范围被视为重叠。需要和SliverOverlapInjector联用。", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 308 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverOverlapAbsorber基本使用", - "desc": [ - "【sliver】 : 子组件 【Widget】", - "【handle】 : *处理器 【SliverOverlapAbsorberHandle】", - "如果不使用SliverOverlapAbsorber和SliverOverlapInjector组件,NestedScrollView的内容会和头部栏重叠。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/node1_base.dart deleted file mode 100644 index 5373277fd..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapAbsorber/node1_base.dart +++ /dev/null @@ -1,92 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/6/16 -/// contact me by email 1981462002@qq.com - - -class SliverOverlapAbsorberDemo extends StatelessWidget { - const SliverOverlapAbsorberDemo({Key? key}) : super(key: key); - - final List _tabs = const ['风神传', '封妖志', "幻将录", "永恒传说"]; - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height - 200, - child: Scaffold( - body: DefaultTabController( - length: _tabs.length, - child: NestedScrollView( - headerSliverBuilder: - (BuildContext context, bool innerBoxIsScrolled) { - return [ - SliverOverlapAbsorber( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), - sliver: SliverAppBar( - title: const Text('旷古奇书'), - pinned: true, - elevation: 6, //影深 - expandedHeight: 220.0, - forceElevated: innerBoxIsScrolled, //为true时展开有阴影 - flexibleSpace: FlexibleSpaceBar( - background: Image.asset( - "assets/images/wy_300x200_filter.webp", - fit: BoxFit.cover, - ), - ), - bottom: TabBar( - tabs: _tabs - .map((String name) => Tab(text: name,)) - .toList(), - ), - ), - ), - ]; - }, - body: _buildTabBarView(), - ), - ), - )); - } - - Widget _buildTabBarView() { - return TabBarView( - children: _tabs.map((String name) { - return SafeArea( - top: false, - bottom: false, - child: Builder( - builder: (BuildContext context) { - return CustomScrollView( - key: PageStorageKey(name), - slivers: [ - SliverOverlapInjector( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor( - context), - ), - buildContent(name), - ], - ); - }, - ), - ); - }).toList(), - ); - } - - Widget buildContent(String name) => SliverPadding( - padding: const EdgeInsets.all(8.0), - sliver: SliverFixedExtentList( - itemExtent: 48.0, - delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { - return ListTile( - title: Text('《$name》 第 $index章'), - ); - }, - childCount: 50, - ), - ), - ); -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_de_DE.json deleted file mode 100644 index 50ef4e3fb..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 308, - "name": "SliverOverlapInjector", - "localName": "Überlappungsinjektor", - "info": "Ein Sliver, der in Verbindung mit SliverOverlapAbsorber verwendet werden muss, um Überlappungsprobleme in der Ansicht zu behandeln.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 307 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverOverlapInjector", - "desc": [ - "【sliver】 : Untergeordnete Komponente 【Widget】", - "【handle】 : *Handler 【SliverOverlapAbsorberHandle】", - "Wenn die Komponenten SliverOverlapAbsorber und SliverOverlapInjector nicht verwendet werden, überlappt der Inhalt von NestedScrollView die Kopfleiste." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_en_US.json deleted file mode 100644 index f942f82a6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 308, - "name": "SliverOverlapInjector", - "localName": "Overlap Injector", - "info": "A sliver that needs to be used with SliverOverlapAbsorber to handle view overlap issues.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 307 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverOverlapInjector", - "desc": [ - "【sliver】 : Child component 【Widget】", - "【handle】 : *Handler 【SliverOverlapAbsorberHandle】", - "If the SliverOverlapAbsorber and SliverOverlapInjector components are not used, the content of the NestedScrollView will overlap with the header bar." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_es_ES.json deleted file mode 100644 index e8189dc5c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 308, - "name": "SliverOverlapInjector", - "localName": "Inyector de superposición", - "info": "Un sliver que debe usarse junto con SliverOverlapAbsorber para manejar problemas de superposición de vistas.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 307 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverOverlapInjector", - "desc": [ - "【sliver】 : componente hijo 【Widget】", - "【handle】 : *manejador 【SliverOverlapAbsorberHandle】", - "Si no se utilizan los componentes SliverOverlapAbsorber y SliverOverlapInjector, el contenido de NestedScrollView se superpondrá con la barra de encabezado." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_fr_FR.json deleted file mode 100644 index 49fdcb177..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 308, - "name": "SliverOverlapInjector", - "localName": "Injecteur de chevauchement", - "info": "Un sliver, doit être utilisé conjointement avec SliverOverlapAbsorber pour gérer les problèmes de chevauchement de vues.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 307 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverOverlapInjector", - "desc": [ - "【sliver】 : Composant enfant 【Widget】", - "【handle】 : *Gestionnaire 【SliverOverlapAbsorberHandle】", - "Si les composants SliverOverlapAbsorber et SliverOverlapInjector ne sont pas utilisés, le contenu de NestedScrollView chevauchera la barre d'en-tête." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_it_IT.json deleted file mode 100644 index 88185fd05..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 308, - "name": "SliverOverlapInjector", - "localName": "Iniettore di sovrapposizione", - "info": "Uno sliver, deve essere utilizzato insieme a SliverOverlapAbsorber per gestire il problema della sovrapposizione delle viste.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 307 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverOverlapInjector", - "desc": [ - "【sliver】 : Componente figlio 【Widget】", - "【handle】 : *Processore 【SliverOverlapAbsorberHandle】", - "Se non si utilizzano i componenti SliverOverlapAbsorber e SliverOverlapInjector, il contenuto di NestedScrollView si sovrapporrà alla barra dell'intestazione." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_ja_JP.json deleted file mode 100644 index 5a2a19af5..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 308, - "name": "SliverOverlapInjector", - "localName": "オーバーラップインジェクター", - "info": "Sliverで、SliverOverlapAbsorberと一緒に使用する必要があり、ビューのオーバーラップ問題を処理します。", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 307 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverOverlapInjectorの基本使用", - "desc": [ - "【sliver】 : 子コンポーネント 【Widget】", - "【handle】 : *プロセッサ 【SliverOverlapAbsorberHandle】", - "SliverOverlapAbsorberとSliverOverlapInjectorコンポーネントを使用しない場合、NestedScrollViewの内容はヘッダーバーと重なります。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_ko_KR.json deleted file mode 100644 index 8154e4107..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 308, - "name": "SliverOverlapInjector", - "localName": "겹침 인젝터", - "info": "SliverOverlapAbsorber와 함께 사용해야 하는 sliver로, 뷰 겹침 문제를 처리합니다.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 307 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverOverlapInjector 기본 사용법", - "desc": [ - "【sliver】 : 자식 컴포넌트 【Widget】", - "【handle】 : *처리기 【SliverOverlapAbsorberHandle】", - "SliverOverlapAbsorber와 SliverOverlapInjector 컴포넌트를 사용하지 않으면, NestedScrollView의 내용이 헤더 바와 겹칩니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_pt_PT.json deleted file mode 100644 index 2aad85e08..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 308, - "name": "SliverOverlapInjector", - "localName": "Injector de Sobreposição", - "info": "Um sliver que precisa ser usado em conjunto com o SliverOverlapAbsorber para lidar com problemas de sobreposição de visualizações.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 307 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SliverOverlapInjector", - "desc": [ - "【sliver】 : Componente Filho 【Widget】", - "【handle】 : *Manipulador 【SliverOverlapAbsorberHandle】", - "Se os componentes SliverOverlapAbsorber e SliverOverlapInjector não forem usados, o conteúdo do NestedScrollView irá sobrepor-se à barra do cabeçalho." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_ru_RU.json deleted file mode 100644 index 7becb227d..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 308, - "name": "SliverOverlapInjector", - "localName": "Инжектор перекрытия", - "info": "Sliver, который необходимо использовать вместе с SliverOverlapAbsorber для решения проблемы перекрытия представлений.", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 307 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverOverlapInjector", - "desc": [ - "【sliver】 : Дочерний компонент 【Widget】", - "【handle】 : *Обработчик 【SliverOverlapAbsorberHandle】", - "Если не использовать компоненты SliverOverlapAbsorber и SliverOverlapInjector, содержимое NestedScrollView будет перекрываться с заголовком." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_zh-CN.json deleted file mode 100644 index 519e019d5..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 308, - "name": "SliverOverlapInjector", - "localName": "重叠注射器", - "info": "一个sliver,需要和SliverOverlapAbsorber联用,处理视图重叠问题。", - "lever": 3, - "family": 4, - "linkIds": [ - 251, - 307 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverOverlapInjector基本使用", - "desc": [ - "【sliver】 : 子组件 【Widget】", - "【handle】 : *处理器 【SliverOverlapAbsorberHandle】", - "如果不使用SliverOverlapAbsorber和SliverOverlapInjector组件,NestedScrollView的内容会和头部栏重叠。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/node1_base.dart deleted file mode 100644 index 51daa157a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverOverlapInjector/node1_base.dart +++ /dev/null @@ -1,92 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/6/16 -/// contact me by email 1981462002@qq.com - - -class SliverOverlapInjectorDemo extends StatelessWidget { - const SliverOverlapInjectorDemo({Key? key}) : super(key: key); - - final List _tabs = const ['风神传', '封妖志', "幻将录", "永恒传说"]; - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height - 200, - child: Scaffold( - body: DefaultTabController( - length: _tabs.length, - child: NestedScrollView( - headerSliverBuilder: - (BuildContext context, bool innerBoxIsScrolled) { - return [ - SliverOverlapAbsorber( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), - sliver: SliverAppBar( - title: const Text('旷古奇书'), - pinned: true, - elevation: 6, //影深 - expandedHeight: 220.0, - forceElevated: innerBoxIsScrolled, //为true时展开有阴影 - flexibleSpace: FlexibleSpaceBar( - background: Image.asset( - "assets/images/wy_300x200_filter.webp", - fit: BoxFit.cover, - ), - ), - bottom: TabBar( - tabs: _tabs - .map((String name) => Tab(text: name,)) - .toList(), - ), - ), - ), - ]; - }, - body: _buildTabBarView(), - ), - ), - )); - } - - Widget _buildTabBarView() { - return TabBarView( - children: _tabs.map((String name) { - return SafeArea( - top: false, - bottom: false, - child: Builder( - builder: (BuildContext context) { - return CustomScrollView( - key: PageStorageKey(name), - slivers: [ - SliverOverlapInjector( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor( - context), - ), - buildContent(name), - ], - ); - }, - ), - ); - }).toList(), - ); - } - - Widget buildContent(String name) => SliverPadding( - padding: const EdgeInsets.all(8.0), - sliver: SliverFixedExtentList( - itemExtent: 48.0, - delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { - return ListTile( - title: Text('《$name》 第 $index章'), - ); - }, - childCount: 50, - ), - ), - ); -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_de_DE.json deleted file mode 100644 index 0baed1144..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 191, - "name": "SliverPadding", - "localName": "Sliver Innenabstand", - "info": "Kann ein untergeordnetes Element der Sliver-Familie aufnehmen, fügt einen eigenen Innenabstand hinzu, um die Platzierung des untergeordneten Elements zu begrenzen, wobei padding die Kern-Eigenschaft ist.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverPadding", - "desc": [ - "【sliver】 : Untergeordnetes Element 【Widget】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_en_US.json deleted file mode 100644 index 0907c91a8..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 191, - "name": "SliverPadding", - "localName": "Sliver Padding", - "info": "Can accommodate a child component of the Sliver family, adding its own padding to limit the placement of the child component, with the core property being padding.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverPadding", - "desc": [ - "【sliver】: Child component 【Widget】", - "【padding】: Padding 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_es_ES.json deleted file mode 100644 index f30d98971..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 191, - "name": "SliverPadding", - "localName": "Relleno interno de Sliver", - "info": "Puede contener un componente hijo de la familia Sliver, añadiendo su propio relleno interno para limitar el espacio ocupado por el componente hijo, la propiedad principal es padding.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverPadding", - "desc": [ - "【sliver】 : Componente hijo 【Widget】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_fr_FR.json deleted file mode 100644 index 801d55e6c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 191, - "name": "SliverPadding", - "localName": "Espacement intérieur de Sliver", - "info": "Peut contenir un composant enfant de la famille Sliver, ajoute sa propre marge intérieure pour limiter l'emplacement du composant enfant, la propriété principale étant padding.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverPadding", - "desc": [ - "【sliver】 : Composant enfant 【Widget】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_it_IT.json deleted file mode 100644 index 2e02d440a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 191, - "name": "SliverPadding", - "localName": "Spaziatura interna Sliver", - "info": "Può contenere un componente figlio della famiglia Sliver, aggiungendo il proprio padding interno per limitare il posizionamento del componente figlio, la proprietà principale è padding.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di SliverPadding", - "desc": [ - "【sliver】 : Componente figlio 【Widget】", - "【padding】 : Padding interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_ja_JP.json deleted file mode 100644 index ce93600bd..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 191, - "name": "SliverPadding", - "localName": "Sliver内間隔", - "info": "Sliverファミリーの子コンポーネントを収容し、自身の内側の余白を追加して子コンポーネントの占める位置を制限します。コア属性はpaddingです。", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverPaddingの基本使用", - "desc": [ - "【sliver】 : 子コンポーネント 【Widget】", - "【padding】 : 内側の余白 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_ko_KR.json deleted file mode 100644 index fa541f023..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 191, - "name": "SliverPadding", - "localName": "Sliver 내부 여백", - "info": "Sliver 가족의 하위 구성 요소를 수용할 수 있으며, 자체 내부 여백을 추가하여 자식 구성 요소의 위치를 제한합니다. 핵심 속성은 padding입니다.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverPadding 기본 사용", - "desc": [ - "【sliver】 : 하위 구성 요소 【Widget】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_pt_PT.json deleted file mode 100644 index 840c02b56..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 191, - "name": "SliverPadding", - "localName": "Espaçamento interno do Sliver", - "info": "Pode acomodar um componente filho da família Sliver, adicionando o próprio preenchimento interno para limitar o espaço ocupado pelo componente filho, sendo o atributo principal o padding.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do SliverPadding", - "desc": [ - "【sliver】 : Componente filho 【Widget】", - "【padding】 : Preenchimento interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_ru_RU.json deleted file mode 100644 index 6fb97bea5..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 191, - "name": "SliverPadding", - "localName": "Отступ внутри Sliver", - "info": "Может содержать дочерний компонент из семейства Sliver, добавляя собственные внутренние отступы для ограничения места, занимаемого дочерним компонентом. Основное свойство - padding.", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverPadding", - "desc": [ - "【sliver】 : Дочерний компонент 【Widget】", - "【padding】 : Внутренний отступ 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_zh-CN.json deleted file mode 100644 index e4bd9cbc9..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 191, - "name": "SliverPadding", - "localName": "Sliver内间距", - "info": "可容纳一个Sliver家族的子组件,添加自身内边距来限制孩子组件的占位,核心属性为padding。", - "lever": 3, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverPadding基本使用", - "desc": [ - "【sliver】 : 子组件 【Widget】", - "【padding】 : 内边距 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPadding/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverPadding/node1_base.dart deleted file mode 100644 index 26b707ba8..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPadding/node1_base.dart +++ /dev/null @@ -1,87 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class SliverPaddingDemo extends StatelessWidget { - const SliverPaddingDemo({super.key}); - - List get data => List.generate(128, (i) => Color(0xFF6600FF - 2 * i)); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [ - _buildSliverAppBar(), - SliverPadding( - padding: const EdgeInsets.only(top: 10), - sliver: _buildSliverGrid()) - ], - ), - ); - } - - Widget _buildSliverGrid() => SliverGrid.extent( - childAspectRatio: 1 / 0.618, - maxCrossAxisExtent: 180, - crossAxisSpacing: 5, - mainAxisSpacing: 5, - children: data - .map((e) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: e, - child: Text( - colorString(e), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - )) - .toList(), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: _buildLeading(), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_de_DE.json deleted file mode 100644 index 3ab0ea209..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 190, - "name": "SliverPersistentHeader", - "localName": "Fixierter Header", - "info": "Wird normalerweise in CustomScrollView verwendet, um eine Komponente beim Scrollen oben zu fixieren, damit sie nicht verschwindet.", - "lever": 5, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverPersistentHeader", - "desc": [ - "【delegate】 : Delegat 【SliverPersistentHeaderDelegate】", - "【floating】 : Ob schwebend 【bool】", - "【pinned】 : Ob oben fixiert 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_en_US.json deleted file mode 100644 index ef494ee2a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 190, - "name": "SliverPersistentHeader", - "localName": "Sticky Slider", - "info": "Usually used in CustomScrollView, it allows a component to stay at the top during scrolling and not disappear.", - "lever": 5, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverPersistentHeader", - "desc": [ - "【delegate】: Delegate 【SliverPersistentHeaderDelegate】", - "【floating】: Whether to float 【bool】", - "【pinned】: Whether to stay at the top 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_es_ES.json deleted file mode 100644 index c0373b7db..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 190, - "name": "SliverPersistentHeader", - "localName": "Cabecera persistente", - "info": "Se utiliza normalmente en CustomScrollView para permitir que un componente permanezca en la parte superior durante el desplazamiento y no desaparezca.", - "lever": 5, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverPersistentHeader", - "desc": [ - "【delegate】 : delegado 【SliverPersistentHeaderDelegate】", - "【floating】 : si flota 【bool】", - "【pinned】 : si se queda en la parte superior 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_fr_FR.json deleted file mode 100644 index 1f02f849d..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 190, - "name": "SliverPersistentHeader", - "localName": "En-tête persistant", - "info": "Utilisé généralement dans CustomScrollView, il permet à un composant de rester en haut lors du défilement sans disparaître.", - "lever": 5, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverPersistentHeader", - "desc": [ - "【delegate】 : Délégué 【SliverPersistentHeaderDelegate】", - "【floating】 : Flottant 【bool】", - "【pinned】 : Reste en haut 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_it_IT.json deleted file mode 100644 index 8a3505c6a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 190, - "name": "SliverPersistentHeader", - "localName": "Intestazione persistente", - "info": "Utilizzato solitamente in CustomScrollView, consente a un componente di rimanere in cima durante lo scorrimento, senza scomparire.", - "lever": 5, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverPersistentHeader", - "desc": [ - "【delegate】 : delegato 【SliverPersistentHeaderDelegate】", - "【floating】 : se galleggiante 【bool】", - "【pinned】 : se rimane in cima 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_ja_JP.json deleted file mode 100644 index 5e4734e4a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 190, - "name": "SliverPersistentHeader", - "localName": "吸頂スライド", - "info": "通常、CustomScrollViewで使用され、コンポーネントがスクロール中に上部に留まり、スクロールして消えないようにします。", - "lever": 5, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverPersistentHeaderの基本的な使用法", - "desc": [ - "【delegate】 : デリゲート 【SliverPersistentHeaderDelegate】", - "【floating】 : フローティングするかどうか 【bool】", - "【pinned】 : 上部に留まるかどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_ko_KR.json deleted file mode 100644 index 020f82322..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 190, - "name": "SliverPersistentHeader", - "localName": "스티커 슬라이드", - "info": "일반적으로 CustomScrollView에서 사용되며, 스크롤 중에 상단에 고정되어 사라지지 않도록 하는 컴포넌트입니다.", - "lever": 5, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverPersistentHeader 기본 사용법", - "desc": [ - "【delegate】 : 대리자 【SliverPersistentHeaderDelegate】", - "【floating】 : 플로팅 여부 【bool】", - "【pinned】 : 상단 고정 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_pt_PT.json deleted file mode 100644 index 2c485a8a0..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 190, - "name": "SliverPersistentHeader", - "localName": "Cabeçalho Fixo Deslizante", - "info": "Geralmente usado em CustomScrollView, permite que um componente permaneça no topo durante a rolagem, sem desaparecer.", - "lever": 5, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SliverPersistentHeader", - "desc": [ - "【delegate】 : Delegado 【SliverPersistentHeaderDelegate】", - "【floating】 : Se flutua 【bool】", - "【pinned】 : Se fica no topo 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_ru_RU.json deleted file mode 100644 index d5baa3db1..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 190, - "name": "SliverPersistentHeader", - "localName": "Прилипающий заголовок", - "info": "Обычно используется в CustomScrollView, позволяет компоненту оставаться вверху при прокрутке и не исчезать.", - "lever": 5, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverPersistentHeader", - "desc": [ - "【delegate】 : делегат 【SliverPersistentHeaderDelegate】", - "【floating】 : плавающий 【bool】", - "【pinned】 : закреплённый вверху 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_zh-CN.json deleted file mode 100644 index a72aae229..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 190, - "name": "SliverPersistentHeader", - "localName": "吸顶滑片", - "info": "通常用于 CustomScrollView 中,可以让一个组件在滑动中停留在顶部,不会滑动消失。", - "lever": 5, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverPersistentHeader基本使用", - "desc": [ - "【delegate】 : 代理 【SliverPersistentHeaderDelegate】", - "【floating】 : 是否浮动 【bool】", - "【pinned】 : 是否顶部停留 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/node1_base.dart deleted file mode 100644 index 7ea9109c7..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPersistentHeader/node1_base.dart +++ /dev/null @@ -1,158 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class SliverPersistentHeaderDemo extends StatelessWidget { - const SliverPersistentHeaderDemo({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 500, - child: CustomScrollView( - slivers: [ - _buildSliverAppBar(), - _buildPersistentHeader('袅缈岁月,青丝银发',const Color(0xffe7fcc9)), - _buildCommonWidget(), - _buildPersistentHeader('以梦为马,不负韶华',const Color(0xffcca4ff)), - _buildSliverList() - ], - ), - ); - } - - Widget _buildCommonWidget() => SliverToBoxAdapter( - child: Container( - padding: const EdgeInsets.symmetric(horizontal: 10), - color: Colors.grey.withAlpha(22), - child: ListTile( - leading: Image.asset("assets/images/icon_head.webp"), - title: const Text("以梦为马"), - subtitle: const Text("海子"), - selected: true, - contentPadding: const EdgeInsets.all(5), - trailing: const Icon(Icons.more_vert), - ), - ), - ); - Widget _buildPersistentHeader(String text,Color color) => SliverPersistentHeader( - pinned: true, - delegate: _SliverDelegate( - minHeight: 40.0, - maxHeight: 100.0, - child: Container( - color: color, - child: Center( - child: Text(text, style: const TextStyle( - fontSize: 18, - shadows: [Shadow(color: Colors.white, offset: Offset(1, 1))]), - ), - )), - )); - - Widget _buildSliverList() => SliverList( - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: _buildLeading(), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 2, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} - - -class _SliverDelegate extends SliverPersistentHeaderDelegate { - _SliverDelegate({ - required this.minHeight, - required this.maxHeight, - required this.child, - }); - - final double minHeight; //最小高度 - final double maxHeight; //最大高度 - final Widget child; //孩子 - - @override - double get minExtent => minHeight; - - @override - double get maxExtent => max(maxHeight, minHeight); - - @override - Widget build( - BuildContext context, double shrinkOffset, bool overlapsContent) { - return SizedBox.expand(child: child); - } - - @override //是否需要重建 - bool shouldRebuild(_SliverDelegate oldDelegate) { - return maxHeight != oldDelegate.maxHeight || - minHeight != oldDelegate.minHeight || - child != oldDelegate.child; - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_de_DE.json deleted file mode 100644 index 6274480b2..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 314, - "name": "SliverPrototypeExtentList", - "localName": "Sliver-Prototyp-Erweiterungsliste", - "info": "Die Eigenschaft prototypeItem ist ein Widget, das die Größe der Elemente in der Hauptachsenrichtung einschränkt, aber nicht angezeigt wird. Der delegate akzeptiert einen SliverChildDelegate, um die Erstellung der Elemente abzuschließen.", - "lever": 2, - "family": 4, - "linkIds": [ - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverPrototypeExtentList", - "desc": [ - "【prototypeItem】 : Hauptachsenrichtungsgrößenkomponente 【Widget】", - "【delegate】 : Kind-Delegate 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_en_US.json deleted file mode 100644 index 471973dbe..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 314, - "name": "SliverPrototypeExtentList", - "localName": "Sliver Prototype Extent List", - "info": "The prototypeItem property is a Widget, which is responsible for constraining the size of the item in the main axis direction, but it will not be displayed. The delegate accepts a SliverChildDelegate to complete the creation of the item.", - "lever": 2, - "family": 4, - "linkIds": [ - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverPrototypeExtentList", - "desc": [ - "【prototypeItem】 : Main axis size component 【Widget】", - "【delegate】 : Child delegate 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_es_ES.json deleted file mode 100644 index 6755cc3c2..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 314, - "name": "SliverPrototypeExtentList", - "localName": "Lista de Extensión de Prototipo Sliver", - "info": "La propiedad prototypeItem es un Widget, que se encarga de restringir el tamaño del ítem en la dirección del eje principal, pero no se mostrará. El delegate acepta un SliverChildDelegate para completar la creación del ítem.", - "lever": 2, - "family": 4, - "linkIds": [ - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverPrototypeExtentList", - "desc": [ - "【prototypeItem】 : Componente de tamaño en la dirección del eje principal 【Widget】", - "【delegate】 : Delegado de hijos 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_fr_FR.json deleted file mode 100644 index 0642cc05a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 314, - "name": "SliverPrototypeExtentList", - "localName": "Liste d'extension de prototype Sliver", - "info": "La propriété prototypeItem est un Widget, elle est responsable de contraindre la taille de l'item dans la direction de l'axe principal, mais ne sera pas affichée. Le delegate accepte un SliverChildDelegate pour créer l'item.", - "lever": 2, - "family": 4, - "linkIds": [ - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverPrototypeExtentList", - "desc": [ - "【prototypeItem】 : Composant de taille dans la direction de l'axe principal 【Widget】", - "【delegate】 : Délégué des enfants 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_it_IT.json deleted file mode 100644 index b0130d179..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 314, - "name": "SliverPrototypeExtentList", - "localName": "Lista di estensione del prototipo Sliver", - "info": "La proprietà prototypeItem è un Widget, che si occupa di vincolare le dimensioni dell'elemento nella direzione dell'asse principale, ma non viene visualizzato. Il delegate accetta un SliverChildDelegate per completare la creazione dell'elemento.", - "lever": 2, - "family": 4, - "linkIds": [ - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverPrototypeExtentList", - "desc": [ - "【prototypeItem】 : Componente di dimensioni nella direzione dell'asse principale 【Widget】", - "【delegate】 : Delegato per i figli 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_ja_JP.json deleted file mode 100644 index 5b31fd936..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 314, - "name": "SliverPrototypeExtentList", - "localName": "Sliverプロトタイプ拡張リスト", - "info": "prototypeItemプロパティはWidgetで、主軸方向のitemのサイズを制約しますが、表示されません。delegateはSliverChildDelegateを受け取り、itemの作成を完了します。", - "lever": 2, - "family": 4, - "linkIds": [ - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverPrototypeExtentListの基本使用", - "desc": [ - "【prototypeItem】 : 主軸方向サイズコンポーネント 【Widget】", - "【delegate】 : 子デリゲート 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_ko_KR.json deleted file mode 100644 index 033af1774..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 314, - "name": "SliverPrototypeExtentList", - "localName": "Sliver 프로토타입 확장 리스트", - "info": "prototypeItem 속성은 Widget이며, 주축 방향의 item 크기를 제한하지만 표시되지는 않습니다. delegate는 SliverChildDelegate를 받아 item 생성을 완료합니다.", - "lever": 2, - "family": 4, - "linkIds": [ - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverPrototypeExtentList 기본 사용", - "desc": [ - "【prototypeItem】 : 주축 방향 크기 컴포넌트 【Widget】", - "【delegate】 : 자식 대리자 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_pt_PT.json deleted file mode 100644 index daa4feea8..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 314, - "name": "SliverPrototypeExtentList", - "localName": "Lista de Extensão de Protótipo Sliver", - "info": "A propriedade prototypeItem é um Widget, que é responsável por restringir o tamanho do item na direção do eixo principal, mas não será exibido. O delegate aceita um SliverChildDelegate para criar o item.", - "lever": 2, - "family": 4, - "linkIds": [ - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SliverPrototypeExtentList", - "desc": [ - "【prototypeItem】 : Componente de tamanho na direção do eixo principal 【Widget】", - "【delegate】 : Delegado de criança 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_ru_RU.json deleted file mode 100644 index 6ce33abfd..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 314, - "name": "SliverPrototypeExtentList", - "localName": "Список расширений прототипа Sliver", - "info": "Свойство prototypeItem является Widget, оно отвечает за ограничение размера элемента в направлении основной оси, но не отображается. Delegate принимает SliverChildDelegate для создания элементов.", - "lever": 2, - "family": 4, - "linkIds": [ - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverPrototypeExtentList", - "desc": [ - "【prototypeItem】 : Компонент размера в направлении основной оси 【Widget】", - "【delegate】 : Делегат детей 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_zh-CN.json deleted file mode 100644 index 4a5ffaf18..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 314, - "name": "SliverPrototypeExtentList", - "localName": "Sliver原型延伸列表", - "info": "其中prototypeItem属性是Widget,它负责约束主轴方向上item尺寸,但不会显示出来。delegate接受一个SliverChildDelegate完成item的创建。", - "lever": 2, - "family": 4, - "linkIds": [ - 185, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverPrototypeExtentList基本使用", - "desc": [ - "【prototypeItem】 : 主轴方向尺寸组件 【Widget】", - "【delegate】 : 孩子代理 【SliverChildDelegate】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/node1_base.dart deleted file mode 100644 index 04deb5571..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverPrototypeExtentList/node1_base.dart +++ /dev/null @@ -1,99 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class SliverPrototypeExtentListDemo extends StatefulWidget { - const SliverPrototypeExtentListDemo({Key? key}) : super(key: key); - - @override - _SliverPrototypeExtentListDemoState createState() => - _SliverPrototypeExtentListDemoState(); -} - -class _SliverPrototypeExtentListDemoState - extends State { - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [_buildSliverAppBar(), _buildSliverList()], - ), - ); - } - - Widget _buildSliverList() => SliverPrototypeExtentList( - prototypeItem: Container( - height: 80, - ), - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 150.0, - leading: _buildLeading(), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 5, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_de_DE.json deleted file mode 100644 index e2848f0a0..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 189, - "name": "SliverToBoxAdapter", - "localName": "Sliver-Adapter", - "info": "Kann ein normales Widget aufnehmen und in ein Sliver-Widget umwandeln.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SliverToBoxAdapter", - "desc": [ - "【child】 : Untergeordnetes Widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_en_US.json deleted file mode 100644 index efcf4521c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 189, - "name": "SliverToBoxAdapter", - "localName": "Sliver Adapter", - "info": "An adapter that can accommodate a common component and convert it into a component of the Sliver family.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SliverToBoxAdapter", - "desc": [ - "【child】: Child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_es_ES.json deleted file mode 100644 index fc7ad225a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 189, - "name": "SliverToBoxAdapter", - "localName": "Adaptador Sliver", - "info": "Puede contener un componente común y convertirlo en un adaptador para los componentes de la familia Sliver.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SliverToBoxAdapter", - "desc": [ - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_fr_FR.json deleted file mode 100644 index 0d6c369dd..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 189, - "name": "SliverToBoxAdapter", - "localName": "Adaptateur Sliver", - "info": "Un adaptateur qui peut contenir un composant ordinaire et le transformer en un composant de la famille Sliver.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SliverToBoxAdapter", - "desc": [ - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_it_IT.json deleted file mode 100644 index 684fd564e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 189, - "name": "SliverToBoxAdapter", - "localName": "Adattatore Sliver", - "info": "Un adattatore che può contenere un componente normale e trasformarlo in un componente della famiglia Sliver.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SliverToBoxAdapter", - "desc": [ - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_ja_JP.json deleted file mode 100644 index 30979cf2a..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 189, - "name": "SliverToBoxAdapter", - "localName": "Sliverアダプター", - "info": "通常のコンポーネントを収容し、それをSliverファミリーのコンポーネントに変換するアダプターです。", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverToBoxAdapterの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_ko_KR.json deleted file mode 100644 index 89baca35e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 189, - "name": "SliverToBoxAdapter", - "localName": "Sliver 어댑터", - "info": "일반 컴포넌트를 수용하고 Sliver 패밀리 컴포넌트로 변환할 수 있는 어댑터입니다.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverToBoxAdapter 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_pt_PT.json deleted file mode 100644 index cd7812119..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 189, - "name": "SliverToBoxAdapter", - "localName": "Adaptador Sliver", - "info": "Pode acomodar um componente comum e transformá-lo num adaptador para componentes da família Sliver.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do SliverToBoxAdapter", - "desc": [ - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_ru_RU.json deleted file mode 100644 index 5912820d4..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 189, - "name": "SliverToBoxAdapter", - "localName": "Sliver адаптер", - "info": "Адаптер, который может вместить обычный компонент и преобразовать его в компонент семейства Sliver.", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SliverToBoxAdapter", - "desc": [ - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_zh-CN.json deleted file mode 100644 index 10aef0b95..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 189, - "name": "SliverToBoxAdapter", - "localName": "Sliver适配器", - "info": "可以容纳一个普通的组件,并将其转化成Sliver家族组件的适配器。", - "lever": 4, - "family": 4, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverToBoxAdapter基本使用", - "desc": [ - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/node1_base.dart deleted file mode 100644 index 31d23053e..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverToBoxAdapter/node1_base.dart +++ /dev/null @@ -1,108 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class SliverToBoxAdapterDemo extends StatelessWidget { - const SliverToBoxAdapterDemo({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CustomScrollView( - slivers: [ - _buildSliverAppBar(), - _buildCommonWidget(), - _buildSliverList() - ], - ), - ); - } - - Widget _buildCommonWidget() => SliverToBoxAdapter( - child: Container( - padding: const EdgeInsets.symmetric(horizontal: 10), - color: Colors.grey.withAlpha(22), - child: ListTile( - leading: Image.asset("assets/images/icon_head.webp"), - title: const Text("以梦为马"), - subtitle: const Text("海子"), - selected: true, - contentPadding: const EdgeInsets.all(5), - trailing: const Icon(Icons.more_vert), - ), - ), - ); - - Widget _buildSliverList() => SliverList( - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - Widget _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: _buildLeading(), - title: const Text('张风捷特烈'), - actions: _buildActions(), - elevation: 2, - pinned: true, - backgroundColor: Colors.orange, - flexibleSpace: FlexibleSpaceBar( - //伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildLeading() => Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')); - - List _buildActions() => [ - IconButton( - onPressed: () {}, - icon: const Icon( - Icons.star_border, - color: Colors.white, - ), - ) - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_de_DE.json b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_de_DE.json deleted file mode 100644 index 7e133c118..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 348, - "name": "SliverWithKeepAliveWidget", - "localName": "Sliver Keep-Alive-Container", - "info": "Es ist eine abstrakte Klasse und kann nicht alleine verwendet werden. Nur seine Unterklassen können Keep-Alive-Kinder aufnehmen.", - "lever": 1, - "family": 4, - "linkIds": [ - 316, - 239, - 188, - 185, - 314, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in SliverWithKeepAliveWidget", - "desc": [ - "【key】 : Schlüssel 【Key】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_en_US.json b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_en_US.json deleted file mode 100644 index fd21e244d..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 348, - "name": "SliverWithKeepAliveWidget", - "localName": "Sliver Keep-Alive Container", - "info": "It is an abstract class and cannot be used alone. Only its subclasses can accommodate KeepAlive children.", - "lever": 1, - "family": 4, - "linkIds": [ - 316, - 239, - 188, - 185, - 314, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to SliverWithKeepAliveWidget", - "desc": [ - "【key】 : key 【Key】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_es_ES.json b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_es_ES.json deleted file mode 100644 index f71c82068..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 348, - "name": "SliverWithKeepAliveWidget", - "localName": "Contenedor Sliver con KeepAlive", - "info": "Es una clase abstracta y no se puede usar por sí sola. Solo sus subclases pueden contener hijos con KeepAlive.", - "lever": 1, - "family": 4, - "linkIds": [ - 316, - 239, - 188, - 185, - 314, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a SliverWithKeepAliveWidget", - "desc": [ - "【key】 : clave 【Key】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_fr_FR.json b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_fr_FR.json deleted file mode 100644 index 30bc843a6..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 348, - "name": "SliverWithKeepAliveWidget", - "localName": "Conteneur Sliver avec KeepAlive", - "info": "C'est une classe abstraite et ne peut pas être utilisée seule. Seules ses sous-classes peuvent contenir des enfants KeepAlive.", - "lever": 1, - "family": 4, - "linkIds": [ - 316, - 239, - 188, - 185, - 314, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à SliverWithKeepAliveWidget", - "desc": [ - "【key】 : clé 【Key】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_it_IT.json b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_it_IT.json deleted file mode 100644 index 2679e37d9..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 348, - "name": "SliverWithKeepAliveWidget", - "localName": "Contenitore Sliver con KeepAlive", - "info": "È una classe astratta e non può essere utilizzata da sola. Solo le sue sottoclassi possono contenere figli KeepAlive.", - "lever": 1, - "family": 4, - "linkIds": [ - 316, - 239, - 188, - 185, - 314, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a SliverWithKeepAliveWidget", - "desc": [ - "【key】 : chiave 【Key】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_ja_JP.json b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_ja_JP.json deleted file mode 100644 index 7871fae73..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 348, - "name": "SliverWithKeepAliveWidget", - "localName": "Sliver保活コンテナ", - "info": "これは抽象クラスであり、単独で使用することはできません。そのサブクラスのみがKeepAliveの子を保持できます。", - "lever": 1, - "family": 4, - "linkIds": [ - 316, - 239, - 188, - 185, - 314, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverWithKeepAliveWidget 紹介", - "desc": [ - "【key】 : キー 【Key】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_ko_KR.json b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_ko_KR.json deleted file mode 100644 index ce057802c..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 348, - "name": "SliverWithKeepAliveWidget", - "localName": "Sliver 생존 유지 컨테이너", - "info": "이것은 추상 클래스로, 단독으로 사용할 수 없습니다. 오직 그 하위 클래스만이 KeepAlive 자식을 포함할 수 있습니다.", - "lever": 1, - "family": 4, - "linkIds": [ - 316, - 239, - 188, - 185, - 314, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverWithKeepAliveWidget 소개", - "desc": [ - "【key】 : 키 【Key】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_pt_PT.json b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_pt_PT.json deleted file mode 100644 index 6ad1ecdb9..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 348, - "name": "SliverWithKeepAliveWidget", - "localName": "Recipiente Sliver com KeepAlive", - "info": "É uma classe abstrata e não pode ser usada sozinha. Apenas suas subclasses podem conter filhos KeepAlive.", - "lever": 1, - "family": 4, - "linkIds": [ - 316, - 239, - 188, - 185, - 314, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao SliverWithKeepAliveWidget", - "desc": [ - "【key】 : chave 【Key】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_ru_RU.json b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_ru_RU.json deleted file mode 100644 index 42890b043..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 348, - "name": "SliverWithKeepAliveWidget", - "localName": "Sliver контейнер с поддержкой активности", - "info": "Это абстрактный класс, который нельзя использовать отдельно. Только его подклассы могут содержать дочерние элементы KeepAlive.", - "lever": 1, - "family": 4, - "linkIds": [ - 316, - 239, - 188, - 185, - 314, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в SliverWithKeepAliveWidget", - "desc": [ - "【key】 : ключ 【Key】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_zh-CN.json b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_zh-CN.json deleted file mode 100644 index 801ceb7f7..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 348, - "name": "SliverWithKeepAliveWidget", - "localName": "Sliver保活容器", - "info": "它是抽象类,不能单独使用。只有其子类才可以容纳 KeepAlive 的孩子.", - "lever": 1, - "family": 4, - "linkIds": [ - 316, - 239, - 188, - 185, - 314, - 186 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SliverWithKeepAliveWidget 介绍", - "desc": [ - "【key】 : 键 【Key】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/node1_base.dart b/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/node1_base.dart deleted file mode 100644 index e079ddc33..000000000 --- a/modules/widget_system/widgets/lib/Sliver/SliverWithKeepAliveWidget/node1_base.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - - -class SliverWithKeepAliveWidgetDemo extends StatelessWidget { - const SliverWithKeepAliveWidgetDemo({Key? key}) : super(key: key); - - final String info = - '只有 SliverWithKeepAliveWidget 之下才可以包含 KeepAlive 组件, 由于其为抽象类,不能直接使用。其子类 SliverMultiBoxAdaptorWidget 也说抽象类,' - '用于容纳多个孩子,帮助它的子类使用 SliverChildDelegate 构建懒加载 children。' - '最终实现类为 SliverGrid、SliverList、SliverPrototypeExtentList、SliverFixedExtentList,表示他们都可以支持 item 的状态保持。' - '除此之外还有 _SliverFillViewportRenderObjectWidget 的私有实现类,这是 PageView 的底层实现,这也是为什么 PageView 也支持保活的原因。'; - - @override - Widget build(BuildContext context) { - - return Container( - color: Theme.of(context).primaryColor.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_de_DE.json deleted file mode 100644 index 5ab06a883..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 111, - "name": "AlignTransition", - "localName": "Ausrichtungsübergang", - "info": "Eine Unterklasse von AnimatedWidget, die einen Animator vom Typ Alignment verwendet, um eine Übergangsanimation zwischen zwei Alignment-Objekten für das untergeordnete Widget zu ermöglichen.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AlignTransition", - "desc": [ - "【child】 : Kind-Widget 【Widget】", - "【alignment】 : Ausrichtungsanimation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_en_US.json deleted file mode 100644 index cb576d3cb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 111, - "name": "AlignTransition", - "localName": "Alignment Transition", - "info": "A subclass of AnimatedWidget, using an animator of type Alignment to allow child components to transition between two Alignment objects.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AlignTransition", - "desc": [ - "【child】: Child component 【Widget】", - "【alignment】: Alignment animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_es_ES.json deleted file mode 100644 index 969c3b2c8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 111, - "name": "AlignTransition", - "localName": "Transición de alineación", - "info": "Subclase de AnimatedWidget, utiliza un animador de tipo Alignment para permitir que los componentes hijos realicen una animación de transición entre dos objetos Alignment.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AlignTransition", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【alignment】 : Animación de alineación 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_fr_FR.json deleted file mode 100644 index afe4f3009..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 111, - "name": "AlignTransition", - "localName": "Transition d'alignement", - "info": "Sous-classe de AnimatedWidget, utilisant un animateur de type Alignment pour permettre à un composant enfant de faire une transition animée entre deux objets Alignment.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AlignTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【alignment】 : Animation d'alignement 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_it_IT.json deleted file mode 100644 index 252739a65..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 111, - "name": "AlignTransition", - "localName": "Transizione di allineamento", - "info": "Una sottoclasse di AnimatedWidget, utilizza un animatore di tipo Alignment per far sì che i componenti figli effettuino una transizione animata tra due oggetti Alignment.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AlignTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【alignment】 : Animazione di allineamento 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_ja_JP.json deleted file mode 100644 index 9d05b5949..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 111, - "name": "AlignTransition", - "localName": "整列遷移", - "info": "AnimatedWidgetのサブクラスで、Alignmentタイプのアニメーターを使用して子コンポーネントを2つのAlignmentオブジェクト間で遷移アニメーションさせます。", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AlignTransition基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【alignment】 : 整列アニメーション 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_ko_KR.json deleted file mode 100644 index 4af24abf5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 111, - "name": "AlignTransition", - "localName": "정렬 변환", - "info": "AnimatedWidget의 하위 클래스, Alignment 타입의 애니메이터를 사용하여 자식 위젯이 두 Alignment 객체 사이에서 전환 애니메이션을 수행합니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AlignTransition 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【alignment】 : 정렬 애니메이션 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_pt_PT.json deleted file mode 100644 index a7abb56e4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 111, - "name": "AlignTransition", - "localName": "Transição de Alinhamento", - "info": "Subclasse de AnimatedWidget, usa um animador do tipo Alignment para permitir que um componente filho faça uma animação de transição entre dois objetos Alignment.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AlignTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【alignment】 : Animação de alinhamento 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_ru_RU.json deleted file mode 100644 index 5ef6388f3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 111, - "name": "AlignTransition", - "localName": "Анимация выравнивания", - "info": "Подкласс AnimatedWidget, использующий аниматор типа Alignment для создания переходной анимации между двумя объектами Alignment для дочернего компонента.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AlignTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【alignment】 : Анимация выравнивания 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_zh-CN.json deleted file mode 100644 index 8d6d6db0d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 111, - "name": "AlignTransition", - "localName": "对齐变换", - "info": "AnimatedWidget的子类,使用Alignment类型的动画器让子组件在两个Alignment对象之间进行过渡动画。", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 120 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AlignTransition基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【alignment】 : 对齐动画 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/node1_base.dart deleted file mode 100644 index daf4201f6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AlignTransition/node1_base.dart +++ /dev/null @@ -1,54 +0,0 @@ - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomAlignTransition extends StatefulWidget { - const CustomAlignTransition({Key? key}) : super(key: key); - - @override - _CustomAlignTransitionState createState() => _CustomAlignTransitionState(); -} - -class _CustomAlignTransitionState extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - - @override - void initState() { - _ctrl = AnimationController( - vsync: this, - duration: const Duration(seconds: 1), - ); - _ctrl.forward(); - super.initState(); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => _ctrl.forward(from: 0), - child: Container( - width: MediaQuery.of(context).size.width, - color: Colors.grey.withAlpha(33), - height: 100, - child: AlignTransition( - alignment: AlignmentTween( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - ).animate(_ctrl), - child: const Icon( - Icons.android, - color: Colors.green, - size: 60, - ), - ), - )); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_de_DE.json deleted file mode 100644 index 553c66f3d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 120, - "name": "AnimatedAlign", - "localName": "Ausrichtungsanimation", - "info": "Ermöglicht die Ausrichtungsanimation von Unterkomponenten, ermöglicht die Angabe von Dauer und Kurve und verfügt über ein Ereignis für das Ende der Animation.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 111 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedAlign", - "desc": [ - "【child】: Untergeordnete Komponente 【Widget】", - "【duration】: Animationsdauer 【Duration】", - "【onEnd】: Rückruf bei Ende der Animation 【Function()】", - "【alignment】: Ausrichtungsart 【AlignmentGeometry】", - "【curve】: Animationskurve 【Duration】", - "【padding】: Innenabstand 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_en_US.json deleted file mode 100644 index d3e7481ba..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 120, - "name": "AnimatedAlign", - "localName": "Alignment Animation", - "info": "Allows child components to perform Align (alignment) animations, with specified duration and curve, and includes an animation end event.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 111 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedAlign", - "desc": [ - "【child】: Child component 【Widget】", - "【duration】: Animation duration 【Duration】", - "【onEnd】: Animation end callback 【Function()】", - "【alignment】: Alignment method 【AlignmentGeometry】", - "【curve】: Animation curve 【Duration】", - "【padding】: Padding 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_es_ES.json deleted file mode 100644 index af8b46dc7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 120, - "name": "AnimatedAlign", - "localName": "Animación de alineación", - "info": "Permite que los componentes hijos realicen una animación de Align (alineación), se puede especificar la duración y la curva, y tiene un evento de finalización de la animación.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 111 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedAlign", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Callback de finalización de la animación 【Function()】", - "【alignment】 : Modo de alineación 【AlignmentGeometry】", - "【curve】 : Curva de la animación 【Duration】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_fr_FR.json deleted file mode 100644 index 38d3c4a7a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 120, - "name": "AnimatedAlign", - "localName": "Animation d'alignement", - "info": "Permet à un composant enfant de réaliser une animation d'alignement (Align), avec la possibilité de spécifier la durée et la courbe, et un événement de fin d'animation.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 111 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de AnimatedAlign", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【alignment】 : Mode d'alignement 【AlignmentGeometry】", - "【curve】 : Courbe de l'animation 【Duration】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_it_IT.json deleted file mode 100644 index 0c6ea987a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 120, - "name": "AnimatedAlign", - "localName": "Allineamento Animato", - "info": "Consente ai componenti figli di eseguire animazioni di allineamento (Align), con la possibilità di specificare la durata e la curva, e con un evento di fine animazione.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 111 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedAlign", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【alignment】 : Modalità di allineamento 【AlignmentGeometry】", - "【curve】 : Curva dell'animazione 【Duration】", - "【padding】 : Spaziatura interna 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_ja_JP.json deleted file mode 100644 index f14ebc2fd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 120, - "name": "AnimatedAlign", - "localName": "アニメーションアライメント", - "info": "子コンポーネントにAlign(アライメント)アニメーションを行わせることができます。時間と曲線を指定でき、アニメーション終了イベントがあります。", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 111 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedAlignの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーション時間 【Duration】", - "【onEnd】 : アニメーション終了コールバック 【Function()】", - "【alignment】 : アライメント方法 【AlignmentGeometry】", - "【curve】 : アニメーション曲線 【Duration】", - "【padding】 : 内側の余白 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_ko_KR.json deleted file mode 100644 index 1dcd679e1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 120, - "name": "AnimatedAlign", - "localName": "정렬 애니메이션", - "info": "자식 위젯이 Align(정렬) 애니메이션을 수행할 수 있게 하며, 지속 시간과 곡선을 지정할 수 있고, 애니메이션 종료 이벤트가 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 111 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedAlign 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_pt_PT.json deleted file mode 100644 index 2a9dfac3d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 120, - "name": "AnimatedAlign", - "localName": "Animação de Alinhamento", - "info": "Permite que os componentes filhos realizem animações de Alinhamento (Align), podendo especificar a duração e a curva, com evento de término da animação.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 111 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do AnimatedAlign", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de término da animação 【Function()】", - "【alignment】 : Modo de alinhamento 【AlignmentGeometry】", - "【curve】 : Curva da animação 【Duration】", - "【padding】 : Margem interna 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_ru_RU.json deleted file mode 100644 index 782ec832c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 120, - "name": "AnimatedAlign", - "localName": "Анимация выравнивания", - "info": "Позволяет дочернему компоненту выполнять анимацию выравнивания (Align), можно указать продолжительность и кривую, есть событие завершения анимации.", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 111 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedAlign", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Продолжительность анимации 【Duration】", - "【onEnd】 : Обратный вызов завершения анимации 【Function()】", - "【alignment】 : Способ выравнивания 【AlignmentGeometry】", - "【curve】 : Кривая анимации 【Duration】", - "【padding】 : Внутренний отступ 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_zh-CN.json deleted file mode 100644 index f5ff49466..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 120, - "name": "AnimatedAlign", - "localName": "对齐动画", - "info": "能让子组件进行Align(对齐)动画,可指定时长和曲线,有动画结束事件。", - "lever": 3, - "family": 1, - "linkIds": [ - 85, - 111 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedAlign基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【alignment】 : 对齐方式 【AlignmentGeometry】", - "【curve】 : 动画曲线 【Duration】", - "【padding】 : 内边距 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/node1_base.dart deleted file mode 100644 index 6005ec16c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedAlign/node1_base.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class CustomAnimatedAlign extends StatefulWidget { - const CustomAnimatedAlign({Key? key}) : super(key: key); - - @override - _CustomAnimatedAlignState createState() => _CustomAnimatedAlignState(); -} - -class _CustomAnimatedAlignState extends State { - final Alignment start = const Alignment(0, 0); - final Alignment end = Alignment.bottomRight; - - late Alignment _alignment; - - @override - void initState() { - _alignment = start; - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildSwitch(), - Container( - color: Colors.grey.withAlpha(22), - width: 200, - height: 100, - child: AnimatedAlign( - duration: const Duration(seconds: 1), - curve: Curves.fastOutSlowIn, - alignment: _alignment, - onEnd: () => print('End'), - child: Container( - height: 40, - width: 80, - alignment: Alignment.center, - color: Colors.blue, - child: const Text( - '张风捷特烈', - style: TextStyle(color: Colors.white), - ), - ), - ), - ), - ], - ); - } - - Widget _buildSwitch() => Switch( - value: _alignment == end, - onChanged: (v) { - setState(() { - _alignment = v ? end : start; - }); - }); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_de_DE.json deleted file mode 100644 index 57e1754fe..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 228, - "name": "AnimatedBuilder", - "localName": "Animations-Builder", - "info": "Durch den Builder werden die entsprechenden Knoten der Animation lokal aktualisiert, und es wird vermieden, dass untergeordnete Komponenten aktualisiert werden, wodurch die Bauzeit reduziert und die Animationsleistung verbessert wird.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Anwendungsbeispiel für AnimatedBuilder", - "desc": [ - "【animation】 : *beobachtbares Objekt 【Listenable】", - "【builder】 : *Komponenten-Builder 【TransitionBuilder】", - "【child】 : untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_en_US.json deleted file mode 100644 index 700c5563f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 228, - "name": "AnimatedBuilder", - "localName": "Animated Builder", - "info": "By using the builder, the corresponding node of the animation can be updated locally, and the refresh of child components can be avoided, reducing the build time and improving animation performance.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedBuilder Usage Example", - "desc": [ - "【animation】: *Listenable object 【Listenable】", - "【builder】: *Component builder 【TransitionBuilder】", - "【child】: Child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_es_ES.json deleted file mode 100644 index 4c55c51ff..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 228, - "name": "AnimatedBuilder", - "localName": "Constructor de Animación", - "info": "A través del builder, hace que los nodos correspondientes a la animación se actualicen parcialmente, y evita la actualización de los componentes hijos, reduciendo el tiempo de construcción y mejorando el rendimiento de la animación.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Caso de uso de AnimatedBuilder", - "desc": [ - "【animation】 : *Objeto observable 【Listenable】", - "【builder】 : *Constructor de componentes 【TransitionBuilder】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_fr_FR.json deleted file mode 100644 index 5f566be46..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 228, - "name": "AnimatedBuilder", - "localName": "Constructeur d'animation", - "info": "Rend les nœuds correspondant à l'animation mis à jour localement via le builder, évite le rafraîchissement des composants enfants, réduit le temps de construction et améliore les performances de l'animation.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Exemple d'utilisation d'AnimatedBuilder", - "desc": [ - "【animation】 : *Objet observable 【Listenable】", - "【builder】 : *Constructeur de composant 【TransitionBuilder】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_it_IT.json deleted file mode 100644 index 24f5dc3b4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 228, - "name": "AnimatedBuilder", - "localName": "Costruttore di animazioni", - "info": "Attraverso il builder, il nodo corrispondente all'animazione viene aggiornato localmente, evitando l'aggiornamento dei componenti figli, riducendo il tempo di costruzione e migliorando le prestazioni dell'animazione.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Esempio di utilizzo di AnimatedBuilder", - "desc": [ - "【animation】 : *oggetto ascoltabile 【Listenable】", - "【builder】 : *costruttore di componenti 【TransitionBuilder】", - "【child】 : componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_ja_JP.json deleted file mode 100644 index bb283ed60..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 228, - "name": "AnimatedBuilder", - "localName": "アニメーションビルダー", - "info": "ビルダーを通じてアニメーションに対応するノードを部分的に更新し、子コンポーネントのリフレッシュを避け、ビルド時間を短縮し、アニメーションのパフォーマンスを向上させます。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedBuilder 使用例", - "desc": [ - "【animation】 : *リスナブルオブジェクト 【Listenable】", - "【builder】 : *コンポーネントビルダー 【TransitionBuilder】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_ko_KR.json deleted file mode 100644 index 8f79a9c08..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 228, - "name": "AnimatedBuilder", - "localName": "애니메이션 빌더", - "info": "빌더를 통해 애니메이션에 해당하는 노드를 부분적으로 업데이트하고, 하위 컴포넌트의 새로고침을 방지하여 빌드 시간을 줄이고 애니메이션 성능을 향상시킵니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedBuilder 사용 예제", - "desc": [ - "【animation】 : *리스너 가능 객체 【Listenable】", - "【builder】 : *컴포넌트 빌더 【TransitionBuilder】", - "【child】 : 하위 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_pt_PT.json deleted file mode 100644 index 6fa9c0de1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 228, - "name": "AnimatedBuilder", - "localName": "Construtor de Animação", - "info": "Através do builder, o nó correspondente à animação é atualizado localmente, evitando a atualização de componentes filhos, reduzindo o tempo de construção e melhorando o desempenho da animação.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Exemplo de uso do AnimatedBuilder", - "desc": [ - "【animation】 : *objeto observável 【Listenable】", - "【builder】 : *construtor de componente 【TransitionBuilder】", - "【child】 : componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_ru_RU.json deleted file mode 100644 index 1eac5f1fe..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 228, - "name": "AnimatedBuilder", - "localName": "Анимационный конструктор", - "info": "С помощью builder делает узел, соответствующий анимации, частично обновляемым, а также позволяет избежать обновления дочерних компонентов, сократить время сборки и повысить производительность анимации.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Пример использования AnimatedBuilder", - "desc": [ - "【animation】 : *Объект, который можно прослушивать 【Listenable】", - "【builder】 : *Конструктор компонентов 【TransitionBuilder】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_zh-CN.json deleted file mode 100644 index afc38032e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 228, - "name": "AnimatedBuilder", - "localName": "动画构造器", - "info": "通过 builder 使动画对应的节点变为局部更新,并且可避免子组件刷新,减少构建的时间,提高动画性能。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedBuilder 使用案例", - "desc": [ - "【animation】 : *可监听对象 【Listenable】", - "【builder】 : *组件构造器 【TransitionBuilder】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/node1_base.dart deleted file mode 100644 index ea7fe5670..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedBuilder/node1_base.dart +++ /dev/null @@ -1,62 +0,0 @@ - -import 'package:flutter/material.dart'; - - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class AnimatedBuilderDemo extends StatefulWidget { - const AnimatedBuilderDemo({Key? key}) : super(key: key); - - @override - _AnimatedBuilderDemoState createState() => _AnimatedBuilderDemoState(); -} - -class _AnimatedBuilderDemoState extends State - with SingleTickerProviderStateMixin { - late AnimationController controller; - - @override - void initState() { - super.initState(); - controller = AnimationController( - vsync: this, - lowerBound: 0.3, - upperBound: 1.0, - duration: const Duration(milliseconds: 500)) - ..forward(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () { - controller.forward(from: 0); - }, - child: AnimatedBuilder( - animation: controller, - builder: (ctx, child) { - return Transform.scale( - scale: controller.value, - child: Opacity(opacity: controller.value, child: child), - ); - }, - child: buildChild()), - ); - } - - Widget buildChild() => Container( - height: 100, - width: 100, - decoration: const BoxDecoration( - color: Colors.orange, - shape: BoxShape.circle, - ), - alignment: Alignment.center, - child: const Text( - 'Toly', - style: TextStyle(fontSize: 40, color: Colors.white), - ), - ); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_de_DE.json deleted file mode 100644 index 3c9dd45ce..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_de_DE.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 123, - "name": "AnimatedContainer", - "localName": "Animierter Container", - "info": "Vereint alignment, padding, color, decoration, width, height, constraints, margin, transform in einem. Alle diese Eigenschaften können animiert werden, können Dauer und Kurve angeben und haben ein Ereignis am Ende der Animation.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedContainer", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf am Ende der Animation 【Function()】", - "【curve】 : Animationskurve 【Duration】", - "【color】 : Farbe 【Color】", - "【width】 : Breite 【double】", - "【height】 : Höhe 【double】", - "【alignment】 : Ausrichtung 【AlignmentGeometry】", - "【decoration】 : Dekoration 【Decoration】", - "【constraints】 : Einschränkungen 【BoxConstraints】", - "【transform】 : Transformation 【Matrix4】", - "【margin】 : Außenabstand 【EdgeInsetsGeometry】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_en_US.json deleted file mode 100644 index f9f0462c1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_en_US.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 123, - "name": "AnimatedContainer", - "localName": "Container Animation", - "info": "Combines alignment, padding, color, decoration, width, height, constraints, margin, and transform, all of which can be animated. You can specify the duration and curve, and there is an animation end event.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedContainer", - "desc": [ - "【child】: Child component 【Widget】", - "【duration】: Animation duration 【Duration】", - "【onEnd】: Animation end callback 【Function()】", - "【curve】: Animation curve 【Duration】", - "【color】: Color 【Color】", - "【width】: Width 【double】", - "【height】: Height 【double】", - "【alignment】: Alignment 【AlignmentGeometry】", - "【decoration】: Decoration 【Decoration】", - "【constraints】: Constraints 【BoxConstraints】", - "【transform】: Transformation 【Matrix4】", - "【margin】: Margin 【EdgeInsetsGeometry】", - "【padding】: Padding 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_es_ES.json deleted file mode 100644 index c8284b888..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_es_ES.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 123, - "name": "AnimatedContainer", - "localName": "Contenedor Animado", - "info": "Combina alignment, padding, color, decoration, width, height, constraints, margin, transform en uno solo. Todas estas propiedades pueden animarse, se pueden especificar la duración y la curva, y tiene un evento de finalización de animación.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedContainer", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Callback al finalizar la animación 【Function()】", - "【curve】 : Curva de la animación 【Duration】", - "【color】 : Color 【Color】", - "【width】 : Ancho 【double】", - "【height】 : Alto 【double】", - "【alignment】 : Alineación 【AlignmentGeometry】", - "【decoration】 : Decoración 【Decoration】", - "【constraints】 : Restricciones 【BoxConstraints】", - "【transform】 : Transformación 【Matrix4】", - "【margin】 : Margen exterior 【EdgeInsetsGeometry】", - "【padding】 : Margen interior 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_fr_FR.json deleted file mode 100644 index 430220dea..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_fr_FR.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 123, - "name": "AnimatedContainer", - "localName": "Animation de conteneur", - "info": "Combine alignment, padding, color, decoration, width, height, constraints, margin, transform en un seul, toutes ces propriétés peuvent être animées, la durée et la courbe peuvent être spécifiées, et il y a un événement de fin d'animation.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedContainer", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【curve】 : Courbe d'animation 【Duration】", - "【color】 : Couleur 【Color】", - "【width】 : Largeur 【double】", - "【height】 : Hauteur 【double】", - "【alignment】 : Alignement 【AlignmentGeometry】", - "【decoration】 : Décoration 【Decoration】", - "【constraints】 : Contraintes 【BoxConstraints】", - "【transform】 : Transformation 【Matrix4】", - "【margin】 : Marge extérieure 【EdgeInsetsGeometry】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_it_IT.json deleted file mode 100644 index fcb17f57d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_it_IT.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 123, - "name": "AnimatedContainer", - "localName": "Animazione del contenitore", - "info": "Raccoglie alignment, padding, color, decoration, width, height, constraints, margin, transform in un unico componente. Tutti questi attributi possono essere animati, è possibile specificare la durata e la curva, e c'è un evento di fine animazione.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedContainer", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【curve】 : Curva dell'animazione 【Duration】", - "【color】 : Colore 【Color】", - "【width】 : Larghezza 【double】", - "【height】 : Altezza 【double】", - "【alignment】 : Allineamento 【AlignmentGeometry】", - "【decoration】 : Decorazione 【Decoration】", - "【constraints】 : Vincoli 【BoxConstraints】", - "【transform】 : Trasformazione 【Matrix4】", - "【margin】 : Margine esterno 【EdgeInsetsGeometry】", - "【padding】 : Margine interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_ja_JP.json deleted file mode 100644 index 85d41bc01..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_ja_JP.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 123, - "name": "AnimatedContainer", - "localName": "コンテナアニメーション", - "info": "alignment、padding、color、decoration、width、height、constraints、margin、transformを集約し、これらのプロパティはすべてアニメーション可能で、時間と曲線を指定でき、アニメーション終了イベントがあります。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedContainerの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーション時間 【Duration】", - "【onEnd】 : アニメーション終了コールバック 【Function()】", - "【curve】 : アニメーション曲線 【Duration】", - "【color】 : 色 【Color】", - "【width】 : 幅 【double】", - "【height】 : 高さ 【double】", - "【alignment】 : 配置 【AlignmentGeometry】", - "【decoration】 : 装飾 【Decoration】", - "【constraints】 : 制約 【BoxConstraints】", - "【transform】 : 変換 【Matrix4】", - "【margin】 : 外側の余白 【EdgeInsetsGeometry】", - "【padding】 : 内側の余白 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_ko_KR.json deleted file mode 100644 index 0e4e5f8a6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_ko_KR.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 123, - "name": "AnimatedContainer", - "localName": "애니메이션 컨테이너", - "info": "alignment, padding, color, decoration, width, height, constraints, margin, transform을 모두 포함하며, 이러한 속성들은 모두 애니메이션 가능하며, 지속 시간과 곡선을 지정할 수 있고, 애니메이션 종료 이벤트가 있습니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedContainer 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【color】 : 색상 【Color】", - "【width】 : 너비 【double】", - "【height】 : 높이 【double】", - "【alignment】 : 정렬 【AlignmentGeometry】", - "【decoration】 : 장식 【Decoration】", - "【constraints】 : 제약 【BoxConstraints】", - "【transform】 : 변환 【Matrix4】", - "【margin】 : 외부 여백 【EdgeInsetsGeometry】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_pt_PT.json deleted file mode 100644 index f13eb49f4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_pt_PT.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 123, - "name": "AnimatedContainer", - "localName": "Animação de Contêiner", - "info": "Combina alignment, padding, color, decoration, width, height, constraints, margin, transform em um único lugar, todas essas propriedades podem ser animadas, é possível especificar a duração e a curva, e há um evento de término da animação.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedContainer", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de término da animação 【Function()】", - "【curve】 : Curva da animação 【Duration】", - "【color】 : Cor 【Color】", - "【width】 : Largura 【double】", - "【height】 : Altura 【double】", - "【alignment】 : Alinhamento 【AlignmentGeometry】", - "【decoration】 : Decoração 【Decoration】", - "【constraints】 : Restrições 【BoxConstraints】", - "【transform】 : Transformação 【Matrix4】", - "【margin】 : Margem externa 【EdgeInsetsGeometry】", - "【padding】 : Margem interna 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_ru_RU.json deleted file mode 100644 index d0a51b159..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_ru_RU.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 123, - "name": "AnimatedContainer", - "localName": "Анимация контейнера", - "info": "Объединяет alignment, padding, color, decoration, width, height, constraints, margin, transform. Все эти свойства могут быть анимированы, можно указать длительность и кривую, есть событие завершения анимации.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedContainer", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Длительность анимации 【Duration】", - "【onEnd】 : Обратный вызов завершения анимации 【Function()】", - "【curve】 : Кривая анимации 【Duration】", - "【color】 : Цвет 【Color】", - "【width】 : Ширина 【double】", - "【height】 : Высота 【double】", - "【alignment】 : Выравнивание 【AlignmentGeometry】", - "【decoration】 : Декорация 【Decoration】", - "【constraints】 : Ограничения 【BoxConstraints】", - "【transform】 : Преобразование 【Matrix4】", - "【margin】 : Внешний отступ 【EdgeInsetsGeometry】", - "【padding】 : Внутренний отступ 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_zh-CN.json deleted file mode 100644 index dbec27ada..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/desc_zh-CN.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 123, - "name": "AnimatedContainer", - "localName": "容器动画", - "info": "集合alignment、padding、color、decoration、width、height、constraints、margin、transform于一身,这些属性皆可动画,可指定时长和曲线,有动画结束事件。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedContainer基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【curve】 : 动画曲线 【Duration】", - "【color】 : 颜色 【Color】", - "【width】 : 宽 【double】", - "【height】 : 高 【double】", - "【alignment】 : 对齐 【AlignmentGeometry】", - "【decoration】 : 装饰 【Decoration】", - "【constraints】 : 约束 【BoxConstraints】", - "【transform】 : 变化 【Matrix4】", - "【margin】 : 外边距 【EdgeInsetsGeometry】", - "【padding】 : 内边距 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/node1_base.dart deleted file mode 100644 index e65689a2c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedContainer/node1_base.dart +++ /dev/null @@ -1,94 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class CustomAnimatedContainer extends StatefulWidget { - const CustomAnimatedContainer({Key? key}) : super(key: key); - - @override - _CustomAnimatedContainerState createState() => - _CustomAnimatedContainerState(); -} - -class _CustomAnimatedContainerState extends State { - final Decoration startDecoration = const BoxDecoration( - color: Colors.deepPurple, - borderRadius: BorderRadius.all(Radius.circular(30)), - boxShadow: [ - BoxShadow( - offset: Offset(1, 1), - color: Colors.purple, - blurRadius: 5, - spreadRadius: 2) - ]); - final Decoration endDecoration = const BoxDecoration( - color: Colors.blue, - borderRadius: BorderRadius.all(Radius.circular(10)), - boxShadow: [ - BoxShadow( - offset: Offset(1, 1), - color: Colors.blue, - blurRadius: 10, - spreadRadius: 0) - ]); - - final Alignment startAlignment = Alignment.topLeft + const Alignment(0.2, 0.2); - final Alignment endAlignment = Alignment.center; - - final double startHeight = 150.0; - final double endHeight = 100.0; - - late Decoration _decoration; - late double _height; - late Alignment _alignment; - - @override - void initState() { - super.initState(); - _decoration = startDecoration; - _height = startHeight; - _alignment = startAlignment; - } - - bool get selected => _height == endHeight; - @override - Widget build(BuildContext context) { - return Wrap( - direction: Axis.vertical, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - Switch( - value: selected, - onChanged: onChanged, - ), - buildAnim() - ], - ); - } - Widget _buildChild() => const Icon( - Icons.camera_outlined, - size: 30, - color: Colors.white, - ); - Widget buildAnim() => AnimatedContainer( - duration: const Duration(seconds: 1), - curve: Curves.fastOutSlowIn, - decoration: _decoration, - alignment: _alignment, - onEnd: onEnd, - height: _height, - width: _height, - child: _buildChild(), - ); - void onChanged(bool value) { - setState(() { - _height = value ? endHeight : startHeight; - _decoration = value ? endDecoration : startDecoration; - _alignment = value ? endAlignment : startAlignment; - }); - } - void onEnd() { - print('End'); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_de_DE.json deleted file mode 100644 index f98e50550..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_de_DE.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 100, - "name": "AnimatedCrossFade", - "localName": "Komponentenwechsel", - "info": "Zeigt Animationseffekte beim Wechsel zwischen zwei Komponenten an. Eigenschaften wie Animationskurve, Dauer, Ausrichtung usw. können angegeben werden. Es ist eine sehr nützliche Komponente.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedCrossFade", - "desc": [ - "【firstChild】 : Erstes Kind 【Widget】", - "【secondChild】 : Zweites Kind 【Widget】", - "【crossFadeState】 : Welches anzeigen 【CrossFadeState】", - "【duration】 : Dauer 【Duration】" - ] - }, - { - "file": "node2_curve.dart", - "name": "Animationskurve von AnimatedCrossFade", - "desc": [ - "【firstCurve】 : Erste Kurve 【Curve】", - "【secondCurve】 : Zweite Kurve 【Curve】", - "【sizeCurve】 : Größenänderungskurve 【CrossFadeState】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_en_US.json deleted file mode 100644 index 047e68db6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_en_US.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 100, - "name": "AnimatedCrossFade", - "localName": "Component Switch", - "info": "Presents animation effects when switching between two components, allowing you to specify properties such as animation curves, duration, alignment, etc. It is a very useful component.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedCrossFade", - "desc": [ - "【firstChild】 : First Child 【Widget】", - "【secondChild】 : Second Child 【Widget】", - "【crossFadeState】 : Which to Display 【CrossFadeState】", - "【duration】 : Duration 【Duration】" - ] - }, - { - "file": "node2_curve.dart", - "name": "Animation Curves of AnimatedCrossFade", - "desc": [ - "【firstCurve】 : First Curve 【Curve】", - "【secondCurve】 : Second Curve 【Curve】", - "【sizeCurve】 : Size Change Curve 【CrossFadeState】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_es_ES.json deleted file mode 100644 index f743f5441..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_es_ES.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 100, - "name": "AnimatedCrossFade", - "localName": "Transición de componentes", - "info": "Muestra un efecto de animación al cambiar entre dos componentes, se pueden especificar propiedades como la curva de animación, la duración, la alineación, etc. Es un componente muy útil.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedCrossFade", - "desc": [ - "【firstChild】 : Primer hijo 【Widget】", - "【secondChild】 : Segundo hijo 【Widget】", - "【crossFadeState】 : Mostrar cuál 【CrossFadeState】", - "【duration】 : Duración 【Duration】" - ] - }, - { - "file": "node2_curve.dart", - "name": "Curva de animación de AnimatedCrossFade", - "desc": [ - "【firstCurve】 : Primera curva 【Curve】", - "【secondCurve】 : Segunda curva 【Curve】", - "【sizeCurve】 : Curva de cambio de tamaño 【CrossFadeState】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_fr_FR.json deleted file mode 100644 index 530d0ad95..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_fr_FR.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 100, - "name": "AnimatedCrossFade", - "localName": "Transition de composants", - "info": "Anime la transition entre deux composants avec des effets, en spécifiant des propriétés telles que la courbe d'animation, la durée, l'alignement, etc. C'est un composant très utile.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedCrossFade", - "desc": [ - "【firstChild】 : Premier enfant 【Widget】", - "【secondChild】 : Deuxième enfant 【Widget】", - "【crossFadeState】 : Afficher lequel 【CrossFadeState】", - "【duration】 : Durée 【Duration】" - ] - }, - { - "file": "node2_curve.dart", - "name": "Courbe d'animation d'AnimatedCrossFade", - "desc": [ - "【firstCurve】 : Première courbe 【Curve】", - "【secondCurve】 : Deuxième courbe 【Curve】", - "【sizeCurve】 : Courbe de changement de taille 【CrossFadeState】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_it_IT.json deleted file mode 100644 index 9795e9a9e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_it_IT.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 100, - "name": "AnimatedCrossFade", - "localName": "Transizione Componenti", - "info": "Presenta un effetto animato quando si passa da un componente all'altro, è possibile specificare proprietà come la curva di animazione, la durata, l'allineamento, ecc. È un componente molto utile.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di AnimatedCrossFade", - "desc": [ - "【firstChild】 : Primo figlio 【Widget】", - "【secondChild】 : Secondo figlio 【Widget】", - "【crossFadeState】 : Mostra quale 【CrossFadeState】", - "【duration】 : Durata 【Duration】" - ] - }, - { - "file": "node2_curve.dart", - "name": "Curva di Animazione di AnimatedCrossFade", - "desc": [ - "【firstCurve】 : Prima curva 【Curve】", - "【secondCurve】 : Seconda curva 【Curve】", - "【sizeCurve】 : Curva di variazione dimensionale 【CrossFadeState】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_ja_JP.json deleted file mode 100644 index 338813187..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_ja_JP.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 100, - "name": "AnimatedCrossFade", - "localName": "コンポーネント切り替え", - "info": "2つのコンポーネントを切り替える際にアニメーション効果を表示し、アニメーションカーブ、時間、配置方法などの属性を指定できます。非常に便利なコンポーネントです。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedCrossFadeの基本使用", - "desc": [ - "【firstChild】 : 最初の子 【Widget】", - "【secondChild】 : 2番目の子 【Widget】", - "【crossFadeState】 : 表示する番号 【CrossFadeState】", - "【duration】 : 時間 【Duration】" - ] - }, - { - "file": "node2_curve.dart", - "name": "AnimatedCrossFadeのアニメーションカーブ", - "desc": [ - "【firstCurve】 : 最初のカーブ 【Curve】", - "【secondCurve】 : 2番目のカーブ 【Curve】", - "【sizeCurve】 : サイズ変化カーブ 【CrossFadeState】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_ko_KR.json deleted file mode 100644 index 6531263ea..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_ko_KR.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 100, - "name": "AnimatedCrossFade", - "localName": "컴포넌트 전환", - "info": "두 컴포넌트를 전환할 때 애니메이션 효과를 나타내며, 애니메이션 곡선, 지속 시간, 정렬 방식 등의 속성을 지정할 수 있습니다. 매우 유용한 컴포넌트입니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedCrossFade 기본 사용", - "desc": [ - "【firstChild】 : 첫 번째 자식 【Widget】", - "【secondChild】 : 두 번째 자식 【Widget】", - "【crossFadeState】 : 몇 번째를 표시할지 【CrossFadeState】", - "【duration】 : 지속 시간 【Duration】" - ] - }, - { - "file": "node2_curve.dart", - "name": "AnimatedCrossFade 애니메이션 곡선", - "desc": [ - "【firstCurve】 : 첫 번째 곡선 【Curve】", - "【secondCurve】 : 두 번째 곡선 【Curve】", - "【sizeCurve】 : 크기 변화 곡선 【CrossFadeState】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_pt_PT.json deleted file mode 100644 index 1537e8a37..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_pt_PT.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 100, - "name": "AnimatedCrossFade", - "localName": "Transição de Componentes", - "info": "Apresenta um efeito de animação ao alternar entre dois componentes, podendo especificar propriedades como a curva de animação, duração, alinhamento, etc. É um componente muito útil.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedCrossFade", - "desc": [ - "【firstChild】 : Primeiro filho 【Widget】", - "【secondChild】 : Segundo filho 【Widget】", - "【crossFadeState】 : Mostrar qual 【CrossFadeState】", - "【duration】 : Duração 【Duration】" - ] - }, - { - "file": "node2_curve.dart", - "name": "Curva de Animação do AnimatedCrossFade", - "desc": [ - "【firstCurve】 : Primeira curva 【Curve】", - "【secondCurve】 : Segunda curva 【Curve】", - "【sizeCurve】 : Curva de mudança de tamanho 【CrossFadeState】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_ru_RU.json deleted file mode 100644 index 2ab52f739..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_ru_RU.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 100, - "name": "AnimatedCrossFade", - "localName": "Переключение компонентов", - "info": "При переключении двух компонентов отображается анимация, можно указать такие свойства, как кривая анимации, продолжительность, выравнивание и т.д. Это очень полезный компонент.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedCrossFade", - "desc": [ - "【firstChild】 : Первый ребенок 【Widget】", - "【secondChild】 : Второй ребенок 【Widget】", - "【crossFadeState】 : Показать какой 【CrossFadeState】", - "【duration】 : Продолжительность 【Duration】" - ] - }, - { - "file": "node2_curve.dart", - "name": "Кривая анимации AnimatedCrossFade", - "desc": [ - "【firstCurve】 : Первая кривая 【Curve】", - "【secondCurve】 : Вторая кривая 【Curve】", - "【sizeCurve】 : Кривая изменения размера 【CrossFadeState】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_zh-CN.json deleted file mode 100644 index 1c0695851..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/desc_zh-CN.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 100, - "name": "AnimatedCrossFade", - "localName": "组件切换", - "info": "将两个组件切换时呈现动画效果,可指定动画曲线、时长、对齐方式等属性。是一个非常有用的组件。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedCrossFade基本使用", - "desc": [ - "【firstChild】 : 第一孩子 【Widget】", - "【secondChild】 : 第二孩子 【Widget】", - "【crossFadeState】 : 显示第几个 【CrossFadeState】", - "【duration】 : 时长 【Duration】" - ] - }, - { - "file": "node2_curve.dart", - "name": "AnimatedCrossFade动画曲线", - "desc": [ - "【firstCurve】 : 第一曲线 【Curve】", - "【secondCurve】 : 第二曲线 【Curve】", - "【sizeCurve】 : 尺寸变化曲线 【CrossFadeState】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/node1_base.dart deleted file mode 100644 index 627d7861c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/node1_base.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-20 -/// contact me by email 1981462002@qq.com - -class CustomAnimatedCrossFade extends StatefulWidget { - const CustomAnimatedCrossFade({Key? key}) : super(key: key); - - @override - _CustomAnimatedCrossFadeState createState() => - _CustomAnimatedCrossFadeState(); -} - -class _CustomAnimatedCrossFadeState extends State { - CrossFadeState _crossFadeState = CrossFadeState.showFirst; - - bool get isFirst => _crossFadeState == CrossFadeState.showFirst; - - @override - Widget build(BuildContext context) { - return Wrap( - children: [ - AnimatedCrossFade( - firstChild: Container( - alignment: Alignment.center, - width: 200, - height: 150, - color: Colors.orange, - child: const FlutterLogo(textColor: Colors.blue, size: 100,), - ), - secondChild: Container( - width: 200, - height: 150, - alignment: Alignment.center, - color: Colors.blue, - child: const FlutterLogo( - textColor: Colors.white, -// colors: Colors.orange, - size: 100, - style: FlutterLogoStyle.stacked,), - ), - duration: const Duration(milliseconds: 600), - crossFadeState: _crossFadeState, - ), - _buildSwitch(), - ], - - ); - } - - Widget _buildSwitch() => - Switch(value: isFirst, onChanged: (v) { - setState(() { - _crossFadeState = - v ? CrossFadeState.showFirst : CrossFadeState.showSecond; - }); - }); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/node2_curve.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/node2_curve.dart deleted file mode 100644 index 946798ae2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedCrossFade/node2_curve.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-20 -/// contact me by email 1981462002@qq.com - -class CurveAnimatedCrossFade extends StatefulWidget { - const CurveAnimatedCrossFade({Key? key}) : super(key: key); - - @override - _CurveAnimatedCrossFadeState createState() => _CurveAnimatedCrossFadeState(); -} - -class _CurveAnimatedCrossFadeState extends State { - var _crossFadeState = CrossFadeState.showFirst; - - bool get isFirst=> _crossFadeState == CrossFadeState.showFirst; - - @override - Widget build(BuildContext context) { - return Wrap( - children: [ - AnimatedCrossFade( - firstCurve: Curves.easeInCirc, - secondCurve: Curves.easeInToLinear, - sizeCurve: Curves.bounceOut, - firstChild: Container( - alignment: Alignment.center, - width: 200, - height: 80, - color: Colors.orange , - child: const FlutterLogo(textColor: Colors.blue,size: 50,), - ), - secondChild: Container( - width: 200, - height: 150, - alignment: Alignment.center, - color: Colors.blue, - child: const FlutterLogo( - textColor: Colors.white, -// colors: Colors.orange, - size: 100,style: FlutterLogoStyle.stacked,), - ), - duration: const Duration(milliseconds: 1000), - crossFadeState: _crossFadeState, - ), - _buildSwitch(), - ], - ); - } - - Widget _buildSwitch() => Switch(value: isFirst, onChanged: (v){ - setState(() { - _crossFadeState= v?CrossFadeState.showFirst:CrossFadeState.showSecond; - }); - }); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_de_DE.json deleted file mode 100644 index 100cc0663..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 124, - "name": "AnimatedDefaultTextStyle", - "localName": "Container-Animation", - "info": "Ermöglicht die Animation von TextStyle (Textstil) für untergeordnete Textkomponenten, gibt Dauer und Kurve an und verfügt über ein Ereignis zum Ende der Animation.", - "lever": 3, - "family": 1, - "linkIds": [ - 114, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedDefaultTextStyle", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf bei Ende der Animation 【Function()】", - "【curve】 : Animationskurve 【Duration】", - "【textAlign】 : Textausrichtung 【TextAlign】", - "【softWrap】 : Umhüllung 【bool】", - "【maxLines】 : Maximale Zeilenanzahl 【int】", - "【overflow】 : Überlaufmodus 【TextOverflow】", - "【style】 : Textstil 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_en_US.json deleted file mode 100644 index 59279303e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 124, - "name": "AnimatedDefaultTextStyle", - "localName": "Container Animation", - "info": "Allows child text components to perform TextStyle (text style) animations, with specified duration and curve, and has an animation end event.", - "lever": 3, - "family": 1, - "linkIds": [ - 114, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedDefaultTextStyle", - "desc": [ - "【child】: Child component 【Widget】", - "【duration】: Animation duration 【Duration】", - "【onEnd】: Animation end callback 【Function()】", - "【curve】: Animation curve 【Duration】", - "【textAlign】: Text alignment 【TextAlign】", - "【softWrap】: Whether to wrap 【bool】", - "【maxLines】: Maximum number of lines 【int】", - "【overflow】: Overflow mode 【TextOverflow】", - "【style】: Text style 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_es_ES.json deleted file mode 100644 index c54a2bd4d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 124, - "name": "AnimatedDefaultTextStyle", - "localName": "Animación de contenedor", - "info": "Permite que los componentes de texto hijos realicen una animación de TextStyle (estilo de texto), se puede especificar la duración y la curva, y tiene un evento de finalización de la animación.", - "lever": 3, - "family": 1, - "linkIds": [ - 114, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedDefaultTextStyle", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Callback de finalización de la animación 【Function()】", - "【curve】 : Curva de la animación 【Duration】", - "【textAlign】 : Alineación del texto 【TextAlign】", - "【softWrap】 : Si se envuelve 【bool】", - "【maxLines】 : Número máximo de líneas 【int】", - "【overflow】 : Modo de desbordamiento 【TextOverflow】", - "【style】 : Estilo de texto 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_fr_FR.json deleted file mode 100644 index 939dd0774..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 124, - "name": "AnimatedDefaultTextStyle", - "localName": "Animation de conteneur", - "info": "Permet aux composants texte enfants d'effectuer une animation TextStyle (style de texte), peut spécifier la durée et la courbe, et dispose d'un événement de fin d'animation.", - "lever": 3, - "family": 1, - "linkIds": [ - 114, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedDefaultTextStyle", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【curve】 : Courbe d'animation 【Duration】", - "【textAlign】 : Alignement du texte 【TextAlign】", - "【softWrap】 : Encapsulage 【bool】", - "【maxLines】 : Nombre maximum de lignes 【int】", - "【overflow】 : Mode de débordement 【TextOverflow】", - "【style】 : Style de texte 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_it_IT.json deleted file mode 100644 index 058c9f6a9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 124, - "name": "AnimatedDefaultTextStyle", - "localName": "Animazione del contenitore", - "info": "Consente ai componenti di testo figlio di animare lo stile del testo (TextStyle), con la possibilità di specificare durata e curva, e un evento di fine animazione.", - "lever": 3, - "family": 1, - "linkIds": [ - 114, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedDefaultTextStyle", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【curve】 : Curva dell'animazione 【Duration】", - "【textAlign】 : Allineamento del testo 【TextAlign】", - "【softWrap】 : Avvolgimento del testo 【bool】", - "【maxLines】 : Numero massimo di righe 【int】", - "【overflow】 : Modalità di overflow 【TextOverflow】", - "【style】 : Stile del testo 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_ja_JP.json deleted file mode 100644 index 77d50c449..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 124, - "name": "AnimatedDefaultTextStyle", - "localName": "コンテナアニメーション", - "info": "子テキストコンポーネントにTextStyle(テキストスタイル)アニメーションを適用できます。時間と曲線を指定でき、アニメーション終了イベントがあります。", - "lever": 3, - "family": 1, - "linkIds": [ - 114, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedDefaultTextStyleの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーション時間 【Duration】", - "【onEnd】 : アニメーション終了コールバック 【Function()】", - "【curve】 : アニメーション曲線 【Duration】", - "【textAlign】 : テキストの配置 【TextAlign】", - "【softWrap】 : ラップするかどうか 【bool】", - "【maxLines】 : 最大行数 【int】", - "【overflow】 : オーバーフローモード 【TextOverflow】", - "【style】 : テキストスタイル 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_ko_KR.json deleted file mode 100644 index b68b4dce5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 124, - "name": "AnimatedDefaultTextStyle", - "localName": "컨테이너 애니메이션", - "info": "자식 텍스트 컴포넌트에 TextStyle(텍스트 스타일) 애니메이션을 적용할 수 있으며, 지속 시간과 곡선을 지정할 수 있고 애니메이션 종료 이벤트가 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 114, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedDefaultTextStyle 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【textAlign】 : 텍스트 정렬 방식 【TextAlign】", - "【softWrap】 : 감싸기 여부 【bool】", - "【maxLines】 : 최대 줄 수 【int】", - "【overflow】 : 오버플로우 모드 【TextOverflow】", - "【style】 : 텍스트 스타일 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_pt_PT.json deleted file mode 100644 index d95c63a4f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 124, - "name": "AnimatedDefaultTextStyle", - "localName": "Animação de Contêiner", - "info": "Permite que componentes de texto filhos realizem animações de TextStyle (estilo de texto), pode especificar duração e curva, e possui evento de término de animação.", - "lever": 3, - "family": 1, - "linkIds": [ - 114, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedDefaultTextStyle", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de término da animação 【Function()】", - "【curve】 : Curva da animação 【Duration】", - "【textAlign】 : Alinhamento do texto 【TextAlign】", - "【softWrap】 : Se deve envolver 【bool】", - "【maxLines】 : Número máximo de linhas 【int】", - "【overflow】 : Modo de overflow 【TextOverflow】", - "【style】 : Estilo de texto 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_ru_RU.json deleted file mode 100644 index 83117ad5c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 124, - "name": "AnimatedDefaultTextStyle", - "localName": "Анимация контейнера", - "info": "Позволяет дочерним текстовым компонентам анимировать TextStyle (стиль текста), можно указать продолжительность и кривую, есть событие завершения анимации.", - "lever": 3, - "family": 1, - "linkIds": [ - 114, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedDefaultTextStyle", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Продолжительность анимации 【Duration】", - "【onEnd】 : Обратный вызов завершения анимации 【Function()】", - "【curve】 : Кривая анимации 【Duration】", - "【textAlign】 : Выравнивание текста 【TextAlign】", - "【softWrap】 : Обёртка 【bool】", - "【maxLines】 : Максимальное количество строк 【int】", - "【overflow】 : Режим переполнения 【TextOverflow】", - "【style】 : Стиль текста 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_zh-CN.json deleted file mode 100644 index 0f48f68e3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 124, - "name": "AnimatedDefaultTextStyle", - "localName": "容器动画", - "info": "能让子文字组件进行TextStyle(文字样式)动画,可指定时长和曲线,有动画结束事件。", - "lever": 3, - "family": 1, - "linkIds": [ - 114, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedDefaultTextStyle基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【curve】 : 动画曲线 【Duration】", - "【textAlign】 : 文字对齐方式 【TextAlign】", - "【softWrap】 : 是否包裹 【bool】", - "【maxLines】 : 最大行数 【int】", - "【overflow】 : 溢出模式 【TextOverflow】", - "【style】 : 文字样式 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/node1_base.dart deleted file mode 100644 index 5923a1f9d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedDefaultTextStyle/node1_base.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class CustomAnimatedDefaultTextStyle extends StatefulWidget { - const CustomAnimatedDefaultTextStyle({Key? key}) : super(key: key); - - @override - _CustomAnimatedDefaultTextStyleState createState() => - _CustomAnimatedDefaultTextStyleState(); -} - -class _CustomAnimatedDefaultTextStyleState - extends State { - final TextStyle start = const TextStyle( - color: Colors.blue, - fontSize: 50, - shadows: [ - Shadow(offset: Offset(1, 1), color: Colors.black, blurRadius: 3) - ]); - final TextStyle end = const TextStyle( - color: Colors.white, - fontSize: 20, - shadows: [ - Shadow(offset: Offset(1, 1), color: Colors.purple, blurRadius: 3) - ]); - - late TextStyle _style; - - @override - void initState() { - _style = start; - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildSwitch(), - Container( - alignment: Alignment.center, - color: Colors.grey.withAlpha(22), - width: 300, - height: 100, - child: AnimatedDefaultTextStyle( - textAlign: TextAlign.start, - softWrap: true, - maxLines: 1, - overflow: TextOverflow.ellipsis, - duration: const Duration(seconds: 1), - curve: Curves.fastOutSlowIn, - style: _style, - onEnd: () => print('End'), - child: const Text( - '张风捷特烈', - style: TextStyle(color: Colors.white), - ), - ), - ), - ], - ); - } - - Widget _buildSwitch() => Switch( - value: _style == end, - onChanged: (v) { - setState(() { - _style = v ? end : start; - }); - }); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_de_DE.json deleted file mode 100644 index df9f04640..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_de_DE.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 260, - "name": "AnimatedFractionallySizedBox", - "localName": "Animierte Bruchteilbox", - "info": "Animierte Version von FractionallySizedBox, die sich automatisch und sanft innerhalb der angegebenen Dauer zur Zielgröße und Position des Kindelements übergeht, wenn sich widthFactor oder heightFactor ändern sowie wenn sich die Ausrichtung ändert.", - "lever": 3, - "family": 1, - "linkIds": [ - 82, - 120, - 123, - 121 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Animationsübergangseffekt", - "desc": [ - "In diesem Fall werden die Parameter heightFactor, widthFactor und alignment beim Klicken geändert, um den Animationseffekt zu sehen.", - "【child】 : Kindkomponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf bei Animationsende 【Function()】", - "【alignment】 : Animationszentrum 【Alignment】", - "【curve】 : Animationskurve 【Duration】", - "【heightFactor】 : Höhenfaktor 【double?】", - "【widthFactor】 : Breitenfaktor 【double?】", - "【turns】 : Drehungsmenge 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_en_US.json deleted file mode 100644 index 5edb98fd8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_en_US.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 260, - "name": "AnimatedFractionallySizedBox", - "localName": "Animated Fractionally Sized Box", - "info": "An animated version of FractionallySizedBox, which automatically and smoothly transitions to the target size and position of the child component within the specified duration when the widthFactor or heightFactor changes, or when the alignment changes.", - "lever": 3, - "family": 1, - "linkIds": [ - 82, - 120, - 123, - 121 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Animation Transition Effect", - "desc": [ - "In this case, the heightFactor, widthFactor, and alignment parameters are modified when clicked to view the animation effect.", - "【child】 : Child component 【Widget】", - "【duration】 : Animation duration 【Duration】", - "【onEnd】 : Animation end callback 【Function()】", - "【alignment】 : Animation transformation center 【Alignment】", - "【curve】 : Animation curve 【Duration】", - "【heightFactor】 : Height factor 【double?】", - "【widthFactor】 : Width factor 【double?】", - "【turns】 : Rotation amount 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_es_ES.json deleted file mode 100644 index a05b4fdc7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_es_ES.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 260, - "name": "AnimatedFractionallySizedBox", - "localName": "Caja de tamaño fraccional animada", - "info": "Versión animada de FractionallySizedBox, cuando cambia el widthFactor o el heightFactor, así como cuando cambia el alignment, se realizará una transición suave automática a las dimensiones y posición objetivo del componente hijo en la duración especificada.", - "lever": 3, - "family": 1, - "linkIds": [ - 82, - 120, - 123, - 121 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Efecto de transición animada", - "desc": [ - "En este caso, al hacer clic se modifican los parámetros heightFactor, widthFactor, alignment para ver el efecto de movimiento animado.", - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Devolución de llamada al finalizar la animación 【Function()】", - "【alignment】 : Centro de transformación de la animación 【Alignment】", - "【curve】 : Curva de la animación 【Duration】", - "【heightFactor】 : Factor de altura 【double?】", - "【widthFactor】 : Factor de ancho 【double?】", - "【turns】 : Cantidad de rotación 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_fr_FR.json deleted file mode 100644 index 9662b770c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_fr_FR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 260, - "name": "AnimatedFractionallySizedBox", - "localName": "Boîte fractionnée animée", - "info": "Version animée de FractionallySizedBox, lorsque widthFactor ou heightFactor change, ainsi que lorsque l'alignement change, elle transite automatiquement et en douceur vers la taille et la position cible du composant enfant dans la durée spécifiée.", - "lever": 3, - "family": 1, - "linkIds": [ - 82, - 120, - 123, - 121 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Effet de transition animée", - "desc": [ - "Dans ce cas, en cliquant, les paramètres heightFactor, widthFactor et alignment sont modifiés pour observer l'effet de mouvement animé.", - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【alignment】 : Centre de transformation de l'animation 【Alignment】", - "【curve】 : Courbe de l'animation 【Duration】", - "【heightFactor】 : Facteur de hauteur 【double?】", - "【widthFactor】 : Facteur de largeur 【double?】", - "【turns】 : Quantité de rotation 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_it_IT.json deleted file mode 100644 index 96dd4486f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_it_IT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 260, - "name": "AnimatedFractionallySizedBox", - "localName": "Scatola animata frazionata", - "info": "Versione animata di FractionallySizedBox, quando widthFactor o heightFactor cambiano, così come quando alignment cambia, si transiziona automaticamente e dolcemente alle dimensioni e posizioni target del componente figlio entro la durata specificata.", - "lever": 3, - "family": 1, - "linkIds": [ - 82, - 120, - 123, - 121 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Effetto di transizione animata", - "desc": [ - "In questo caso, cliccando si modificano i parametri heightFactor, widthFactor, alignment, per osservare l'effetto del movimento animato.", - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【alignment】 : Centro di trasformazione dell'animazione 【Alignment】", - "【curve】 : Curva dell'animazione 【Duration】", - "【heightFactor】 : Fattore di altezza 【double?】", - "【widthFactor】 : Fattore di larghezza 【double?】", - "【turns】 : Quantità di rotazione 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_ja_JP.json deleted file mode 100644 index 70b690cb8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_ja_JP.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 260, - "name": "AnimatedFractionallySizedBox", - "localName": "アニメーションフラクショナリーボックス", - "info": "FractionallySizedBox のアニメーションバージョンで、widthFactor または heightFactor が変化したとき、および alignment が変更されたときに、指定された期間内で子コンポーネントの目標サイズと位置に自動的にスムーズに遷移します。", - "lever": 3, - "family": 1, - "linkIds": [ - 82, - 120, - 123, - 121 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "アニメーション遷移効果", - "desc": [ - "このケースでは、クリックすると heightFactor、widthFactor、alignment パラメータが変更され、アニメーションの動きを確認できます。", - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーション時間 【Duration】", - "【onEnd】 : アニメーション終了コールバック 【Function()】", - "【alignment】 : アニメーション変換中心 【Alignment】", - "【curve】 : アニメーションカーブ 【Duration】", - "【heightFactor】 : 高さ分率 【double?】", - "【widthFactor】 : 幅分率 【double?】", - "【turns】 : 回転量 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_ko_KR.json deleted file mode 100644 index 036dd40f1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_ko_KR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 260, - "name": "AnimatedFractionallySizedBox", - "localName": "애니메이션 분율 박스", - "info": "FractionallySizedBox의 애니메이션 버전으로, widthFactor 또는 heightFactor가 변경될 때, 그리고 alignment가 변경될 때 지정된 지속 시간 동안 자동으로 부드럽게 자식 위젯의 목표 크기와 위치로 전환됩니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 82, - 120, - 123, - 121 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "애니메이션 전환 효과", - "desc": [ - "이 예제에서는 클릭 시 heightFactor, widthFactor, alignment 매개변수를 수정하여 애니메이션 동작 효과를 확인합니다.", - "【child】 : 자식 위젯 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【alignment】 : 애니메이션 변환 중심 【Alignment】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【heightFactor】 : 높이 분율 【double?】", - "【widthFactor】 : 너비 분율 【double?】", - "【turns】 : 회전량 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_pt_PT.json deleted file mode 100644 index 1b3855532..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_pt_PT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 260, - "name": "AnimatedFractionallySizedBox", - "localName": "Caixa de Fração Animada", - "info": "Versão animada do FractionallySizedBox, quando o widthFactor ou heightFactor muda, assim como a alignment, ele faz automaticamente uma transição suave para o tamanho e posição desejados do componente filho dentro da duração especificada.", - "lever": 3, - "family": 1, - "linkIds": [ - 82, - 120, - 123, - 121 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Efeito de Transição Animada", - "desc": [ - "Neste caso, ao clicar, os parâmetros heightFactor, widthFactor e alignment são modificados para visualizar o efeito de movimento da animação.", - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de fim da animação 【Function()】", - "【alignment】 : Centro de transformação da animação 【Alignment】", - "【curve】 : Curva da animação 【Duration】", - "【heightFactor】 : Fator de altura 【double?】", - "【widthFactor】 : Fator de largura 【double?】", - "【turns】 : Quantidade de rotação 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_ru_RU.json deleted file mode 100644 index 8efe05d52..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_ru_RU.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 260, - "name": "AnimatedFractionallySizedBox", - "localName": "Анимированный FractionallySizedBox", - "info": "Анимированная версия FractionallySizedBox, которая автоматически плавно переходит к целевому размеру и положению дочернего компонента в течение указанной продолжительности при изменении widthFactor или heightFactor, а также при изменении alignment.", - "lever": 3, - "family": 1, - "linkIds": [ - 82, - 120, - 123, - 121 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Анимационный переход", - "desc": [ - "В этом примере при нажатии изменяются параметры heightFactor, widthFactor и alignment, чтобы увидеть эффект анимации.", - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Длительность анимации 【Duration】", - "【onEnd】 : Обратный вызов по завершении анимации 【Function()】", - "【alignment】 : Центр анимационного преобразования 【Alignment】", - "【curve】 : Кривая анимации 【Duration】", - "【heightFactor】 : Коэффициент высоты 【double?】", - "【widthFactor】 : Коэффициент ширины 【double?】", - "【turns】 : Количество поворотов 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_zh-CN.json deleted file mode 100644 index 5408f22fc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/desc_zh-CN.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 260, - "name": "AnimatedFractionallySizedBox", - "localName": "动画分率盒", - "info": "FractionallySizedBox 的动画版本,当 widthFactor 或 heightFactor 变化时, 以及 alignment 改变时,都会在指定的持续时间内自动平滑过渡到子组件的目标尺寸和位置。", - "lever": 3, - "family": 1, - "linkIds": [ - 82, - 120, - 123, - 121 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "动画过渡效果", - "desc": [ - "该案例中,点击时会修改 heightFactor、widthFactor、alignment 参数,查看动画运动效果。", - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【alignment】 : 动画变换中心 【Alignment】", - "【curve】 : 动画曲线 【Duration】", - "【heightFactor】 : 高度分率 【double?】", - "【widthFactor】 : 宽度分率 【double?】", - "【turns】 : 旋转量 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/node1.dart deleted file mode 100644 index c870a4555..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedFractionallySizedBox/node1.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; - -class AnimatedFractionallySizedBoxDemo extends StatefulWidget { - const AnimatedFractionallySizedBoxDemo({super.key}); - - @override - State createState() => _AnimatedFractionallySizedBoxDemoState(); -} - -class _AnimatedFractionallySizedBoxDemoState - extends State { - bool selected = false; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 240, - child: Center( - child: GestureDetector( - onTap: () { - setState(() { - selected = !selected; - }); - }, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - _buildCell(), - const SizedBox(height: 4), - const Text('点击面板') - ], - ), - ), - ), - ); - } - - Widget _buildCell() { - return SizedBox( - width: 200, - height: 200, - child: ColoredBox( - color: Colors.red, - child: AnimatedFractionallySizedBox( - widthFactor: selected ? 0.25 : 0.75, - heightFactor: selected ? 0.75 : 0.25, - alignment: selected ? Alignment.topLeft : Alignment.bottomRight, - duration: const Duration(seconds: 1), - curve: Curves.fastOutSlowIn, - child: const ColoredBox( - color: Colors.blue, - child: FlutterLogo(size: 75), - ), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_de_DE.json deleted file mode 100644 index 4b077f164..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 117, - "name": "AnimatedList", - "localName": "Animierte Liste", - "info": "Erweiterte Version von ListView, die Animationen für Elemente ermöglicht. Zum Beispiel Animationen beim Hinzufügen oder Entfernen von Elementen.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedList", - "desc": [ - "【itemBuilder】 : Komponentenkonstruktor 【AnimatedListItemBuilder】", - "【initialItemCount】 : Anzahl der Unterkomponenten 【int】", - "【scrollDirection】 : Scrollrichtung 【Axis】", - "【controller】 : Scroll-Controller 【ScrollController】", - "【reverse】 : Daten umgekehrt 【bool】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_en_US.json deleted file mode 100644 index ffc8e3359..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 117, - "name": "AnimatedList", - "localName": "Animated List", - "info": "An enhanced version of ListView, which can animate items. For example, animations for adding or deleting items.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedList", - "desc": [ - "【itemBuilder】: Component builder 【AnimatedListItemBuilder】", - "【initialItemCount】: Number of child components 【int】", - "【scrollDirection】: Scroll direction 【Axis】", - "【controller】: Scroll controller 【ScrollController】", - "【reverse】: Whether the data is reversed 【bool】", - "【padding】: Padding 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_es_ES.json deleted file mode 100644 index e4b800f47..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 117, - "name": "AnimatedList", - "localName": "Lista animada", - "info": "Versión mejorada de ListView, permite animar los ítems. Por ejemplo, animaciones al añadir o eliminar ítems.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedList", - "desc": [ - "【itemBuilder】: Constructor de componentes 【AnimatedListItemBuilder】", - "【initialItemCount】: Número de componentes hijos 【int】", - "【scrollDirection】: Dirección de desplazamiento 【Axis】", - "【controller】: Controlador de desplazamiento 【ScrollController】", - "【reverse】: Si los datos están invertidos 【bool】", - "【padding】: Relleno interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_fr_FR.json deleted file mode 100644 index 085b8bb7f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 117, - "name": "AnimatedList", - "localName": "Liste animée", - "info": "Une version améliorée de ListView, permettant d'animer les éléments. Par exemple, des animations lors de l'ajout ou de la suppression d'éléments.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedList", - "desc": [ - "【itemBuilder】 : Constructeur de composants 【AnimatedListItemBuilder】", - "【initialItemCount】 : Nombre de composants enfants 【int】", - "【scrollDirection】 : Direction de défilement 【Axis】", - "【controller】 : Contrôleur de défilement 【ScrollController】", - "【reverse】 : Inversion des données 【bool】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_it_IT.json deleted file mode 100644 index d31874c9e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 117, - "name": "AnimatedList", - "localName": "Lista Animata", - "info": "Versione potenziata di ListView, consente di animare gli item. Ad esempio, animazioni degli item durante l'aggiunta o la rimozione.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedList", - "desc": [ - "【itemBuilder】 : Costruttore di componenti 【AnimatedListItemBuilder】", - "【initialItemCount】 : Numero di componenti figli 【int】", - "【scrollDirection】 : Direzione di scorrimento 【Axis】", - "【controller】 : Controllore di scorrimento 【ScrollController】", - "【reverse】 : Se i dati sono invertiti 【bool】", - "【padding】 : Spaziatura interna 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_ja_JP.json deleted file mode 100644 index 3a73e79fc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 117, - "name": "AnimatedList", - "localName": "アニメーションリスト", - "info": "強化版のListViewで、アイテムにアニメーションを適用できます。例えば、追加や削除時のアイテムのアニメーションなど。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedListの基本使用", - "desc": [ - "【itemBuilder】 : コンポーネントビルダー 【AnimatedListItemBuilder】", - "【initialItemCount】 : サブコンポーネントの数 【int】", - "【scrollDirection】 : スライド方向 【Axis】", - "【controller】 : スライドコントローラー 【ScrollController】", - "【reverse】 : データが逆順かどうか 【bool】", - "【padding】 : 内側の余白 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_ko_KR.json deleted file mode 100644 index 6e1f1c136..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 117, - "name": "AnimatedList", - "localName": "애니메이션 리스트", - "info": "강화된 ListView, 아이템에 애니메이션을 적용할 수 있습니다. 예를 들어 추가, 삭제 시 아이템의 애니메이션.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedList 기본 사용", - "desc": [ - "【itemBuilder】 : 컴포넌트 생성기 【AnimatedListItemBuilder】", - "【initialItemCount】 : 하위 컴포넌트 수 【int】", - "【scrollDirection】 : 스크롤 방향 【Axis】", - "【controller】 : 스크롤 컨트롤러 【ScrollController】", - "【reverse】 : 데이터 반전 여부 【bool】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_pt_PT.json deleted file mode 100644 index 5b981ca1c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 117, - "name": "AnimatedList", - "localName": "Lista Animada", - "info": "Versão aprimorada do ListView, que permite animar os itens. Por exemplo, animações ao adicionar ou remover itens.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedList", - "desc": [ - "【itemBuilder】: Construtor de componentes 【AnimatedListItemBuilder】", - "【initialItemCount】: Número de subcomponentes 【int】", - "【scrollDirection】: Direção de deslizamento 【Axis】", - "【controller】: Controlador de deslizamento 【ScrollController】", - "【reverse】: Se os dados estão invertidos 【bool】", - "【padding】: Preenchimento interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_ru_RU.json deleted file mode 100644 index 7aade432b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 117, - "name": "AnimatedList", - "localName": "Анимированный список", - "info": "Улучшенная версия ListView, которая позволяет анимировать элементы. Например, анимация при добавлении или удалении элементов.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedList", - "desc": [ - "【itemBuilder】 : Конструктор компонента 【AnimatedListItemBuilder】", - "【initialItemCount】 : Количество дочерних компонентов 【int】", - "【scrollDirection】 : Направление прокрутки 【Axis】", - "【controller】 : Контроллер прокрутки 【ScrollController】", - "【reverse】 : Обратный порядок данных 【bool】", - "【padding】 : Внутренний отступ 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_zh-CN.json deleted file mode 100644 index 0553e92f5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 117, - "name": "AnimatedList", - "localName": "动画列表", - "info": "强化版的ListView,可以对item进行动画处理。比如在添加、删除是item的动画。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedList基本使用", - "desc": [ - "【itemBuilder】 : 组件构造器 【AnimatedListItemBuilder】", - "【initialItemCount】 : 子组件数量 【int】", - "【scrollDirection】 : 滑动方向 【Axis】", - "【controller】 : 滑动控制器 【ScrollController】", - "【reverse】 : 数据是否反向 【bool】", - "【padding】 : 内边距 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/node1_base.dart deleted file mode 100644 index 9f5ded80a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedList/node1_base.dart +++ /dev/null @@ -1,179 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class CustomAnimatedList extends StatefulWidget { - const CustomAnimatedList({super.key}); - - @override - State createState() => _CustomAnimatedListState(); -} - -class _CustomAnimatedListState extends State { - final GlobalKey _listKey = GlobalKey(); - late ListModel _list; - int? _selectedItem; - int _nextItem = 0; - - @override - void initState() { - super.initState(); - _list = ListModel( - listKey: _listKey, - initialItems: [0, 1, 2, 3], - removedItemBuilder: _buildRemovedItem, - ); - _nextItem = 4; - } - - Widget _buildItem( - BuildContext context, int index, Animation animation) { - return _CardItem( - animation: animation, - item: _list[index], - selected: _selectedItem == _list[index], - onTap: () { - setState(() { - _selectedItem = _selectedItem == _list[index] ? null : _list[index]; - }); - }, - ); - } - - Widget _buildRemovedItem( - int item, BuildContext context, Animation animation) { - return _CardItem( - animation: animation, - item: item, - selected: false, - ); - } - - void _insert() { - final int index = - _selectedItem == null ? _list.length : _list.indexOf(_selectedItem!); - _list.insert(index, _nextItem++); - } - - void _remove() { - if (_selectedItem != null) { - _list.removeAt(_list.indexOf(_selectedItem!)); - setState(() { - _selectedItem = null; - }); - } - } - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.grey.withAlpha(33), - width: MediaQuery.of(context).size.width/2, - child: Column( - children: [ - _buildBtn(), - SizedBox( - width: MediaQuery.of(context).size.width/2, - height: 300, - child: AnimatedList( - padding: const EdgeInsets.all(10.0), - key: _listKey, - initialItemCount: _list.length, - itemBuilder: _buildItem, - ), - ) - ], - )); - } - - Widget _buildBtn() => Row( - children: [ - IconButton( - icon: const Icon( - Icons.add_circle, - color: Colors.blue, - ), - onPressed: _insert, - ), - IconButton( - icon: const Icon(Icons.remove_circle, color: Colors.blue), - onPressed: _remove, - ), - ], - ); -} - -class ListModel { - ListModel({ - required this.listKey, - required this.removedItemBuilder, - required Iterable initialItems, - }) : assert(removedItemBuilder != null), - _items = List.from(initialItems); - final GlobalKey listKey; - final dynamic removedItemBuilder; - final List _items; - - AnimatedListState? get _animatedList => listKey.currentState; - - void insert(int index, E item) { - _items.insert(index, item); - _animatedList?.insertItem(index); - } - - E removeAt(int index) { - final E removedItem = _items.removeAt(index); - if (removedItem != null) { - _animatedList?.removeItem( - index, - (BuildContext context, Animation animation) => - removedItemBuilder(removedItem, context, animation), - ); - } - return removedItem; - } - - int get length => _items.length; - - E operator [](int index) => _items[index]; - - int indexOf(E item) => _items.indexOf(item); -} - -class _CardItem extends StatelessWidget { - const _CardItem( - {super.key, - required this.animation, - this.onTap, - required this.item, - this.selected = false}) - : assert(item >= 0); - final Animation animation; - final VoidCallback? onTap; - final int item; - final bool selected; - - @override - Widget build(BuildContext context) { - return SizeTransition( - axis: Axis.vertical, - sizeFactor: animation, - child: Card( - child: Container( - color: Colors.primaries[item % Colors.primaries.length], - child: CheckboxListTile( - dense: true, - title: Text( - 'Item $item', - style: const TextStyle(color: Colors.white, fontSize: 18), - ), - value: selected, - onChanged: (v) { - onTap?.call(); - }), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_de_DE.json deleted file mode 100644 index 1b4de5738..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 227, - "name": "AnimatedModalBarrier", - "localName": "Animierte Modalschranke", - "info": "Intern basiert es auf ModalBarrier und bietet die gleiche Funktionalität, jedoch kann dieser Komponente eine Farbanimation übergeben werden, um einen Übergangseffekt zu erzielen.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in AnimatedModalBarrier", - "desc": [ - "【dismissible】 : Gibt an, ob ein Klick zurückkehrt 【bool】", - "【color】 : Farbe 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_en_US.json deleted file mode 100644 index e412ca897..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 227, - "name": "AnimatedModalBarrier", - "localName": "Animated Barrier Module", - "info": "Internally relies on ModalBarrier for implementation, with the same functionality, except that this component can accept a color animation for transition display.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to AnimatedModalBarrier", - "desc": [ - "【dismissible】: Whether to return on click 【bool】", - "【color】: Color 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_es_ES.json deleted file mode 100644 index 18c13fdb4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 227, - "name": "AnimatedModalBarrier", - "localName": "Barrera Modal Animada", - "info": "Implementado internamente con ModalBarrier, con la misma funcionalidad, pero este componente puede recibir una animación de color para una transición suave.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a AnimatedModalBarrier", - "desc": [ - "【dismissible】: Si se puede volver al hacer clic 【bool】", - "【color】: Color 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_fr_FR.json deleted file mode 100644 index e9ed5dea5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 227, - "name": "AnimatedModalBarrier", - "localName": "Barrière Modale Animée", - "info": "Implémenté en interne avec ModalBarrier, fonctionne de la même manière, mais ce composant peut recevoir une animation de couleur pour une transition visuelle.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à AnimatedModalBarrier", - "desc": [ - "【dismissible】 : Retour au clic 【bool】", - "【color】 : Couleur 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_it_IT.json deleted file mode 100644 index c127583cd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 227, - "name": "AnimatedModalBarrier", - "localName": "Barriera Modale Animata", - "info": "Implementato internamente con ModalBarrier, le funzionalità sono le stesse, ma questo componente può ricevere un'animazione di colore per una transizione graduale.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a AnimatedModalBarrier", - "desc": [ - "【dismissible】 : Se cliccato, ritorna 【bool】", - "【color】 : Colore 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_ja_JP.json deleted file mode 100644 index 8bf23aef5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 227, - "name": "AnimatedModalBarrier", - "localName": "アニメーションバリアモジュール", - "info": "内部的にModalBarrierに依存して実装されており、機能は同じですが、このコンポーネントにはカラーアニメーションを渡して、トランジションを表示することができます。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedModalBarrier 紹介", - "desc": [ - "【dismissible】 : クリックで戻るかどうか 【bool】", - "【color】 : 色 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_ko_KR.json deleted file mode 100644 index 041ab445d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 227, - "name": "AnimatedModalBarrier", - "localName": "애니메이션 배리어 모드", - "info": "내부적으로 ModalBarrier를 기반으로 구현되었으며, 기능은 동일합니다. 다만 이 컴포넌트는 색상 애니메이션을 전달하여 전환 효과를 나타낼 수 있습니다.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedModalBarrier 소개", - "desc": [ - "【dismissible】 : 클릭 시 반환 여부 【bool】", - "【color】 : 색상 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_pt_PT.json deleted file mode 100644 index 8614f706f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 227, - "name": "AnimatedModalBarrier", - "localName": "Barreira Modal Animada", - "info": "Implementado internamente com ModalBarrier, com funcionalidades idênticas, exceto que este componente pode receber uma animação de cor para transição.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao AnimatedModalBarrier", - "desc": [ - "【dismissible】: Clicar para retornar 【bool】", - "【color】: Cor 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_ru_RU.json deleted file mode 100644 index a4d6fdce9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 227, - "name": "AnimatedModalBarrier", - "localName": "Анимированный барьер", - "info": "Внутренняя реализация зависит от ModalBarrier, функциональность идентична, за исключением того, что этот компонент может принимать анимацию цвета для плавного отображения.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в AnimatedModalBarrier", - "desc": [ - "【dismissible】 : Возврат при клике 【bool】", - "【color】 : Цвет 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_zh-CN.json deleted file mode 100644 index 7697738b0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 227, - "name": "AnimatedModalBarrier", - "localName": "动画屏障模", - "info": "内部依赖 ModalBarrier 实现,功能一致,只不过该组件可以传入一个颜色动画,进行过渡展现。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedModalBarrier 介绍", - "desc": [ - "【dismissible】 : 点击是否返回 【bool】", - "【color】 : 颜色 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/node1_base.dart deleted file mode 100644 index a01d1d7bf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedModalBarrier/node1_base.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - -class AnimatedModalBarrierDemo extends StatefulWidget { - const AnimatedModalBarrierDemo({Key? key}) : super(key: key); - - @override - _AnimatedModalBarrierDemoState createState() => - _AnimatedModalBarrierDemoState(); -} - -class _AnimatedModalBarrierDemoState extends State - with SingleTickerProviderStateMixin { - late AnimationController _controller; - late Animation _color; - - @override - void initState() { - super.initState(); - _controller = AnimationController( - vsync: this, - duration: const Duration(seconds: 2), - )..forward(); - _color = ColorTween( - begin: Colors.blue, - end: Colors.purple, - ).animate(_controller); - } - - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 200, - height: 100, - child: Stack(alignment: Alignment.center, children: [ - AnimatedModalBarrier( - dismissible: true, - color: _color, - ), - const Text( - '点击背景返回', - style: TextStyle(color: Colors.white), - ) - ]), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_de_DE.json deleted file mode 100644 index 37fe54b46..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 118, - "name": "AnimatedOpacity", - "localName": "Transparenz-Animation", - "info": "Ermöglicht die Animation der Opazität (Transparenz) von Kindkomponenten, ermöglicht die Angabe von Dauer und Kurve und verfügt über ein Ereignis zum Ende der Animation.", - "lever": 3, - "family": 1, - "linkIds": [ - 89, - 73 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedOpacity", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf am Ende der Animation 【Function()】", - "【curve】 : Animationskurve 【Duration】", - "【opacity】 : Transparenz 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_en_US.json deleted file mode 100644 index bbfbc733a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 118, - "name": "AnimatedOpacity", - "localName": "Opacity Animation", - "info": "Allows child components to perform opacity animations, with specified duration and curve, and has an animation end event.", - "lever": 3, - "family": 1, - "linkIds": [ - 89, - 73 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedOpacity", - "desc": [ - "【child】: Child component 【Widget】", - "【duration】: Animation duration 【Duration】", - "【onEnd】: Animation end callback 【Function()】", - "【curve】: Animation curve 【Duration】", - "【opacity】: Opacity 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_es_ES.json deleted file mode 100644 index 3b874d14f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 118, - "name": "AnimatedOpacity", - "localName": "Animación de Opacidad", - "info": "Permite animar la opacidad de los componentes hijos, se puede especificar la duración y la curva, y tiene un evento de finalización de la animación.", - "lever": 3, - "family": 1, - "linkIds": [ - 89, - 73 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedOpacity", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Callback al finalizar la animación 【Function()】", - "【curve】 : Curva de la animación 【Duration】", - "【opacity】 : Opacidad 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_fr_FR.json deleted file mode 100644 index 2217fa08f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 118, - "name": "AnimatedOpacity", - "localName": "Animation de transparence", - "info": "Permet à un composant enfant de réaliser une animation d'opacité, avec une durée et une courbe spécifiables, et un événement de fin d'animation.", - "lever": 3, - "family": 1, - "linkIds": [ - 89, - 73 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedOpacity", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Callback de fin d'animation 【Function()】", - "【curve】 : Courbe de l'animation 【Duration】", - "【opacity】 : Opacité 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_it_IT.json deleted file mode 100644 index f2ad7713c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 118, - "name": "AnimatedOpacity", - "localName": "Animazione di opacità", - "info": "Consente ai componenti figli di eseguire un'animazione di Opacity (opacità), può specificare la durata e la curva, e ha un evento di fine animazione.", - "lever": 3, - "family": 1, - "linkIds": [ - 89, - 73 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedOpacity", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【curve】 : Curva dell'animazione 【Duration】", - "【opacity】 : Opacità 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_ja_JP.json deleted file mode 100644 index b36dddf6e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 118, - "name": "AnimatedOpacity", - "localName": "透明度アニメーション", - "info": "子コンポーネントにOpacity(透明度)アニメーションを適用でき、時間と曲線を指定でき、アニメーション終了イベントがあります。", - "lever": 3, - "family": 1, - "linkIds": [ - 89, - 73 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedOpacityの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーション時間 【Duration】", - "【onEnd】 : アニメーション終了コールバック 【Function()】", - "【curve】 : アニメーション曲線 【Duration】", - "【opacity】 : 透明度 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_ko_KR.json deleted file mode 100644 index 7305222cd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 118, - "name": "AnimatedOpacity", - "localName": "투명도 애니메이션", - "info": "자식 위젯에 Opacity(투명도) 애니메이션을 적용할 수 있으며, 지속 시간과 곡선을 지정할 수 있고 애니메이션 종료 이벤트가 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 89, - 73 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedOpacity 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【opacity】 : 투명도 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_pt_PT.json deleted file mode 100644 index 0c8f16020..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 118, - "name": "AnimatedOpacity", - "localName": "Animação de Opacidade", - "info": "Permite que os componentes filhos realizem animações de Opacidade, podendo especificar a duração e a curva, com eventos de término da animação.", - "lever": 3, - "family": 1, - "linkIds": [ - 89, - 73 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedOpacity", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de término da animação 【Function()】", - "【curve】 : Curva da animação 【Duration】", - "【opacity】 : Opacidade 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_ru_RU.json deleted file mode 100644 index 1320b3bfa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 118, - "name": "AnimatedOpacity", - "localName": "Анимация прозрачности", - "info": "Позволяет дочерним компонентам выполнять анимацию Opacity (прозрачности), можно указать продолжительность и кривую, есть событие завершения анимации.", - "lever": 3, - "family": 1, - "linkIds": [ - 89, - 73 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedOpacity", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Продолжительность анимации 【Duration】", - "【onEnd】 : Обратный вызов завершения анимации 【Function()】", - "【curve】 : Кривая анимации 【Duration】", - "【opacity】 : Прозрачность 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_zh-CN.json deleted file mode 100644 index 4939396b5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 118, - "name": "AnimatedOpacity", - "localName": "透明动画", - "info": "能让子组件进行Opacity(透明度)动画,可指定时长和曲线,有动画结束事件。", - "lever": 3, - "family": 1, - "linkIds": [ - 89, - 73 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedOpacity基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【curve】 : 动画曲线 【Duration】", - "【opacity】 : 透明度 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/node1_base.dart deleted file mode 100644 index 8bc2cba6e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedOpacity/node1_base.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class CustomAnimatedOpacity extends StatefulWidget { - const CustomAnimatedOpacity({Key? key}) : super(key: key); - - @override - _CustomAnimatedOpacityState createState() => _CustomAnimatedOpacityState(); -} - -class _CustomAnimatedOpacityState extends State { - double _opacity = 1.0; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Switch( - value: _opacity == 0, - onChanged: (v) { - setState(() { - _opacity = v ? 0 : 1.0; - }); - }), - Container( - color: Colors.grey.withAlpha(22), - width: 200, - height: 100, - child: AnimatedOpacity( - duration: const Duration(seconds: 1), - curve: Curves.fastOutSlowIn, - opacity: _opacity, - onEnd: () => print('End'), - child: const Icon(Icons.android, color: Colors.green, size: 60), - ), - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_de_DE.json deleted file mode 100644 index b87470c96..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 119, - "name": "AnimatedPadding", - "localName": "Animierter Abstand", - "info": "Ermöglicht Padding (Innenabstand) Animationen für Kind-Komponenten, kann Dauer und Kurve angeben, hat ein Ereignis für das Ende der Animation.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedPadding", - "desc": [ - "【child】 : Kind-Komponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf am Ende der Animation 【Function()】", - "【curve】 : Animationskurve 【Duration】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_en_US.json deleted file mode 100644 index ab9b53fd0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 119, - "name": "AnimatedPadding", - "localName": "Padding Animation", - "info": "Allows child components to perform padding animation, with specified duration and curve, and has an animation end event.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedPadding", - "desc": [ - "【child】: Child component 【Widget】", - "【duration】: Animation duration 【Duration】", - "【onEnd】: Animation end callback 【Function()】", - "【curve】: Animation curve 【Duration】", - "【padding】: Padding 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_es_ES.json deleted file mode 100644 index 1b6f61137..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 119, - "name": "AnimatedPadding", - "localName": "Animación de margen", - "info": "Permite que los componentes hijos realicen una animación de Padding (margen interior), se puede especificar la duración y la curva, y tiene un evento de finalización de la animación.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedPadding", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Callback al finalizar la animación 【Function()】", - "【curve】 : Curva de la animación 【Duration】", - "【padding】 : Margen interior 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_fr_FR.json deleted file mode 100644 index f0cd004b4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 119, - "name": "AnimatedPadding", - "localName": "Animation de marge", - "info": "Permet à un composant enfant d'animer le Padding (marge intérieure), avec la possibilité de spécifier la durée et la courbe, et un événement de fin d'animation.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedPadding", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【curve】 : Courbe de l'animation 【Duration】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_it_IT.json deleted file mode 100644 index ec6ac5f79..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 119, - "name": "AnimatedPadding", - "localName": "Animazione del margine", - "info": "Consente ai componenti figli di eseguire animazioni di Padding (margine interno), con la possibilità di specificare durata e curva, e con un evento di fine animazione.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedPadding", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【curve】 : Curva dell'animazione 【Duration】", - "【padding】 : Margine interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_ja_JP.json deleted file mode 100644 index 319764422..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 119, - "name": "AnimatedPadding", - "localName": "パディングアニメーション", - "info": "子コンポーネントにPadding(パディング)アニメーションを行わせることができ、時間と曲線を指定でき、アニメーション終了イベントがあります。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPaddingの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーション時間 【Duration】", - "【onEnd】 : アニメーション終了コールバック 【Function()】", - "【curve】 : アニメーション曲線 【Duration】", - "【padding】 : パディング 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_ko_KR.json deleted file mode 100644 index 6d5c3d4b6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 119, - "name": "AnimatedPadding", - "localName": "패딩 애니메이션", - "info": "자식 위젯에 패딩(내부 여백) 애니메이션을 적용할 수 있으며, 지속 시간과 곡선을 지정할 수 있고, 애니메이션 종료 이벤트가 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPadding 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_pt_PT.json deleted file mode 100644 index bf6ac0b7a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 119, - "name": "AnimatedPadding", - "localName": "Animação de Margem", - "info": "Permite que os componentes filhos realizem animações de Padding (margem interna), pode especificar a duração e a curva, e tem um evento de término da animação.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedPadding", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de término da animação 【Function()】", - "【curve】 : Curva da animação 【Duration】", - "【padding】 : Margem interna 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_ru_RU.json deleted file mode 100644 index 7b2c17d70..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 119, - "name": "AnimatedPadding", - "localName": "Анимация отступов", - "info": "Позволяет дочерним компонентам анимировать отступы (Padding), можно указать длительность и кривую, есть событие завершения анимации.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedPadding", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Длительность анимации 【Duration】", - "【onEnd】 : Обратный вызов завершения анимации 【Function()】", - "【curve】 : Кривая анимации 【Duration】", - "【padding】 : Внутренние отступы 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_zh-CN.json deleted file mode 100644 index 0b7eafc48..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 119, - "name": "AnimatedPadding", - "localName": "边距动画", - "info": "能让子组件进行Padding(内边距)动画,可指定时长和曲线,有动画结束事件。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPadding基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【curve】 : 动画曲线 【Duration】", - "【padding】 : 内边距 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/node1_base.dart deleted file mode 100644 index 000ae15e2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPadding/node1_base.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class CustomAnimatedPadding extends StatefulWidget { - const CustomAnimatedPadding({Key? key}) : super(key: key); - - @override - _CustomAnimatedPaddingState createState() => _CustomAnimatedPaddingState(); -} - -class _CustomAnimatedPaddingState extends State { - final EdgeInsets startPadding = const EdgeInsets.all(10); - final EdgeInsets endPadding = const EdgeInsets.all(30); - - late EdgeInsets _padding; - - @override - void initState() { - _padding = startPadding; - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Switch( - value: _padding == endPadding, - onChanged: (v) { - setState(() { - _padding = v ? endPadding : startPadding; - }); - }), - Container( - color: Colors.grey.withAlpha(22), - width: 200, - height: 100, - child: AnimatedPadding( - duration: const Duration(seconds: 1), - curve: Curves.fastOutSlowIn, - padding: _padding, - onEnd: () => print('End'), - child: Container( - alignment: Alignment.center, - color: Colors.blue, - child: const Text( - '张风捷特烈', - style: TextStyle(color: Colors.white), - ), - ), - ), - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_de_DE.json deleted file mode 100644 index 12cbe3188..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 225, - "name": "AnimatedPhysicalModel", - "localName": "Animiertes Physikalisches Modell", - "info": "Eine PhysicalModel-Komponente mit Animationseffekten bei Änderungen der relevanten Eigenschaften, im Wesentlichen eine Kombination aus PhysicalModel und Animation. Es können Eigenschaften wie Schatten, Schattentiefe, abgerundete Ecken, Animationsdauer, Endrückruf usw. angegeben werden.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedPhysicalModel", - "desc": [ - "【color】 : Hintergrundfarbe 【Color】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf nach Abschluss der Animation 【Function()】", - "【curve】 : Animationskurve 【Duration】", - "【shape】 : Form 【BoxShape】", - "【elevation】 : Schattentiefe 【double】", - "【borderRadius】 : Abgerundete Ecken 【BorderRadius】", - "【shadowColor】 : Schattenfarbe 【Color】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_en_US.json deleted file mode 100644 index 70d62f756..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 225, - "name": "AnimatedPhysicalModel", - "localName": "Animated Physical Model", - "info": "A PhysicalModel component with animation effects when related properties change, essentially a combination of PhysicalModel and animation. Properties such as shadow, elevation, borderRadius, animation duration, and end callback can be specified.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedPhysicalModel", - "desc": [ - "【color】: Background color 【Color】", - "【duration】: Animation duration 【Duration】", - "【onEnd】: Animation end callback 【Function()】", - "【curve】: Animation curve 【Duration】", - "【shape】: Shape 【BoxShape】", - "【elevation】: Elevation 【double】", - "【borderRadius】: Border radius 【BorderRadius】", - "【shadowColor】: Shadow color 【Color】", - "【child】: Child widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_es_ES.json deleted file mode 100644 index d7df7f575..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 225, - "name": "AnimatedPhysicalModel", - "localName": "Modelo Físico Animado", - "info": "Un componente PhysicalModel con efectos de animación cuando cambian las propiedades relacionadas, esencialmente es una combinación de PhysicalModel y animación. Se pueden especificar propiedades como sombra, profundidad de sombra, esquinas redondeadas, duración de la animación, devolución de llamada al finalizar, etc.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedPhysicalModel", - "desc": [ - "【color】 : Color de fondo 【Color】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Devolución de llamada al finalizar la animación 【Function()】", - "【curve】 : Curva de animación 【Duration】", - "【shape】 : Forma 【BoxShape】", - "【elevation】 : Profundidad de sombra 【double】", - "【borderRadius】 : Esquinas redondeadas 【BorderRadius】", - "【shadowColor】 : Color de la sombra 【Color】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_fr_FR.json deleted file mode 100644 index 53c14c051..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 225, - "name": "AnimatedPhysicalModel", - "localName": "Animation de module physique", - "info": "Un composant PhysicalModel avec des effets d'animation lorsque les propriétés associées changent, essentiellement une combinaison de PhysicalModel et d'animation. Vous pouvez spécifier des propriétés telles que l'ombre, la profondeur de l'ombre, le rayon de bordure, la durée de l'animation, le rappel de fin, etc.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedPhysicalModel", - "desc": [ - "【color】 : Couleur de fond 【Color】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【curve】 : Courbe d'animation 【Duration】", - "【shape】 : Forme 【BoxShape】", - "【elevation】 : Profondeur de l'ombre 【double】", - "【borderRadius】 : Rayon de bordure 【BorderRadius】", - "【shadowColor】 : Couleur de l'ombre 【Color】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_it_IT.json deleted file mode 100644 index 8ffe12ecc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 225, - "name": "AnimatedPhysicalModel", - "localName": "Modello Fisico Animato", - "info": "Componente PhysicalModel con effetti di animazione quando cambiano le proprietà relative, essenzialmente una combinazione di PhysicalModel e animazione. È possibile specificare proprietà come ombre, profondità dell'ombra, angoli arrotondati, durata dell'animazione, callback di fine, ecc.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedPhysicalModel", - "desc": [ - "【color】 : Colore di sfondo 【Color】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【curve】 : Curva dell'animazione 【Duration】", - "【shape】 : Forma 【BoxShape】", - "【elevation】 : Profondità dell'ombra 【double】", - "【borderRadius】 : Angoli arrotondati 【BorderRadius】", - "【shadowColor】 : Colore dell'ombra 【Color】", - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_ja_JP.json deleted file mode 100644 index ef1334122..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 225, - "name": "AnimatedPhysicalModel", - "localName": "物理モジュールアニメーション", - "info": "関連する属性が変化する際にアニメーション効果を持つPhysicalModelコンポーネントで、本質的にはPhysicalModelとアニメーションの組み合わせです。影、影の深さ、角の丸み、アニメーションの長さ、終了コールバックなどの属性を指定できます。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPhysicalModelの基本使用", - "desc": [ - "【color】 : 背景色 【Color】", - "【duration】 : アニメーションの長さ 【Duration】", - "【onEnd】 : アニメーション終了コールバック 【Function()】", - "【curve】 : アニメーションカーブ 【Duration】", - "【shape】 : 形状 【BoxShape】", - "【elevation】 : 影の深さ 【double】", - "【borderRadius】 : 角の丸み 【BorderRadius】", - "【shadowColor】 : 影の色 【Color】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_ko_KR.json deleted file mode 100644 index a5814d3b7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 225, - "name": "AnimatedPhysicalModel", - "localName": "물리 모듈 애니메이션", - "info": "관련 속성이 변경될 때 애니메이션 효과가 있는 PhysicalModel 컴포넌트로, 본질적으로 PhysicalModel과 애니메이션의 결합체입니다. 그림자, 그림자 깊이, 둥근 모서리, 애니메이션 지속 시간, 종료 콜백 등의 속성을 지정할 수 있습니다.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPhysicalModel 기본 사용", - "desc": [ - "【color】 : 배경색 【Color】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【shape】 : 모양 【BoxShape】", - "【elevation】 : 그림자 깊이 【double】", - "【borderRadius】 : 둥근 모서리 【BorderRadius】", - "【shadowColor】 : 그림자 색상 【Color】", - "【child】 : 자식 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_pt_PT.json deleted file mode 100644 index 1157fca62..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 225, - "name": "AnimatedPhysicalModel", - "localName": "Modelo Físico Animado", - "info": "Componente PhysicalModel com efeitos de animação quando as propriedades relacionadas mudam, essencialmente uma combinação de PhysicalModel e animação. Pode especificar propriedades como sombra, profundidade de sombra, cantos arredondados, duração da animação, callback de término, etc.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedPhysicalModel", - "desc": [ - "【color】 : Cor de fundo 【Color】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de término da animação 【Function()】", - "【curve】 : Curva de animação 【Duration】", - "【shape】 : Forma 【BoxShape】", - "【elevation】 : Profundidade de sombra 【double】", - "【borderRadius】 : Cantos arredondados 【BorderRadius】", - "【shadowColor】 : Cor da sombra 【Color】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_ru_RU.json deleted file mode 100644 index 4f04e95f3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 225, - "name": "AnimatedPhysicalModel", - "localName": "Анимация физического модуля", - "info": "Компонент PhysicalModel с анимацией при изменении связанных свойств, по сути, представляет собой комбинацию PhysicalModel и анимации. Можно указать такие свойства, как тень, глубина тени, скругление углов, длительность анимации, обратный вызов по завершении и другие.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedPhysicalModel", - "desc": [ - "【color】 : Цвет фона 【Color】", - "【duration】 : Длительность анимации 【Duration】", - "【onEnd】 : Обратный вызов по завершении анимации 【Function()】", - "【curve】 : Кривая анимации 【Duration】", - "【shape】 : Форма 【BoxShape】", - "【elevation】 : Глубина тени 【double】", - "【borderRadius】 : Скругление углов 【BorderRadius】", - "【shadowColor】 : Цвет тени 【Color】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_zh-CN.json deleted file mode 100644 index 12cf35945..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 225, - "name": "AnimatedPhysicalModel", - "localName": "物理模块动画", - "info": "相关属性变化时具有动画效果的PhysicalModel组件,本质是PhysicalModel和动画结合的产物。可指定阴影、影深、圆角、动画时长、结束回调等属性。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPhysicalModel基本使用", - "desc": [ - "【color】 : 背景色 【Color】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【curve】 : 动画曲线 【Duration】", - "【shape】 : 形状 【BoxShape】", - "【elevation】 : 影深 【double】", - "【borderRadius】 : 圆角 【BorderRadius】", - "【shadowColor】 : 阴影色 【Color】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/node1_base.dart deleted file mode 100644 index c96a4f6ef..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPhysicalModel/node1_base.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class AnimatedPhysicalModelDemo extends StatefulWidget { - const AnimatedPhysicalModelDemo({Key? key}) : super(key: key); - - @override - _AnimatedPhysicalModelDemoState createState() => - _AnimatedPhysicalModelDemoState(); -} - -class _AnimatedPhysicalModelDemoState extends State { - bool flag = false; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildSwitch(), - SizedBox( - width: 150, - height: 150, - child: AnimatedPhysicalModel( - duration: const Duration(seconds: 2), - curve: Curves.fastOutSlowIn, - shadowColor: flag?Colors.orange:Colors.purple, - elevation: flag?10:5, - child: Image.asset( - 'assets/images/caver.webp', - fit: BoxFit.cover, - ), - borderRadius: BorderRadius.all(Radius.circular(flag? 10:75)), - clipBehavior: Clip.hardEdge, - shape: BoxShape.rectangle, - color: Colors.deepPurpleAccent, - onEnd: () => print('----onEnd---'), - ), - ), - ], - ); - } - - Widget _buildSwitch() => Switch( - value: flag, - onChanged: (v) { - setState(() { - flag = v; - }); - }); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_de_DE.json deleted file mode 100644 index c1da6abed..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 121, - "name": "AnimatedPositioned", - "localName": "Positionierte Animation", - "info": "Ermöglicht die Positionierungsanimation von Unterkomponenten, kann Dauer und Kurve angeben und hat ein Ereignis zum Ende der Animation. Kann nur in einem Stack verwendet werden.", - "lever": 3, - "family": 1, - "linkIds": [ - 108, - 93, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedPositioned", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf am Ende der Animation 【Function()】", - "【curve】 : Animationskurve 【Duration】", - "【top】 : Abstand zum oberen Rand des Elternteils 【double】", - "【right】 : Abstand zum rechten Rand des Elternteils 【double】", - "【left】 : Abstand zum linken Rand des Elternteils 【double】", - "【bottom】 : Abstand zum unteren Rand des Elternteils 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_en_US.json deleted file mode 100644 index a27ec8804..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 121, - "name": "AnimatedPositioned", - "localName": "Positioning Animation", - "info": "Allows child components to perform Positioned (positioning) animations, with specified duration and curves, and has an animation end event. Can only be used within a Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 108, - 93, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedPositioned", - "desc": [ - "【child】: Child component 【Widget】", - "【duration】: Animation duration 【Duration】", - "【onEnd】: Animation end callback 【Function()】", - "【curve】: Animation curve 【Duration】", - "【top】: Distance to parent top 【double】", - "【right】: Distance to parent right 【double】", - "【left】: Distance to parent left 【double】", - "【bottom】: Distance to parent bottom 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_es_ES.json deleted file mode 100644 index 5128fa97a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 121, - "name": "AnimatedPositioned", - "localName": "Animación de Posicionamiento", - "info": "Permite que los componentes hijos realicen animaciones de Positioned (posicionamiento), se pueden especificar la duración y la curva, y hay un evento de finalización de la animación. Solo se puede usar dentro de Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 108, - 93, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedPositioned", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Callback de finalización de la animación 【Function()】", - "【curve】 : Curva de la animación 【Duration】", - "【top】 : Distancia a la parte superior del padre 【double】", - "【right】 : Distancia a la derecha del padre 【double】", - "【left】 : Distancia a la izquierda del padre 【double】", - "【bottom】 : Distancia a la parte inferior del padre 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_fr_FR.json deleted file mode 100644 index fb1343801..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 121, - "name": "AnimatedPositioned", - "localName": "Animation de positionnement", - "info": "Permet à un composant enfant d'effectuer une animation Positioned (positionnement), avec une durée et une courbe spécifiables, et un événement de fin d'animation. Ne peut être utilisé que dans un Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 108, - 93, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedPositioned", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【curve】 : Courbe de l'animation 【Duration】", - "【top】 : Distance par rapport au haut du parent 【double】", - "【right】 : Distance par rapport à la droite du parent 【double】", - "【left】 : Distance par rapport à la gauche du parent 【double】", - "【bottom】 : Distance par rapport au bas du parent 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_it_IT.json deleted file mode 100644 index 2e5cb4dd3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 121, - "name": "AnimatedPositioned", - "localName": "Animazione di Posizionamento", - "info": "Consente ai componenti figli di eseguire animazioni di posizionamento (Positioned), con durata e curva specificabili, e un evento di fine animazione. Può essere utilizzato solo all'interno di uno Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 108, - 93, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedPositioned", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【curve】 : Curva dell'animazione 【Duration】", - "【top】 : Distanza dal bordo superiore del genitore 【double】", - "【right】 : Distanza dal bordo destro del genitore 【double】", - "【left】 : Distanza dal bordo sinistro del genitore 【double】", - "【bottom】 : Distanza dal bordo inferiore del genitore 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_ja_JP.json deleted file mode 100644 index 2ed82519e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 121, - "name": "AnimatedPositioned", - "localName": "位置アニメーション", - "info": "子コンポーネントをPositioned(位置)アニメーションさせることができ、時間と曲線を指定でき、アニメーション終了イベントがあります。Stack内でのみ使用できます。", - "lever": 3, - "family": 1, - "linkIds": [ - 108, - 93, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPositionedの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーション時間 【Duration】", - "【onEnd】 : アニメーション終了コールバック 【Function()】", - "【curve】 : アニメーション曲線 【Duration】", - "【top】 : 親の上端までの距離 【double】", - "【right】 : 親の右端までの距離 【double】", - "【left】 : 親の左端までの距離 【double】", - "【bottom】 : 親の下端までの距離 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_ko_KR.json deleted file mode 100644 index 0bbbb46b4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 121, - "name": "AnimatedPositioned", - "localName": "위치 애니메이션", - "info": "자식 컴포넌트를 Positioned(위치) 애니메이션으로 이동시킬 수 있으며, 지속 시간과 곡선을 지정할 수 있고 애니메이션 종료 이벤트가 있습니다. Stack 내에서만 사용할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 108, - 93, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPositioned 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【top】 : 부모 상단까지의 거리 【double】", - "【right】 : 부모 오른쪽까지의 거리 【double】", - "【left】 : 부모 왼쪽까지의 거리 【double】", - "【bottom】 : 부모 하단까지의 거리 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_pt_PT.json deleted file mode 100644 index 117e6a50b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 121, - "name": "AnimatedPositioned", - "localName": "Animação de Posicionamento", - "info": "Permite que os componentes filhos realizem animações de Positioned (posicionamento), podendo especificar a duração e a curva, com evento de término da animação. Só pode ser usado dentro de uma Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 108, - 93, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedPositioned", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de término da animação 【Function()】", - "【curve】 : Curva da animação 【Duration】", - "【top】 : Distância até o topo do pai 【double】", - "【right】 : Distância até a direita do pai 【double】", - "【left】 : Distância até a esquerda do pai 【double】", - "【bottom】 : Distância até a base do pai 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_ru_RU.json deleted file mode 100644 index 577fb6360..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 121, - "name": "AnimatedPositioned", - "localName": "Анимация позиционирования", - "info": "Позволяет дочерним компонентам выполнять анимацию Positioned (позиционирования), можно указать продолжительность и кривую, есть событие завершения анимации. Может использоваться только в Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 108, - 93, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedPositioned", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Продолжительность анимации 【Duration】", - "【onEnd】 : Обратный вызов завершения анимации 【Function()】", - "【curve】 : Кривая анимации 【Duration】", - "【top】 : Расстояние до верхнего края родителя 【double】", - "【right】 : Расстояние до правого края родителя 【double】", - "【left】 : Расстояние до левого края родителя 【double】", - "【bottom】 : Расстояние до нижнего края родителя 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_zh-CN.json deleted file mode 100644 index 4fe0c26f9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 121, - "name": "AnimatedPositioned", - "localName": "定位动画", - "info": "能让子组件进行Positioned(定位)动画,可指定时长和曲线,有动画结束事件。只能用于Stack之中。", - "lever": 3, - "family": 1, - "linkIds": [ - 108, - 93, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPositioned基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【curve】 : 动画曲线 【Duration】", - "【top】 : 到父顶距离 【double】", - "【right】 : 到父右距离 【double】", - "【left】 : 到父左距离 【double】", - "【bottom】 : 到父底距离 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/node1_base.dart deleted file mode 100644 index 65885b9e1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositioned/node1_base.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class CustomAnimatedPositioned extends StatefulWidget { - const CustomAnimatedPositioned({Key? key}) : super(key: key); - - @override - _CustomAnimatedPositionedState createState() => - _CustomAnimatedPositionedState(); -} - -class _CustomAnimatedPositionedState extends State { - final double startTop = 0.0; - final double endTop = 30.0; - - double _top = 0.0; - - @override - void initState() { - _top = startTop; - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildSwitch(), - Container( - color: Colors.grey.withAlpha(33), - width: 200, - height: 100, - child: Stack( - children: _buildChildren(), - ), - ), - ], - ); - } - - List _buildChildren() => [ - AnimatedPositioned( - duration: const Duration(seconds: 1), - top: _top, - left: _top * 4, - child: const Icon( - Icons.android, - color: Colors.green, - size: 50, - ), - ), - AnimatedPositioned( - duration: const Duration(seconds: 1), - top: 50 - _top, - left: 150 - _top * 4, - child: const Icon( - Icons.android, - color: Colors.red, - size: 50, - ), - ) - ]; - - Widget _buildSwitch() => Switch( - value: _top == endTop, - onChanged: (v) { - setState(() { - _top = v ? endTop : startTop; - }); - }); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_de_DE.json deleted file mode 100644 index 2ef2b7153..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_de_DE.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 122, - "name": "AnimatedPositionedDirectional", - "localName": "Richtungsbasierte Positionierungsanimation", - "info": "Ermöglicht es Kindkomponenten, eine PositionedDirectional (richtungsbasierte Positionierung) Animation durchzuführen, wobei Dauer und Kurve angegeben werden können und ein Ereignis am Ende der Animation vorhanden ist. Kann nur innerhalb eines Stacks verwendet werden.", - "lever": 3, - "family": 1, - "linkIds": [ - 121, - 159 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedPositionedDirectional", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf am Ende der Animation 【Function()】", - "【curve】 : Animationskurve 【Duration】", - "【top】 : Abstand zum oberen Rand des Elternteils 【double】", - "【end】 : Abstand zum rechten Rand des Elternteils 【double】", - "【start】 : Abstand zum linken Rand des Elternteils 【double】", - "【bottom】 : Abstand zum unteren Rand des Elternteils 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_en_US.json deleted file mode 100644 index b4f69a916..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_en_US.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 122, - "name": "AnimatedPositionedDirectional", - "localName": "Directional Positioning Animation", - "info": "Allows child components to perform PositionedDirectional (directional positioning) animations, with specified duration and curve, and has an animation end event. Can only be used within Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 121, - 159 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedPositionedDirectional", - "desc": [ - "【child】: Child component 【Widget】", - "【duration】: Animation duration 【Duration】", - "【onEnd】: Animation end callback 【Function()】", - "【curve】: Animation curve 【Duration】", - "【top】: Distance to parent top 【double】", - "【end】: Distance to parent right 【double】", - "【start】: Distance to parent left 【double】", - "【bottom】: Distance to parent bottom 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_es_ES.json deleted file mode 100644 index dfd55b246..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_es_ES.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 122, - "name": "AnimatedPositionedDirectional", - "localName": "Animación de Posicionamiento Direccional", - "info": "Permite que los componentes hijos realicen animaciones de PositionedDirectional (posicionamiento direccional), se pueden especificar la duración y la curva, y tiene un evento de finalización de la animación. Solo se puede usar dentro de un Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 121, - 159 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedPositionedDirectional", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Callback de finalización de la animación 【Function()】", - "【curve】 : Curva de la animación 【Duration】", - "【top】 : Distancia desde la parte superior del padre 【double】", - "【end】 : Distancia desde la derecha del padre 【double】", - "【start】 : Distancia desde la izquierda del padre 【double】", - "【bottom】 : Distancia desde la parte inferior del padre 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_fr_FR.json deleted file mode 100644 index 0bab7f7d0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_fr_FR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 122, - "name": "AnimatedPositionedDirectional", - "localName": "Animation de positionnement directionnel", - "info": "Permet à un composant enfant d'effectuer une animation de PositionedDirectional (positionnement directionnel), avec une durée et une courbe spécifiables, et un événement de fin d'animation. Ne peut être utilisé que dans un Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 121, - 159 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedPositionedDirectional", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【curve】 : Courbe de l'animation 【Duration】", - "【top】 : Distance du haut du parent 【double】", - "【end】 : Distance de la droite du parent 【double】", - "【start】 : Distance de la gauche du parent 【double】", - "【bottom】 : Distance du bas du parent 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_it_IT.json deleted file mode 100644 index c435d24ca..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_it_IT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 122, - "name": "AnimatedPositionedDirectional", - "localName": "Animazione di posizionamento direzionale", - "info": "Consente ai componenti figli di eseguire un'animazione PositionedDirectional (posizionamento direzionale), con durata e curva specificabili, e un evento di fine animazione. Può essere utilizzato solo all'interno di uno Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 121, - 159 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedPositionedDirectional", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【curve】 : Curva dell'animazione 【Duration】", - "【top】 : Distanza dal bordo superiore del genitore 【double】", - "【end】 : Distanza dal bordo destro del genitore 【double】", - "【start】 : Distanza dal bordo sinistro del genitore 【double】", - "【bottom】 : Distanza dal bordo inferiore del genitore 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_ja_JP.json deleted file mode 100644 index f4ccfa9b7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_ja_JP.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 122, - "name": "AnimatedPositionedDirectional", - "localName": "方向定位アニメーション", - "info": "子コンポーネントをPositionedDirectional(方向定位)アニメーションさせることができ、時間と曲線を指定でき、アニメーション終了イベントがあります。Stack内でのみ使用できます。", - "lever": 3, - "family": 1, - "linkIds": [ - 121, - 159 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPositionedDirectional基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーション時間 【Duration】", - "【onEnd】 : アニメーション終了コールバック 【Function()】", - "【curve】 : アニメーション曲線 【Duration】", - "【top】 : 親の上端までの距離 【double】", - "【end】 : 親の右端までの距離 【double】", - "【start】 : 親の左端までの距離 【double】", - "【bottom】 : 親の下端までの距離 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_ko_KR.json deleted file mode 100644 index 7fb293765..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_ko_KR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 122, - "name": "AnimatedPositionedDirectional", - "localName": "방향 위치 애니메이션", - "info": "자식 구성 요소를 PositionedDirectional(방향 위치) 애니메이션으로 만들 수 있으며, 지속 시간과 곡선을 지정할 수 있고, 애니메이션 종료 이벤트가 있습니다. Stack 내에서만 사용할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 121, - 159 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPositionedDirectional 기본 사용", - "desc": [ - "【child】 : 자식 구성 요소 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【top】 : 부모 상단까지의 거리 【double】", - "【end】 : 부모 오른쪽까지의 거리 【double】", - "【start】 : 부모 왼쪽까지의 거리 【double】", - "【bottom】 : 부모 하단까지의 거리 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_pt_PT.json deleted file mode 100644 index 2bc583d15..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_pt_PT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 122, - "name": "AnimatedPositionedDirectional", - "localName": "Animação de Posicionamento Direcional", - "info": "Permite que os componentes filhos realizem animações de PositionedDirectional (Posicionamento Direcional), podendo especificar a duração e a curva, com eventos de término da animação. Só pode ser usado dentro de uma Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 121, - 159 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do AnimatedPositionedDirectional", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de término da animação 【Function()】", - "【curve】 : Curva da animação 【Duration】", - "【top】 : Distância até o topo do pai 【double】", - "【end】 : Distância até a direita do pai 【double】", - "【start】 : Distância até a esquerda do pai 【double】", - "【bottom】 : Distância até a base do pai 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_ru_RU.json deleted file mode 100644 index e68ad6229..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_ru_RU.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 122, - "name": "AnimatedPositionedDirectional", - "localName": "Анимация направленного позиционирования", - "info": "Позволяет дочерним компонентам выполнять анимацию PositionedDirectional (направленное позиционирование), можно указать продолжительность и кривую, есть событие окончания анимации. Может использоваться только внутри Stack.", - "lever": 3, - "family": 1, - "linkIds": [ - 121, - 159 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedPositionedDirectional", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Продолжительность анимации 【Duration】", - "【onEnd】 : Обратный вызов окончания анимации 【Function()】", - "【curve】 : Кривая анимации 【Duration】", - "【top】 : Расстояние до верха родителя 【double】", - "【end】 : Расстояние до правой стороны родителя 【double】", - "【start】 : Расстояние до левой стороны родителя 【double】", - "【bottom】 : Расстояние до низа родителя 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_zh-CN.json deleted file mode 100644 index 585f8084f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/desc_zh-CN.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 122, - "name": "AnimatedPositionedDirectional", - "localName": "方向定位动画", - "info": "能让子组件进行PositionedDirectional(方向定位)动画,可指定时长和曲线,有动画结束事件。只能用于Stack之中。", - "lever": 3, - "family": 1, - "linkIds": [ - 121, - 159 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedPositionedDirectional基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【curve】 : 动画曲线 【Duration】", - "【top】 : 到父顶距离 【double】", - "【end】 : 到父右距离 【double】", - "【start】 : 到父左距离 【double】", - "【bottom】 : 到父底距离 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/node1_base.dart deleted file mode 100644 index 558c62ceb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedPositionedDirectional/node1_base.dart +++ /dev/null @@ -1,74 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class CustomAnimatedPositionedDirectional extends StatefulWidget { - const CustomAnimatedPositionedDirectional({Key? key}) : super(key: key); - - @override - _CustomAnimatedPositionedDirectionalState createState() => - _CustomAnimatedPositionedDirectionalState(); -} - -class _CustomAnimatedPositionedDirectionalState - extends State { - final double startTop = 0.0; - final double endTop = 30.0; - - double _top = 0.0; - - @override - void initState() { - _top = startTop; - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildSwitch(), - Container( - color: Colors.grey.withAlpha(33), - width: 200, - height: 100, - child: Stack( - children: _buildChildren(), - ), - ), - ], - ); - } - - List _buildChildren() => [ - AnimatedPositionedDirectional( - duration: const Duration(seconds: 1), - top: _top, - start: _top * 4, - child: const Icon( - Icons.android, - color: Colors.green, - size: 50, - ), - ), - AnimatedPositionedDirectional( - duration: const Duration(seconds: 1), - top: 50 - _top, - start: 150 - _top * 4, - child: const Icon( - Icons.android, - color: Colors.red, - size: 50, - ), - ) - ]; - - Widget _buildSwitch() => Switch( - value: _top == endTop, - onChanged: (v) { - setState(() { - _top = v ? endTop : startTop; - }); - }); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_de_DE.json deleted file mode 100644 index 31511c6ba..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_de_DE.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 259, - "name": "AnimatedRotation", - "localName": "Rotationsanimation", - "info": "Wenn sich die gegebene Rotationsmenge ändert, kann die Unterkomponente automatisch den relativen Rotationswert anpassen, und es gibt eine animierte Änderung zwischen den vorherigen und nachfolgenden Werten.", - "lever": 3, - "family": 1, - "linkIds": [ - 247, - 249 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Rotationsanimationseffekt", - "desc": [ - "In diesem Beispiel wird der Parameter turns durch Ziehen angepasst, um den animierten Bewegungseffekt zu sehen. Der Rotationswinkel beträgt: turns*2*pi", - "【child】 : Kinderkomponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf bei Animationsende 【Function()】", - "【alignment】 : Zentrum der Animationstransformation 【Alignment】", - "【curve】 : Animationskurve 【Duration】", - "【filterQuality】 : Filterqualität 【FilterQuality】", - "【turns】 : Rotationsmenge 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_en_US.json deleted file mode 100644 index f11797f26..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_en_US.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 259, - "name": "AnimatedRotation", - "localName": "Rotation Animation", - "info": "When the given rotation amount changes, the child component can automatically adjust relative to the rotation value, and there is an animated transition between the previous and new values.", - "lever": 3, - "family": 1, - "linkIds": [ - 247, - 249 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Rotation Animation Effect", - "desc": [ - "In this case, drag to adjust the turns parameter to see the animation effect. The rotation angle is: turns*2*pi", - "【child】: Child component 【Widget】", - "【duration】: Animation duration 【Duration】", - "【onEnd】: Animation end callback 【Function()】", - "【alignment】: Animation transformation center 【Alignment】", - "【curve】: Animation curve 【Duration】", - "【filterQuality】: Filter quality 【FilterQuality】", - "【turns】: Rotation amount 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_es_ES.json deleted file mode 100644 index 15e01c402..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_es_ES.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 259, - "name": "AnimatedRotation", - "localName": "Animación de rotación", - "info": "Cuando cambia la cantidad de rotación dada, el componente hijo puede ajustarse automáticamente en relación con el valor de rotación, y hay un cambio animado entre los valores anteriores y posteriores.", - "lever": 3, - "family": 1, - "linkIds": [ - 247, - 249 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Efecto de animación de rotación", - "desc": [ - "En este caso, arrastra para ajustar el parámetro turns y observa el efecto de movimiento de la animación. El ángulo de rotación es: turns*2*pi", - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Callback al finalizar la animación 【Function()】", - "【alignment】 : Centro de transformación de la animación 【Alignment】", - "【curve】 : Curva de la animación 【Duration】", - "【filterQuality】 : Calidad del filtro 【FilterQuality】", - "【turns】 : Cantidad de rotación 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_fr_FR.json deleted file mode 100644 index 970fae798..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_fr_FR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 259, - "name": "AnimatedRotation", - "localName": "Animation de rotation", - "info": "Lorsque la quantité de rotation donnée change, le composant enfant peut s'ajuster automatiquement par rapport à la valeur de rotation, avec une animation entre les valeurs précédentes et suivantes.", - "lever": 3, - "family": 1, - "linkIds": [ - 247, - 249 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Effet d'animation de rotation", - "desc": [ - "Dans cet exemple, faites glisser pour ajuster le paramètre turns et observez l'effet de l'animation. L'angle de rotation est : turns*2*pi", - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel à la fin de l'animation 【Function()】", - "【alignment】 : Centre de transformation de l'animation 【Alignment】", - "【curve】 : Courbe de l'animation 【Duration】", - "【filterQuality】 : Qualité du filtre 【FilterQuality】", - "【turns】 : Quantité de rotation 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_it_IT.json deleted file mode 100644 index 5fdc73855..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_it_IT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 259, - "name": "AnimatedRotation", - "localName": "Animazione di rotazione", - "info": "Quando la quantità di rotazione specificata cambia, il componente figlio può regolarsi automaticamente rispetto al valore di rotazione, con un'animazione che mostra la transizione tra i valori precedenti e successivi.", - "lever": 3, - "family": 1, - "linkIds": [ - 247, - 249 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Effetto di animazione di rotazione", - "desc": [ - "In questo esempio, trascina per regolare il parametro turns e osserva l'effetto dell'animazione. L'angolo di rotazione è: turns*2*pi", - "【child】 : componente figlio 【Widget】", - "【duration】 : durata dell'animazione 【Duration】", - "【onEnd】 : callback alla fine dell'animazione 【Function()】", - "【alignment】 : centro di trasformazione dell'animazione 【Alignment】", - "【curve】 : curva dell'animazione 【Duration】", - "【filterQuality】 : qualità del filtro 【FilterQuality】", - "【turns】 : quantità di rotazione 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_ja_JP.json deleted file mode 100644 index 1e813b8eb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_ja_JP.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 259, - "name": "AnimatedRotation", - "localName": "回転アニメーション", - "info": "指定された回転量が変化した場合、子コンポーネントは回転値に応じて自動的に調整され、前後の値にアニメーションの変化があります。", - "lever": 3, - "family": 1, - "linkIds": [ - 247, - 249 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "回転アニメーション効果", - "desc": [ - "このケースでは、turns パラメータをドラッグして調整し、アニメーションの動きを確認します。回転角度は: turns*2*pi", - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーションの時間 【Duration】", - "【onEnd】 : アニメーション終了時のコールバック 【Function()】", - "【alignment】 : アニメーションの変換中心 【Alignment】", - "【curve】 : アニメーション曲線 【Duration】", - "【filterQuality】 : フィルター品質 【FilterQuality】", - "【turns】 : 回転量 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_ko_KR.json deleted file mode 100644 index 4f3ac69c2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_ko_KR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 259, - "name": "AnimatedRotation", - "localName": "회전 애니메이션", - "info": "주어진 회전량이 변경될 때, 자식 구성 요소가 회전 값에 따라 자동으로 조정되며, 이전 값과 이후 값 사이에 애니메이션 변화가 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 247, - 249 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "회전 애니메이션 효과", - "desc": [ - "이 예제에서는 turns 매개변수를 드래그하여 조정하고 애니메이션 효과를 확인합니다. 회전 각도는: turns*2*pi", - "【child】 : 자식 구성 요소 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【alignment】 : 애니메이션 변환 중심 【Alignment】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【filterQuality】 : 필터 품질 【FilterQuality】", - "【turns】 : 회전량 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_pt_PT.json deleted file mode 100644 index 10bc8835f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_pt_PT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 259, - "name": "AnimatedRotation", - "localName": "Animação de Rotação", - "info": "Quando a quantidade de rotação dada muda, o componente filho pode ajustar automaticamente o valor relativo à rotação, e há uma animação entre os valores anteriores e posteriores.", - "lever": 3, - "family": 1, - "linkIds": [ - 247, - 249 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Efeito de Animação de Rotação", - "desc": [ - "Neste exemplo, arraste para ajustar o parâmetro turns e observe o efeito da animação. O ângulo de rotação é: turns*2*pi", - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de fim de animação 【Function()】", - "【alignment】 : Centro de transformação da animação 【Alignment】", - "【curve】 : Curva da animação 【Duration】", - "【filterQuality】 : Qualidade do filtro 【FilterQuality】", - "【turns】 : Quantidade de rotação 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_ru_RU.json deleted file mode 100644 index 78487046a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_ru_RU.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 259, - "name": "AnimatedRotation", - "localName": "Анимация вращения", - "info": "Когда заданное количество вращения изменяется, дочерний компонент может автоматически настраиваться относительно значения вращения, и есть анимационные изменения между предыдущим и текущим значениями.", - "lever": 3, - "family": 1, - "linkIds": [ - 247, - 249 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Эффект анимации вращения", - "desc": [ - "В этом примере, перетащите для регулировки параметра turns, чтобы увидеть эффект анимации. Угол вращения: turns*2*pi", - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Длительность анимации 【Duration】", - "【onEnd】 : Обратный вызов по завершении анимации 【Function()】", - "【alignment】 : Центр преобразования анимации 【Alignment】", - "【curve】 : Кривая анимации 【Duration】", - "【filterQuality】 : Качество фильтра 【FilterQuality】", - "【turns】 : Количество вращения 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_zh-CN.json deleted file mode 100644 index b36954d50..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/desc_zh-CN.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 259, - "name": "AnimatedRotation", - "localName": "旋转动画", - "info": "给定的旋转量发生变化时,子组件可以自动调整相对于旋转值,且前后值有动画变化。", - "lever": 3, - "family": 1, - "linkIds": [ - 247, - 249 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "旋转动画效果", - "desc": [ - "该案例中,拖拽调节 turns 参数,查看动画运动效果。旋转角度为: turns*2*pi", - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【alignment】 : 动画变换中心 【Alignment】", - "【curve】 : 动画曲线 【Duration】", - "【filterQuality】 : 滤镜质量 【FilterQuality】", - "【turns】 : 旋转量 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/node1.dart deleted file mode 100644 index beff715fd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedRotation/node1.dart +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:math'; - -import 'package:flutter/material.dart'; - -class AnimatedRotationDemo extends StatefulWidget { - const AnimatedRotationDemo({super.key}); - - @override - State createState() => _AnimatedRotationDemoState(); -} - -class _AnimatedRotationDemoState extends State { - double _turns = 0; - - @override - Widget build(BuildContext context) { - final TextTheme textTheme = Theme.of(context).textTheme; - - return Padding( - padding: const EdgeInsets.all(16.0), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Row( - children: [ - Expanded( - child: GridPaper( - color: Colors.blue.withOpacity(0.1), - child: SizedBox( - height: 200, - child: Center( - child: AnimatedRotation( - turns: _turns, - duration: const Duration(milliseconds: 500), - curve: Curves.easeInOut, - child: Container( - color: Colors.red, - height: 40, - width: 40, - ), - ), - ), - ), - ), - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Text('scale:${_turns.toStringAsFixed(2)}', - style: textTheme.bodyMedium), - Expanded( - child: Slider( - min: 0, - max: 1, - value: _turns, - onChanged: (double value) { - setState(() { - _turns = value; - }); - }, - ), - ), - const SizedBox(width: 48.0), - ], - ), - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_de_DE.json deleted file mode 100644 index 1d2dc66d6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 249, - "name": "AnimatedScale", - "localName": "Skalierungsanimation", - "info": "Wenn sich die gegebene Skalierung ändert, kann die Unterkomponente automatisch relativ zum Skalierungswert angepasst werden, und die vorherigen und nachfolgenden Werte haben eine animierte Änderung.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 247, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Skalierungsanimationseffekt", - "desc": [ - "In diesem Beispiel ziehen Sie den scale-Parameter, um den Animationsbewegungseffekt zu sehen.", - "【child】 : Kindkomponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf beim Ende der Animation 【Function()】", - "【curve】 : Animationskurve 【Duration】", - "【alignment】 : Animationszentrum 【Alignment】", - "【filterQuality】 : Filterqualität 【FilterQuality】", - "【scale】 : Skalierungsmenge 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_en_US.json deleted file mode 100644 index 7bacac754..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 249, - "name": "AnimatedScale", - "localName": "Scaling Animation", - "info": "When the given scaling amount changes, the child component can automatically adjust relative to the scaling value, and there is an animation change between the previous and next values.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 247, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Scaling Animation Effect", - "desc": [ - "In this case, drag to adjust the scale parameter to view the animation effect.", - "【child】: Child component 【Widget】", - "【duration】: Animation duration 【Duration】", - "【onEnd】: Animation end callback 【Function()】", - "【curve】: Animation curve 【Duration】", - "【alignment】: Animation transformation center 【Alignment】", - "【filterQuality】: Filter quality 【FilterQuality】", - "【scale】: Scaling amount 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_es_ES.json deleted file mode 100644 index ccab272e3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 249, - "name": "AnimatedScale", - "localName": "Animación de escala", - "info": "Cuando cambia la cantidad de escala dada, el componente hijo puede ajustarse automáticamente en relación con el valor de escala, y hay una animación entre los valores anteriores y posteriores.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 247, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Efecto de animación de escala", - "desc": [ - "En este caso, arrastre para ajustar el parámetro scale y observe el efecto de movimiento de la animación.", - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Devolución de llamada al finalizar la animación 【Function()】", - "【curve】 : Curva de animación 【Duration】", - "【alignment】 : Centro de transformación de la animación 【Alignment】", - "【filterQuality】 : Calidad del filtro 【FilterQuality】", - "【scale】 : Cantidad de escala 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_fr_FR.json deleted file mode 100644 index f5116c216..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 249, - "name": "AnimatedScale", - "localName": "Animation de mise à l'échelle", - "info": "Lorsque la quantité de mise à l'échelle donnée change, le composant enfant peut s'ajuster automatiquement par rapport à la valeur de mise à l'échelle, et les valeurs avant et après ont une animation.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 247, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Effet d'animation de mise à l'échelle", - "desc": [ - "Dans ce cas, faites glisser pour ajuster le paramètre scale et observez l'effet de l'animation.", - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【curve】 : Courbe d'animation 【Duration】", - "【alignment】 : Centre de transformation de l'animation 【Alignment】", - "【filterQuality】 : Qualité du filtre 【FilterQuality】", - "【scale】 : Quantité de mise à l'échelle 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_it_IT.json deleted file mode 100644 index 43bd19501..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 249, - "name": "AnimatedScale", - "localName": "Animazione di Scala", - "info": "Quando la quantità di scala data cambia, il componente figlio può regolarsi automaticamente rispetto al valore di scala, con un'animazione tra i valori precedenti e successivi.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 247, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Effetto di Animazione di Scala", - "desc": [ - "In questo caso, trascina per regolare il parametro scale e osserva l'effetto di movimento dell'animazione.", - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback alla fine dell'animazione 【Function()】", - "【curve】 : Curva dell'animazione 【Duration】", - "【alignment】 : Centro di trasformazione dell'animazione 【Alignment】", - "【filterQuality】 : Qualità del filtro 【FilterQuality】", - "【scale】 : Quantità di scala 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_ja_JP.json deleted file mode 100644 index 99a8ee38c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 249, - "name": "AnimatedScale", - "localName": "スケーリングアニメーション", - "info": "指定されたスケーリング量が変化すると、子コンポーネントは自動的にスケーリング値に応じて調整され、前後の値にアニメーションの変化があります。", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 247, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "スケーリングアニメーション効果", - "desc": [ - "このケースでは、scaleパラメータをドラッグして調整し、アニメーションの動き効果を確認します。", - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーションの持続時間 【Duration】", - "【onEnd】 : アニメーション終了時のコールバック 【Function()】", - "【curve】 : アニメーション曲線 【Duration】", - "【alignment】 : アニメーションの変形中心 【Alignment】", - "【filterQuality】 : フィルター品質 【FilterQuality】", - "【scale】 : スケーリング量 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_ko_KR.json deleted file mode 100644 index c18e6510e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 249, - "name": "AnimatedScale", - "localName": "스케일 애니메이션", - "info": "주어진 스케일 양이 변경될 때, 자식 구성 요소가 스케일 값에 따라 자동으로 조정되며, 이전 값과 이후 값 간에 애니메이션 변화가 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 247, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "스케일 애니메이션 효과", - "desc": [ - "이 예제에서는 scale 매개변수를 드래그하여 조정하고 애니메이션 효과를 확인합니다.", - "【child】 : 자식 구성 요소 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【alignment】 : 애니메이션 변환 중심 【Alignment】", - "【filterQuality】 : 필터 품질 【FilterQuality】", - "【scale】 : 스케일 양 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_pt_PT.json deleted file mode 100644 index 3d30020af..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 249, - "name": "AnimatedScale", - "localName": "Animação de Escala", - "info": "Quando a quantidade de escala fornecida muda, o componente filho pode ajustar automaticamente em relação ao valor de escala, e há uma animação entre os valores anteriores e posteriores.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 247, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Efeito de Animação de Escala", - "desc": [ - "Neste exemplo, arraste para ajustar o parâmetro de escala e observe o efeito da animação.", - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de fim de animação 【Function()】", - "【curve】 : Curva de animação 【Duration】", - "【alignment】 : Centro de transformação da animação 【Alignment】", - "【filterQuality】 : Qualidade do filtro 【FilterQuality】", - "【scale】 : Quantidade de escala 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_ru_RU.json deleted file mode 100644 index fe5c15586..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 249, - "name": "AnimatedScale", - "localName": "Анимация масштабирования", - "info": "Когда заданный масштаб изменяется, дочерний компонент может автоматически регулироваться относительно значения масштабирования, и значения до и после имеют анимационные изменения.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 247, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Эффект анимации масштабирования", - "desc": [ - "В этом примере перетащите для настройки параметра scale и посмотрите эффект анимации.", - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Продолжительность анимации 【Duration】", - "【onEnd】 : Обратный вызов по окончании анимации 【Function()】", - "【curve】 : Кривая анимации 【Duration】", - "【alignment】 : Центр преобразования анимации 【Alignment】", - "【filterQuality】 : Качество фильтра 【FilterQuality】", - "【scale】 : Масштаб 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_zh-CN.json deleted file mode 100644 index 845ded529..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 249, - "name": "AnimatedScale", - "localName": "缩放动画", - "info": "给定的缩放量发生变化时,子组件可以自动调整相对于缩放值,且前后值有动画变化。", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 247, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "缩放动画效果", - "desc": [ - "该案例中,拖拽调节 scale 参数,查看动画运动效果。", - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【curve】 : 动画曲线 【Duration】", - "【alignment】 : 动画变换中心 【Alignment】", - "【filterQuality】 : 滤镜质量 【FilterQuality】", - "【scale】 : 缩放量 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/node1.dart deleted file mode 100644 index 5f02a5984..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedScale/node1.dart +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; - - -class AnimatedScaleDemo extends StatefulWidget { - const AnimatedScaleDemo({super.key}); - - @override - State createState() => _AnimatedScaleDemoState(); -} - -class _AnimatedScaleDemoState extends State { - double _scale = 1; - - @override - Widget build(BuildContext context) { - final TextTheme textTheme = Theme.of(context).textTheme; - - return Padding( - padding: const EdgeInsets.all(16.0), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Row( - children: [ - Expanded( - child: GridPaper( - color: Colors.blue.withOpacity(0.1), - child: SizedBox( - height: 200, - child: Center( - child: AnimatedScale( - scale: _scale, - duration: const Duration(milliseconds: 500), - curve: Curves.easeInOut, - child: Container(color: Colors.red,height: 40,width: 40,), - ), - ), - ), - ), - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Text('scale:${_scale.toStringAsFixed(1)}', style: textTheme.bodyMedium), - Expanded( - child: Slider( - min: 0, - max: 5.0, - value: _scale, - onChanged: (double value) { - setState(() { - _scale = value; - }); - }, - ), - ), - const SizedBox(width: 48.0), - ], - ), - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_de_DE.json deleted file mode 100644 index 5d979ecd3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 247, - "name": "AnimatedSlide", - "localName": "Gleitende Animation", - "info": "Wenn sich der gegebene Versatz ändert, kann die Unterkomponente den relativen Versatz automatisch anpassen, und die vorherigen und nachfolgenden Werte haben eine animierte Veränderung.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Gleitende Animationseffekt", - "desc": [ - "In diesem Fall ziehen Sie die x,y-Parameter, um den Animationseffekt zu sehen. Dabei ist der Versatz = x,y * Breite und Höhe des Rahmens", - "【child】 : Kindkomponente 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf beim Ende der Animation 【Function()】", - "【curve】 : Animationskurve 【Duration】", - "【offset】 : Versatz 【Offset】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_en_US.json deleted file mode 100644 index bac59c4d8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 247, - "name": "AnimatedSlide", - "localName": "Slide Animation", - "info": "When the given offset changes, the child component can automatically adjust the relative offset, and there is an animated change between the previous and current values.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Slide Animation Effect", - "desc": [ - "In this case, drag to adjust the x, y parameters to view the animation effect. The offset = x, y * the width and height of the box.", - "【child】: child component 【Widget】", - "【duration】: animation duration 【Duration】", - "【onEnd】: animation end callback 【Function()】", - "【curve】: animation curve 【Duration】", - "【offset】: offset 【Offset】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_es_ES.json deleted file mode 100644 index 70971c09d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 247, - "name": "AnimatedSlide", - "localName": "Animación de deslizamiento", - "info": "Cuando el desplazamiento dado cambia, los componentes hijos pueden ajustar automáticamente el desplazamiento relativo, y los valores anteriores y posteriores tienen una animación de cambio.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Efecto de animación de deslizamiento", - "desc": [ - "En este caso, arrastre para ajustar los parámetros x, y y observe el efecto de movimiento de la animación. Donde el desplazamiento = x, y * ancho y alto del cuadro", - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Devolución de llamada al final de la animación 【Function()】", - "【curve】 : Curva de animación 【Duration】", - "【offset】 : Desplazamiento 【Offset】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_fr_FR.json deleted file mode 100644 index 30064c4b6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 247, - "name": "AnimatedSlide", - "localName": "Animation de glissement", - "info": "Lorsque l'offset donné change, le composant enfant peut ajuster automatiquement l'offset relatif, et les valeurs avant et après ont une animation.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Effet d'animation de glissement", - "desc": [ - "Dans ce cas, faites glisser pour ajuster les paramètres x, y et observez l'effet de l'animation. Où l'offset = x, y * largeur et hauteur de la boîte", - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【curve】 : Courbe d'animation 【Duration】", - "【offset】 : Offset 【Offset】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_it_IT.json deleted file mode 100644 index 1b46a47bd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 247, - "name": "AnimatedSlide", - "localName": "Animazione di scorrimento", - "info": "Quando l'offset dato cambia, i componenti figli possono regolare automaticamente l'offset relativo e i valori precedenti e successivi hanno un'animazione.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Effetto animazione di scorrimento", - "desc": [ - "In questo caso, trascina per regolare i parametri x,y e osserva l'effetto di movimento dell'animazione. Dove offset = x,y * larghezza e altezza del riquadro", - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【curve】 : Curva dell'animazione 【Duration】", - "【offset】 : Offset 【Offset】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_ja_JP.json deleted file mode 100644 index c70d021ae..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 247, - "name": "AnimatedSlide", - "localName": "スライドアニメーション", - "info": "指定されたオフセットが変化するとき、子コンポーネントは自動的に相対的なオフセットを調整し、前後の値にアニメーションの変化があります。", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "スライドアニメーション効果", - "desc": [ - "このケースでは、x、yパラメータをドラッグして調整し、アニメーションの動き効果を確認します。オフセット = x、y * ボックスの幅と高さ", - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーションの時間 【Duration】", - "【onEnd】 : アニメーション終了時のコールバック 【Function()】", - "【curve】 : アニメーションカーブ 【Duration】", - "【offset】 : オフセット 【Offset】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_ko_KR.json deleted file mode 100644 index ae881562a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 247, - "name": "AnimatedSlide", - "localName": "슬라이드 애니메이션", - "info": "주어진 오프셋이 변경될 때, 자식 컴포넌트가 자동으로 상대 오프셋을 조정할 수 있으며, 이전과 이후 값에 애니메이션 변화가 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "슬라이드 애니메이션 효과", - "desc": [ - "이 예제에서 x, y 매개변수를 드래그하여 조정하고 애니메이션 효과를 확인하세요. 여기서 오프셋 = x, y * 상자 너비 및 높이", - "【child】 : 자식 컴포넌트 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【offset】 : 오프셋 【Offset】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_pt_PT.json deleted file mode 100644 index 728d47cb1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 247, - "name": "AnimatedSlide", - "localName": "Animação de Deslize", - "info": "Quando o deslocamento fornecido muda, o componente filho pode ajustar automaticamente o deslocamento relativo, e os valores anteriores e posteriores têm uma mudança animada.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Efeito de Animação de Deslize", - "desc": [ - "Neste caso, arraste para ajustar os parâmetros x, y e observe o efeito do movimento da animação. Onde o deslocamento = x, y * largura e altura da caixa", - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de fim de animação 【Function()】", - "【curve】 : Curva de animação 【Duration】", - "【offset】 : Deslocamento 【Offset】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_ru_RU.json deleted file mode 100644 index 102c86d7c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 247, - "name": "AnimatedSlide", - "localName": "Анимация скольжения", - "info": "Когда заданное смещение изменяется, дочерний компонент может автоматически регулировать относительное смещение, и значения до и после имеют анимационные изменения.", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Эффект анимации скольжения", - "desc": [ - "В этом примере перетащите параметры x, y, чтобы увидеть эффект анимации. Смещение = x, y * ширина и высота рамки", - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Длительность анимации 【Duration】", - "【onEnd】 : Обратный вызов по завершении анимации 【Function()】", - "【curve】 : Кривая анимации 【Duration】", - "【offset】 : Смещение 【Offset】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_zh-CN.json deleted file mode 100644 index 611a28798..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 247, - "name": "AnimatedSlide", - "localName": "滑动动画", - "info": "给定的偏移量发生变化时,子组件可以自动调整相对偏移量,且前后值有动画变化。", - "lever": 3, - "family": 1, - "linkIds": [ - 120, - 201 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "滑动动画效果", - "desc": [ - "该案例中,拖拽调节 x,y 参数,查看动画运动效果。其中偏移量 = x,y * 方框宽高", - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【curve】 : 动画曲线 【Duration】", - "【offset】 : 偏移量 【Offset】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/node1.dart deleted file mode 100644 index 10da0649f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSlide/node1.dart +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; - - -class AnimatedSlideDemo extends StatefulWidget { - const AnimatedSlideDemo({super.key}); - - @override - State createState() => _AnimatedSlideDemoState(); -} - -class _AnimatedSlideDemoState extends State { - Offset offset = Offset.zero; - - @override - Widget build(BuildContext context) { - final TextTheme textTheme = Theme.of(context).textTheme; - - return Padding( - padding: const EdgeInsets.all(16.0), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Row( - children: [ - Expanded( - child: GridPaper( - color: Colors.blue.withOpacity(0.1), - // alignment: Alignment.center, - child: SizedBox( - height: 200, - child: Center( - child: AnimatedSlide( - offset: offset, - duration: const Duration(milliseconds: 500), - curve: Curves.easeInOut, - child: Container(color: Colors.red,height: 40,width: 40,), - ), - ), - ), - ), - ), - SizedBox( - height: 200, - child: Column( - children: [ - Text('Y:${offset.dy.toStringAsFixed(1)}', style: textTheme.bodyMedium), - Expanded( - child: RotatedBox( - quarterTurns: 1, - child: Slider( - min: -2.0, - max: 2.0, - value: offset.dy, - onChanged: (double value) { - setState(() { - offset = Offset(offset.dx, value); - }); - }, - ), - ), - ), - ], - ), - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Text('X:${offset.dx.toStringAsFixed(1)}', style: textTheme.bodyMedium), - Expanded( - child: Slider( - min: -4.0, - max: 4.0, - value: offset.dx, - onChanged: (double value) { - setState(() { - offset = Offset(value, offset.dy); - }); - }, - ), - ), - const SizedBox(width: 48.0), - ], - ), - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_de_DE.json deleted file mode 100644 index 11a1f9c05..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 116, - "name": "AnimatedSwitcher", - "localName": "Animierter Wechsel", - "info": "Führt eine Animation aus, wenn sich das Kind-Widget ändert. Der Schlüssel des Kind-Widgets muss angegeben werden. Die Animationsart kann angepasst werden, und Eigenschaften wie Animationsdauer und Animationskurve können festgelegt werden.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedSwitcher", - "desc": [ - "【child】 : Kind-Widget 【Widget】", - "【duration】 : Animationsdauer 【Duration】", - "【switchOutCurve】 : Ausblendkurve 【Curves】", - "【switchInCurve】 : Einblendkurve 【Curves】", - "【switchInCurve】 : Einblendkurve 【Curves】", - "【transitionBuilder】 : Animationsgenerator 【Widget Function(Widget, Animation)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_en_US.json deleted file mode 100644 index 1efd5c64e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 116, - "name": "AnimatedSwitcher", - "localName": "Animated Switcher", - "info": "Executes animations when child components change. The key of the child components needs to be specified for identification. The animation method can be customized, and properties such as animation duration and animation curve can be specified.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedSwitcher", - "desc": [ - "【child】 : Child component 【Widget】", - "【duration】 : Animation duration 【Duration】", - "【switchOutCurve】 : Switch out curve 【Curves】", - "【switchInCurve】 : Switch in curve 【Curves】", - "【switchInCurve】 : Switch in curve 【Curves】", - "【transitionBuilder】 : Animation builder 【Widget Function(Widget, Animation)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_es_ES.json deleted file mode 100644 index e6686707b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 116, - "name": "AnimatedSwitcher", - "localName": "Cambio animado", - "info": "Ejecuta una animación cuando cambia el componente hijo, es necesario especificar la clave del componente hijo para identificarlo. La forma de la animación se puede personalizar, se pueden especificar propiedades como la duración de la animación, la curva de la animación, etc.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedSwitcher", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【duration】 : Duración de la animación 【Duration】", - "【switchOutCurve】 : Curva de salida 【Curves】", - "【switchInCurve】 : Curva de entrada 【Curves】", - "【switchInCurve】 : Curva de entrada 【Curves】", - "【transitionBuilder】 : Constructor de animación 【Widget Function(Widget, Animation)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_fr_FR.json deleted file mode 100644 index b7002d431..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 116, - "name": "AnimatedSwitcher", - "localName": "Changement animé", - "info": "Exécute une animation lorsque les composants enfants changent, nécessite de spécifier une clé pour identifier les composants enfants. Le style d'animation peut être personnalisé, permettant de spécifier la durée de l'animation, la courbe d'animation, etc.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de AnimatedSwitcher", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【duration】 : Durée de l'animation 【Duration】", - "【switchOutCurve】 : Courbe de sortie 【Curves】", - "【switchInCurve】 : Courbe d'entrée 【Curves】", - "【switchInCurve】 : Courbe d'entrée 【Curves】", - "【transitionBuilder】 : Constructeur d'animation 【Widget Function(Widget, Animation)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_it_IT.json deleted file mode 100644 index f82759ee0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 116, - "name": "AnimatedSwitcher", - "localName": "Cambio Animato", - "info": "Esegue un'animazione quando il componente figlio cambia, è necessario specificare la chiave del componente figlio per l'identificazione. Il metodo di animazione può essere personalizzato, è possibile specificare la durata dell'animazione, la curva dell'animazione e altre proprietà.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedSwitcher", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【duration】 : Durata dell'animazione 【Duration】", - "【switchOutCurve】 : Curva di uscita 【Curves】", - "【switchInCurve】 : Curva di ingresso 【Curves】", - "【switchInCurve】 : Curva di ingresso 【Curves】", - "【transitionBuilder】 : Costruttore di animazione 【Widget Function(Widget, Animation)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_ja_JP.json deleted file mode 100644 index 343dac5b5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 116, - "name": "AnimatedSwitcher", - "localName": "アニメーション切り替え", - "info": "子コンポーネントが変更されたときにアニメーションを実行します。子コンポーネントのkeyを指定して識別する必要があります。アニメーションの方法はカスタマイズ可能で、アニメーションの時間やアニメーションカーブなどの属性を指定できます。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedSwitcherの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【duration】 : アニメーション時間 【Duration】", - "【switchOutCurve】 : 切り出しカーブ 【Curves】", - "【switchInCurve】 : 切り込みカーブ 【Curves】", - "【switchInCurve】 : 切り込みカーブ 【Curves】", - "【transitionBuilder】 : アニメーションビルダー 【Widget Function(Widget, Animation)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_ko_KR.json deleted file mode 100644 index 127b5bb02..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 116, - "name": "AnimatedSwitcher", - "localName": "애니메이션 전환", - "info": "자식 컴포넌트가 변경될 때 애니메이션을 실행하며, 자식 컴포넌트의 key를 지정하여 식별해야 합니다. 애니메이션 방식은 사용자 정의가 가능하며, 애니메이션 지속 시간, 애니메이션 곡선 등의 속성을 지정할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedSwitcher 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【switchOutCurve】 : 전환 아웃 곡선 【Curves】", - "【switchInCurve】 : 전환 인 곡선 【Curves】", - "【switchInCurve】 : 전환 인 곡선 【Curves】", - "【transitionBuilder】 : 애니메이션 빌더 【Widget Function(Widget, Animation)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_pt_PT.json deleted file mode 100644 index bcb3ab6fa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 116, - "name": "AnimatedSwitcher", - "localName": "Alternância Animada", - "info": "Executa uma animação quando o componente filho muda, é necessário especificar a chave do componente filho para identificação. O modo de animação pode ser personalizado, podendo especificar a duração da animação, a curva da animação, entre outros atributos.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedSwitcher", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【duration】 : Duração da animação 【Duration】", - "【switchOutCurve】 : Curva de saída 【Curves】", - "【switchInCurve】 : Curva de entrada 【Curves】", - "【switchInCurve】 : Curva de entrada 【Curves】", - "【transitionBuilder】 : Construtor de animação 【Widget Function(Widget, Animation)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_ru_RU.json deleted file mode 100644 index 8b2cf9cc3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 116, - "name": "AnimatedSwitcher", - "localName": "Анимированный переключатель", - "info": "Выполняет анимацию при изменении дочернего компонента, необходимо указать ключ дочернего компонента для идентификации. Способ анимации может быть настроен, можно указать продолжительность анимации, кривую анимации и другие свойства.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedSwitcher", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【duration】 : Продолжительность анимации 【Duration】", - "【switchOutCurve】 : Кривая выхода 【Curves】", - "【switchInCurve】 : Кривая входа 【Curves】", - "【switchInCurve】 : Кривая входа 【Curves】", - "【transitionBuilder】 : Конструктор анимации 【Widget Function(Widget, Animation)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_zh-CN.json deleted file mode 100644 index 6b783f19e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 116, - "name": "AnimatedSwitcher", - "localName": "动画切换", - "info": "当子组件变化时执行动画,需要指定子组件的key进行标识。动画方式可以自定义,能指定动画时长、动画曲线等属性。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedSwitcher基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【duration】 : 动画时长 【Duration】", - "【switchOutCurve】 : 切出曲线 【Curves】", - "【switchInCurve】 : 切入曲线 【Curves】", - "【switchInCurve】 : 切入曲线 【Curves】", - "【transitionBuilder】 : 动画构造器 【Widget Function(Widget, Animation)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/node1_base.dart deleted file mode 100644 index dd7f8164c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedSwitcher/node1_base.dart +++ /dev/null @@ -1,76 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - - -class CustomAnimatedSwitcher extends StatefulWidget { - const CustomAnimatedSwitcher({Key? key}) : super(key: key); - - @override - _CustomAnimatedSwitcherState createState() => _CustomAnimatedSwitcherState(); -} - -class _CustomAnimatedSwitcherState extends State { - int _count = 0; - - @override - Widget build(BuildContext context) { - return Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - _buildMinusBtn(), - SizedBox(width:80,child: _buildAnimatedSwitcher(context)), - _buildAddBtn() - ], - ); - } - - Widget _buildAnimatedSwitcher(BuildContext context) => - AnimatedSwitcher( - duration: const Duration(milliseconds: 400), - transitionBuilder: (Widget child, Animation animation) => - ScaleTransition( - child: RotationTransition(turns: animation, child: child), - scale: animation), - child: Text( - '$_count', - key: ValueKey(_count), - style: Theme.of(context).textTheme.headlineSmall, - ), - ); - - Widget _buildMinusBtn() { - return MaterialButton( - padding: const EdgeInsets.all(0), - textColor: const Color(0xffFfffff), - elevation: 3, - color: Colors.red, - highlightColor: const Color(0xffF88B0A), - splashColor: Colors.red, - child: const Icon( - Icons.remove, - color: Colors.white, - ), - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - onPressed: () => setState(() => _count -= 1)); - } - - Widget _buildAddBtn() => MaterialButton( - padding: const EdgeInsets.all(0), - textColor: const Color(0xffFfffff), - elevation: 3, - color: Colors.blue, - highlightColor: const Color(0xffF88B0A), - splashColor: Colors.red, - child: const Icon( - Icons.add, - color: Colors.white, - ), - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - onPressed: () => setState(() => _count += 1)); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_de_DE.json deleted file mode 100644 index 3800fd0a4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 224, - "name": "AnimatedTheme", - "localName": "Animiertes Thema", - "info": "Eine Komponente mit animierten Effekten bei Themenänderungen, im Wesentlichen eine Kombination aus der Theme-Komponente und Animationen. Kann ThemeData, Animationsdauer, Kurve, Endrückruf usw. angeben. Entspricht einer erweiterten Version der Theme-Komponente.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedTheme", - "desc": [ - "【data】 : Themen-Daten 【ThemeData】", - "【duration】 : Animationsdauer 【Duration】", - "【onEnd】 : Rückruf bei Ende der Animation 【Function()】", - "【curve】 : Animationskurve 【Duration】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_en_US.json deleted file mode 100644 index 922c7eec1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 224, - "name": "AnimatedTheme", - "localName": "Animated Theme", - "info": "A component with animation effects when the theme changes, essentially a combination of the Theme component and animation. You can specify ThemeData, animation duration, curve, end callback, etc. It is equivalent to an enhanced version of the Theme component.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedTheme", - "desc": [ - "【data】 : Theme data 【ThemeData】", - "【duration】 : Animation duration 【Duration】", - "【onEnd】 : Animation end callback 【Function()】", - "【curve】 : Animation curve 【Duration】", - "【child】 : Child widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_es_ES.json deleted file mode 100644 index 75c8c2b2b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 224, - "name": "AnimatedTheme", - "localName": "Tema Animado", - "info": "Componente con efectos de animación cuando cambia el tema, esencialmente es una combinación del componente Theme y animaciones. Se puede especificar ThemeData, duración de la animación, curva, devolución de llamada al finalizar, etc. Equivale a una versión mejorada del componente Theme.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedTheme", - "desc": [ - "【data】 : Datos del tema 【ThemeData】", - "【duration】 : Duración de la animación 【Duration】", - "【onEnd】 : Devolución de llamada al finalizar la animación 【Function()】", - "【curve】 : Curva de la animación 【Duration】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_fr_FR.json deleted file mode 100644 index f0926763a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 224, - "name": "AnimatedTheme", - "localName": "Thème animé", - "info": "Un composant avec des effets d'animation lors du changement de thème, essentiellement une combinaison du composant Theme et d'animations. Peut spécifier ThemeData, la durée de l'animation, la courbe, le rappel de fin, etc. Équivalent à une version améliorée du composant Theme.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedTheme", - "desc": [ - "【data】 : Données du thème 【ThemeData】", - "【duration】 : Durée de l'animation 【Duration】", - "【onEnd】 : Rappel de fin d'animation 【Function()】", - "【curve】 : Courbe de l'animation 【Duration】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_it_IT.json deleted file mode 100644 index ec4dc6e8d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 224, - "name": "AnimatedTheme", - "localName": "Tema Animato", - "info": "Componente con effetti animati quando il tema cambia, essenzialmente una combinazione del componente Theme e delle animazioni. È possibile specificare ThemeData, durata dell'animazione, curva, callback di fine, ecc. Equivale a una versione potenziata del componente Theme.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedTheme", - "desc": [ - "【data】 : Dati del tema 【ThemeData】", - "【duration】 : Durata dell'animazione 【Duration】", - "【onEnd】 : Callback di fine animazione 【Function()】", - "【curve】 : Curva dell'animazione 【Duration】", - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_ja_JP.json deleted file mode 100644 index 35034028c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 224, - "name": "AnimatedTheme", - "localName": "アニメーションテーマ", - "info": "テーマ変更時にアニメーション効果を持つコンポーネントで、本質的にはThemeコンポーネントとアニメーションを組み合わせたものです。ThemeData、アニメーション時間、曲線、終了コールバックなどを指定できます。強化版のThemeコンポーネントと言えます。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedThemeの基本使用", - "desc": [ - "【data】 : テーマデータ 【ThemeData】", - "【duration】 : アニメーション時間 【Duration】", - "【onEnd】 : アニメーション終了コールバック 【Function()】", - "【curve】 : アニメーション曲線 【Duration】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_ko_KR.json deleted file mode 100644 index 8081edd6d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 224, - "name": "AnimatedTheme", - "localName": "애니메이션 테마", - "info": "테마 변경 시 애니메이션 효과가 있는 컴포넌트로, 본질적으로 Theme 컴포넌트와 애니메이션의 결합물입니다. ThemeData, 애니메이션 지속 시간, 곡선, 종료 콜백 등을 지정할 수 있습니다. 강화된 버전의 Theme 컴포넌트에 해당합니다.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedTheme 기본 사용", - "desc": [ - "【data】 : 테마 데이터 【ThemeData】", - "【duration】 : 애니메이션 지속 시간 【Duration】", - "【onEnd】 : 애니메이션 종료 콜백 【Function()】", - "【curve】 : 애니메이션 곡선 【Duration】", - "【child】 : 자식 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_pt_PT.json deleted file mode 100644 index 978ace025..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 224, - "name": "AnimatedTheme", - "localName": "Tema Animado", - "info": "Componente com efeitos de animação durante a mudança de tema, essencialmente uma combinação do componente Theme com animação. Pode especificar ThemeData, duração da animação, curva, callback de término, etc. Equivalente a uma versão aprimorada do componente Theme.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AnimatedTheme", - "desc": [ - "【data】 : Dados do tema 【ThemeData】", - "【duration】 : Duração da animação 【Duration】", - "【onEnd】 : Callback de término da animação 【Function()】", - "【curve】 : Curva da animação 【Duration】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_ru_RU.json deleted file mode 100644 index fb343373f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 224, - "name": "AnimatedTheme", - "localName": "Анимированная тема", - "info": "Компонент с анимацией при изменении темы, по сути, является комбинацией компонента Theme и анимации. Можно указать ThemeData, продолжительность анимации, кривую, обратный вызов завершения и т.д. Это улучшенная версия компонента Theme.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedTheme", - "desc": [ - "【data】 : Данные темы 【ThemeData】", - "【duration】 : Продолжительность анимации 【Duration】", - "【onEnd】 : Обратный вызов завершения анимации 【Function()】", - "【curve】 : Кривая анимации 【Duration】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_zh-CN.json deleted file mode 100644 index 65224b215..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 224, - "name": "AnimatedTheme", - "localName": "动画主题", - "info": "主题变化时具有动画效果的组件,本质是Theme组件和动画结合的产物。可指定ThemeData、动画时长、曲线、结束回调等。相当于增强版的Theme组件。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedTheme基本使用", - "desc": [ - "【data】 : 主题数据 【ThemeData】", - "【duration】 : 动画时长 【Duration】", - "【onEnd】 : 动画结束回调 【Function()】", - "【curve】 : 动画曲线 【Duration】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/node1_base.dart deleted file mode 100644 index eda0d045d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AnimatedTheme/node1_base.dart +++ /dev/null @@ -1,91 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class AnimatedThemeDemo extends StatefulWidget { - const AnimatedThemeDemo({Key? key}) : super(key: key); - - @override - _AnimatedThemeDemoState createState() => _AnimatedThemeDemoState(); -} - -class _AnimatedThemeDemoState extends State { - ThemeData startThem = ThemeData( - primaryColor: Colors.blue, - textTheme: const TextTheme( - headlineMedium: TextStyle( - color: Colors.white, - fontSize: 24, - fontWeight: FontWeight.bold, - ), - )); - - ThemeData endThem = ThemeData( - primaryColor: Colors.red, - textTheme: const TextTheme( - headlineMedium: TextStyle( - color: Colors.black, - fontSize: 16, - fontWeight: FontWeight.normal, - ))); - - late ThemeData them; - - @override - void initState() { - super.initState(); - them = startThem; - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildSwitch(), - AnimatedTheme( - data: them, - duration: const Duration(seconds: 2), - curve: Curves.fastOutSlowIn, - onEnd: () { - print('----onEnd---'); - }, - child: const ChildContent(), - ), - ], - ); - } - - Widget _buildSwitch() { - print(them == endThem); - return Switch( - value: them == endThem, - onChanged: (v) { - setState(() { - them = v ? endThem : startThem; - }); - }); - } -} - -class ChildContent extends StatelessWidget { - const ChildContent({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - width: 250, - height: 60, - alignment: Alignment.center, - decoration: BoxDecoration( - borderRadius: const BorderRadius.all(Radius.circular(5)), - color: Theme.of(context).primaryColor, - ), - padding: const EdgeInsets.all(10), - child: Text( - 'Flutter Unit', - style: Theme.of(context).textTheme.headlineMedium, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_de_DE.json deleted file mode 100644 index cf8888ccc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_de_DE.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 57, - "name": "AppBar", - "localName": "Anwendungsleiste", - "info": "Eine allgemeine Struktur für die obere Leiste einer Anwendung, in der entsprechende Komponenten an bestimmten Stellen platziert werden können. Wird häufig in Scaffold-Komponenten verwendet.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AppBar", - "desc": [ - "【leading】 : Linke Komponente 【Widget】", - "【title】 : Mittlere Komponente 【Widget】", - "【actions】 : Rechte Komponente 【List】", - "【elevation】 : Schattentiefe 【double】", - "【shape】 : Form 【ShapeBorder】", - "【backgroundColor】 : Hintergrundfarbe 【Hintergrundfarbe】", - "【centerTitle】 : Zentrierung in der Mitte 【bool】" - ] - }, - { - "file": "node2_tab.dart", - "name": "Verwendung von AppBar mit TabBar und TabBarView", - "desc": [ - "【bottom】 : Untere Komponente 【PreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_en_US.json deleted file mode 100644 index 0a73cc160..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_en_US.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 57, - "name": "AppBar", - "localName": "App Header", - "info": "A common structure for the top bar of an application, where corresponding components can be placed in specified areas, often used in the Scaffold component.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AppBar", - "desc": [ - "【leading】 : Left component 【Widget】", - "【title】 : Middle component 【Widget】", - "【actions】 : Right component 【List】", - "【elevation】 : Shadow depth 【double】", - "【shape】 : Shape 【ShapeBorder】", - "【backgroundColor】 : Background color 【Color】", - "【centerTitle】 : Whether the title is centered 【bool】" - ] - }, - { - "file": "node2_tab.dart", - "name": "Using AppBar with TabBar and TabBarView", - "desc": [ - "【bottom】 : Bottom component 【PreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_es_ES.json deleted file mode 100644 index b055e3b14..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_es_ES.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 57, - "name": "AppBar", - "localName": "Barra de aplicación", - "info": "Una estructura común para la barra superior de una aplicación, que permite colocar componentes correspondientes en áreas específicas, comúnmente utilizada en el componente Scaffold.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AppBar", - "desc": [ - "【leading】 : Componente izquierdo 【Widget】", - "【title】 : Componente central 【Widget】", - "【actions】 : Componente derecho 【List】", - "【elevation】 : Profundidad de sombra 【double】", - "【shape】 : Forma 【ShapeBorder】", - "【backgroundColor】 : Profundidad de sombra 【Color de fondo】", - "【centerTitle】 : Centrar el título 【bool】" - ] - }, - { - "file": "node2_tab.dart", - "name": "Uso combinado de AppBar con TabBar y TabBarView", - "desc": [ - "【bottom】 : Componente inferior 【PreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_fr_FR.json deleted file mode 100644 index 99b7c29c9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_fr_FR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 57, - "name": "AppBar", - "localName": "Barre d'application", - "info": "Une structure commune pour une barre en haut de l'application, où des composants peuvent être placés dans des zones spécifiées, souvent utilisée dans le composant Scaffold.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de l'AppBar", - "desc": [ - "【leading】 : Composant gauche 【Widget】", - "【title】 : Composant central 【Widget】", - "【actions】 : Composant droit 【List】", - "【elevation】 : Profondeur de l'ombre 【double】", - "【shape】 : Forme 【ShapeBorder】", - "【backgroundColor】 : Profondeur de l'ombre 【Couleur de fond】", - "【centerTitle】 : Centrage du titre 【bool】" - ] - }, - { - "file": "node2_tab.dart", - "name": "Utilisation combinée de l'AppBar avec TabBar et TabBarView", - "desc": [ - "【bottom】 : Composant inférieur 【PreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_it_IT.json deleted file mode 100644 index 67ffa34d5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_it_IT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 57, - "name": "AppBar", - "localName": "Barra dell'applicazione", - "info": "Una struttura comune per la barra superiore di un'applicazione, che consente di posizionare componenti specifici in aree designate, spesso utilizzata nel componente Scaffold.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AppBar", - "desc": [ - "【leading】 : Componente sinistro 【Widget】", - "【title】 : Componente centrale 【Widget】", - "【actions】 : Componente destro 【List】", - "【elevation】 : Profondità dell'ombra 【double】", - "【shape】 : Forma 【ShapeBorder】", - "【backgroundColor】 : Colore di sfondo 【Colore】", - "【centerTitle】 : Centratura del titolo 【bool】" - ] - }, - { - "file": "node2_tab.dart", - "name": "Uso combinato di AppBar con TabBar e TabBarView", - "desc": [ - "【bottom】 : Componente inferiore 【PreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_ja_JP.json deleted file mode 100644 index 55bc8d2a7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_ja_JP.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 57, - "name": "AppBar", - "localName": "アプリケーションバー", - "info": "アプリの上部バーの一般的な構造で、指定された部分に適切なコンポーネントを配置できます。Scaffoldコンポーネントでよく使用されます。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AppBarの基本使用", - "desc": [ - "【leading】 : 左側コンポーネント 【Widget】", - "【title】 : 中央コンポーネント 【Widget】", - "【actions】 : 右側コンポーネント 【List】", - "【elevation】 : 影の深さ 【double】", - "【shape】 : 形状 【ShapeBorder】", - "【backgroundColor】 : 背景色 【背景色】", - "【centerTitle】 : 中央を中央揃えにするか 【bool】" - ] - }, - { - "file": "node2_tab.dart", - "name": "AppBarとTabBar、TabBarViewの連携使用", - "desc": [ - "【bottom】 : 下部コンポーネント 【PreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_ko_KR.json deleted file mode 100644 index 09bbd0c3e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_ko_KR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 57, - "name": "AppBar", - "localName": "앱 상단 바", - "info": "앱 상단 바의 일반적인 구조로, 지정된 위치에 해당 컴포넌트를 배치할 수 있으며, 주로 Scaffold 컴포넌트에서 사용됩니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AppBar 기본 사용법", - "desc": [ - "【leading】 : 왼쪽 컴포넌트 【Widget】", - "【title】 : 중앙 컴포넌트 【Widget】", - "【actions】 : 오른쪽 컴포넌트 【List】", - "【elevation】 : 그림자 깊이 【double】", - "【shape】 : 모양 【ShapeBorder】", - "【backgroundColor】 : 배경색 【Color】", - "【centerTitle】 : 중앙 제목 정렬 여부 【bool】" - ] - }, - { - "file": "node2_tab.dart", - "name": "AppBar와 TabBar, TabBarView 함께 사용", - "desc": [ - "【bottom】 : 하단 컴포넌트 【PreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_pt_PT.json deleted file mode 100644 index 2f139cc1e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_pt_PT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 57, - "name": "AppBar", - "localName": "Barra de Aplicação", - "info": "Uma estrutura comum para a barra superior de uma aplicação, onde componentes correspondentes podem ser colocados em áreas específicas, frequentemente utilizada no componente Scaffold.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AppBar", - "desc": [ - "【leading】 : Componente do lado esquerdo 【Widget】", - "【title】 : Componente do meio 【Widget】", - "【actions】 : Componente do lado direito 【List】", - "【elevation】 : Profundidade da sombra 【double】", - "【shape】 : Forma 【ShapeBorder】", - "【backgroundColor】 : Cor de fundo 【Cor de fundo】", - "【centerTitle】 : Centralizar no meio 【bool】" - ] - }, - { - "file": "node2_tab.dart", - "name": "Uso do AppBar com TabBar e TabBarView", - "desc": [ - "【bottom】 : Componente inferior 【PreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_ru_RU.json deleted file mode 100644 index b3d5c22a2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_ru_RU.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 57, - "name": "AppBar", - "localName": "Верхняя панель приложения", - "info": "Общая структура верхней панели приложения, в которой можно разместить соответствующие компоненты в указанных местах, часто используется в компоненте Scaffold.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AppBar", - "desc": [ - "【leading】 : Левый компонент 【Widget】", - "【title】 : Центральный компонент 【Widget】", - "【actions】 : Правый компонент 【List】", - "【elevation】 : Глубина тени 【double】", - "【shape】 : Форма 【ShapeBorder】", - "【backgroundColor】 : Цвет фона 【Цвет】", - "【centerTitle】 : Центрирование заголовка 【bool】" - ] - }, - { - "file": "node2_tab.dart", - "name": "Использование AppBar с TabBar и TabBarView", - "desc": [ - "【bottom】 : Нижний компонент 【PreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_zh-CN.json deleted file mode 100644 index 1ab0dc10b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/desc_zh-CN.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 57, - "name": "AppBar", - "localName": "应用头栏", - "info": "一个应用顶部栏的通用结构,可在指定的部位放置相应的组件,常用于Scaffold组件中。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AppBar基本使用", - "desc": [ - "【leading】 : 左侧组件 【Widget】", - "【title】 : 中间组件 【Widget】", - "【actions】 : 右侧组件 【List】", - "【elevation】 : 影深 【double】", - "【shape】 : 形状 【ShapeBorder】", - "【backgroundColor】 : 影深 【背景色】", - "【centerTitle】 : 中间是否居中 【bool】" - ] - }, - { - "file": "node2_tab.dart", - "name": "AppBar与TabBar、TabBarView联用", - "desc": [ - "【bottom】 : 底部组件 【PreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/node1_base.dart deleted file mode 100644 index 1b86573eb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/node1_base.dart +++ /dev/null @@ -1,38 +0,0 @@ -import 'package:flutter/material.dart'; - -import '../PopupMenuButton/node1_base.dart'; - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - - -class CustomAppBar extends StatelessWidget { - const CustomAppBar({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return AppBar( - title: const Text('风雅六社'), - leading: const BackButton(), - backgroundColor: Colors.amber[500], - elevation: 2, - centerTitle: true, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(20), - bottomRight: Radius.circular(20), - topRight: Radius.circular(5), - bottomLeft: Radius.circular(5), - )), - actions: [ - IconButton( - icon: const Icon(Icons.star), - tooltip: 'liked_widget_bloc', - onPressed: () { - // do nothing - }), - const CustomPopupMenuButton() - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/node2_tab.dart b/modules/widget_system/widgets/lib/StatefulWidget/AppBar/node2_tab.dart deleted file mode 100644 index 5eaf703fe..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AppBar/node2_tab.dart +++ /dev/null @@ -1,81 +0,0 @@ -import 'package:flutter/material.dart'; - -import '../PopupMenuButton/node1_base.dart'; -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class TabAppBar extends StatefulWidget { - const TabAppBar({Key? key}) : super(key: key); - - @override - _TabAppBarState createState() => _TabAppBarState(); -} - -class _TabAppBarState extends State - with SingleTickerProviderStateMixin { - final List tabs = ['风画庭', '雨韵舍', '雷鸣殿', '电疾堂', '霜寒阁', '雪月楼']; - late TabController _tabController; - - @override - void initState() { - super.initState(); - _tabController = TabController(vsync: this, length: tabs.length); - } - - @override - void dispose() { - _tabController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 220, - child: Scaffold( - appBar: _buildAppBar(), - body: _buildTableBarView(), - ), - ); - } - - PreferredSizeWidget _buildAppBar() => AppBar( - title: const Text('风雅六社'), - elevation: 1, - leading: const BackButton(), - centerTitle: true, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(20), - topRight: Radius.circular(20), - )), - actions: [ - IconButton( - icon: const Icon(Icons.star), - tooltip: 'liked_widget_bloc', - onPressed: () { - // do nothing - }), - const CustomPopupMenuButton() - ], - bottom: TabBar( - isScrollable: true, - controller: _tabController, - indicatorColor: Colors.orangeAccent, - tabs: tabs.map((e) => Tab(text: e)).toList(), - ), - ); - - Widget _buildTableBarView() => TabBarView( - controller: _tabController, - children: tabs - .map((e) => ColoredBox( - color: Colors.purple, - child:Center( - child: Text( - e, - style: const TextStyle(color: Colors.white, fontSize: 20), - ), - ))) - .toList()); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_de_DE.json deleted file mode 100644 index 926bc240b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 239, - "name": "AutomaticKeepAlive", - "localName": "Automatische Lebenserhaltung", - "info": "In einer Liste mit verzögerter Ladung ermöglicht es den Unterbäumen, den Zustand beizubehalten. Allein verwendet hat es keine Wirkung und muss in Verbindung mit KeepAliveNotification verwendet werden.", - "lever": 1, - "family": 1, - "linkIds": [ - 59, - 162, - 163, - 165, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in AutomaticKeepAlive", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "In den Quellcodes von Listen- und Seitenwechselkomponenten wie ListView, SliverList, GridView, SliverGrid, PageView, TabBarView wird die AutomaticKeepAlive-Komponente verwendet. Um den Zustand eines States zu erhalten, kann AutomaticKeepAliveClientMixin verwendet werden, das eine einfache Kapselung der Verwendung von KeepAliveNotification darstellt. Dieses Beispiel zeigt die Zustandserhaltung der ListView-Einträge." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_en_US.json deleted file mode 100644 index 721b09ba5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 239, - "name": "AutomaticKeepAlive", - "localName": "Automatic Keep Alive", - "info": "In lazy-loaded lists, allows subtrees to request to maintain state. It has no effect when used alone and needs to be used in conjunction with KeepAliveNotification.", - "lever": 1, - "family": 1, - "linkIds": [ - 59, - 162, - 163, - 165, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to AutomaticKeepAlive", - "desc": [ - "【child】: Child component 【Widget】", - "The AutomaticKeepAlive component is used in the source code of list and page-switching components such as ListView, SliverList, GridView, SliverGrid, PageView, and TabBarView. When keeping a State alive, you can use AutomaticKeepAliveClientMixin, which is a simple encapsulation of the use of KeepAliveNotification. This example demonstrates the state preservation of ListView items." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_es_ES.json deleted file mode 100644 index ab29b9ec8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 239, - "name": "AutomaticKeepAlive", - "localName": "Mantenimiento automático", - "info": "En listas de carga perezosa, permite que los subárboles soliciten mantener el estado. No tiene efecto si se usa solo, debe usarse junto con KeepAliveNotification.", - "lever": 1, - "family": 1, - "linkIds": [ - 59, - 162, - 163, - 165, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a AutomaticKeepAlive", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "El componente AutomaticKeepAlive se utiliza en el código fuente de componentes de lista y cambio de página como ListView, SliverList, GridView, SliverGrid, PageView, TabBarView, etc. Para mantener vivo un State, se puede usar AutomaticKeepAliveClientMixin, que es una encapsulación simple del uso de KeepAliveNotification. Este ejemplo muestra cómo mantener vivo el estado de un elemento en ListView." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_fr_FR.json deleted file mode 100644 index e4380b34b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 239, - "name": "AutomaticKeepAlive", - "localName": "Maintien automatique en vie", - "info": "Dans les listes chargées de manière paresseuse, permet aux sous-arbres de demander à maintenir leur état. Utilisé seul, il n'a aucun effet. Doit être utilisé avec KeepAliveNotification.", - "lever": 1, - "family": 1, - "linkIds": [ - 59, - 162, - 163, - 165, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à AutomaticKeepAlive", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "Le composant AutomaticKeepAlive est utilisé dans les composants de liste et de pagination tels que ListView, SliverList, GridView, SliverGrid, PageView, TabBarView, etc. Pour maintenir en vie un certain State, on peut utiliser AutomaticKeepAliveClientMixin, qui est un enrobage simplifié de l'utilisation de KeepAliveNotification. Cet exemple montre le maintien en vie de l'état des entrées de ListView." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_it_IT.json deleted file mode 100644 index 8a34fd8fe..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 239, - "name": "AutomaticKeepAlive", - "localName": "Mantenimento Automatico", - "info": "Nelle liste a caricamento lento, consente ai sottoalberi di richiedere il mantenimento dello stato. Non ha effetto se usato da solo, deve essere utilizzato insieme a KeepAliveNotification.", - "lever": 1, - "family": 1, - "linkIds": [ - 59, - 162, - 163, - 165, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a AutomaticKeepAlive", - "desc": [ - "【child】 : componente figlio 【Widget】", - "Nei componenti come ListView, SliverList, GridView, SliverGrid, PageView, TabBarView, il componente AutomaticKeepAlive è ampiamente utilizzato. Per mantenere attivo uno stato, è possibile utilizzare AutomaticKeepAliveClientMixin, che è un'implementazione semplificata dell'uso di KeepAliveNotification. Questo esempio mostra il mantenimento dello stato degli elementi in ListView." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_ja_JP.json deleted file mode 100644 index ec58d18d8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 239, - "name": "AutomaticKeepAlive", - "localName": "自動キープアライブ", - "info": "遅延読み込みのリストで、サブツリーが状態を維持することを許可します。単独で使用しても効果はなく、KeepAliveNotification と併用する必要があります。", - "lever": 1, - "family": 1, - "linkIds": [ - 59, - 162, - 163, - 165, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AutomaticKeepAlive 紹介", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "ListView、SliverList、GridView、SliverGrid、PageView、TabBarView などのリストやページ切り替えコンポーネントのソースコードでは、AutomaticKeepAlive コンポーネントが使用されています。特定の State をキープアライブする場合、AutomaticKeepAliveClientMixin を使用して操作できます。これは KeepAliveNotification を使用するための簡易なラッパーです。この例では、ListView の項目の状態をキープアライブする方法を示しています。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_ko_KR.json deleted file mode 100644 index a1b74b317..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 239, - "name": "AutomaticKeepAlive", - "localName": "자동 생존 유지", - "info": "지연 로드 목록에서 하위 트리가 상태를 유지하도록 요청할 수 있으며, 단독으로 사용할 경우 효과가 없으며 KeepAliveNotification과 함께 사용해야 합니다.", - "lever": 1, - "family": 1, - "linkIds": [ - 59, - 162, - 163, - 165, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AutomaticKeepAlive 소개", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "ListView, SliverList, GridView, SliverGrid, PageView, TabBarView 등의 목록 및 페이지 전환 위젯 소스 코드에는 AutomaticKeepAlive 위젯이 사용됩니다. 특정 State를 생존 유지할 때 AutomaticKeepAliveClientMixin을 사용하여 작업할 수 있으며, 이는 KeepAliveNotification 사용을 간단하게 캡슐화한 것입니다. 이 예제는 ListView 항목의 상태 생존 유지를 보여줍니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_pt_PT.json deleted file mode 100644 index c234a4e04..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 239, - "name": "AutomaticKeepAlive", - "localName": "Manutenção automática", - "info": "Em listas de carregamento preguiçoso, permite que as subárvores solicitem a manutenção do estado. O uso isolado não tem efeito e deve ser usado em conjunto com o KeepAliveNotification.", - "lever": 1, - "family": 1, - "linkIds": [ - 59, - 162, - 163, - 165, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao AutomaticKeepAlive", - "desc": [ - "【child】 : componente filho 【Widget】", - "O componente AutomaticKeepAlive é utilizado em ListView, SliverList, GridView, SliverGrid, PageView, TabBarView e outros componentes de lista e de mudança de página. Para manter o estado de um State, pode-se usar o AutomaticKeepAliveClientMixin, que é um encapsulamento simplificado do uso do KeepAliveNotification. Este exemplo mostra a manutenção do estado de um item da ListView." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_ru_RU.json deleted file mode 100644 index 6b757e2b6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 239, - "name": "AutomaticKeepAlive", - "localName": "Автоматическое поддержание активности", - "info": "В лениво загружаемых списках позволяет поддеревьям запрашивать сохранение состояния. Само по себе не имеет эффекта, необходимо использовать вместе с KeepAliveNotification.", - "lever": 1, - "family": 1, - "linkIds": [ - 59, - 162, - 163, - 165, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в AutomaticKeepAlive", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "Компонент AutomaticKeepAlive используется в исходном коде списков и страничных компонентов, таких как ListView, SliverList, GridView, SliverGrid, PageView, TabBarView и других. Для поддержания активности определенного State можно использовать AutomaticKeepAliveClientMixin, который представляет собой простую обертку для использования KeepAliveNotification. Этот пример демонстрирует поддержание состояния элементов ListView." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_zh-CN.json deleted file mode 100644 index 630f8742c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 239, - "name": "AutomaticKeepAlive", - "localName": "自动保活", - "info": "在懒加载的列表中,允许子树请求保持状态,单独使用无效果,需要配合 KeepAliveNotification 使用。", - "lever": 1, - "family": 1, - "linkIds": [ - 59, - 162, - 163, - 165, - 185, - 188 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AutomaticKeepAlive 介绍", - "desc": [ - "【child】 : 子组件 【Widget】", - "在 ListView、SliverList、GridView、SliverGrid、PageView、TabBarView 等列表、切页组件源码中都有使用到 AutomaticKeepAlive 组件。在保活某个 State 时,可以使用 AutomaticKeepAliveClientMixin 进行操作,它是对 KeepAliveNotification 使用的一个简易封装。该示例展示出 ListView 条目的状态保活。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/node1_base.dart deleted file mode 100644 index 0416dbc2f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/AutomaticKeepAlive/node1_base.dart +++ /dev/null @@ -1,114 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class AutomaticKeepAliveDemo extends StatelessWidget { - const AutomaticKeepAliveDemo({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - Colors.red[50]!, - Colors.red[100]!, - Colors.red[200]!, - Colors.red[300]!, - Colors.red[400]!, - Colors.red[500]!, - Colors.red[600]!, - Colors.red[700]!, - Colors.red[800]!, - Colors.red[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: ListView.builder( - itemCount: data.length, - itemBuilder: (_, index) => _ColorBox( - color: data[index], - index: index, - ), - ), - ); - } -} - -class _ColorBox extends StatefulWidget { - final Color color; - final int index; - - const _ColorBox({super.key, required this.color, required this.index}); - - @override - _ColorBoxState createState() => _ColorBoxState(); -} - -class _ColorBoxState extends State<_ColorBox> with AutomaticKeepAliveClientMixin { - bool _checked = false; - - @override - void initState() { - super.initState(); - _checked = false; - print('-----_ColorBoxState#initState---${widget.index}-------'); - } - - @override - void dispose() { - print('-----_ColorBoxState#dispose---${widget.index}-------'); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - super.build(context); - return Container( - alignment: Alignment.center, - height: 50, - color: widget.color, - child: Row( - children: [ - const SizedBox( - width: 60, - ), - Checkbox( - value: _checked, - onChanged: (bool? v) { - setState(() { - _checked = v ?? false; - }); - }, - ), - Text( - "index ${widget.index}: ${colorString(widget.color)}", - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ]), - ), - ], - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - - @override - bool get wantKeepAlive => true; -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_de_DE.json deleted file mode 100644 index 5659293cd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 61, - "name": "BottomAppBar", - "localName": "Untere Navigationsleiste", - "info": "Eine einbettbare untere Navigationsleiste, die normalerweise am unteren Ende des Scaffold-Widgets verwendet wird. Kann Eigenschaften wie Farbe, Schattentiefe, Form usw. angeben und kann mit PageView einen Seitenwechsel-Effekt erzielen.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von BottomAppBar", - "desc": [ - "【elevation】 : Schattentiefe 【double】", - "【shape】 : Form 【NotchedShape】", - "【notchMargin】 : Abstand 【double】", - "【color】 : Farbe 【Color】", - "【child】 : Kind 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_en_US.json deleted file mode 100644 index c4bb3f05a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 61, - "name": "BottomAppBar", - "localName": "Bottom Navigation", - "info": "A recessed bottom navigation bar, typically used at the bottom of a Scaffold component, can specify properties such as color, elevation, shape, etc., and can achieve page-switching effects with PageView.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of BottomAppBar", - "desc": [ - "【elevation】: Elevation 【double】", - "【shape】: Shape 【NotchedShape】", - "【notchMargin】: Notch Margin 【double】", - "【color】: Color 【Color】", - "【child】: Child 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_es_ES.json deleted file mode 100644 index ac76510df..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 61, - "name": "BottomAppBar", - "localName": "Barra de navegación inferior", - "info": "Una barra de navegación inferior que se puede incrustar, generalmente se usa en la parte inferior del componente Scaffold, se pueden especificar propiedades como color, profundidad de sombra, forma, etc., y se puede implementar un efecto de cambio de página con PageView.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de BottomAppBar", - "desc": [ - "【elevation】 : Profundidad de sombra 【double】", - "【shape】 : Forma 【NotchedShape】", - "【notchMargin】 : Distancia de separación 【double】", - "【color】 : Color 【Color】", - "【child】 : Hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_fr_FR.json deleted file mode 100644 index bcfc5fb68..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 61, - "name": "BottomAppBar", - "localName": "Barre de navigation inférieure", - "info": "Une barre de navigation inférieure encastrable, généralement utilisée au bas du composant Scaffold, peut spécifier des propriétés telles que la couleur, la profondeur de l'ombre, la forme, etc., et peut réaliser un effet de changement de page avec PageView.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de BottomAppBar", - "desc": [ - "【elevation】 : Profondeur de l'ombre 【double】", - "【shape】 : Forme 【NotchedShape】", - "【notchMargin】 : Distance d'intervalle 【double】", - "【color】 : Couleur 【Color】", - "【child】 : Enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_it_IT.json deleted file mode 100644 index ccdb358bc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 61, - "name": "BottomAppBar", - "localName": "Barra di navigazione inferiore", - "info": "Una barra di navigazione inferiore incassabile, solitamente utilizzata nella parte inferiore del componente Scaffold, può specificare proprietà come colore, profondità dell'ombra, forma, ecc., e può realizzare l'effetto di cambio pagina con PageView.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di BottomAppBar", - "desc": [ - "【elevation】 : profondità dell'ombra 【double】", - "【shape】 : forma 【NotchedShape】", - "【notchMargin】 : distanza di intervallo 【double】", - "【color】 : colore 【Color】", - "【child】 : figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_ja_JP.json deleted file mode 100644 index de775395f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 61, - "name": "BottomAppBar", - "localName": "ボトムナビゲーション", - "info": "凹型のボトムナビゲーションバーで、通常Scaffoldコンポーネントの下部に使用され、色、影の深さ、形状などの属性を指定できます。PageViewと組み合わせてページ切り替え効果を実現できます。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BottomAppBarの基本使用法", - "desc": [ - "【elevation】 : 影の深さ 【double】", - "【shape】 : 形状 【NotchedShape】", - "【notchMargin】 : 間隔距離 【double】", - "【color】 : 色 【Color】", - "【child】 : 子 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_ko_KR.json deleted file mode 100644 index c91f6fa04..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 61, - "name": "BottomAppBar", - "localName": "하단 네비게이션", - "info": "들여쓰기 가능한 하단 네비게이션 바로, 일반적으로 Scaffold 컴포넌트의 하단에 사용되며, 색상, 그림자 깊이, 모양 등 속성을 지정할 수 있으며, PageView와 함께 페이지 전환 효과를 구현할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BottomAppBar 기본 사용법", - "desc": [ - "【elevation】 : 그림자 깊이 【double】", - "【shape】 : 모양 【NotchedShape】", - "【notchMargin】 : 간격 거리 【double】", - "【color】 : 색상 【Color】", - "【child】 : 자식 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_pt_PT.json deleted file mode 100644 index 33969f6bc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 61, - "name": "BottomAppBar", - "localName": "Barra de Navegação Inferior", - "info": "Uma barra de navegação inferior recortável, geralmente usada na parte inferior do componente Scaffold, pode especificar propriedades como cor, profundidade de sombra, forma, etc., e pode ser usada com PageView para implementar efeitos de mudança de página.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do BottomAppBar", - "desc": [ - "【elevation】 : Profundidade de Sombra 【double】", - "【shape】 : Forma 【NotchedShape】", - "【notchMargin】 : Distância de Espaçamento 【double】", - "【color】 : Cor 【Color】", - "【child】 : Filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_ru_RU.json deleted file mode 100644 index 105a260a8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 61, - "name": "BottomAppBar", - "localName": "Нижняя навигация", - "info": "Встраиваемая нижняя панель навигации, обычно используемая в нижней части компонента Scaffold, может быть указана с такими свойствами, как цвет, глубина тени, форма и может быть реализована с эффектом перелистывания страниц с помощью PageView.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование BottomAppBar", - "desc": [ - "【elevation】 : Глубина тени 【double】", - "【shape】 : Форма 【NotchedShape】", - "【notchMargin】 : Расстояние между элементами 【double】", - "【color】 : Цвет 【Color】", - "【child】 : Дочерний элемент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_zh-CN.json deleted file mode 100644 index e367a9f14..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 61, - "name": "BottomAppBar", - "localName": "底部导航", - "info": "一个可凹嵌的底部导航栏,通常用于Scaffold组件的底部,可指定颜色、影深、形状等属性,可与PageView实现切页效果。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BottomAppBar基本用法", - "desc": [ - "【elevation】 : 影深 【double】", - "【shape】 : 形状 【NotchedShape】", - "【notchMargin】 : 间隔距离 【double】", - "【color】 : 颜色 【Color】", - "【child】 : 孩子 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/node1_base.dart deleted file mode 100644 index f0478b4e1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomAppBar/node1_base.dart +++ /dev/null @@ -1,108 +0,0 @@ -import 'package:flutter/material.dart'; - - -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class CustomBottomAppBar extends StatefulWidget { - const CustomBottomAppBar({Key? key}) : super(key: key); - - @override - _CustomBottomAppBarState createState() => _CustomBottomAppBarState(); -} - -class _CustomBottomAppBarState extends State { - int _position = 0; - FloatingActionButtonLocation _location = - FloatingActionButtonLocation.centerDocked; - final Map iconsMap = { - "图鉴": Icons.home, - "动态": Icons.toys, - "喜欢": Icons.favorite, - "手册": Icons.class_, - }; - Color activeColor = Colors.blue.withAlpha(240); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width, - height: 180, - child: Scaffold( - backgroundColor: Colors.purple.withAlpha(22), - floatingActionButton: FloatingActionButton( - onPressed: () => Navigator.of(context).pushNamed('AboutMePage'), - child: const Icon(Icons.add), - ), - bottomNavigationBar: _buildBottomAppBar(), - floatingActionButtonLocation: _location, - body: _buildContent(), - ), - ); - } - - Widget _buildBottomAppBar() { - return BottomAppBar( - elevation: 1, - shape: const CircularNotchedRectangle(), - notchMargin: 5, - color: Colors.red, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: info.asMap().keys.map((i) => _buildChild(i)).toList() - ..insertAll(isCenter ? 2 : 4, [const SizedBox(width: 30)])), - ); - } - - Container _buildContent() { - return Container( - alignment: Alignment.center, - child: Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - Text( - '当前页索引:$_position', - style: const TextStyle(color: Colors.blue, fontSize: 18), - ), - Switch( - value: isCenter, - onChanged: (v) { - setState(() { - _location = v - ? FloatingActionButtonLocation.centerDocked - : FloatingActionButtonLocation.endDocked; - }); - }), - ], - ), - ); - } - - List get info => iconsMap.keys.toList(); - - bool get isCenter => _location == FloatingActionButtonLocation.centerDocked; - - Widget _buildChild(int i) { - bool active = i == _position; - return Padding( - padding: const EdgeInsets.all(8.0), - child: GestureDetector( - onTap: () => setState(() => _position = i), - child: Wrap( - direction: Axis.vertical, - alignment: WrapAlignment.center, - children: [ - Icon( - iconsMap[info[i]], - color: active ? activeColor : Colors.white, - size: 30, - ), - Text(info[i], - style: TextStyle( - color: active ? activeColor : Colors.white, fontSize: 14)), - ], - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_de_DE.json deleted file mode 100644 index 768c23712..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_de_DE.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 60, - "name": "BottomNavigationBar", - "localName": "Untere Navigationsleiste", - "info": "Eine untere Navigationsleiste, die normalerweise am unteren Rand des Scaffold-Widgets verwendet wird. Kann Farben und Modi angeben, akzeptiert Klick-Rückrufe und kann mit PageView Seiteneffekte erzielen.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von BottomNavigationBar", - "desc": [ - "【currentIndex】 : Aktueller Index 【int】", - "【elevation】 : Schattentiefe 【double】", - "【type】 : Typ*2 【BottomNavigationBarType】", - "【fixedColor】 : Farbe, wenn type fix ist 【Color】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【iconSize】 : Symbolgröße 【double】", - "【selectedLabelStyle】 : Stil des ausgewählten Textes 【TextStyle】", - "【unselectedLabelStyle】 : Stil des nicht ausgewählten Textes 【TextStyle】", - "【showUnselectedLabels】 : Nicht ausgewählte Labels anzeigen 【bool】", - "【showSelectedLabels】 : Ausgewählte Labels anzeigen 【bool】", - "【items】 : Elemente 【List】", - "【onTap】 : Klick-Ereignis 【Function(int)】" - ] - }, - { - "file": "node2_page.dart", - "name": "Kann mit PageView für Seitenwechsel kombiniert werden", - "desc": [ - "Verwenden Sie den Controller beim onTap für den Seitenwechsel" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_en_US.json deleted file mode 100644 index 1c7aba5bb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_en_US.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 60, - "name": "BottomNavigationBar", - "localName": "Bottom Navigation", - "info": "A bottom navigation bar, usually used at the bottom of the Scaffold component, can specify colors and modes, accepts click callbacks, and can achieve page switching effects with PageView.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of BottomNavigationBar", - "desc": [ - "【currentIndex】 : Current index 【int】", - "【elevation】 : Shadow depth 【double】", - "【type】 : Type*2 【BottomNavigationBarType】", - "【fixedColor】 : Color when type is fix 【Color】", - "【backgroundColor】 : Background color 【Color】", - "【iconSize】 : Icon size 【double】", - "【selectedLabelStyle】 : Selected text style 【TextStyle】", - "【unselectedLabelStyle】 : Unselected text style 【TextStyle】", - "【showUnselectedLabels】 : Show unselected labels 【bool】", - "【showSelectedLabels】 : Show selected labels 【bool】", - "【items】 : Items 【List】", - "【onTap】 : Click event 【Function(int)】" - ] - }, - { - "file": "node2_page.dart", - "name": "Page Switching with PageView", - "desc": [ - "Use the controller for page switching during onTap" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_es_ES.json deleted file mode 100644 index 181161124..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_es_ES.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 60, - "name": "BottomNavigationBar", - "localName": "Barra de navegación inferior", - "info": "Una barra de navegación inferior, generalmente utilizada en la parte inferior del componente Scaffold, puede especificar colores y modos, acepta devoluciones de llamada de clics y puede lograr efectos de cambio de página con PageView.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de BottomNavigationBar", - "desc": [ - "【currentIndex】 : Índice actual 【int】", - "【elevation】 : Profundidad de sombra 【double】", - "【type】 : Tipo*2 【BottomNavigationBarType】", - "【fixedColor】 : Color cuando el tipo es fix 【Color】", - "【backgroundColor】 : Color de fondo 【Color】", - "【iconSize】 : Tamaño del ícono 【double】", - "【selectedLabelStyle】 : Estilo del texto seleccionado 【TextStyle】", - "【unselectedLabelStyle】 : Estilo del texto no seleccionado 【TextStyle】", - "【showUnselectedLabels】 : Mostrar etiquetas no seleccionadas 【bool】", - "【showSelectedLabels】 : Mostrar etiquetas seleccionadas 【bool】", - "【items】 : Elementos 【List】", - "【onTap】 : Evento de clic 【Function(int)】" - ] - }, - { - "file": "node2_page.dart", - "name": "Se puede combinar con PageView para cambiar de página", - "desc": [ - "Usar el controlador para cambiar de página durante onTap" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_fr_FR.json deleted file mode 100644 index db97216bf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_fr_FR.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 60, - "name": "BottomNavigationBar", - "localName": "Navigation inférieure", - "info": "Une barre de navigation inférieure, généralement utilisée au bas du composant Scaffold, peut spécifier la couleur et le mode, accepte un rappel de clic et peut réaliser un effet de changement de page avec PageView.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de BottomNavigationBar", - "desc": [ - "【currentIndex】 : Index actuel 【int】", - "【elevation】 : Profondeur de l'ombre 【double】", - "【type】 : Type*2 【BottomNavigationBarType】", - "【fixedColor】 : Couleur lorsque le type est fixe 【Color】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【iconSize】 : Taille de l'icône 【double】", - "【selectedLabelStyle】 : Style du texte sélectionné 【TextStyle】", - "【unselectedLabelStyle】 : Style du texte non sélectionné 【TextStyle】", - "【showUnselectedLabels】 : Afficher les étiquettes non sélectionnées 【bool】", - "【showSelectedLabels】 : Afficher les étiquettes sélectionnées 【bool】", - "【items】 : Éléments 【List】", - "【onTap】 : Événement de clic 【Function(int)】" - ] - }, - { - "file": "node2_page.dart", - "name": "Peut être combiné avec PageView pour changer de page", - "desc": [ - "Utiliser le contrôleur pour changer de page lors de onTap" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_it_IT.json deleted file mode 100644 index d7cc293f3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_it_IT.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 60, - "name": "BottomNavigationBar", - "localName": "Barra di navigazione inferiore", - "info": "Una barra di navigazione inferiore, solitamente utilizzata nella parte inferiore del componente Scaffold, può specificare colore e modalità, accetta callback di clic e può realizzare l'effetto di cambio pagina con PageView.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di BottomNavigationBar", - "desc": [ - "【currentIndex】 : Indice corrente 【int】", - "【elevation】 : Profondità dell'ombra 【double】", - "【type】 : Tipo*2 【BottomNavigationBarType】", - "【fixedColor】 : Colore quando il tipo è fix 【Color】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【iconSize】 : Dimensione dell'icona 【double】", - "【selectedLabelStyle】 : Stile del testo selezionato 【TextStyle】", - "【unselectedLabelStyle】 : Stile del testo non selezionato 【TextStyle】", - "【showUnselectedLabels】 : Mostra etichette non selezionate 【bool】", - "【showSelectedLabels】 : Mostra etichette selezionate 【bool】", - "【items】 : Voci 【List】", - "【onTap】 : Evento di clic 【Function(int)】" - ] - }, - { - "file": "node2_page.dart", - "name": "Può essere combinato con PageView per il cambio pagina", - "desc": [ - "Utilizza il controller per il cambio pagina durante onTap" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_ja_JP.json deleted file mode 100644 index c9b5e9469..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_ja_JP.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 60, - "name": "BottomNavigationBar", - "localName": "ボトムナビゲーション", - "info": "ボトムナビゲーションバーは、通常Scaffoldコンポーネントの下部に使用され、色やモードを指定でき、クリックコールバックを受け取り、PageViewと組み合わせてページ切り替え効果を実現できます。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BottomNavigationBarの基本使用", - "desc": [ - "【currentIndex】 : 現在のインデックス 【int】", - "【elevation】 : 影の深さ 【double】", - "【type】 : タイプ*2 【BottomNavigationBarType】", - "【fixedColor】 : typeがfixの場合の色 【Color】", - "【backgroundColor】 : 背景色 【Color】", - "【iconSize】 : アイコンサイズ 【double】", - "【selectedLabelStyle】 : 選択されたテキストスタイル 【TextStyle】", - "【unselectedLabelStyle】 : 選択されていないテキストスタイル 【TextStyle】", - "【showUnselectedLabels】 : 選択されていないラベルを表示 【bool】", - "【showSelectedLabels】 : 選択されたラベルを表示 【bool】", - "【items】 : アイテム 【List】", - "【onTap】 : クリックイベント 【Function(int)】" - ] - }, - { - "file": "node2_page.dart", - "name": "PageViewと組み合わせてページ切り替え", - "desc": [ - "onTap時にコントローラーを使用してページ切り替えを行う" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_ko_KR.json deleted file mode 100644 index 40574e58f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_ko_KR.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 60, - "name": "BottomNavigationBar", - "localName": "하단 네비게이션", - "info": "하단 네비게이션 바는 일반적으로 Scaffold 컴포넌트의 하단에 사용되며, 색상과 모드를 지정할 수 있고, 클릭 콜백을 받으며, PageView와 함께 페이지 전환 효과를 구현할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BottomNavigationBar 기본 사용", - "desc": [ - "【currentIndex】 : 현재 인덱스 【int】", - "【elevation】 : 그림자 깊이 【double】", - "【type】 : 타입*2 【BottomNavigationBarType】", - "【fixedColor】 : type이 fix일 때의 색상 【Color】", - "【backgroundColor】 : 배경색 【Color】", - "【iconSize】 : 아이콘 크기 【double】", - "【selectedLabelStyle】 : 선택된 텍스트 스타일 【TextStyle】", - "【unselectedLabelStyle】 : 선택되지 않은 텍스트 스타일 【TextStyle】", - "【showUnselectedLabels】 : 선택되지 않은 라벨 표시 【bool】", - "【showSelectedLabels】 : 선택된 라벨 표시 【bool】", - "【items】 : 항목 【List】", - "【onTap】 : 클릭 이벤트 【Function(int)】" - ] - }, - { - "file": "node2_page.dart", - "name": "PageView와 함께 페이지 전환", - "desc": [ - "onTap 시 컨트롤러를 사용하여 페이지 전환" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_pt_PT.json deleted file mode 100644 index 5a815723d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_pt_PT.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 60, - "name": "BottomNavigationBar", - "localName": "Navegação Inferior", - "info": "Uma barra de navegação inferior, normalmente usada na parte inferior de um componente Scaffold, pode especificar cores e modos, aceita callbacks de clique e pode ser usada com PageView para efeitos de mudança de página.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do BottomNavigationBar", - "desc": [ - "【currentIndex】 : Índice atual 【int】", - "【elevation】 : Profundidade da sombra 【double】", - "【type】 : Tipo*2 【BottomNavigationBarType】", - "【fixedColor】 : Cor quando o tipo é fixo 【Color】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【iconSize】 : Tamanho do ícone 【double】", - "【selectedLabelStyle】 : Estilo do texto selecionado 【TextStyle】", - "【unselectedLabelStyle】 : Estilo do texto não selecionado 【TextStyle】", - "【showUnselectedLabels】 : Mostrar etiquetas não selecionadas 【bool】", - "【showSelectedLabels】 : Mostrar etiquetas selecionadas 【bool】", - "【items】 : Itens 【List】", - "【onTap】 : Evento de clique 【Function(int)】" - ] - }, - { - "file": "node2_page.dart", - "name": "Pode ser combinado com PageView para mudar de página", - "desc": [ - "Usar o controlador para mudar de página durante o onTap" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_ru_RU.json deleted file mode 100644 index 86f960935..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_ru_RU.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 60, - "name": "BottomNavigationBar", - "localName": "Нижняя навигация", - "info": "Нижняя панель навигации, обычно используется внизу компонента Scaffold, может задавать цвет и режим, принимает обратный вызов при нажатии, может реализовать эффект переключения страниц с PageView.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование BottomNavigationBar", - "desc": [ - "【currentIndex】 : текущий индекс 【int】", - "【elevation】 : глубина тени 【double】", - "【type】 : тип*2 【BottomNavigationBarType】", - "【fixedColor】 : цвет для типа fix 【Color】", - "【backgroundColor】 : цвет фона 【Color】", - "【iconSize】 : размер иконки 【double】", - "【selectedLabelStyle】 : стиль выбранного текста 【TextStyle】", - "【unselectedLabelStyle】 : стиль невыбранного текста 【TextStyle】", - "【showUnselectedLabels】 : показывать невыбранные метки 【bool】", - "【showSelectedLabels】 : показывать выбранные метки 【bool】", - "【items】 : элементы 【List】", - "【onTap】 : событие нажатия 【Function(int)】" - ] - }, - { - "file": "node2_page.dart", - "name": "Можно использовать с PageView для переключения страниц", - "desc": [ - "Использовать контроллер для переключения страниц при onTap" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_zh-CN.json deleted file mode 100644 index 2582fb6da..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/desc_zh-CN.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 60, - "name": "BottomNavigationBar", - "localName": "底部导航", - "info": "一个底部导航栏,通常用于Scaffold组件的底部,可指定颜色和模式,接受点击回调,可与PageView实现切页效果。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BottomNavigationBar基本使用", - "desc": [ - "【currentIndex】 : 当前索引 【int】", - "【elevation】 : 影深 【double】", - "【type】 : 类型*2 【BottomNavigationBarType】", - "【fixedColor】 : type为fix的颜色 【Color】", - "【backgroundColor】 : 背景色 【Color】", - "【iconSize】 : 图标大小 【double】", - "【selectedLabelStyle】 : 选中文字样式 【TextStyle】", - "【unselectedLabelStyle】 : 未选中文字样式 【TextStyle】", - "【showUnselectedLabels】 : 显示未选中标签 【bool】", - "【showSelectedLabels】 : 显示选中标签 【bool】", - "【items】 : 条目 【List】", - "【onTap】 : 点击事件 【Function(int)】" - ] - }, - { - "file": "node2_page.dart", - "name": "可结合PageView进行切页", - "desc": [ - "在onTap时进行使用控制器进行切页" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/node1_base.dart deleted file mode 100644 index ca5caa22c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/node1_base.dart +++ /dev/null @@ -1,81 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class CustomBottomNavigationBar extends StatefulWidget { - const CustomBottomNavigationBar({Key? key}) : super(key: key); - - @override - _CustomBottomNavigationBarState createState() => - _CustomBottomNavigationBarState(); -} - -class _CustomBottomNavigationBarState extends State { - int _position = 0; - BottomNavigationBarType _type = BottomNavigationBarType.shifting; - final Map iconsMap = { //底栏图标 - "图鉴": Icons.home, "动态": Icons.toys, - "喜欢": Icons.favorite, "手册": Icons.class_, - "我的": Icons.account_circle, - }; - final List _colors = [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green, - Colors.purple, - ]; - - @override - Widget build(BuildContext context) { - return Column( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - _buildOp(), - _buildBottomNavigationBar(), - ], - ); - } - - bool get isShifting => _type == BottomNavigationBarType.shifting; - - BottomNavigationBar _buildBottomNavigationBar() { - return BottomNavigationBar( - onTap: (position) => setState(() => _position = position), - currentIndex: _position, - elevation: 1, - type: _type, - fixedColor: isShifting ? Colors.white : _colors[_position], - backgroundColor: Colors.white, - iconSize: 25, - selectedLabelStyle: const TextStyle(fontWeight: FontWeight.bold), - showUnselectedLabels: false, - showSelectedLabels: true, - items: iconsMap.keys - .map((key) => BottomNavigationBarItem( - label:key, - icon: Icon(iconsMap[key]), - backgroundColor: _colors[_position])) - .toList(), - ); - } - - Widget _buildOp() { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Text( - _type.toString(), - style: const TextStyle(fontWeight: FontWeight.bold, color: Colors.blue), - ), - Switch( - value: _type == BottomNavigationBarType.shifting, - onChanged: (b) { - setState(() => _type = b - ? BottomNavigationBarType.shifting - : BottomNavigationBarType.fixed); - }), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/node2_page.dart b/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/node2_page.dart deleted file mode 100644 index e3b0ba15d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/BottomNavigationBar/node2_page.dart +++ /dev/null @@ -1,95 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-23 -/// contact me by email 1981462002@qq.com - -class BottomNavigationBarWithPageView extends StatefulWidget { - const BottomNavigationBarWithPageView({Key? key}) : super(key: key); - - @override - _BottomNavigationBarWithPageViewState createState() => - _BottomNavigationBarWithPageViewState(); -} - -class _BottomNavigationBarWithPageViewState - extends State { - int _position = 0; - final Map iconsMap = { - //底栏图标 - "图鉴": Icons.home, "动态": Icons.toys, - "喜欢": Icons.favorite, "手册": Icons.class_, - "我的": Icons.account_circle, - }; - final List _colors = [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green, - Colors.purple, - ]; - late PageController _controller; //页面控制器,初始0 - - @override - void initState() { - _controller = PageController( - initialPage: _position, - ); - super.initState(); - } - - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Container( - color: Colors.orange.withAlpha(88), - width: MediaQuery.of(context).size.width, - height: 150, - child: PageView( - controller: _controller, - children: iconsMap.keys - .map((e) => Center( - child: Text( - e, - style: const TextStyle( - color: Colors.white, - fontSize: 20, - ), - ), - )) - .toList(), - ), - ), - _buildBottomNavigationBar() - ], - ); - } - - BottomNavigationBar _buildBottomNavigationBar() { - return BottomNavigationBar( - onTap: (position) { - _controller.jumpToPage(position); - setState(() => _position = position); - }, - currentIndex: _position, - elevation: 1, - type: BottomNavigationBarType.shifting, - fixedColor: Colors.white, - iconSize: 25, - selectedLabelStyle: const TextStyle(fontWeight: FontWeight.bold), - showUnselectedLabels: false, - showSelectedLabels: true, - items: iconsMap.keys - .map((key) => BottomNavigationBarItem( - label: key, - icon: Icon(iconsMap[key]), - backgroundColor: _colors[_position])) - .toList(), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_de_DE.json deleted file mode 100644 index 05061a64b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_de_DE.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 237, - "name": "CarouselView", - "localName": "Karussellansicht", - "info": "Eine Karussell-Komponente, die den Material Design-Richtlinien entspricht. Zeigt eine scrollbare Liste von Elementen an, wobei jedes Element basierend auf dem ausgewählten Layout dynamisch angepasst werden kann.", - "lever": 4, - "family": 1, - "linkIds": [ - 253, - 340, - 160 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CarouselView", - "desc": [ - "【itemExtent】 : Erzwungene Größe in der Hauptachse 【double】", - "【shrinkExtent】: Minimale Größe des Elements in der Hauptachse während des Scrollens 【double】", - "【scrollDirection】 : Scrollrichtung 【Axis?】", - "【children】: Liste der Unterkomponenten 【List】" - ] - }, - { - "file": "node2.dart", - "name": "Stilkonfiguration von CarouselView", - "desc": [ - "【padding】 : Innenabstand 【EdgeInsets? 】", - "【backgroundColor】 : Hintergrundfarbe 【Color? 】", - "【elevation】 : Schattentiefe 【double?】", - "【shape】 : Form 【ShapeBorder?】", - "【controller】 : Controller 【CarouselController?】", - "【reverse】 : Umgekehrtes Scrollen 【bool】", - "【onTap】 : Klick-Ereignis 【ValueChanged? 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_en_US.json deleted file mode 100644 index 714743fca..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_en_US.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 237, - "name": "CarouselView", - "localName": "Carousel View", - "info": "A carousel component that conforms to Material Design specifications. Displays a scrollable list of items, each of which can dynamically resize based on the selected layout.", - "lever": 4, - "family": 1, - "linkIds": [ - 253, - 340, - 160 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CarouselView Basic Usage", - "desc": [ - "【itemExtent】 : Forced size in the main axis direction 【double】", - "【shrinkExtent】: Minimum size of the item in the main axis direction during scrolling 【double】", - "【scrollDirection】 : Scroll axis direction 【Axis?】", - "【children】: List of child components 【List】" - ] - }, - { - "file": "node2.dart", - "name": "CarouselView Style Configuration", - "desc": [ - "【padding】 : Padding 【EdgeInsets? 】", - "【backgroundColor】 : Background color 【Color? 】", - "【elevation】 : Shadow depth 【double?】", - "【shape】 : Shape 【ShapeBorder?】", - "【controller】 : Controller 【CarouselController?】", - "【reverse】 : Whether to scroll in reverse 【bool】", - "【onTap】 : Click event 【ValueChanged? 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_es_ES.json deleted file mode 100644 index 8d303b7c4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_es_ES.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 237, - "name": "CarouselView", - "localName": "Vista de Carrusel", - "info": "Un componente de carrusel que cumple con las especificaciones de Material Design. Muestra una lista de elementos desplazables, donde cada elemento puede ajustar dinámicamente su tamaño según el diseño seleccionado.", - "lever": 4, - "family": 1, - "linkIds": [ - 253, - 340, - 160 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CarouselView", - "desc": [ - "【itemExtent】 : Tamaño forzado en la dirección del eje principal 【double】", - "【shrinkExtent】: Tamaño mínimo de los elementos en la dirección del eje principal durante el desplazamiento 【double】", - "【scrollDirection】 : Dirección del desplazamiento 【Axis?】", - "【children】: Lista de componentes hijos 【List】" - ] - }, - { - "file": "node2.dart", - "name": "Configuración de estilo de CarouselView", - "desc": [ - "【padding】 : Relleno interno 【EdgeInsets? 】", - "【backgroundColor】 : Color de fondo 【Color? 】", - "【elevation】 : Profundidad de la sombra 【double?】", - "【shape】 : Forma 【ShapeBorder?】", - "【controller】 : Controlador 【CarouselController?】", - "【reverse】 : Desplazamiento inverso 【bool】", - "【onTap】 : Evento de clic 【ValueChanged? 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_fr_FR.json deleted file mode 100644 index f780de403..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_fr_FR.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 237, - "name": "CarouselView", - "localName": "Vue Carrousel", - "info": "Un composant de carrousel conforme aux normes Material Design. Affiche une liste d'éléments défilables, chaque élément pouvant être redimensionné dynamiquement en fonction de la mise en page sélectionnée.", - "lever": 4, - "family": 1, - "linkIds": [ - 253, - 340, - 160 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CarouselView", - "desc": [ - "【itemExtent】 : Taille forcée dans la direction de l'axe principal 【double】", - "【shrinkExtent】: Taille minimale des éléments dans la direction de l'axe principal pendant le défilement 【double】", - "【scrollDirection】 : Direction de défilement 【Axis?】", - "【children】: Liste des composants enfants 【List】" - ] - }, - { - "file": "node2.dart", - "name": "Configuration du style de CarouselView", - "desc": [ - "【padding】 : Marge intérieure 【EdgeInsets? 】", - "【backgroundColor】 : Couleur de fond 【Color? 】", - "【elevation】 : Profondeur de l'ombre 【double?】", - "【shape】 : Forme 【ShapeBorder?】", - "【controller】 : Contrôleur 【CarouselController?】", - "【reverse】 : Défilement inversé 【bool】", - "【onTap】 : Événement de clic 【ValueChanged? 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_it_IT.json deleted file mode 100644 index 554e03260..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_it_IT.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 237, - "name": "CarouselView", - "localName": "Vista Carosello", - "info": "Un componente carosello conforme alle specifiche di Material Design. Visualizza un elenco di elementi scorrevoli, ciascuno dei quali può ridimensionarsi dinamicamente in base al layout selezionato.", - "lever": 4, - "family": 1, - "linkIds": [ - 253, - 340, - 160 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di CarouselView", - "desc": [ - "【itemExtent】 : Dimensione forzata nella direzione principale 【double】", - "【shrinkExtent】: Dimensione minima dell'elemento nella direzione principale durante lo scorrimento 【double】", - "【scrollDirection】 : Direzione di scorrimento 【Axis?】", - "【children】: Lista dei componenti figli 【List】" - ] - }, - { - "file": "node2.dart", - "name": "Configurazione dello stile di CarouselView", - "desc": [ - "【padding】 : Spaziatura interna 【EdgeInsets? 】", - "【backgroundColor】 : Colore di sfondo 【Color? 】", - "【elevation】 : Profondità dell'ombra 【double?】", - "【shape】 : Forma 【ShapeBorder?】", - "【controller】 : Controller 【CarouselController?】", - "【reverse】 : Scorrimento inverso 【bool】", - "【onTap】 : Evento di clic 【ValueChanged? 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_ja_JP.json deleted file mode 100644 index 12f3963b5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_ja_JP.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 237, - "name": "CarouselView", - "localName": "カルーセルビュー", - "info": "Material Design 仕様に準拠したカルーセルコンポーネント。スクロール可能な項目リストを表示し、各項目は選択されたレイアウトに基づいて動的にサイズを調整できます。", - "lever": 4, - "family": 1, - "linkIds": [ - 253, - 340, - 160 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CarouselView 基本の使い方", - "desc": [ - "【itemExtent】 : 主軸方向の強制サイズ 【double】", - "【shrinkExtent】: スクロール中、主軸方向の項目の最小サイズ 【double】", - "【scrollDirection】 : スクロール軸方向 【Axis?】", - "【children】: 子コンポーネントリスト 【List】" - ] - }, - { - "file": "node2.dart", - "name": "CarouselView スタイル設定", - "desc": [ - "【padding】 : パディング 【EdgeInsets? 】", - "【backgroundColor】 : 背景色 【Color? 】", - "【elevation】 : 影の深さ 【double?】", - "【shape】 : 形状 【ShapeBorder?】", - "【controller】 : コントローラー 【CarouselController?】", - "【reverse】 : 逆方向にスクロールするかどうか 【bool】", - "【onTap】 : クリックイベント 【ValueChanged? 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_ko_KR.json deleted file mode 100644 index cb49905c6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_ko_KR.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 237, - "name": "CarouselView", - "localName": "캐러셀 뷰", - "info": "Material Design 규격에 부합하는 캐러셀 컴포넌트입니다. 스크롤 가능한 항목 목록을 표시하며, 각 항목은 선택된 레이아웃에 따라 동적으로 크기를 조정할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 253, - 340, - 160 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CarouselView 기본 사용법", - "desc": [ - "【itemExtent】 : 주축 방향 강제 크기 【double】", - "【shrinkExtent】: 스크롤 중, 주축 방향 항목 최소 크기 【double】", - "【scrollDirection】 : 스크롤 방향 【Axis?】", - "【children】: 하위 컴포넌트 목록 【List】" - ] - }, - { - "file": "node2.dart", - "name": "CarouselView 스타일 설정", - "desc": [ - "【padding】 : 안쪽 여백 【EdgeInsets? 】", - "【backgroundColor】 : 배경색 【Color? 】", - "【elevation】 : 그림자 깊이 【double?】", - "【shape】 : 모양 【ShapeBorder?】", - "【controller】 : 컨트롤러 【CarouselController?】", - "【reverse】 : 역방향 스크롤 여부 【bool】", - "【onTap】 : 클릭 이벤트 【ValueChanged? 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_pt_PT.json deleted file mode 100644 index 23c1508ec..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_pt_PT.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 237, - "name": "CarouselView", - "localName": "Visualização de Carrossel", - "info": "Um componente de carrossel que segue as especificações do Material Design. Exibe uma lista de itens roláveis, onde cada item pode ser redimensionado dinamicamente com base no layout selecionado.", - "lever": 4, - "family": 1, - "linkIds": [ - 253, - 340, - 160 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do CarouselView", - "desc": [ - "【itemExtent】 : Tamanho fixo na direção do eixo principal 【double】", - "【shrinkExtent】: Tamanho mínimo do item na direção do eixo principal durante o deslize 【double】", - "【scrollDirection】 : Direção do deslize 【Axis?】", - "【children】: Lista de componentes filhos 【List】" - ] - }, - { - "file": "node2.dart", - "name": "Configuração de Estilo do CarouselView", - "desc": [ - "【padding】 : Preenchimento interno 【EdgeInsets? 】", - "【backgroundColor】 : Cor de fundo 【Color? 】", - "【elevation】 : Profundidade da sombra 【double?】", - "【shape】 : Forma 【ShapeBorder?】", - "【controller】 : Controlador 【CarouselController?】", - "【reverse】 : Deslize reverso 【bool】", - "【onTap】 : Evento de clique 【ValueChanged? 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_ru_RU.json deleted file mode 100644 index d42e01009..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_ru_RU.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 237, - "name": "CarouselView", - "localName": "Карусель", - "info": "Карусельный компонент, соответствующий спецификациям Material Design. Отображает прокручиваемый список элементов, каждый из которых может динамически изменять размер в зависимости от выбранного макета.", - "lever": 4, - "family": 1, - "linkIds": [ - 253, - 340, - 160 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CarouselView", - "desc": [ - "【itemExtent】 : Фиксированный размер по главной оси 【double】", - "【shrinkExtent】: Минимальный размер элемента по главной оси при прокрутке 【double】", - "【scrollDirection】 : Направление прокрутки 【Axis?】", - "【children】: Список дочерних элементов 【List】" - ] - }, - { - "file": "node2.dart", - "name": "Настройка стиля CarouselView", - "desc": [ - "【padding】 : Внутренний отступ 【EdgeInsets? 】", - "【backgroundColor】 : Цвет фона 【Color? 】", - "【elevation】 : Глубина тени 【double?】", - "【shape】 : Форма 【ShapeBorder?】", - "【controller】 : Контроллер 【CarouselController?】", - "【reverse】 : Прокрутка в обратном направлении 【bool】", - "【onTap】 : Событие нажатия 【ValueChanged? 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_zh-CN.json deleted file mode 100644 index f75e987c7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/desc_zh-CN.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 237, - "name": "CarouselView", - "localName": "轮播视图", - "info": "一个符合 Material Design 规范的轮播组件。显示一个可滚动的项目列表,每条目都可以根据选定的布局动态调整大小。", - "lever": 4, - "family": 1, - "linkIds": [ - 253, - 340, - 160 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CarouselView 基础用法", - "desc": [ - "【itemExtent】 : 主轴方向强制尺寸 【double】", - "【shrinkExtent】: 滑动中,主轴方向条目最小尺寸 【double】", - "【scrollDirection】 : 滑动轴向 【Axis?】", - "【children】: 子组件列表 【List】" - ] - }, - { - "file": "node2.dart", - "name": "CarouselView 样式配置", - "desc": [ - "【padding】 : 内边距 【EdgeInsets? 】", - "【backgroundColor】 : 背景色 【Color? 】", - "【elevation】 : 阴影深 【double?】", - "【shape】 : 形状 【ShapeBorder?】", - "【controller】 : 控制器 【CarouselController?】", - "【reverse】 : 是否反向滑动 【bool】", - "【onTap】 : 点击事件 【ValueChanged? 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/node1_base.dart deleted file mode 100644 index 158a34146..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/node1_base.dart +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; - -class CarouselNode1 extends StatefulWidget { - const CarouselNode1({super.key}); - - @override - State createState() => _CarouselNode1State(); -} - -class _CarouselNode1State extends State { - @override - Widget build(BuildContext context) { - return ConstrainedBox( - constraints: const BoxConstraints(maxHeight: 160), - child: CarouselView( - itemExtent: 260, - shrinkExtent: 160, - children: List.generate(20, (int index) { - return UncontainedLayoutCard(index: index, label: 'Item $index'); - }), - ), - ); - } -} - -class UncontainedLayoutCard extends StatelessWidget { - const UncontainedLayoutCard({ - super.key, - required this.index, - required this.label, - }); - - final int index; - final String label; - - @override - Widget build(BuildContext context) { - return ColoredBox( - color: Colors.primaries[index % Colors.primaries.length].withOpacity(0.5), - child: Center( - child: Text( - label, - style: const TextStyle(color: Colors.white, fontSize: 20), - overflow: TextOverflow.clip, - softWrap: false, - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/node2.dart b/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/node2.dart deleted file mode 100644 index 6caabcbf8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CarouselView/node2.dart +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; - -class CarouselNode2 extends StatefulWidget { - const CarouselNode2({super.key}); - - @override - State createState() => _CarouselNode2State(); -} - -class _WidgetMeta { - final String name; - final String desc; - - _WidgetMeta(this.name, this.desc); -} - -class _CarouselNode2State extends State { - final List<_WidgetMeta> widgets = [ - _WidgetMeta('Container 容器组件', '用于容纳单个子组件的容器组件。集成了若干个单子组件的功能,如内外边距、形变、装饰、约束等...'), - _WidgetMeta('Text 文字组件', '用于显示文字的组件。拥有的属性非常多,足够满足你的使用需求,核心样式由style属性控制。'), - _WidgetMeta('Card 卡片组件', '基于Material组件实现,用于将单个组件卡片化。并使其具有投影效果,可加外边距,也可以自定义卡片形状。'), - _WidgetMeta('FlutterLogo Flutter图标', '用于展示Flutter图标组件。可定义颜色、尺寸、展示模式等信息,是一个非常简单的组件。'), - _WidgetMeta('Banner 角标组件', '用于角标显示的组件。可容纳一个子组件,可选择方位添加角标及信息文字,可设置颜色。'), - _WidgetMeta('Icon 图标组件', '用于图标显示的组件。可指定图标资源、大小、颜色。非常简单,但非常实用。'), - _WidgetMeta('ImageIcon 图形图标', '用于将一个图片变为纯色的组件。可指定大小、颜色。'), - _WidgetMeta('FadeInImage 淡入图片', '透明渐变地加载一张图片。可指定占位图片、进退的动画曲线、时间、宽高、fit类型、对齐方式、重复方式等。'), - _WidgetMeta('CircleAvatar 圆形组件', '可将一张图片变成圆形,并且中间可以放置一个组件。可指定半径、前景色、背景色等。'), - _WidgetMeta('Visibility 显隐组件', '控制一个组件显示或隐藏,可设置隐藏后的占位组件。与其功能相似的由OffStage组件。'), - ]; - - @override - Widget build(BuildContext context) { - return ConstrainedBox( - constraints: const BoxConstraints(maxHeight: 64), - child: CarouselView( - backgroundColor: const Color(0xfff7f8fa), - itemExtent: 240, - // elevation: 1, - shrinkExtent: 240, - itemSnapping: true, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(6)), - children: widgets.map((e) => _WidgetDisplay(widget: e)).toList(), - ), - ); - } -} - -class _WidgetDisplay extends StatelessWidget { - const _WidgetDisplay({ - super.key, - required this.widget, - }); - - final _WidgetMeta widget; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Row( - children: [ - Container( - width: 16, - height: 16, - margin: EdgeInsets.only(right: 6), - alignment: Alignment.center, - decoration: - BoxDecoration(color: Colors.red, borderRadius: BorderRadius.circular(4)), - child: Text( - '热', - style: TextStyle(fontSize: 8, color: Colors.white, height: 1), - ), - ), - Text( - widget.name, - style: - const TextStyle(color: Colors.black, fontSize: 14, fontWeight: FontWeight.bold), - overflow: TextOverflow.clip, - softWrap: false, - ), - ], - ), - Text( - widget.desc, - style: const TextStyle(color: Colors.grey, fontSize: 12), - overflow: TextOverflow.clip, - softWrap: false, - ), - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_de_DE.json deleted file mode 100644 index e2ca253cf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 39, - "name": "Checkbox", - "localName": "Checkbox", - "info": "Checkbox-Komponente, häufig für Konfigurationswechsel verwendet, kann Farben angeben, empfängt Statusänderungsrückrufe und kann auch einen dreistufigen Zustand angeben.", - "lever": 4, - "family": 1, - "linkIds": [326,17], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung der Checkbox", - "desc": [ - "【value】 : Ob ausgewählt 【double】", - "【checkColor】: Farbe des Häkchens ✔️, wenn ausgewählt 【Color】", - "【activeColor】: Farbe innerhalb des Rahmens, wenn ausgewählt 【Color】", - "【onChanged】: Ereignis bei Zustandsänderung 【Function(bool)】," - ] - }, - { - "file": "node2_tristate.dart", - "name": "Dreistufige Checkbox", - "desc": [ - "【tristate】 : Ob dreistufig 【double】", - " bei onChanged," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_en_US.json deleted file mode 100644 index c2413a9cd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 39, - "name": "Checkbox", - "localName": "Checkbox", - "info": "Checkbox component, commonly used for toggling configurations, can specify colors, receive state change callbacks, and can also specify tristate.", - "lever": 4, - "family": 1, - "linkIds": [326,17], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Checkbox", - "desc": [ - "【value】 : Whether it is selected 【double】", - "【checkColor】: Color of ✔️ when selected 【Color】", - "【activeColor】: Color inside the box when selected 【Color】", - "【onChanged】: State change event 【Function(bool)】," - ] - }, - { - "file": "node2_tristate.dart", - "name": "Tristate of Checkbox", - "desc": [ - "【tristate】 : Whether it is tristate 【double】", - " when onChanged," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_es_ES.json deleted file mode 100644 index 5b500e892..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 39, - "name": "Checkbox", - "localName": "Casilla de verificación", - "info": "Componente de casilla de verificación, comúnmente utilizado para alternar configuraciones, puede especificar colores, recibir devoluciones de llamada de cambios de estado, y también puede especificar tres estados.", - "lever": 4, - "family": 1, - "linkIds": [326,17], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Checkbox", - "desc": [ - "【value】 : Si está seleccionado 【double】", - "【checkColor】: Color de la marca ✔️ cuando está seleccionado 【Color】", - "【activeColor】: Color dentro del cuadro cuando está seleccionado 【Color】", - "【onChanged】: Evento de cambio de estado 【Function(bool)】," - ] - }, - { - "file": "node2_tristate.dart", - "name": "Tres estados de Checkbox", - "desc": [ - "【tristate】 : Si tiene tres estados 【double】", - " en onChanged," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_fr_FR.json deleted file mode 100644 index 5f9960596..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 39, - "name": "Checkbox", - "localName": "Case à cocher", - "info": "Composant de case à cocher, souvent utilisé pour basculer les configurations, peut spécifier la couleur, recevoir un rappel de changement d'état, et peut également spécifier un état ternaire.", - "lever": 4, - "family": 1, - "linkIds": [326,17], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Checkbox", - "desc": [ - "【value】 : Est-ce sélectionné 【double】", - "【checkColor】: Couleur du ✔️gou lorsque sélectionné 【Color】", - "【activeColor】: Couleur à l'intérieur de la case lorsque sélectionné 【Color】", - "【onChanged】: Événement de changement d'état 【Function(bool)】," - ] - }, - { - "file": "node2_tristate.dart", - "name": "État ternaire de Checkbox", - "desc": [ - "【tristate】 : Est-ce un état ternaire 【double】", - " lors de onChanged," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_it_IT.json deleted file mode 100644 index 26f3c698c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 39, - "name": "Checkbox", - "localName": "Casella di controllo", - "info": "Componente casella di controllo, comunemente utilizzato per l'alternanza delle configurazioni, può specificare il colore, ricevere callback di cambio di stato e può anche specificare tre stati.", - "lever": 4, - "family": 1, - "linkIds": [326,17], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base della casella di controllo", - "desc": [ - "【value】 : Se è selezionato 【double】", - "【checkColor】: Colore del segno di spunta quando selezionato 【Color】", - "【activeColor】: Colore all'interno del riquadro quando selezionato 【Color】", - "【onChanged】: Evento di cambio di stato 【Function(bool)】," - ] - }, - { - "file": "node2_tristate.dart", - "name": "Tre stati della casella di controllo", - "desc": [ - "【tristate】 : Se è a tre stati 【double】", - " Quando onChanged," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_ja_JP.json deleted file mode 100644 index 87d867397..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 39, - "name": "Checkbox", - "localName": "チェックボックス", - "info": "チェックボックスコンポーネントは、設定の切り替えによく使用され、色を指定でき、状態変化のコールバックを受け取り、三状態も指定できます。", - "lever": 4, - "family": 1, - "linkIds": [326,17], - "nodes": [ - { - "file": "node1_base.dart", - "name": "チェックボックスの基本使用法", - "desc": [ - "【value】 : 選択されているかどうか 【double】", - "【checkColor】: 選択時の✔️チェックマークの色 【Color】", - "【activeColor】: 選択時のボックス内の色 【Color】", - "【onChanged】: 状態変更イベント 【Function(bool)】," - ] - }, - { - "file": "node2_tristate.dart", - "name": "チェックボックスの三状態", - "desc": [ - "【tristate】 : 三状態かどうか 【double】", - " onChanged時," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_ko_KR.json deleted file mode 100644 index e6a3927b1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 39, - "name": "Checkbox", - "localName": "체크박스", - "info": "체크박스 컴포넌트는 설정 전환에 자주 사용되며, 색상을 지정할 수 있고, 상태 변경 콜백을 받을 수 있으며, 삼중 상태를 지정할 수도 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [326,17], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Checkbox 기본 사용법", - "desc": [ - "【value】 : 선택 여부 【double】", - "【checkColor】: 선택 시 ✔️ 체크 색상 【Color】", - "【activeColor】: 선택 시 상자 내부 색상 【Color】", - "【onChanged】: 상태 변경 이벤트 【Function(bool)】," - ] - }, - { - "file": "node2_tristate.dart", - "name": "Checkbox의 삼중 상태", - "desc": [ - "【tristate】 : 삼중 상태 여부 【double】", - " onChanged 시," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_pt_PT.json deleted file mode 100644 index 4a7be7554..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 39, - "name": "Checkbox", - "localName": "Caixa de verificação", - "info": "Componente de caixa de verificação, frequentemente usado para alternar configurações, pode especificar cores, receber retorno de chamada de alteração de estado e também pode especificar três estados.", - "lever": 4, - "family": 1, - "linkIds": [326,17], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Checkbox", - "desc": [ - "【value】 : se está selecionado 【double】", - "【checkColor】: cor do ✔️gou quando selecionado 【Color】", - "【activeColor】: cor dentro da caixa quando selecionado 【Color】", - "【onChanged】: evento de mudança de estado 【Function(bool)】," - ] - }, - { - "file": "node2_tristate.dart", - "name": "Três estados do Checkbox", - "desc": [ - "【tristate】 : se é de três estados 【double】", - " onChanged," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_ru_RU.json deleted file mode 100644 index f20275f56..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 39, - "name": "Checkbox", - "localName": "Флажок", - "info": "Компонент флажка, часто используется для переключения настроек, может быть указан цвет, принимает обратный вызов изменения состояния, также может быть указан трехсостояний.", - "lever": 4, - "family": 1, - "linkIds": [326,17], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Checkbox", - "desc": [ - "【value】 : Выбрано ли 【double】", - "【checkColor】: Цвет галочки при выборе 【Color】", - "【activeColor】: Цвет внутри рамки при выборе 【Color】", - "【onChanged】: Событие изменения состояния 【Function(bool)】," - ] - }, - { - "file": "node2_tristate.dart", - "name": "Трехсостояний Checkbox", - "desc": [ - "【tristate】 : Является ли трехсостояний 【double】", - " onChanged," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_zh-CN.json deleted file mode 100644 index 7e0c96b8f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 39, - "name": "Checkbox", - "localName": "复选框", - "info": "复选框组件,常用于配置的切换,可指定颜色,接收状态变化回调,也可指定三态。", - "lever": 4, - "family": 1, - "linkIds": [326,17], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Checkbox基础用法", - "desc": [ - "【value】 : 是否选中 【double】", - "【checkColor】: 选中时✔️gou颜色 【Color】", - "【activeColor】: 选中时框内颜色 【Color】", - "【onChanged】: 状态改变事件 【Function(bool)】," - ] - }, - { - "file": "node2_tristate.dart", - "name": "Checkbox的三态", - "desc": [ - "【tristate】 : 是否是三态 【double】", - " onChanged时," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/node1_base.dart deleted file mode 100644 index 70988aea8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/node1_base.dart +++ /dev/null @@ -1,39 +0,0 @@ - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - - -class CustomCheckbox extends StatefulWidget { - const CustomCheckbox({Key? key}) : super(key: key); - - @override - _CustomCheckboxState createState() => _CustomCheckboxState(); -} - -class _CustomCheckboxState extends State { - bool _checked = false; - final List colors = [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green - ]; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: colors - .map((e) => Checkbox( - value: _checked, - checkColor: Colors.white, - activeColor: e, - onChanged: (bool? value) => - setState(() => _checked = value??false))) - .toList(), - ); - } -} - - diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/node2_tristate.dart b/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/node2_tristate.dart deleted file mode 100644 index e0d55bd0c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Checkbox/node2_tristate.dart +++ /dev/null @@ -1,35 +0,0 @@ - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class TristateCheckBok extends StatefulWidget { - const TristateCheckBok({Key? key}) : super(key: key); - - @override - _TristateCheckBokState createState() => _TristateCheckBokState(); -} - -class _TristateCheckBokState extends State { - bool _checked = false; - final colors = [Colors.red, Colors.yellow, Colors.blue, Colors.green]; - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: colors - .map((e) => - Checkbox( - value: _checked, - tristate: true, - checkColor: Colors.white, - activeColor: e, - onChanged: (bool? value) { - print(value); - setState(() => _checked = value??false); - })) - .toList(), - ); - } -} - diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_de_DE.json deleted file mode 100644 index 1e2eaed9f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 46, - "name": "CircularProgressIndicator", - "localName": "Rundes Fortschrittsanzeige", - "info": "Runde Fortschrittsanzeige, bei der Eigenschaften wie Farbe, Linienstärke, Fortschritt usw. angegeben werden können. Wenn der Wert null ist, dreht sie sich ununterbrochen.", - "lever": 3, - "family": 1, - "linkIds": [ - 47, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CircularProgressIndicator", - "desc": [ - "【value】 : Fortschritt 【double】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【valueColor】 : Fortschrittsfarbe 【Animation】", - "【strokeWidth】 : Linienstärke 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_en_US.json deleted file mode 100644 index 69d3e60ce..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 46, - "name": "CircularProgressIndicator", - "localName": "Circular Progress", - "info": "A circular progress display that can specify properties such as color, line width, and progress. It will keep rotating when value is null.", - "lever": 3, - "family": 1, - "linkIds": [ - 47, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CircularProgressIndicator", - "desc": [ - "【value】 : Progress 【double】", - "【backgroundColor】 : Background Color 【Color】", - "【valueColor】 : Progress Color 【Animation】", - "【strokeWidth】 : Line Width 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_es_ES.json deleted file mode 100644 index 028316bd8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 46, - "name": "CircularProgressIndicator", - "localName": "Indicador de progreso circular", - "info": "Muestra de progreso circular, se pueden especificar propiedades como color, ancho de línea, progreso, etc. Si el valor es nulo, girará continuamente.", - "lever": 3, - "family": 1, - "linkIds": [ - 47, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CircularProgressIndicator", - "desc": [ - "【value】 : progreso 【double】", - "【backgroundColor】 : color de fondo 【Color】", - "【valueColor】 : color de progreso 【Animation】", - "【strokeWidth】 : ancho de línea 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_fr_FR.json deleted file mode 100644 index e2b75ebdb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 46, - "name": "CircularProgressIndicator", - "localName": "Progrès circulaire", - "info": "Affichage de progression circulaire, permettant de spécifier des propriétés telles que la couleur, l'épaisseur de la ligne, la progression, etc. Lorsque la valeur est null, il tourne en continu.", - "lever": 3, - "family": 1, - "linkIds": [ - 47, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CircularProgressIndicator", - "desc": [ - "【value】 : Progression 【double】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【valueColor】 : Couleur de progression 【Animation】", - "【strokeWidth】 : Épaisseur de la ligne 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_it_IT.json deleted file mode 100644 index 521191029..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 46, - "name": "CircularProgressIndicator", - "localName": "Indicatore di progresso circolare", - "info": "Visualizzazione del progresso circolare, con possibilità di specificare colore, larghezza della linea, progresso, ecc. Ruota continuamente quando il valore è null.", - "lever": 3, - "family": 1, - "linkIds": [ - 47, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CircularProgressIndicator", - "desc": [ - "【value】 : Progresso 【double】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【valueColor】 : Colore del progresso 【Animation】", - "【strokeWidth】 : Larghezza della linea 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_ja_JP.json deleted file mode 100644 index 5da057873..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 46, - "name": "CircularProgressIndicator", - "localName": "円形の進捗", - "info": "円形の進捗表示、色、線幅、進捗などの属性を指定できます。valueがnullの場合、回転し続けます。", - "lever": 3, - "family": 1, - "linkIds": [ - 47, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CircularProgressIndicatorの基本使用", - "desc": [ - "【value】 : 進捗 【double】", - "【backgroundColor】 : 背景色 【Color】", - "【valueColor】 : 進捗色 【Animation】", - "【strokeWidth】 : 線幅 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_ko_KR.json deleted file mode 100644 index 130e986bf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 46, - "name": "CircularProgressIndicator", - "localName": "원형 진행률", - "info": "원형 진행률 표시, 색상, 선 두께, 진행률 등 속성을 지정할 수 있습니다. value가 null일 경우 계속 회전합니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 47, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CircularProgressIndicator 기본 사용", - "desc": [ - "【value】 : 진행률 【double】", - "【backgroundColor】 : 배경색 【Color】", - "【valueColor】 : 진행률 색상 【Animation】", - "【strokeWidth】 : 선 두께 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_pt_PT.json deleted file mode 100644 index 9f3c2822d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 46, - "name": "CircularProgressIndicator", - "localName": "Indicador de Progresso Circular", - "info": "Exibição de progresso circular, pode especificar atributos como cor, largura da linha, progresso, etc. Quando o valor é nulo, ele gira continuamente.", - "lever": 3, - "family": 1, - "linkIds": [ - 47, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do CircularProgressIndicator", - "desc": [ - "【value】 : Progresso 【double】", - "【backgroundColor】 : Cor de Fundo 【Color】", - "【valueColor】 : Cor do Progresso 【Animation】", - "【strokeWidth】 : Largura da Linha 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_ru_RU.json deleted file mode 100644 index 2ce4fce90..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 46, - "name": "CircularProgressIndicator", - "localName": "Круговой индикатор прогресса", - "info": "Круговой индикатор прогресса, можно указать цвет, ширину линии, прогресс и другие свойства. Если значение value равно null, индикатор будет вращаться бесконечно.", - "lever": 3, - "family": 1, - "linkIds": [ - 47, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CircularProgressIndicator", - "desc": [ - "【value】 : Прогресс 【double】", - "【backgroundColor】 : Цвет фона 【Color】", - "【valueColor】 : Цвет прогресса 【Animation】", - "【strokeWidth】 : Ширина линии 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_zh-CN.json deleted file mode 100644 index eb7776e50..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 46, - "name": "CircularProgressIndicator", - "localName": "圆形进度", - "info": "圆形的进度显示,可指定颜色、线宽、进度等属性。value为null时会不停旋转。", - "lever": 3, - "family": 1, - "linkIds": [ - 47, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CircularProgressIndicator基本使用", - "desc": [ - "【value】 : 进度 【double】", - "【backgroundColor】 : 背景色 【Color】", - "【valueColor】 : 进度颜色 【Animation】", - "【strokeWidth】 : 线宽 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/node1_base.dart deleted file mode 100644 index 9a462969f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CircularProgressIndicator/node1_base.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomCircularProgressIndicator extends StatefulWidget { - const CustomCircularProgressIndicator({Key? key}) : super(key: key); - - @override - _CustomCircularProgressIndicatorState createState() => - _CustomCircularProgressIndicatorState(); -} - -class _CustomCircularProgressIndicatorState - extends State { - - List data = [0.2,0.4,0.6,0.8,null]; - - @override - Widget build(BuildContext context) { - - return Wrap( - spacing: 10, - children:data.map((e)=>SizedBox( - width: 50, - height: 50, - child: CircularProgressIndicator( - value: e, - backgroundColor: Colors.grey.withAlpha(33), - valueColor: const AlwaysStoppedAnimation(Colors.orange), - strokeWidth: 5, - ), - )).toList(), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_de_DE.json deleted file mode 100644 index 6830a1709..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 48, - "name": "CupertinoActivityIndicator", - "localName": "iOS-Indikator", - "info": "iOS-stilisiertes Ladeanzeige-Widget, kann Radius und Drehung angeben.", - "lever": 2, - "family": 1, - "linkIds": [ - 46, - 47 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoActivityIndicator", - "desc": [ - "【animating】 : Ob Ladeanimation aktiviert ist 【bool】", - "【radius】 : Radius 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_en_US.json deleted file mode 100644 index f126511f7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 48, - "name": "CupertinoActivityIndicator", - "localName": "iOS Indicator", - "info": "iOS style loading display component, can specify radius and whether to rotate.", - "lever": 2, - "family": 1, - "linkIds": [ - 46, - 47 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoActivityIndicator", - "desc": [ - "【animating】 : Whether the loading animation is active 【bool】", - "【radius】 : Radius 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_es_ES.json deleted file mode 100644 index 4ddefe723..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 48, - "name": "CupertinoActivityIndicator", - "localName": "Indicador de iOS", - "info": "Componente de visualización de carga con estilo iOS, que permite especificar el radio y si gira.", - "lever": 2, - "family": 1, - "linkIds": [ - 46, - 47 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoActivityIndicator", - "desc": [ - "【animating】 : Si la animación está cargando 【bool】", - "【radius】 : Radio 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_fr_FR.json deleted file mode 100644 index 4528f85e9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 48, - "name": "CupertinoActivityIndicator", - "localName": "Indicateur iOS", - "info": "Composant d'affichage de chargement de style iOS, peut spécifier le rayon et s'il tourne.", - "lever": 2, - "family": 1, - "linkIds": [ - 46, - 47 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoActivityIndicator", - "desc": [ - "【animating】 : Si l'animation de chargement est active 【bool】", - "【radius】 : Rayon 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_it_IT.json deleted file mode 100644 index 510c2e874..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 48, - "name": "CupertinoActivityIndicator", - "localName": "Indicatore iOS", - "info": "Componente di caricamento in stile iOS, può specificare il raggio e se ruotare.", - "lever": 2, - "family": 1, - "linkIds": [ - 46, - 47 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoActivityIndicator", - "desc": [ - "【animating】 : Se l'animazione di caricamento è attiva 【bool】", - "【radius】 : Raggio 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_ja_JP.json deleted file mode 100644 index 762661b55..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 48, - "name": "CupertinoActivityIndicator", - "localName": "iOSインジケーター", - "info": "iOSスタイルのローディング表示コンポーネントで、半径と回転の有無を指定できます。", - "lever": 2, - "family": 1, - "linkIds": [ - 46, - 47 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActivityIndicatorの基本的な使用", - "desc": [ - "【animating】 : ローディングアニメーションの有無 【bool】", - "【radius】 : 半径 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_ko_KR.json deleted file mode 100644 index 2dadbffef..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 48, - "name": "CupertinoActivityIndicator", - "localName": "iOS 인디케이터", - "info": "iOS 스타일의 로딩 표시 컴포넌트, 반지름 및 회전 여부를 지정할 수 있습니다.", - "lever": 2, - "family": 1, - "linkIds": [ - 46, - 47 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActivityIndicator 기본 사용", - "desc": [ - "【animating】 : 로딩 애니메이션 여부 【bool】", - "【radius】 : 반지름 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_pt_PT.json deleted file mode 100644 index 38480d9fa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 48, - "name": "CupertinoActivityIndicator", - "localName": "Indicador iOS", - "info": "Componente de exibição de carregamento no estilo iOS, pode especificar o raio e se deve girar.", - "lever": 2, - "family": 1, - "linkIds": [ - 46, - 47 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoActivityIndicator", - "desc": [ - "【animating】 : Se a animação de carregamento está ativa 【bool】", - "【radius】 : Raio 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_ru_RU.json deleted file mode 100644 index 5105df86f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 48, - "name": "CupertinoActivityIndicator", - "localName": "Индикатор iOS", - "info": "Компонент отображения загрузки в стиле iOS, можно указать радиус и вращение.", - "lever": 2, - "family": 1, - "linkIds": [ - 46, - 47 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoActivityIndicator", - "desc": [ - "【animating】 : Анимация загрузки 【bool】", - "【radius】 : Радиус 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_zh-CN.json deleted file mode 100644 index afbc40be5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 48, - "name": "CupertinoActivityIndicator", - "localName": "iOS指示器", - "info": "iOS样式的loading显示组件,可指定半径和是否旋转。", - "lever": 2, - "family": 1, - "linkIds": [ - 46, - 47 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActivityIndicator基本使用", - "desc": [ - "【animating】 : 是否loading动画 【bool】", - "【radius】 : 半径 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/node1_base.dart deleted file mode 100644 index 29ccfb864..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoActivityIndicator/node1_base.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/cupertino.dart'; -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoActivityIndicator extends StatelessWidget { - const CustomCupertinoActivityIndicator({Key? key}) : super(key: key); - - - @override - Widget build(BuildContext context) { - - return Wrap( - spacing: 20, - children: const [ - CupertinoActivityIndicator( - animating: true, - radius: 25, - ), - CupertinoActivityIndicator( - animating: false, - radius: 25, - ) - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_de_DE.json deleted file mode 100644 index f342ac7bf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 156, - "name": "CupertinoApp", - "localName": "iOS-App", - "info": "Top-Level-Komponente für iOS-stil-Apps, enthält Eigenschaften wie Routen-Generator, Thema, Sprache, Startseite usw.", - "lever": 4, - "family": 1, - "linkIds": [ - 157, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoApp", - "desc": [ - "【theme】 : Thema 【ThemeData】", - "【title】 : Taskleisten-Titel 【String】", - "【onGenerateRoute】 : Routen-Generator 【RouteFactory】", - "【home】 : Startseite 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_en_US.json deleted file mode 100644 index a3a5f4232..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 156, - "name": "CupertinoApp", - "localName": "iOS App", - "info": "Top-level component for iOS-style apps, including route generator, theme, language, home page, and other attributes.", - "lever": 4, - "family": 1, - "linkIds": [ - 157, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoApp", - "desc": [ - "【theme】 : Theme 【ThemeData】", - "【title】 : Taskbar Title 【String】", - "【onGenerateRoute】 : Route Generator 【RouteFactory】", - "【home】 : Home Page 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_es_ES.json deleted file mode 100644 index 761bbe64a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 156, - "name": "CupertinoApp", - "localName": "Aplicación iOS", - "info": "Componente de nivel superior para aplicaciones con estilo iOS, que incluye generador de rutas, tema, idioma, página de inicio, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 157, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoApp", - "desc": [ - "【theme】 : Tema 【ThemeData】", - "【title】 : Título de la barra de tareas 【String】", - "【onGenerateRoute】 : Generador de rutas 【RouteFactory】", - "【home】 : Página de inicio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_fr_FR.json deleted file mode 100644 index 85ce4672d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 156, - "name": "CupertinoApp", - "localName": "Application iOS", - "info": "Composant de haut niveau pour les applications de style iOS, incluant un générateur de routes, un thème, une langue, une page d'accueil, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 157, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoApp", - "desc": [ - "【theme】 : Thème 【ThemeData】", - "【title】 : Titre de la barre des tâches 【String】", - "【onGenerateRoute】 : Générateur de routes 【RouteFactory】", - "【home】 : Page d'accueil 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_it_IT.json deleted file mode 100644 index 76516eeb4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 156, - "name": "CupertinoApp", - "localName": "App iOS", - "info": "Componente di alto livello per applicazioni in stile iOS, include generatore di rotte, tema, lingua, home page e altre proprietà.", - "lever": 4, - "family": 1, - "linkIds": [ - 157, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di CupertinoApp", - "desc": [ - "【theme】 : Tema 【ThemeData】", - "【title】 : Titolo della barra delle applicazioni 【String】", - "【onGenerateRoute】 : Generatore di rotte 【RouteFactory】", - "【home】 : Home page 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_ja_JP.json deleted file mode 100644 index 38fec145c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 156, - "name": "CupertinoApp", - "localName": "iOSアプリ", - "info": "iOSスタイルのアプリのトップレベルコンポーネントで、ルートジェネレーター、テーマ、言語、ホームなどの属性を含みます。", - "lever": 4, - "family": 1, - "linkIds": [ - 157, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoAppの基本使用法", - "desc": [ - "【theme】 : テーマ 【ThemeData】", - "【title】 : タスクバータイトル 【String】", - "【onGenerateRoute】 : ルートジェネレーター 【RouteFactory】", - "【home】 : ホーム 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_ko_KR.json deleted file mode 100644 index aaa445e69..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 156, - "name": "CupertinoApp", - "localName": "iOS 앱", - "info": "iOS 스타일 앱의 최상위 컴포넌트로, 라우트 생성기, 테마, 언어, 홈페이지 등의 속성을 포함합니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 157, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoApp 기본 사용법", - "desc": [ - "【theme】 : 테마 【ThemeData】", - "【title】 : 작업 표시줄 제목 【String】", - "【onGenerateRoute】 : 라우트 생성기 【RouteFactory】", - "【home】 : 홈페이지 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_pt_PT.json deleted file mode 100644 index 145e285f1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 156, - "name": "CupertinoApp", - "localName": "Aplicação iOS", - "info": "Componente de topo para aplicações de estilo iOS, incluindo gerador de rotas, tema, idioma, página inicial, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 157, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoApp", - "desc": [ - "【theme】 : Tema 【ThemeData】", - "【title】 : Título da barra de tarefas 【String】", - "【onGenerateRoute】 : Gerador de rotas 【RouteFactory】", - "【home】 : Página inicial 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_ru_RU.json deleted file mode 100644 index 96c62ada9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 156, - "name": "CupertinoApp", - "localName": "iOS приложение", - "info": "Верхнеуровневый компонент для приложений в стиле iOS, включающий генератор маршрутов, темы, язык, домашнюю страницу и другие атрибуты.", - "lever": 4, - "family": 1, - "linkIds": [ - 157, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoApp", - "desc": [ - "【theme】 : Тема 【ThemeData】", - "【title】 : Заголовок в панели задач 【String】", - "【onGenerateRoute】 : Генератор маршрутов 【RouteFactory】", - "【home】 : Домашняя страница 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_zh-CN.json deleted file mode 100644 index 7cff756f5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 156, - "name": "CupertinoApp", - "localName": "iOS应用", - "info": "iOS风格应用的顶级组件,包含路由生成器、主题、语言、主页等属性。", - "lever": 4, - "family": 1, - "linkIds": [ - 157, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoApp基本用法", - "desc": [ - "【theme】 : 主题 【ThemeData】", - "【title】 : 任务栏标题 【String】", - "【onGenerateRoute】 : 路由生成器 【RouteFactory】", - "【home】 : 主页 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/node1_base.dart deleted file mode 100644 index cf3ffb9c2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoApp/node1_base.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter/cupertino.dart'; - -/// create by 张风捷特烈 on 2020-03-17 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoApp extends StatelessWidget { - const CustomCupertinoApp({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height - 200, - child: const CupertinoApp( - title: 'Flutter Demo', - theme: CupertinoThemeData( - primaryColor: CupertinoColors.white, - ), - home: CupertinoPageScaffold( - navigationBar: CupertinoNavigationBar( - leading: Icon( - CupertinoIcons.reply, - color: CupertinoColors.black, - ), - trailing: Icon( - CupertinoIcons.share, - color: CupertinoColors.black, - ), - middle: Text('Flutter Unit'), - ), - backgroundColor: CupertinoColors.systemBackground, - child: Center( - child: Text('Hello, World!'), - ), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_de_DE.json deleted file mode 100644 index b5c3e3e72..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 24, - "name": "CupertinoButton", - "localName": "iOS-Schaltfläche", - "info": "iOS-stilige Schaltfläche. Kann Farbe, Transparenz beim Klicken, Innenabstand, abgerundete Ecken usw. festlegen. Kann Klickereignisse empfangen.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoButton Klickereignis", - "desc": [ - "【color】: Farbe 【Color】", - "【pressedOpacity】: Transparenz beim Drücken 【double】", - "【child】: Kind-Widget 【Widget】", - "【padding】: Innenabstand 【EdgeInsetsGeometry】", - "【borderRadius】: Radius der abgerundeten Ecken 【BorderRadius】", - "【onPressed】: Klickereignis 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_en_US.json deleted file mode 100644 index 7641c4712..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 24, - "name": "CupertinoButton", - "localName": "iOS Button", - "info": "A button with iOS style. You can specify color, opacity when pressed, padding, border radius, etc. It can receive click events.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoButton Click Event", - "desc": [ - "【color】: Color 【Color】", - "【pressedOpacity】: Opacity when pressed 【double】", - "【child】: Child widget 【Widget】", - "【padding】: Padding 【EdgeInsetsGeometry】", - "【borderRadius】: Border radius 【BorderRadius】", - "【onPressed】: Click event 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_es_ES.json deleted file mode 100644 index 1299f825b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 24, - "name": "CupertinoButton", - "localName": "Botón de iOS", - "info": "Botón con estilo iOS. Se puede especificar el color, la opacidad al hacer clic, el relleno interno, el radio de las esquinas, etc. Puede recibir eventos de clic.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de clic de CupertinoButton", - "desc": [ - "【color】: Color 【Color】", - "【pressedOpacity】: Opacidad al presionar 【double】", - "【child】: Componente hijo 【Widget】", - "【padding】: Relleno interno 【EdgeInsetsGeometry】", - "【borderRadius】: Radio de las esquinas 【BorderRadius】", - "【onPressed】: Evento de clic 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_fr_FR.json deleted file mode 100644 index 27faffb5e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 24, - "name": "CupertinoButton", - "localName": "Bouton iOS", - "info": "Bouton de style iOS. Peut spécifier la couleur, l'opacité lors du clic, le remplissage interne, les coins arrondis, etc. Peut recevoir des événements de clic.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événement de clic CupertinoButton", - "desc": [ - "【color】: Couleur 【Color】", - "【pressedOpacity】: Opacité lors de la pression 【double】", - "【child】: Composant enfant 【Widget】", - "【padding】: Remplissage interne 【EdgeInsetsGeometry】", - "【borderRadius】: Rayon des coins arrondis 【BorderRadius】", - "【onPressed】: Événement de clic 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_it_IT.json deleted file mode 100644 index dc95032a8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 24, - "name": "CupertinoButton", - "localName": "Pulsante iOS", - "info": "Pulsante in stile iOS. Puoi specificare colore, opacità al click, padding, bordi arrotondati, ecc. Può ricevere eventi di click.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento di click di CupertinoButton", - "desc": [ - "【color】: Colore 【Color】", - "【pressedOpacity】: Opacità quando premuto 【double】", - "【child】: Componente figlio 【Widget】", - "【padding】: Padding 【EdgeInsetsGeometry】", - "【borderRadius】: Raggio del bordo arrotondato 【BorderRadius】", - "【onPressed】: Evento di click 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_ja_JP.json deleted file mode 100644 index 567eccc1d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 24, - "name": "CupertinoButton", - "localName": "iOSボタン", - "info": "iOSスタイルのボタン。色、クリック時の透明度、パディング、角丸などを指定できます。クリックイベントを受け取ることができます。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoButtonクリックイベント", - "desc": [ - "【color】: 色 【Color】", - "【pressedOpacity】: 押下時の透明度 【double】", - "【child】: 子コンポーネント 【Widget】", - "【padding】: パディング 【EdgeInsetsGeometry】", - "【borderRadius】: 角丸半径 【BorderRadius】", - "【onPressed】: クリックイベント 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_ko_KR.json deleted file mode 100644 index 7d48b7601..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 24, - "name": "CupertinoButton", - "localName": "iOS 버튼", - "info": "iOS 스타일의 버튼. 색상, 클릭 시 투명도, 내부 여백, 모서리 반경 등을 지정할 수 있습니다. 클릭 이벤트를 수신할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoButton 클릭 이벤트", - "desc": [ - "【color】: 색상 【Color】", - "【pressedOpacity】: 눌렀을 때 투명도 【double】", - "【child】: 자식 위젯 【Widget】", - "【padding】: 내부 여백 【EdgeInsetsGeometry】", - "【borderRadius】: 모서리 반경 【BorderRadius】", - "【onPressed】: 클릭 이벤트 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_pt_PT.json deleted file mode 100644 index 636a87011..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 24, - "name": "CupertinoButton", - "localName": "Botão iOS", - "info": "Botão de estilo iOS. Pode especificar cor, opacidade ao clicar, preenchimento interno, bordas arredondadas, etc. Pode receber eventos de clique.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de clique do CupertinoButton", - "desc": [ - "【color】: Cor 【Color】", - "【pressedOpacity】: Opacidade ao pressionar 【double】", - "【child】: Componente filho 【Widget】", - "【padding】: Preenchimento interno 【EdgeInsetsGeometry】", - "【borderRadius】: Raio da borda arredondada 【BorderRadius】", - "【onPressed】: Evento de clique 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_ru_RU.json deleted file mode 100644 index 80bdb35f5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 24, - "name": "CupertinoButton", - "localName": "Кнопка iOS", - "info": "Кнопка в стиле iOS. Можно указать цвет, прозрачность при нажатии, внутренние отступы, радиус скругления и т.д. Может принимать события нажатия.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Событие нажатия CupertinoButton", - "desc": [ - "【color】: Цвет 【Color】", - "【pressedOpacity】: Прозрачность при нажатии 【double】", - "【child】: Дочерний виджет 【Widget】", - "【padding】: Внутренние отступы 【EdgeInsetsGeometry】", - "【borderRadius】: Радиус скругления 【BorderRadius】", - "【onPressed】: Событие нажатия 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_zh-CN.json deleted file mode 100644 index 97b0cf664..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 24, - "name": "CupertinoButton", - "localName": "iOS按钮", - "info": "iOS风格的按钮。可指定颜色、点击时透明度、内边距、圆角等。可接收点击事件。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoButton点击事件", - "desc": [ - "【color】: 颜色 【Color】", - "【pressedOpacity】: 按下时透明度 【double】", - "【child】: 子组件 【Widget】", - "【padding】: 内边距 【EdgeInsetsGeometry】", - "【borderRadius】: 圆角半径 【BorderRadius】", - "【onPressed】: 点击事件 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/node1_base.dart deleted file mode 100644 index 7ddf6689f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoButton/node1_base.dart +++ /dev/null @@ -1,32 +0,0 @@ -/// create by 张风捷特烈 on 2020-03-24 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -class CustomCupertinoButton extends StatelessWidget { - const CustomCupertinoButton({super.key}); - - Map get data => { - CupertinoColors.activeBlue:4.0, - Colors.blue:6.0, - CupertinoColors.activeOrange:8.0, - }; - - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - children:data.keys.map((e)=> CupertinoButton( - padding: EdgeInsets.zero, - onPressed: () => Navigator.of(context).pushNamed('AboutMePage'), - color: e, - pressedOpacity: 0.4, - borderRadius: BorderRadius.all(Radius.circular(data[e]!)), - child: const Text("iOS"), - )).toList() - ); - } -} - diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_de_DE.json deleted file mode 100644 index f9da14bea..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_de_DE.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 238, - "name": "CupertinoCheckbox", - "localName": "Checkbox·macOS-Stil", - "info": "Ein macOS-stilisiertes Checkbox, das drei Zustände unterstützt; bei der Verwendung müssen der Wert und die onChanged-Rückruffunktion bereitgestellt werden.", - "lever": 4, - "family": 1, - "linkIds": [ - 39, - 17 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "CupertinoCheckbox Verwendung", - "desc": [ - "【value】 : Ob ausgewählt 【bool?】", - "【onChanged】 : Änderungsrückruf 【ValueChanged?】", - "【checkColor】 : Farbe des Häkchens bei Auswahl 【Color?】", - "【activeColor】 : Hintergrundfarbe bei Auswahl 【Color?】", - "【activeColor】 : Hintergrundfarbe bei Auswahl 【Color?】", - "【inactiveColor】 : Randfarbe/Hintergrundfarbe bei Inaktivität 【Color?】", - "Wenn onChanged null ist, bedeutet dies, dass es nicht verfügbar ist." - ] - }, - { - "file": "node2.dart", - "name": "CupertinoCheckbox Drei Zustände", - "desc": [ - "【tristate】 : Ob der Dreizustand aktiviert ist 【bool】", - "Im Dreizustand ist der Wert null als -" - ] - }, - { - "file": "node3.dart", - "name": "CupertinoCheckbox Randlinie und Form", - "desc": [ - "【shape】 : Form 【OutlinedBorder?】", - "【side】 : Randlinie 【BorderSide?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_en_US.json deleted file mode 100644 index 945515951..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_en_US.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 238, - "name": "CupertinoCheckbox", - "localName": "Checkbox·macOS Style", - "info": "A macOS-style checkbox that supports three states; requires providing a value and an onChanged callback function when used.", - "lever": 4, - "family": 1, - "linkIds": [ - 39, - 17 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "CupertinoCheckbox Usage", - "desc": [ - "【value】: Whether it is selected 【bool?】", - "【onChanged】: Change callback 【ValueChanged?】", - "【checkColor】: Checkmark color when selected 【Color?】", - "【activeColor】: Background color when selected 【Color?】", - "【activeColor】: Background color when selected 【Color?】", - "【inactiveColor】: Border color when inactive/background color when disabled 【Color?】", - "When onChanged is null, it means it is disabled." - ] - }, - { - "file": "node2.dart", - "name": "CupertinoCheckbox Three States", - "desc": [ - "【tristate】: Whether to enable three states 【bool】", - "In three states, the value is null for -" - ] - }, - { - "file": "node3.dart", - "name": "CupertinoCheckbox Border and Shape", - "desc": [ - "【shape】: Shape 【OutlinedBorder?】", - "【side】: Border 【BorderSide?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_es_ES.json deleted file mode 100644 index 453a09955..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_es_ES.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 238, - "name": "CupertinoCheckbox", - "localName": "Casilla de verificación·Estilo macOS", - "info": "Una casilla de verificación con estilo macOS, compatible con tres estados; se debe proporcionar un valor value y una función de devolución de llamada onChanged al usarla.", - "lever": 4, - "family": 1, - "linkIds": [ - 39, - 17 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso de CupertinoCheckbox", - "desc": [ - "【value】 : Si está seleccionado 【bool?】", - "【onChanged】 : Función de devolución de llamada para cambios 【ValueChanged?】", - "【checkColor】 : Color de la marca de verificación cuando está seleccionado 【Color?】", - "【activeColor】 : Color de fondo cuando está seleccionado 【Color?】", - "【activeColor】 : Color de fondo cuando está seleccionado 【Color?】", - "【inactiveColor】 : Color de borde cuando no está activo/Color de fondo cuando no está disponible 【Color?】", - "Cuando onChanged es null, significa que no está disponible." - ] - }, - { - "file": "node2.dart", - "name": "Tres estados de CupertinoCheckbox", - "desc": [ - "【tristate】 : Si está habilitado el estado tristate 【bool】", - "En el estado tristate, el valor null representa -" - ] - }, - { - "file": "node3.dart", - "name": "Borde y forma de CupertinoCheckbox", - "desc": [ - "【shape】 : Forma 【OutlinedBorder?】", - "【side】 : Borde 【BorderSide?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_fr_FR.json deleted file mode 100644 index a94227ac8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_fr_FR.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 238, - "name": "CupertinoCheckbox", - "localName": "Case à cocher·Style macOS", - "info": "Une case à cocher de style macOS, prenant en charge trois états ; nécessite de fournir une valeur value et une fonction de rappel onChanged lors de l'utilisation.", - "lever": 4, - "family": 1, - "linkIds": [ - 39, - 17 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation de CupertinoCheckbox", - "desc": [ - "【value】 : Est-ce sélectionné 【bool?】", - "【onChanged】 : Rappel de changement 【ValueChanged?】", - "【checkColor】 : Couleur de la coche √ lorsqu'elle est sélectionnée 【Color?】", - "【activeColor】 : Couleur de fond lorsqu'elle est sélectionnée 【Color?】", - "【activeColor】 : Couleur de fond lorsqu'elle est sélectionnée 【Color?】", - "【inactiveColor】 : Couleur de bordure/arrière-plan non activé 【Color?】", - "Lorsque onChanged est null, cela signifie qu'il est désactivé." - ] - }, - { - "file": "node2.dart", - "name": "Trois états de CupertinoCheckbox", - "desc": [ - "【tristate】 : Activer trois états 【bool】", - "En mode tristate, la valeur null représente -" - ] - }, - { - "file": "node3.dart", - "name": "Bordure et forme de CupertinoCheckbox", - "desc": [ - "【shape】 : Forme 【OutlinedBorder?】", - "【side】 : Bordure 【BorderSide?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_it_IT.json deleted file mode 100644 index 9999264ec..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_it_IT.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 238, - "name": "CupertinoCheckbox", - "localName": "Casella di controllo·Stile macOS", - "info": "Una casella di controllo in stile macOS, supporta tre stati; richiede un valore value e una funzione di callback onChanged.", - "lever": 4, - "family": 1, - "linkIds": [ - 39, - 17 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso di CupertinoCheckbox", - "desc": [ - "【value】 : Se selezionato 【bool?】", - "【onChanged】 : Callback di modifica 【ValueChanged?】", - "【checkColor】 : Colore del segno di spunta quando selezionato 【Color?】", - "【activeColor】 : Colore di sfondo quando selezionato 【Color?】", - "【activeColor】 : Colore di sfondo quando selezionato 【Color?】", - "【inactiveColor】 : Colore del bordo/colore di sfondo non attivo 【Color?】", - "Quando onChanged è null, indica che non è utilizzabile." - ] - }, - { - "file": "node2.dart", - "name": "CupertinoCheckbox a tre stati", - "desc": [ - "【tristate】 : Se abilitare i tre stati 【bool】", - "In modalità tristate, il valore null rappresenta -" - ] - }, - { - "file": "node3.dart", - "name": "Bordo e forma di CupertinoCheckbox", - "desc": [ - "【shape】 : Forma 【OutlinedBorder?】", - "【side】 : Bordo 【BorderSide?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_ja_JP.json deleted file mode 100644 index 3f66dfdfa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_ja_JP.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 238, - "name": "CupertinoCheckbox", - "localName": "チェックボックス・macOSスタイル", - "info": "macOSスタイルのチェックボックスで、三態をサポートしています。使用時にはvalue値とonChangedコールバック関数を提供する必要があります。", - "lever": 4, - "family": 1, - "linkIds": [ - 39, - 17 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "CupertinoCheckbox 使用", - "desc": [ - "【value】 : 選択されているかどうか 【bool?】", - "【onChanged】 : 変更コールバック 【ValueChanged?】", - "【checkColor】 : 選択時の√色 【Color?】", - "【activeColor】 : 選択時の背景色 【Color?】", - "【activeColor】 : 選択時の背景色 【Color?】", - "【inactiveColor】 : 非アクティブ時の枠線色/無効な背景色 【Color?】", - "onChangedがnullの場合、無効であることを示します。" - ] - }, - { - "file": "node2.dart", - "name": "CupertinoCheckbox 三態", - "desc": [ - "【tristate】 : 三態を有効にするかどうか 【bool】", - "三態の場合、値がnullの場合は - です" - ] - }, - { - "file": "node3.dart", - "name": "CupertinoCheckbox 枠線と形状", - "desc": [ - "【shape】 : 形状 【OutlinedBorder?】", - "【side】 : 枠線 【BorderSide?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_ko_KR.json deleted file mode 100644 index 8d70a6a70..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_ko_KR.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 238, - "name": "CupertinoCheckbox", - "localName": "체크박스·macOS 스타일", - "info": "macOS 스타일의 체크박스로, 3가지 상태를 지원합니다. 사용 시 value 값과 onChanged 콜백 함수를 제공해야 합니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 39, - 17 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "CupertinoCheckbox 사용", - "desc": [ - "【value】 : 선택 여부 【bool?】", - "【onChanged】 : 변경 콜백 【ValueChanged?】", - "【checkColor】 : 선택 시 √ 색상 【Color?】", - "【activeColor】 : 선택 배경 색상 【Color?】", - "【activeColor】 : 선택 배경 색상 【Color?】", - "【inactiveColor】 : 비활성 시 테두리 색상/사용 불가 배경 색상 【Color?】", - "onChanged이 null일 경우, 사용 불가를 나타냅니다." - ] - }, - { - "file": "node2.dart", - "name": "CupertinoCheckbox 3가지 상태", - "desc": [ - "【tristate】 : 3가지 상태 활성화 여부 【bool】", - "3가지 상태일 때, 값이 null이면 -로 표시됩니다." - ] - }, - { - "file": "node3.dart", - "name": "CupertinoCheckbox 테두리와 모양", - "desc": [ - "【shape】 : 모양 【OutlinedBorder?】", - "【side】 : 테두리 【BorderSide?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_pt_PT.json deleted file mode 100644 index 28c444674..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_pt_PT.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 238, - "name": "CupertinoCheckbox", - "localName": "Caixa de verificação - Estilo macOS", - "info": "Uma caixa de verificação no estilo macOS, suporta três estados; ao usar, é necessário fornecer o valor 'value' e a função de retorno 'onChanged'.", - "lever": 4, - "family": 1, - "linkIds": [ - 39, - 17 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso do CupertinoCheckbox", - "desc": [ - "【value】 : Se está selecionado 【bool?】", - "【onChanged】 : Retorno de chamada de mudança 【ValueChanged?】", - "【checkColor】 : Cor do √ quando selecionado 【Color?】", - "【activeColor】 : Cor de fundo quando selecionado 【Color?】", - "【activeColor】 : Cor de fundo quando selecionado 【Color?】", - "【inactiveColor】 : Cor da borda/Cor de fundo inativa 【Color?】", - "Quando onChanged é null, indica que está inativo." - ] - }, - { - "file": "node2.dart", - "name": "CupertinoCheckbox Três Estados", - "desc": [ - "【tristate】 : Se ativa três estados 【bool】", - "Em três estados, o valor null representa -" - ] - }, - { - "file": "node3.dart", - "name": "Borda e Forma do CupertinoCheckbox", - "desc": [ - "【shape】 : Forma 【OutlinedBorder?】", - "【side】 : Borda 【BorderSide?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_ru_RU.json deleted file mode 100644 index f8374ba4a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_ru_RU.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 238, - "name": "CupertinoCheckbox", - "localName": "Флажок·стиль macOS", - "info": "Флажок в стиле macOS, поддерживающий три состояния; при использовании необходимо предоставить значение value и функцию обратного вызова onChanged.", - "lever": 4, - "family": 1, - "linkIds": [ - 39, - 17 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Использование CupertinoCheckbox", - "desc": [ - "【value】 : Выбрано ли 【bool?】", - "【onChanged】 : Обратный вызов при изменении 【ValueChanged?】", - "【checkColor】 : Цвет галочки при выборе 【Color?】", - "【activeColor】 : Цвет фона при выборе 【Color?】", - "【activeColor】 : Цвет фона при выборе 【Color?】", - "【inactiveColor】 : Цвет границы/фона при неактивности 【Color?】", - "Когда onChanged равен null, это означает, что элемент недоступен." - ] - }, - { - "file": "node2.dart", - "name": "Три состояния CupertinoCheckbox", - "desc": [ - "【tristate】 : Включены ли три состояния 【bool】", - "В режиме три состояния значение null означает -" - ] - }, - { - "file": "node3.dart", - "name": "Границы и форма CupertinoCheckbox", - "desc": [ - "【shape】 : Форма 【OutlinedBorder?】", - "【side】 : Граница 【BorderSide?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_zh-CN.json deleted file mode 100644 index 205ecbe6c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/desc_zh-CN.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 238, - "name": "CupertinoCheckbox", - "localName": "复选框·macOS风格", - "info": "一个 macOS 风格的复选框,支持三态;使用时需要提供 value 值和 onChanged 回调函数。", - "lever": 4, - "family": 1, - "linkIds": [ - 39, - 17 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "CupertinoCheckbox 使用", - "desc": [ - "【value】 : 是否选中 【bool?】", - "【onChanged】 : 变化回调 【ValueChanged?】", - "【checkColor】 : 选中时√颜色 【Color?】", - "【activeColor】 : 选中背景颜色 【Color?】", - "【activeColor】 : 选中背景颜色 【Color?】", - "【inactiveColor】 : 非激活是边线色/不可用背景色 【Color?】", - "onChanged 为 null 时,表示不可用。" - ] - }, - { - "file": "node2.dart", - "name": "CupertinoCheckbox 三态", - "desc": [ - "【tristate】 : 是否启用三态 【bool】", - "三态时,值为 null 为 - " - ] - }, - { - "file": "node3.dart", - "name": "CupertinoCheckbox 边线与形状", - "desc": [ - "【shape】 : 形状 【OutlinedBorder?】", - "【side】 : 边线 【BorderSide?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/node1.dart deleted file mode 100644 index fedab6fd7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/node1.dart +++ /dev/null @@ -1,45 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -class CupertinoCheckboxDemo1 extends StatefulWidget { - const CupertinoCheckboxDemo1({super.key}); - - @override - State createState() => _CupertinoCheckboxDemo1State(); -} - -class _CupertinoCheckboxDemo1State extends State { - bool? _active = false; - - @override - Widget build(BuildContext context) { - return Wrap( - children: [ - CupertinoCheckbox( - value: _active, - onChanged: (bool? value) { - setState(() { - _active = value; - }); - }, - ), - - CupertinoCheckbox( - value: _active, - checkColor: Colors.yellow, - activeColor: Colors.purple, - onChanged: (bool? value) { - setState(() { - _active = value; - }); - }, - ), - CupertinoCheckbox( - value: true, - inactiveColor: Colors.black.withOpacity(0.2), - onChanged: null, - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/node2.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/node2.dart deleted file mode 100644 index 1f1167a7c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/node2.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -class CupertinoCheckboxDemo2 extends StatefulWidget { - const CupertinoCheckboxDemo2({super.key}); - - @override - State createState() => _CupertinoCheckboxDemo2State(); -} - -class _CupertinoCheckboxDemo2State extends State { - bool? _active = false; - - @override - Widget build(BuildContext context) { - return - CupertinoCheckbox( - value: _active, - tristate: true, - onChanged: (bool? value) { - setState(() { - _active = value; - }); - }, - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/node3.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/node3.dart deleted file mode 100644 index 7253583f7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoCheckbox/node3.dart +++ /dev/null @@ -1,48 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -class CupertinoCheckboxDemo3 extends StatefulWidget { - const CupertinoCheckboxDemo3({super.key}); - - @override - State createState() => _CupertinoCheckboxDemo3State(); -} - -class _CupertinoCheckboxDemo3State extends State { - bool? _active = false; - @override - Widget build(BuildContext context) { - return Wrap( - children: [ - CupertinoCheckbox( - value: _active, - onChanged: (bool? value) { - setState(() { - _active = value; - }); - }, - ), - CupertinoCheckbox( - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(6)), - side: const BorderSide(color: Colors.black12), - value: _active, - onChanged: (bool? value) { - setState(() { - _active = value; - }); - }, - ), - CupertinoCheckbox( - shape: const StadiumBorder(), - side: const BorderSide(color: Colors.black12), - value: _active, - onChanged: (bool? value) { - setState(() { - _active = value; - }); - }, - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_de_DE.json deleted file mode 100644 index 8f7ce5486..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 143, - "name": "CupertinoContextMenu", - "localName": "iOS-Popup-Menü", - "info": "Ein beeindruckendes iOS-stilisiertes Popup-Menü, das bei langem Drücken animiert erscheint. Wird oft in Verbindung mit CupertinoContextMenuAction verwendet.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoContextMenu", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【actions】 : Aktionen-Komponentensammlung 【List】", - "【previewBuilder】 : Animationskonstruktor 【ContextMenuPreviewBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_en_US.json deleted file mode 100644 index cd760b19a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 143, - "name": "CupertinoContextMenu", - "localName": "iOS Pop-up Menu", - "info": "A gorgeous iOS-style button pop-up box. When long-pressed, a menu panel will pop up in an animated form. It is usually used in conjunction with CupertinoContextMenuAction.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoContextMenu", - "desc": [ - "【child】 : Child Component 【Widget】", - "【actions】 : Action Components Set 【List】", - "【previewBuilder】 : Animation Builder 【ContextMenuPreviewBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_es_ES.json deleted file mode 100644 index 714108532..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 143, - "name": "CupertinoContextMenu", - "localName": "Menú emergente de iOS", - "info": "Un impresionante botón de estilo iOS que muestra un panel de menú emergente con animación cuando se mantiene presionado, generalmente se usa junto con CupertinoContextMenuAction.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoContextMenu", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【actions】 : Conjunto de componentes de acción 【List】", - "【previewBuilder】 : Constructor de animación 【ContextMenuPreviewBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_fr_FR.json deleted file mode 100644 index 5a4a4e820..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 143, - "name": "CupertinoContextMenu", - "localName": "Menu contextuel iOS", - "info": "Un magnifique bouton contextuel de style iOS, qui affiche un panneau de menu animé lors d'un appui long, généralement utilisé avec CupertinoContextMenuAction.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoContextMenu", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【actions】 : Ensemble de composants d'action 【List】", - "【previewBuilder】 : Constructeur d'animation 【ContextMenuPreviewBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_it_IT.json deleted file mode 100644 index e89db3c3a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 143, - "name": "CupertinoContextMenu", - "localName": "Menu a comparsa iOS", - "info": "Un elegante menu a comparsa in stile iOS che appare con un'animazione quando viene premuto a lungo, solitamente utilizzato insieme a CupertinoContextMenuAction.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di CupertinoContextMenu", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【actions】 : Insieme di componenti di azione 【List】", - "【previewBuilder】 : Costruttore di animazione 【ContextMenuPreviewBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_ja_JP.json deleted file mode 100644 index ea29dae50..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 143, - "name": "CupertinoContextMenu", - "localName": "iosポップアップメニュー", - "info": "華やかなiOSスタイルのボタンポップアップです。長押しするとアニメーションでメニューパネルが表示され、通常はCupertinoContextMenuActionと一緒に使用されます。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoContextMenuの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【actions】 : アクションコンポーネント集 【List】", - "【previewBuilder】 : アニメーションビルダー 【ContextMenuPreviewBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_ko_KR.json deleted file mode 100644 index 34c13947c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 143, - "name": "CupertinoContextMenu", - "localName": "ios 팝업 메뉴", - "info": "화려한 iOS 스타일 버튼 팝업 상자로, 길게 누르면 애니메이션 형태로 메뉴 패널이 팝업됩니다. 일반적으로 CupertinoContextMenuAction와 함께 사용됩니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoContextMenu 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【actions】 : 액션 위젯 집합 【List】", - "【previewBuilder】 : 애니메이션 빌더 【ContextMenuPreviewBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_pt_PT.json deleted file mode 100644 index f69a99785..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 143, - "name": "CupertinoContextMenu", - "localName": "Menu pop-up iOS", - "info": "Um botão de estilo iOS elegante que exibe um painel de menu com animação ao ser pressionado por um longo tempo, geralmente usado em conjunto com CupertinoContextMenuAction.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoContextMenu", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【actions】 : Conjunto de componentes de ação 【List】", - "【previewBuilder】 : Construtor de animação 【ContextMenuPreviewBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_ru_RU.json deleted file mode 100644 index e12d61c62..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 143, - "name": "CupertinoContextMenu", - "localName": "ios всплывающее меню", - "info": "Эффективное всплывающее меню в стиле iOS, которое появляется с анимацией при длительном нажатии, обычно используется вместе с CupertinoContextMenuAction.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoContextMenu", - "desc": [ - "【child】 : дочерний компонент 【Widget】", - "【actions】 : набор компонентов действий 【List】", - "【previewBuilder】 : конструктор анимации 【ContextMenuPreviewBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_zh-CN.json deleted file mode 100644 index ead54490c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 143, - "name": "CupertinoContextMenu", - "localName": "ios弹出菜单", - "info": "一个华丽的iOS风格按钮弹出框,长按时会以动画的形式弹出菜单面板,通常和CupertinoContextMenuAction联用。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoContextMenu基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【actions】 : 行为组件集 【List】", - "【previewBuilder】 : 动画构造器 【ContextMenuPreviewBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/node1_base.dart deleted file mode 100644 index 2c1325b27..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenu/node1_base.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'package:flutter/cupertino.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoContextMenu extends StatelessWidget { - const CustomCupertinoContextMenu({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 100, - height: 100, - child: DecoratedBox( - decoration: const BoxDecoration( - image: DecorationImage( - image: AssetImage('assets/images/sabar_bar.webp'), - fit: BoxFit.cover), - borderRadius: BorderRadius.all(Radius.circular(50))), - child: _buildCupertinoContextMenu(context)), - ); - } - - final List info = const ['保存图片', '立刻呼叫', '添加到收藏夹']; - - Widget _buildCupertinoContextMenu(context) => CupertinoContextMenu( - child: Container( - decoration: const BoxDecoration( - image: DecorationImage( - image: AssetImage('assets/images/sabar_bar.webp'), - fit: BoxFit.cover), - borderRadius: BorderRadius.all(Radius.circular(50))), - ), - actions: info - .map((e) => CupertinoContextMenuAction( - child: Center(child: Text(e)), - onPressed: () => Navigator.pop(context), - )) - .toList()); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_de_DE.json deleted file mode 100644 index 5de2763d4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 144, - "name": "CupertinoContextMenuAction", - "localName": "iOS-Popup-Menü-Schaltfläche", - "info": "Wird im Allgemeinen nur für die Klick-Schaltfläche in CupertinoContextMenu verwendet. Kann Kind- und Endsymbole angeben und empfängt Klick-Ereignisse.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoContextMenuAction", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【isDefaultAction】 : Standardmäßig ausgewählt 【bool】", - "【trailingIcon】 : Ende 【bool】", - "【onPressed】 : Klick-Ereignis 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_en_US.json deleted file mode 100644 index 4f631c365..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 144, - "name": "CupertinoContextMenuAction", - "localName": "iOS Popup Menu Button", - "info": "Generally used only for click buttons in CupertinoContextMenu. Can specify child and trailing icons, and receives click events.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoContextMenuAction", - "desc": [ - "【child】 : Child Component 【Widget】", - "【isDefaultAction】 : Whether it is the default action 【bool】", - "【trailingIcon】 : Trailing Icon 【bool】", - "【onPressed】 : Click Event 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_es_ES.json deleted file mode 100644 index f2d62182c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 144, - "name": "CupertinoContextMenuAction", - "localName": "Botón de menú emergente de iOS", - "info": "Generalmente se usa solo para el botón de clic en CupertinoContextMenu. Se puede especificar el icono del hijo y el icono de la cola, y recibe el evento de clic.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoContextMenuAction", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【isDefaultAction】 : Si está seleccionado por defecto 【bool】", - "【trailingIcon】 : Icono de cola 【bool】", - "【onPressed】 : Evento de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_fr_FR.json deleted file mode 100644 index 61ca09a93..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 144, - "name": "CupertinoContextMenuAction", - "localName": "Bouton de menu contextuel iOS", - "info": "Généralement utilisé uniquement pour les boutons cliquables dans CupertinoContextMenu. Peut spécifier un enfant et une icône de fin, et reçoit les événements de clic.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoContextMenuAction", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【isDefaultAction】 : Est-ce sélectionné par défaut 【bool】", - "【trailingIcon】 : Icône de fin 【bool】", - "【onPressed】 : Événement de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_it_IT.json deleted file mode 100644 index e08ede5fb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 144, - "name": "CupertinoContextMenuAction", - "localName": "Pulsante del menu a comparsa iOS", - "info": "Generalmente utilizzato solo per i pulsanti di clic in CupertinoContextMenu. È possibile specificare l'icona del figlio e della coda, ricevere eventi di clic.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di CupertinoContextMenuAction", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【isDefaultAction】 : Se selezionato per default 【bool】", - "【trailingIcon】 : Coda 【bool】", - "【onPressed】 : Evento di clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_ja_JP.json deleted file mode 100644 index 5a6c599a8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 144, - "name": "CupertinoContextMenuAction", - "localName": "iosポップアップメニューボタン", - "info": "通常、CupertinoContextMenu内のクリックボタンにのみ使用されます。子要素と末尾アイコンを指定でき、クリックイベントを受け取ります。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoContextMenuActionの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【isDefaultAction】 : デフォルトで選択されているかどうか 【bool】", - "【trailingIcon】 : 末尾アイコン 【bool】", - "【onPressed】 : クリックイベント 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_ko_KR.json deleted file mode 100644 index 9999b5231..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 144, - "name": "CupertinoContextMenuAction", - "localName": "ios 팝업 메뉴 버튼", - "info": "일반적으로 CupertinoContextMenu 내의 클릭 버튼에만 사용됩니다. 자식 및 꼬리 아이콘을 지정하고 클릭 이벤트를 수신할 수 있습니다.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoContextMenuAction 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【isDefaultAction】 : 기본 선택 여부 【bool】", - "【trailingIcon】 : 꼬리 아이콘 【bool】", - "【onPressed】 : 클릭 이벤트 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_pt_PT.json deleted file mode 100644 index 89f34b48f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 144, - "name": "CupertinoContextMenuAction", - "localName": "Botão de menu pop-up iOS", - "info": "Geralmente usado apenas para botões de clique em CupertinoContextMenu. Pode especificar ícones de criança e cauda, e receber eventos de clique.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoContextMenuAction", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【isDefaultAction】 : Selecionado por padrão 【bool】", - "【trailingIcon】 : Ícone de cauda 【bool】", - "【onPressed】 : Evento de clique 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_ru_RU.json deleted file mode 100644 index 6fc6d61ee..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 144, - "name": "CupertinoContextMenuAction", - "localName": "ios всплывающее меню кнопка", - "info": "Обычно используется только для кнопки нажатия в CupertinoContextMenu. Можно указать дочерний элемент и значок в конце, принимает событие нажатия.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoContextMenuAction", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【isDefaultAction】 : Выбрано ли по умолчанию 【bool】", - "【trailingIcon】 : Конечный значок 【bool】", - "【onPressed】 : Событие нажатия 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_zh-CN.json deleted file mode 100644 index a510198ed..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 144, - "name": "CupertinoContextMenuAction", - "localName": "ios弹出菜单按钮", - "info": "一般只用于CupertinoContextMenu中的点击按钮。可指定孩子和尾部图标,接收点击事件。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoContextMenuAction基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【isDefaultAction】 : 是否默认选中 【bool】", - "【trailingIcon】 : 尾部 【bool】", - "【onPressed】 : 点击事件 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/node1_base.dart deleted file mode 100644 index b20882734..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoContextMenuAction/node1_base.dart +++ /dev/null @@ -1,34 +0,0 @@ -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/cupertino.dart'; - -class CustomCupertinoContextMenuAction extends StatelessWidget { - const CustomCupertinoContextMenuAction({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Container( - width: 200, - margin: const EdgeInsets.all(5), - child: CupertinoContextMenuAction( - trailingIcon: CupertinoIcons.settings, - isDefaultAction: true, - onPressed: () => Navigator.of(context).pushNamed('AboutMePage'), - child: const Text('张风捷特烈')), - ), - Container( - width: 200, - margin: const EdgeInsets.all(5), - child: CupertinoContextMenuAction( - trailingIcon: CupertinoIcons.home, - isDefaultAction: false, - onPressed: () => Navigator.of(context).pushNamed('AboutMePage'), - child: const Text('百里·巫缨')), - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_de_DE.json deleted file mode 100644 index 89d30b76a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 137, - "name": "CupertinoDatePicker", - "localName": "iOS-Datumsauswahl", - "info": "Hochwertige Roll-Datumsauswahl, die den Auswahltyp, Datumsbereich usw. angeben kann und Datumsauswahlereignisse empfängt.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoDatePicker", - "desc": [ - "【initialDateTime】 : Anfangsdatum 【DateTime】", - "【minimumYear】 : Mindestjahr 【int】", - "【maximumYear】 : Höchstjahr 【int】", - "【onDateTimeChanged】 : Klick-Rückruf 【Function(DateTime)】", - "【minuteInterval】 : Minutenintervall 【int】", - "【use24hFormat】 : Ist 24-Stunden-Format 【bool】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【mode】 : Modus*3 【CupertinoDatePickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_en_US.json deleted file mode 100644 index eea93649c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 137, - "name": "CupertinoDatePicker", - "localName": "iOS Date Picker", - "info": "A high-end rolling date picker that allows you to specify the type of selection, date range, etc., and receive date selection events.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoDatePicker", - "desc": [ - "【initialDateTime】 : Initial date 【DateTime】", - "【minimumYear】 : Minimum year 【int】", - "【maximumYear】 : Maximum year 【int】", - "【onDateTimeChanged】 : Click callback 【Function(DateTime)】", - "【minuteInterval】 : Minute interval 【int】", - "【use24hFormat】 : Whether it is 24-hour format 【bool】", - "【backgroundColor】 : Background color 【Color】", - "【mode】 : Mode*3 【CupertinoDatePickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_es_ES.json deleted file mode 100644 index b6cb9f307..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 137, - "name": "CupertinoDatePicker", - "localName": "Selector de fecha de iOS", - "info": "Selector de fecha de desplazamiento de alta gama, que puede especificar el tipo de selección, el rango de fechas, etc., y recibir eventos de selección de fecha.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoDatePicker", - "desc": [ - "【initialDateTime】 : Fecha inicial 【DateTime】", - "【minimumYear】 : Año mínimo 【int】", - "【maximumYear】 : Año máximo 【int】", - "【onDateTimeChanged】 : Devolución de llamada al hacer clic 【Function(DateTime)】", - "【minuteInterval】 : Intervalo de minutos 【int】", - "【use24hFormat】 : Si es formato de 24 horas 【bool】", - "【backgroundColor】 : Color de fondo 【Color】", - "【mode】 : Modo*3 【CupertinoDatePickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_fr_FR.json deleted file mode 100644 index cfca4dd1d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 137, - "name": "CupertinoDatePicker", - "localName": "Sélecteur de date iOS", - "info": "Sélecteur de date élégant à défilement, permettant de spécifier le type de sélection, la plage de dates, etc., et de recevoir des événements de sélection de date.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoDatePicker", - "desc": [ - "【initialDateTime】 : Date initiale 【DateTime】", - "【minimumYear】 : Année minimale 【int】", - "【maximumYear】 : Année maximale 【int】", - "【onDateTimeChanged】 : Rappel au clic 【Function(DateTime)】", - "【minuteInterval】 : Intervalle des minutes 【int】", - "【use24hFormat】 : Format 24 heures 【bool】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【mode】 : Mode*3 【CupertinoDatePickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_it_IT.json deleted file mode 100644 index 02fdf7302..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 137, - "name": "CupertinoDatePicker", - "localName": "Selettore di data iOS", - "info": "Un selettore di data di alta qualità con scorrimento, che consente di specificare il tipo di selezione, l'intervallo di date, ecc., e riceve eventi di selezione della data.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoDatePicker", - "desc": [ - "【initialDateTime】 : Data iniziale 【DateTime】", - "【minimumYear】 : Anno minimo 【int】", - "【maximumYear】 : Anno massimo 【int】", - "【onDateTimeChanged】 : Callback al click 【Function(DateTime)】", - "【minuteInterval】 : Intervallo di minuti 【int】", - "【use24hFormat】 : Se è in formato 24 ore 【bool】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【mode】 : Modalità*3 【CupertinoDatePickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_ja_JP.json deleted file mode 100644 index 6e5aedcf0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 137, - "name": "CupertinoDatePicker", - "localName": "iOS日付ピッカー", - "info": "高級感のあるスクロール日付ピッカーで、選択するタイプや日付範囲などを指定でき、日付選択イベントを受け取ります。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoDatePickerの基本使用", - "desc": [ - "【initialDateTime】 : 初期日付 【DateTime】", - "【minimumYear】 : 最小年 【int】", - "【maximumYear】 : 最大年 【int】", - "【onDateTimeChanged】 : クリックコールバック 【Function(DateTime)】", - "【minuteInterval】 : 分間隔 【int】", - "【use24hFormat】 : 24時間制かどうか 【bool】", - "【backgroundColor】 : 背景色 【Color】", - "【mode】 : モード*3 【CupertinoDatePickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_ko_KR.json deleted file mode 100644 index a0b820e88..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 137, - "name": "CupertinoDatePicker", - "localName": "iOS 날짜 선택기", - "info": "고급스러운 스크롤 날짜 선택기로, 선택 유형, 날짜 범위 등을 지정할 수 있으며, 날짜 선택 이벤트를 수신합니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoDatePicker 기본 사용", - "desc": [ - "【initialDateTime】 : 초기 날짜 【DateTime】", - "【minimumYear】 : 최소 연도 【int】", - "【maximumYear】 : 최대 연도 【int】", - "【onDateTimeChanged】 : 클릭 콜백 【Function(DateTime)】", - "【minuteInterval】 : 분 간격 【int】", - "【use24hFormat】 : 24시간 형식 여부 【bool】", - "【backgroundColor】 : 배경색 【Color】", - "【mode】 : 모드*3 【CupertinoDatePickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_pt_PT.json deleted file mode 100644 index 761e0003f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 137, - "name": "CupertinoDatePicker", - "localName": "Seletor de Data iOS", - "info": "Um seletor de data sofisticado com rolagem, que permite especificar o tipo de seleção, intervalo de datas, etc., e recebe eventos de seleção de data.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do CupertinoDatePicker", - "desc": [ - "【initialDateTime】 : Data inicial 【DateTime】", - "【minimumYear】 : Ano mínimo 【int】", - "【maximumYear】 : Ano máximo 【int】", - "【onDateTimeChanged】 : Callback de clique 【Function(DateTime)】", - "【minuteInterval】 : Intervalo de minutos 【int】", - "【use24hFormat】 : Se é formato de 24 horas 【bool】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【mode】 : Modo*3 【CupertinoDatePickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_ru_RU.json deleted file mode 100644 index 8dea1b310..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 137, - "name": "CupertinoDatePicker", - "localName": "iOS-выбор даты", - "info": "Стильный колесный выбор даты, который позволяет указать тип выбора, диапазон дат и т.д., получает событие выбора даты.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoDatePicker", - "desc": [ - "【initialDateTime】 : Начальная дата 【DateTime】", - "【minimumYear】 : Минимальный год 【int】", - "【maximumYear】 : Максимальный год 【int】", - "【onDateTimeChanged】 : Обратный вызов при нажатии 【Function(DateTime)】", - "【minuteInterval】 : Интервал минут 【int】", - "【use24hFormat】 : Используется ли 24-часовой формат 【bool】", - "【backgroundColor】 : Цвет фона 【Color】", - "【mode】 : Режим*3 【CupertinoDatePickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_zh-CN.json deleted file mode 100644 index fee41db04..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 137, - "name": "CupertinoDatePicker", - "localName": "iOS日期选择器", - "info": "高大上的滑滚日期选择器,可指定选择的类型、日期范围等,接收日期选中事件。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoDatePicker基本使用", - "desc": [ - "【initialDateTime】 : 初始日期 【DateTime】", - "【minimumYear】 : 最小年份 【int】", - "【maximumYear】 : 最大年份 【int】", - "【onDateTimeChanged】 : 点击回调 【Function(DateTime)】", - "【minuteInterval】 : 分钟间隔 【int】", - "【use24hFormat】 : 是否是24小时制 【bool】", - "【backgroundColor】 : 背景色 【Color】", - "【mode】 : 模式*3 【CupertinoDatePickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/node1_base.dart deleted file mode 100644 index 60cbd0cda..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoDatePicker/node1_base.dart +++ /dev/null @@ -1,67 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoDatePicker extends StatefulWidget { - const CustomCupertinoDatePicker({Key? key}) : super(key: key); - - @override - _CustomCupertinoDatePickerState createState() => - _CustomCupertinoDatePickerState(); -} - -class _CustomCupertinoDatePickerState extends State { - DateTime _date = DateTime.now(); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Text( - '当前日期:${_date.toIso8601String()}', - style: const TextStyle(color: Colors.grey, fontSize: 16), - ), - _buildInfoTitle('CupertinoDatePickerMode.dateAndTime'), - buildPicker(CupertinoDatePickerMode.dateAndTime), - _buildInfoTitle('CupertinoDatePickerMode.date'), - buildPicker(CupertinoDatePickerMode.date), - _buildInfoTitle('CupertinoDatePickerMode.time'), - buildPicker(CupertinoDatePickerMode.time), - ], - ); - } - - Container buildPicker(CupertinoDatePickerMode mode) { - return Container( - margin: const EdgeInsets.all(10), - height: 150, - child: CupertinoDatePicker( - mode: mode, - initialDateTime: DateTime.now(), -// maximumDate: DateTime(2018,8,8), -// minimumDate: DateTime(2030,8,8), - minimumYear: 2018, - maximumYear: 2030, - use24hFormat: false, - minuteInterval: 1, - backgroundColor: CupertinoColors.white, - onDateTimeChanged: (date) { - print(date); - setState(() => _date = date); - }, - ), - ); - } - - Widget _buildInfoTitle(info){ - return Padding( - padding: const EdgeInsets.only(left: 20,top: 20,bottom: 5), - child: Text( - info, - style: const TextStyle(color: Colors.blue, fontSize: 16,fontWeight: FontWeight.bold), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_de_DE.json deleted file mode 100644 index 11528d25f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 62, - "name": "CupertinoNavigationBar", - "localName": "iOS-Navigation", - "info": "Eine allgemeine Struktur für eine iOS-ähnliche Anwendungsleiste oben, die es ermöglicht, entsprechende Komponenten an bestimmten Stellen zu platzieren. Attribute wie Hintergrundfarbe, Abstände und Rahmen können angegeben werden.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoNavigationBar", - "desc": [ - "【leading】: Linke Komponente 【Widget】", - "【middle】: Mittlere Komponente 【Widget】", - "【trailing】: Rechte Komponente 【Widget】", - "【backgroundColor】: Hintergrundfarbe 【Color】", - "【padding】: Innenabstand 【EdgeInsetsDirectional】", - "【border】: Rahmen 【Border】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_en_US.json deleted file mode 100644 index 67150e6b2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 62, - "name": "CupertinoNavigationBar", - "localName": "iOS Navigation", - "info": "A general structure for an iOS-style app top bar, where corresponding components can be placed in specified areas. Attributes such as background color, spacing, and border can be specified.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoNavigationBar", - "desc": [ - "【leading】: Left component 【Widget】", - "【middle】: Middle component 【Widget】", - "【trailing】: Trailing component 【Widget】", - "【backgroundColor】: Background color 【Color】", - "【padding】: Padding 【EdgeInsetsDirectional】", - "【border】: Border 【Border】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_es_ES.json deleted file mode 100644 index 7e03967dc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 62, - "name": "CupertinoNavigationBar", - "localName": "Navegación iOS", - "info": "Una estructura común para la barra superior de aplicaciones con estilo iOS, donde se pueden colocar componentes correspondientes en las partes especificadas. Se pueden especificar propiedades como el color de fondo, el espaciado, el borde, etc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoNavigationBar", - "desc": [ - "【leading】 : Componente izquierdo 【Widget】", - "【middle】 : Componente central 【Widget】", - "【trailing】 : Componente derecho 【Widget】", - "【backgroundColor】 : Color de fondo 【Color】", - "【padding】 : Relleno interno 【EdgeInsetsDirectional】", - "【border】 : Borde 【Border】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_fr_FR.json deleted file mode 100644 index 18ffb31e8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 62, - "name": "CupertinoNavigationBar", - "localName": "Navigation iOS", - "info": "Une structure générique pour une barre supérieure d'application de style iOS, permettant de placer des composants correspondants dans des parties spécifiées. Peut spécifier des propriétés telles que la couleur de fond, l'espacement, la bordure, etc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoNavigationBar", - "desc": [ - "【leading】 : Composant gauche 【Widget】", - "【middle】 : Composant central 【Widget】", - "【trailing】 : Composant de fin 【Widget】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【padding】 : Marge intérieure 【EdgeInsetsDirectional】", - "【border】 : Bordure 【Border】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_it_IT.json deleted file mode 100644 index d99005b7f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 62, - "name": "CupertinoNavigationBar", - "localName": "Navigazione iOS", - "info": "Una struttura generica per una barra superiore di un'app in stile iOS, che consente di posizionare i componenti corrispondenti nelle aree specificate. È possibile specificare proprietà come il colore di sfondo, la spaziatura, il bordo, ecc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di CupertinoNavigationBar", - "desc": [ - "【leading】 : Componente sinistro 【Widget】", - "【middle】 : Componente centrale 【Widget】", - "【trailing】 : Componente destro 【Widget】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【padding】 : Spaziatura interna 【EdgeInsetsDirectional】", - "【border】 : Bordo 【Border】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_ja_JP.json deleted file mode 100644 index c6b20cf54..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 62, - "name": "CupertinoNavigationBar", - "localName": "iOSナビゲーション", - "info": "iOSスタイルのアプリトップバーの一般的な構造で、指定された部分に適切なコンポーネントを配置できます。背景色、間隔、ボーダーなどの属性を指定できます。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoNavigationBar基本使用法", - "desc": [ - "【leading】 : 左側のコンポーネント 【Widget】", - "【middle】 : 中央のコンポーネント 【Widget】", - "【trailing】 : 右側のコンポーネント 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【padding】 : パディング 【EdgeInsetsDirectional】", - "【border】 : ボーダー 【Border】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_ko_KR.json deleted file mode 100644 index a51e27689..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 62, - "name": "CupertinoNavigationBar", - "localName": "iOS 네비게이션", - "info": "iOS 스타일의 앱 상단 바의 일반적인 구조로, 지정된 부분에 해당하는 컴포넌트를 배치할 수 있습니다. 배경색, 간격, 테두리 등 속성을 지정할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoNavigationBar 기본 사용법", - "desc": [ - "【leading】 : 왼쪽 컴포넌트 【Widget】", - "【middle】 : 중간 컴포넌트 【Widget】", - "【trailing】 : 오른쪽 컴포넌트 【Widget】", - "【backgroundColor】 : 배경색 【Color】", - "【padding】 : 내부 여백 【EdgeInsetsDirectional】", - "【border】 : 테두리 【Border】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_pt_PT.json deleted file mode 100644 index c7ccb9110..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 62, - "name": "CupertinoNavigationBar", - "localName": "Navegação iOS", - "info": "Uma estrutura genérica para uma barra superior de aplicativos no estilo iOS, onde é possível colocar componentes correspondentes em áreas especificadas. Pode-se especificar atributos como cor de fundo, espaçamento, borda, etc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoNavigationBar", - "desc": [ - "【leading】 : Componente esquerdo 【Widget】", - "【middle】 : Componente central 【Widget】", - "【trailing】 : Componente direito 【Widget】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【padding】 : Margem interna 【EdgeInsetsDirectional】", - "【border】 : Borda 【Border】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_ru_RU.json deleted file mode 100644 index 4b9574764..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 62, - "name": "CupertinoNavigationBar", - "localName": "iOS навигация", - "info": "Универсальная структура для верхней панели приложения в стиле iOS, позволяющая размещать соответствующие компоненты в указанных местах. Можно указать такие свойства, как цвет фона, отступы, границы и т.д.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoNavigationBar", - "desc": [ - "【leading】 : Левый компонент 【Widget】", - "【middle】 : Центральный компонент 【Widget】", - "【trailing】 : Правый компонент 【Widget】", - "【backgroundColor】 : Цвет фона 【Color】", - "【padding】 : Внутренние отступы 【EdgeInsetsDirectional】", - "【border】 : Граница 【Border】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_zh-CN.json deleted file mode 100644 index a4c3cf064..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 62, - "name": "CupertinoNavigationBar", - "localName": "iOS导航", - "info": "一个iOS风格的应用顶部栏的通用结构,可在指定的部位放置相应的组件。可指定背景色、间距、边线等属性。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoNavigationBar基本用法", - "desc": [ - "【leading】 : 左侧组件 【Widget】", - "【middle】 : 中间组件 【Widget】", - "【trailing】 : 尾部组件 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【padding】 : 内边距 【EdgeInsetsDirectional】", - "【border】 : 边线 【Border】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/node1_base.dart deleted file mode 100644 index d0abec839..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoNavigationBar/node1_base.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoNavigationBar extends StatelessWidget { - const CustomCupertinoNavigationBar({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return CupertinoNavigationBar( - leading: const Icon( - CupertinoIcons.back, - size: 25, - color: Colors.blue, - ), - middle: const Text("风雪雅舍"), - trailing: Image.asset( - "assets/images/icon_head.webp", - width: 25.0, - height: 25.0, - ), - backgroundColor: const Color(0xfff1f1f1), - padding: const EdgeInsetsDirectional.only(start: 10,end: 20), - border: Border.all(color: Colors.transparent), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_de_DE.json deleted file mode 100644 index 99bcfa1c2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 157, - "name": "CupertinoPageScaffold", - "localName": "iOS-Seitengerüst", - "info": "iOS-stilisiertes Seitenlayout-Gerüst, das die Navigationsleiste oben und die Hintergrundfarbe der Seite festlegen kann.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoPageScaffold", - "desc": [ - "【child】 : Inhalt 【Widget】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【navigationBar】 : Kopf 【ObstructingPreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_en_US.json deleted file mode 100644 index 13b13ee49..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 157, - "name": "CupertinoPageScaffold", - "localName": "iOS Page Scaffold", - "info": "iOS style page layout scaffold structure, can specify the top navigation bar and page background color.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoPageScaffold", - "desc": [ - "【child】 : Content 【Widget】", - "【backgroundColor】 : Background Color 【Color】", - "【navigationBar】 : Header 【ObstructingPreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_es_ES.json deleted file mode 100644 index 9cd2fb31c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 157, - "name": "CupertinoPageScaffold", - "localName": "Estructura de andamio de página iOS", - "info": "Estructura de andamio de diseño de página estilo iOS, puede especificar la barra de navegación superior y el color de fondo de la página.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoPageScaffold", - "desc": [ - "【child】 : contenido 【Widget】", - "【backgroundColor】 : color de fondo 【Color】", - "【navigationBar】 : cabecera 【ObstructingPreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_fr_FR.json deleted file mode 100644 index 919cd6c10..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 157, - "name": "CupertinoPageScaffold", - "localName": "Structure de base de page iOS", - "info": "Structure de base de mise en page de page de style iOS, permettant de spécifier la barre de navigation supérieure et la couleur de fond de la page.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoPageScaffold", - "desc": [ - "【child】 : contenu 【Widget】", - "【backgroundColor】 : couleur de fond 【Color】", - "【navigationBar】 : en-tête 【ObstructingPreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_it_IT.json deleted file mode 100644 index 41ade4739..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 157, - "name": "CupertinoPageScaffold", - "localName": "Impalcatura della pagina iOS", - "info": "Struttura di impalcatura per layout di pagine in stile iOS, consente di specificare la barra di navigazione superiore e il colore di sfondo della pagina.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di CupertinoPageScaffold", - "desc": [ - "【child】 : Contenuto 【Widget】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【navigationBar】 : Testa 【ObstructingPreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_ja_JP.json deleted file mode 100644 index 2c9c1ec71..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 157, - "name": "CupertinoPageScaffold", - "localName": "iOSページスキャフォールド", - "info": "iOSスタイルのページレイアウトスキャフォールド構造で、上部のナビゲーションバーとページの背景色を指定できます。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPageScaffold基本使用法", - "desc": [ - "【child】 : コンテンツ 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【navigationBar】 : ヘッダー 【ObstructingPreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_ko_KR.json deleted file mode 100644 index c20f63728..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 157, - "name": "CupertinoPageScaffold", - "localName": "iOS 페이지 스캐폴드", - "info": "iOS 스타일의 페이지 레이아웃 스캐폴드 구조로, 상단의 내비게이션 바와 페이지 배경색을 지정할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPageScaffold 기본 사용법", - "desc": [ - "【child】 : 내용 【Widget】", - "【backgroundColor】 : 배경색 【Color】", - "【navigationBar】 : 헤더 【ObstructingPreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_pt_PT.json deleted file mode 100644 index bcae30240..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 157, - "name": "CupertinoPageScaffold", - "localName": "Estrutura de Scaffold de Página iOS", - "info": "Estrutura de scaffold de layout de página no estilo iOS, que pode especificar a barra de navegação superior e a cor de fundo da página.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do CupertinoPageScaffold", - "desc": [ - "【child】 : Conteúdo 【Widget】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【navigationBar】 : Cabeçalho 【ObstructingPreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_ru_RU.json deleted file mode 100644 index 4efe59963..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 157, - "name": "CupertinoPageScaffold", - "localName": "iOS страница каркас", - "info": "iOS-стиль макета страницы каркасной структуры, можно указать верхнюю навигационную панель и цвет фона страницы.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPageScaffold базовое использование", - "desc": [ - "【child】 : содержимое 【Widget】", - "【backgroundColor】 : цвет фона 【Color】", - "【navigationBar】 : верхняя часть 【ObstructingPreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_zh-CN.json deleted file mode 100644 index 1636363b8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 157, - "name": "CupertinoPageScaffold", - "localName": "iOS页面脚手架", - "info": "iOS风格的页面布局脚手架结构,可指定顶部的导航栏和页面背景色。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPageScaffold基本用法", - "desc": [ - "【child】 : 内容 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【navigationBar】 : 头部 【ObstructingPreferredSizeWidget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/node1_base.dart deleted file mode 100644 index d0950a299..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPageScaffold/node1_base.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/cupertino.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoPageScaffold extends StatelessWidget { - const CustomCupertinoPageScaffold({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height - 300, - child: const CupertinoPageScaffold( - navigationBar: CupertinoNavigationBar( - leading: Icon(CupertinoIcons.reply), - trailing: Icon(CupertinoIcons.share), - middle: Text('Flutter Unit'), - ), - backgroundColor: CupertinoColors.systemBackground, - child: Center( - child: Text('Hello, World!'), - ), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_de_DE.json deleted file mode 100644 index 2cde8206c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 139, - "name": "CupertinoPicker", - "localName": "iOS-Auswahl", - "info": "Hochwertiger zylindrischer Schieberegler, äußerst raffiniert, kann viele Konfigurationsattribute angeben und empfängt ausgewählte Ereignisse beim Schieben.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPicker Grundlegende Verwendung", - "desc": [ - "【children】 : Liste der Unterkomponenten 【List】", - "【offAxisFraction】 : Achsversatzrate 【double】", - "【squeeze】 : Quetschrate 【double】", - "【diameterRatio】 : Verhältnis von Höhe zu Zylinderdurchmesser 【double】", - "【itemExtent】 : Abstand 【double】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【onSelectedItemChanged】 : Ausgewähltes Ereignis 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_en_US.json deleted file mode 100644 index 440bae87a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 139, - "name": "CupertinoPicker", - "localName": "iOS Picker", - "info": "A high-end cylindrical sliding picker, very sophisticated, with many configurable attributes, and it receives the selected event when sliding.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoPicker", - "desc": [ - "【children】 : List of child components 【List】", - "【offAxisFraction】 : Axis offset rate 【double】", - "【squeeze】 : Squeeze rate 【double】", - "【diameterRatio】 : Ratio of height to cylinder diameter 【double】", - "【itemExtent】 : Spacing 【double】", - "【backgroundColor】 : Background color 【Color】", - "【onSelectedItemChanged】 : Selected event 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_es_ES.json deleted file mode 100644 index 245844479..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 139, - "name": "CupertinoPicker", - "localName": "Selector iOS", - "info": "Selector de deslizamiento cilíndrico de alta gama, muy ingenioso, con muchas propiedades de configuración, recibe eventos de selección al deslizar.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoPicker", - "desc": [ - "【children】 : Lista de componentes hijos 【List】", - "【offAxisFraction】 : Tasa de desplazamiento del eje 【double】", - "【squeeze】 : Tasa de compresión 【double】", - "【diameterRatio】 : Relación entre la altura y el diámetro del cilindro 【double】", - "【itemExtent】 : Espaciado 【double】", - "【backgroundColor】 : Color de fondo 【Color】", - "【onSelectedItemChanged】 : Evento de selección 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_fr_FR.json deleted file mode 100644 index fb1445e37..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 139, - "name": "CupertinoPicker", - "localName": "Sélecteur iOS", - "info": "Un sélecteur cylindrique haut de gamme, très sophistiqué, avec de nombreuses propriétés configurables, recevant des événements de sélection lors du glissement.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoPicker", - "desc": [ - "【children】 : Liste des composants enfants 【List】", - "【offAxisFraction】 : Taux de décalage de l'axe 【double】", - "【squeeze】 : Taux de compression 【double】", - "【diameterRatio】 : Rapport hauteur/diamètre du cylindre 【double】", - "【itemExtent】 : Espacement 【double】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【onSelectedItemChanged】 : Événement de sélection 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_it_IT.json deleted file mode 100644 index 436b0ec2e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 139, - "name": "CupertinoPicker", - "localName": "Selettore iOS", - "info": "Un selettore a scorrimento cilindrico di alta gamma, estremamente sofisticato, con molte proprietà configurabili e in grado di ricevere eventi di selezione durante lo scorrimento.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoPicker", - "desc": [ - "【children】 : Lista dei componenti figli 【List】", - "【offAxisFraction】 : Frazione di offset dell'asse 【double】", - "【squeeze】 : Frazione di compressione 【double】", - "【diameterRatio】 : Rapporto tra altezza e diametro del cilindro 【double】", - "【itemExtent】 : Spaziatura 【double】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【onSelectedItemChanged】 : Evento di selezione 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_ja_JP.json deleted file mode 100644 index c348d5fe5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 139, - "name": "CupertinoPicker", - "localName": "iOSピッカー", - "info": "高級感あふれる円柱スライドピッカーで、精巧で、多くの設定属性を指定でき、スライド時の選択イベントを受け取ります。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPickerの基本使用", - "desc": [ - "【children】 : 子コンポーネントリスト 【List】", - "【offAxisFraction】 : 軸オフセット率 【double】", - "【squeeze】 : 圧縮率 【double】", - "【diameterRatio】 : 高さと円柱直径の比率 【double】", - "【itemExtent】 : 間隔 【double】", - "【backgroundColor】 : 背景色 【Color】", - "【onSelectedItemChanged】 : 選択イベント 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_ko_KR.json deleted file mode 100644 index 64c6fc06b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 139, - "name": "CupertinoPicker", - "localName": "iOS 선택기", - "info": "고급스러운 원통형 슬라이드 선택기로, 정교하며 많은 설정 속성을 지정할 수 있고 슬라이드 시 선택 이벤트를 수신합니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPicker 기본 사용법", - "desc": [ - "【children】 : 자식 위젯 리스트 【List】", - "【offAxisFraction】 : 축 오프셋 비율 【double】", - "【squeeze】 : 압축 비율 【double】", - "【diameterRatio】 : 높이와 원통 직경 비율 【double】", - "【itemExtent】 : 간격 【double】", - "【backgroundColor】 : 배경색 【Color】", - "【onSelectedItemChanged】 : 선택 이벤트 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_pt_PT.json deleted file mode 100644 index 0d17c373b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 139, - "name": "CupertinoPicker", - "localName": "Seletor iOS", - "info": "Um seletor deslizante cilíndrico de alta classe, extremamente sofisticado, que permite especificar muitos atributos de configuração e recebe eventos de seleção ao deslizar.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoPicker", - "desc": [ - "【children】 : Lista de componentes filhos 【List】", - "【offAxisFraction】 : Taxa de desvio do eixo 【double】", - "【squeeze】 : Taxa de compressão 【double】", - "【diameterRatio】 : Razão entre altura e diâmetro do cilindro 【double】", - "【itemExtent】 : Espaçamento 【double】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【onSelectedItemChanged】 : Evento de seleção 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_ru_RU.json deleted file mode 100644 index 9cd80dc48..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 139, - "name": "CupertinoPicker", - "localName": "iOS селектор", - "info": "Высококлассный цилиндрический слайдер-селектор, очень изысканный, может быть настроен с множеством свойств, принимает события при выборе во время скольжения.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoPicker", - "desc": [ - "【children】 : Список дочерних компонентов 【List】", - "【offAxisFraction】 : Коэффициент смещения оси 【double】", - "【squeeze】 : Коэффициент сжатия 【double】", - "【diameterRatio】 : Соотношение высоты к диаметру цилиндра 【double】", - "【itemExtent】 : Расстояние между элементами 【double】", - "【backgroundColor】 : Цвет фона 【Color】", - "【onSelectedItemChanged】 : Событие выбора 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_zh-CN.json deleted file mode 100644 index f04bba123..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 139, - "name": "CupertinoPicker", - "localName": "iOS选择器", - "info": "高大上的柱面滑动选择器,精妙十足,可指定很多配置属性,接收滑动时选中事件。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPicker基本使用", - "desc": [ - "【children】 : 子组件列表 【List】", - "【offAxisFraction】 : 轴偏移率 【double】", - "【squeeze】 : 挤压率 【double】", - "【diameterRatio】 : 高与圆柱直径比率 【double】", - "【itemExtent】 : 间距 【double】", - "【backgroundColor】 : 背景色 【Color】", - "【onSelectedItemChanged】 : 选中事件 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/node1_base.dart deleted file mode 100644 index e00bb7583..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoPicker/node1_base.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter/cupertino.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoPicker extends StatelessWidget { - const CustomCupertinoPicker({Key? key}) : super(key: key); - - final List names = const[ - 'Java', - 'Kotlin', - 'Dart', - 'Swift', - 'C++', - 'Python', - "JavaScript", - "PHP", - "Go", - "Object-c" - ]; - - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 150, - child: CupertinoPicker( - backgroundColor: CupertinoColors.systemGrey.withAlpha(33), - diameterRatio: 1, - offAxisFraction: 0.4, - squeeze: 1.5, - itemExtent: 40, - onSelectedItemChanged: (position) { - print('当前条目 ${names[position]}'); - }, - children: names.map((e) => Center(child: Text(e))).toList()), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_de_DE.json deleted file mode 100644 index 2dbe2c6f2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_de_DE.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 240, - "name": "CupertinoRadio", - "localName": "Radio-Button im macOS-Stil", - "info": "Ein Radio-Button im macOS-Stil, dessen Auswahlstatus durch value und groupValue bestimmt wird; onChanged ist der Callback für Klickereignisse.", - "lever": 4, - "family": 1, - "linkIds": [ - 19, - 45 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Verwendung von CupertinoRadio", - "desc": [ - "【value】 : Wert des Radio-Buttons 【T】", - "【groupValue】 : Aktueller übereinstimmender Wert 【T】", - "【onChanged】 : Callback bei Änderung 【Function(T)】" - ] - }, - { - "file": "node2.dart", - "name": "Farben von CupertinoRadio", - "desc": [ - "【activeColor】 : Hintergrundfarbe im aktiven Zustand 【Color?】", - "【fillColor】 : Füllfarbe 【Color?】", - "【inactiveColor】 : Hintergrundfarbe im inaktiven Zustand 【Color?】", - "【focusColor】 : Fokusfarbe 【Color?】", - "【mouseCursor】 : Mauszeigerstil 【MouseCursor?】" - ] - }, - { - "file": "node3.dart", - "name": "Umschaltbarkeit", - "desc": [ - "【toggleable】 : Ist Umschaltbarkeit unterstützt 【bool】", - "toggleable ist standardmäßig false. Wenn es true ist, wird bei einem Klick auf den aktiven Radio-Button ein null-Wert zurückgegeben, um die Anforderungen für die Auswahl und Nichtauswahl zu unterstützen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_en_US.json deleted file mode 100644 index 118f86351..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_en_US.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 240, - "name": "CupertinoRadio", - "localName": "Radio Button·macOS Style", - "info": "A macOS-style radio button, where the value and groupValue together determine whether the radio button is selected; the onChanged callback handles click events.", - "lever": 4, - "family": 1, - "linkIds": [ - 19, - 45 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "CupertinoRadio Usage", - "desc": [ - "【value】: Radio button value 【T】", - "【groupValue】: Current matching value 【T】", - "【onChanged】: Callback when changed 【Function(T)】" - ] - }, - { - "file": "node2.dart", - "name": "CupertinoRadio Colors", - "desc": [ - "【activeColor】: Active background color 【Color?】", - "【fillColor】: Fill color 【Color?】", - "【inactiveColor】: Inactive background color 【Color?】", - "【focusColor】: Focus color 【Color?】", - "【mouseCursor】: Mouse cursor style 【MouseCursor?】" - ] - }, - { - "file": "node3.dart", - "name": "Toggle Support", - "desc": [ - "【toggleable】: Whether toggle is supported 【bool】", - "toggleable defaults to false. When set to true, clicking an active radio button will call back null data, supporting the need for toggling between selected and unselected states." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_es_ES.json deleted file mode 100644 index fa288631f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_es_ES.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 240, - "name": "CupertinoRadio", - "localName": "Botón de opción estilo macOS", - "info": "Un botón de opción con estilo macOS, donde value y groupValue determinan si este botón de opción está seleccionado; onChanged es la devolución de llamada para el evento de clic.", - "lever": 4, - "family": 1, - "linkIds": [ - 19, - 45 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso de CupertinoRadio", - "desc": [ - "【value】: Valor del botón de opción 【T】", - "【groupValue】: Valor actual coincidente 【T】", - "【onChanged】: Devolución de llamada al cambiar 【Function(T)】" - ] - }, - { - "file": "node2.dart", - "name": "Colores de CupertinoRadio", - "desc": [ - "【activeColor】: Color de fondo activo 【Color?】", - "【fillColor】: Relleno 【Color?】", - "【inactiveColor】: Color de fondo inactivo 【Color?】", - "【focusColor】: Color de enfoque 【Color?】", - "【mouseCursor】: Estilo del cursor del ratón 【MouseCursor?】" - ] - }, - { - "file": "node3.dart", - "name": "Soporte de alternancia", - "desc": [ - "【toggleable】: Soporta alternancia 【bool】", - "toggleable es false por defecto, cuando es true, al hacer clic en un botón de opción activo, se devuelve un valor null, lo que permite satisfacer la necesidad de alternar entre seleccionado y no seleccionado." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_fr_FR.json deleted file mode 100644 index f9705e372..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_fr_FR.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 240, - "name": "CupertinoRadio", - "localName": "Bouton radio·style macOS", - "info": "Un bouton radio de style macOS, la valeur et groupValue déterminent ensemble si ce bouton radio est sélectionné; onChanged rappelle l'événement de clic.", - "lever": 4, - "family": 1, - "linkIds": [ - 19, - 45 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation de CupertinoRadio", - "desc": [ - "【value】 : Valeur du bouton radio 【T】", - "【groupValue】 : Valeur de correspondance actuelle 【T】", - "【onChanged】 : Rappel lors du changement 【Function(T)】" - ] - }, - { - "file": "node2.dart", - "name": "Couleur de CupertinoRadio", - "desc": [ - "【activeColor】 : Couleur de fond active 【Color?】", - "【fillColor】 : Remplissage 【Color?】", - "【inactiveColor】 : Couleur de fond inactive 【Color?】", - "【focusColor】 : Couleur de focus 【Color?】", - "【mouseCursor】 : Style du curseur de la souris 【MouseCursor?】" - ] - }, - { - "file": "node3.dart", - "name": "Prise en charge du basculement", - "desc": [ - "【toggleable】 : Prise en charge du basculement 【bool】", - "toggleable est par défaut false, lorsqu'il est true, cliquer sur le bouton radio actif rappellera des données null, répondant ainsi aux besoins de basculement entre sélection et non-sélection." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_it_IT.json deleted file mode 100644 index dcccf7ed9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_it_IT.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 240, - "name": "CupertinoRadio", - "localName": "Pulsante di scelta·Stile macOS", - "info": "Un pulsante di scelta in stile macOS, value e groupValue determinano insieme se questo pulsante di scelta è selezionato; onChanged richiama l'evento di clic.", - "lever": 4, - "family": 1, - "linkIds": [ - 19, - 45 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilizzo di CupertinoRadio", - "desc": [ - "【value】 : Valore del pulsante di scelta 【T】", - "【groupValue】 : Valore corrente corrispondente 【T】", - "【onChanged】 : Richiama quando cambia 【Function(T)】" - ] - }, - { - "file": "node2.dart", - "name": "Colori di CupertinoRadio", - "desc": [ - "【activeColor】 : Colore di sfondo attivo 【Color?】", - "【fillColor】 : Riempimento 【Color?】", - "【inactiveColor】 : Colore di sfondo inattivo 【Color?】", - "【focusColor】 : Colore di messa a fuoco 【Color?】", - "【mouseCursor】 : Stile del puntatore del mouse 【MouseCursor?】" - ] - }, - { - "file": "node3.dart", - "name": "Supporto per il passaggio", - "desc": [ - "【toggleable】 : Supporto per il passaggio 【bool】", - "toggleable è impostato su false per impostazione predefinita, quando è true, cliccando sul pulsante di scelta attivo, richiamerà i dati null, supportando così la necessità di passare tra selezionato e non selezionato." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_ja_JP.json deleted file mode 100644 index 42f6cf60e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_ja_JP.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 240, - "name": "CupertinoRadio", - "localName": "ラジオボタン·macOSスタイル", - "info": "macOSスタイルのラジオボタンで、valueとgroupValueによってこのラジオボタンが選択されているかどうかが決まります;onChangedはクリックイベントのコールバックです。", - "lever": 4, - "family": 1, - "linkIds": [ - 19, - 45 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "CupertinoRadio 使用", - "desc": [ - "【value】 : ラジオボタンの値 【T】", - "【groupValue】 : 現在のマッチ値 【T】", - "【onChanged】 : 変更時のコールバック 【Function(T)】" - ] - }, - { - "file": "node2.dart", - "name": "CupertinoRadio 色", - "desc": [ - "【activeColor】 : アクティブな背景色 【Color?】", - "【fillColor】 : 塗りつぶし 【Color?】", - "【inactiveColor】 : 非アクティブな背景色 【Color?】", - "【focusColor】 : フォーカス色 【Color?】", - "【mouseCursor】 : マウスポインタのスタイル 【MouseCursor?】" - ] - }, - { - "file": "node3.dart", - "name": "切り替えサポート", - "desc": [ - "【toggleable】 : 切り替えサポート 【bool】", - "toggleableはデフォルトでfalseで、trueの場合、アクティブなラジオボタンをクリックするとnullデータがコールバックされ、選択と非選択の切り替えニーズをサポートします。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_ko_KR.json deleted file mode 100644 index ce96904d1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_ko_KR.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 240, - "name": "CupertinoRadio", - "localName": "라디오 버튼·macOS 스타일", - "info": "macOS 스타일의 라디오 버튼, value와 groupValue가 함께 이 라디오 버튼이 선택되었는지 여부를 결정합니다; onChanged는 클릭 이벤트를 콜백합니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 19, - 45 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "CupertinoRadio 사용", - "desc": [ - "【value】 : 라디오 버튼 값 【T】", - "【groupValue】 : 현재 매칭 값 【T】", - "【onChanged】 : 변경 시 콜백 【Function(T)】" - ] - }, - { - "file": "node2.dart", - "name": "CupertinoRadio 색상", - "desc": [ - "【activeColor】 : 활성 배경 색상 【Color?】", - "【fillColor】 : 채우기 【Color?】", - "【inactiveColor】 : 비활성 배경 색상 【Color?】", - "【focusColor】 : 포커스 색상 【Color?】", - "【mouseCursor】 : 마우스 커서 스타일 【MouseCursor?】" - ] - }, - { - "file": "node3.dart", - "name": "토글 지원 여부", - "desc": [ - "【toggleable】 : 토글 지원 여부 【bool】", - "toggleable은 기본적으로 false이며, true일 때 활성화된 라디오 버튼을 클릭하면 null 데이터를 콜백하여 선택 및 비선택 전환 요구를 지원합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_pt_PT.json deleted file mode 100644 index 1e16f0768..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_pt_PT.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 240, - "name": "CupertinoRadio", - "localName": "Botão de Rádio·Estilo macOS", - "info": "Um botão de rádio no estilo macOS, onde value e groupValue determinam se o botão de rádio está selecionado; onChanged é o callback para o evento de clique.", - "lever": 4, - "family": 1, - "linkIds": [ - 19, - 45 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso do CupertinoRadio", - "desc": [ - "【value】 : Valor do botão de rádio 【T】", - "【groupValue】 : Valor correspondente atual 【T】", - "【onChanged】 : Callback de mudança 【Function(T)】" - ] - }, - { - "file": "node2.dart", - "name": "Cores do CupertinoRadio", - "desc": [ - "【activeColor】 : Cor de fundo ativa 【Color?】", - "【fillColor】 : Preenchimento 【Color?】", - "【inactiveColor】 : Cor de fundo inativa 【Color?】", - "【focusColor】 : Cor de foco 【Color?】", - "【mouseCursor】 : Estilo do cursor do mouse 【MouseCursor?】" - ] - }, - { - "file": "node3.dart", - "name": "Suporte a Alternância", - "desc": [ - "【toggleable】 : Suporta alternância 【bool】", - "toggleable é false por padrão, quando true, clicar no botão de rádio ativo retorna dados nulos, suportando a necessidade de alternar entre selecionado e não selecionado." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_ru_RU.json deleted file mode 100644 index 66cab929e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_ru_RU.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 240, - "name": "CupertinoRadio", - "localName": "Радиокнопка·macOS стиль", - "info": "Радиокнопка в стиле macOS, value и groupValue вместе определяют, выбрана ли эта радиокнопка; onChanged обратный вызов события клика.", - "lever": 4, - "family": 1, - "linkIds": [ - 19, - 45 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Использование CupertinoRadio", - "desc": [ - "【value】 : Значение радиокнопки 【T】", - "【groupValue】 : Текущее совпадающее значение 【T】", - "【onChanged】 : Обратный вызов при изменении 【Function(T)】" - ] - }, - { - "file": "node2.dart", - "name": "Цвета CupertinoRadio", - "desc": [ - "【activeColor】 : Цвет активного фона 【Color?】", - "【fillColor】 : Заполнение 【Color?】", - "【inactiveColor】 : Цвет неактивного фона 【Color?】", - "【focusColor】 : Цвет фокуса 【Color?】", - "【mouseCursor】 : Стиль указателя мыши 【MouseCursor?】" - ] - }, - { - "file": "node3.dart", - "name": "Поддержка переключения", - "desc": [ - "【toggleable】 : Поддержка переключения 【bool】", - "toggleable по умолчанию false, если true, при нажатии на активную радиокнопку будет возвращаться null, чтобы поддерживать переключение между выбором и отменой выбора." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_zh-CN.json deleted file mode 100644 index 89fe1e0fe..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/desc_zh-CN.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 240, - "name": "CupertinoRadio", - "localName": "单选钮·macOS风格", - "info": "一个 macOS 风格的选钮,value 和 groupValue 一起决定该单选按钮是否被选中; onChanged 回调点击事件。", - "lever": 4, - "family": 1, - "linkIds": [ - 19, - 45 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "CupertinoRadio 使用", - "desc": [ - "【value】 : 选钮值 【T】", - "【groupValue】 : 当前匹配值 【T】", - "【onChanged】 : 改变时回调 【Function(T)】" - ] - }, - { - "file": "node2.dart", - "name": "CupertinoRadio 颜色", - "desc": [ - "【activeColor】 : 激活背景颜色 【Color?】", - "【fillColor】 : 填充 【Color?】", - "【inactiveColor】 : 未激活背景颜色 【Color?】", - "【focusColor】 : 聚焦色 【Color?】", - "【mouseCursor】 : 鼠标指针样式 【MouseCursor?】" - ] - }, - { - "file": "node3.dart", - "name": "是否支持切换", - "desc": [ - "【toggleable】 : 是否支持切换 【bool】", - "toggleable 默认为 false, 为 true 时,点击激活的选钮,会回调 null 数据,以此支持选中和非选择切换需求。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/node1.dart deleted file mode 100644 index bfe2b26c8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/node1.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -class CupertinoRadioDemo1 extends StatefulWidget { - const CupertinoRadioDemo1({super.key}); - - @override - State createState() => _CupertinoRadioDemo1State(); -} - -class _CupertinoRadioDemo1State extends State { - List data = [0, 1, 2, 3, 4, 5]; - int _value = 1; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 6, - children: data - .map((int value) => CupertinoRadio( - value: value, - groupValue: _value, - onChanged: _onChange, - )) - .toList(), - ); - } - - void _onChange(int? value) { - setState(() => _value = value ?? 0); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/node2.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/node2.dart deleted file mode 100644 index d2925e4a5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/node2.dart +++ /dev/null @@ -1,36 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -class CupertinoRadioDemo2 extends StatefulWidget { - const CupertinoRadioDemo2({super.key}); - - @override - State createState() => _CupertinoRadioDemo2State(); -} - -class _CupertinoRadioDemo2State extends State { - List data = [0, 1, 2, 3, 4, 5]; - int _value = 1; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 6, - children: data - .map((int value) => CupertinoRadio( - mouseCursor: SystemMouseCursors.click, - activeColor: Colors.purple, - fillColor: Colors.cyanAccent, - inactiveColor: Colors.cyanAccent.withOpacity(0.05), - focusColor: Colors.yellow.withOpacity(0.2), - value: value, - groupValue: _value, - onChanged: _onChange)) - .toList(), - ); - } - - void _onChange(int? value) { - setState(() => _value = value ?? 0); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/node3.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/node3.dart deleted file mode 100644 index cc01444a5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoRadio/node3.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/cupertino.dart'; - -class CupertinoRadioDemo3 extends StatefulWidget { - const CupertinoRadioDemo3({super.key}); - - @override - State createState() => _CupertinoRadioDemo3State(); -} - -class _CupertinoRadioDemo3State extends State { - List data = [0, 1, 2, 3, 4, 5]; - int? _value = 1; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 6, - children: data - .map((int value) => CupertinoRadio( - mouseCursor: SystemMouseCursors.click, - toggleable: true, - value: value, - groupValue: _value, - onChanged: _onChange)) - .toList(), - ); - } - - void _onChange(int? value) { - setState(() => _value = value); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_de_DE.json deleted file mode 100644 index db0a648aa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 195, - "name": "CupertinoScrollbar", - "localName": "iOS-Scrollbalken", - "info": "Ein iOS-stil Scrollbalken, der einen scrollbaren Bereich umschließen muss. Wenn der Bereich scrollbar ist, wird ein Scrollbalken angezeigt, um die Position anzuzeigen.", - "lever": 3, - "family": 1, - "linkIds": [ - 194, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoScrollbar", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_en_US.json deleted file mode 100644 index 0ed9921ff..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 195, - "name": "CupertinoScrollbar", - "localName": "iOS Scroll Indicator", - "info": "An iOS-style scroll indicator that needs to wrap a scrollable area. When scrollable, it displays a scroll bar for indication.", - "lever": 3, - "family": 1, - "linkIds": [ - 194, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoScrollbar", - "desc": [ - "【child】 : Child widget 【Widget】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_es_ES.json deleted file mode 100644 index eca87f9d0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 195, - "name": "CupertinoScrollbar", - "localName": "Barra de desplazamiento de iOS", - "info": "Barra de desplazamiento al estilo de iOS, necesita envolver un área desplazable. Cuando es desplazable, muestra una barra de desplazamiento para indicar.", - "lever": 3, - "family": 1, - "linkIds": [ - 194, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoScrollbar", - "desc": [ - "【child】 : Widget hijo 【Widget】", - "【controller】 : Controlador 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_fr_FR.json deleted file mode 100644 index b608b3806..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 195, - "name": "CupertinoScrollbar", - "localName": "Barre de défilement iOS", - "info": "Barre de défilement de style iOS, nécessite d'être enveloppée dans une zone défilable. Lorsque la zone est défilable, une barre de défilement est affichée pour l'indication.", - "lever": 3, - "family": 1, - "linkIds": [ - 194, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoScrollbar", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【controller】 : Contrôleur 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_it_IT.json deleted file mode 100644 index 27fca5422..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 195, - "name": "CupertinoScrollbar", - "localName": "Barra di scorrimento iOS", - "info": "Barra di scorrimento in stile iOS, deve avvolgere un'area scorrevole. Quando è possibile scorrere, viene visualizzata una barra di scorrimento per indicare.", - "lever": 3, - "family": 1, - "linkIds": [ - 194, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoScrollbar", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_ja_JP.json deleted file mode 100644 index 792fad381..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 195, - "name": "CupertinoScrollbar", - "localName": "iOSスクロールバー", - "info": "iOSスタイルのスクロールバーで、スクロール可能な領域をラップする必要があります。スクロール可能な場合、スクロールバーが表示されて指示します。", - "lever": 3, - "family": 1, - "linkIds": [ - 194, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoScrollbarの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【controller】 : コントローラー 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_ko_KR.json deleted file mode 100644 index 9cef34b09..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 195, - "name": "CupertinoScrollbar", - "localName": "iOS 스크롤바", - "info": "iOS 스타일의 스크롤바로, 스크롤 가능한 영역을 감싸야 하며, 스크롤이 가능할 때 스크롤을 나타내는 바가 표시됩니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 194, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoScrollbar 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【controller】 : 컨트롤러 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_pt_PT.json deleted file mode 100644 index 47a54f6c9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 195, - "name": "CupertinoScrollbar", - "localName": "Barra de rolagem iOS", - "info": "Barra de rolagem no estilo iOS, precisa envolver uma área rolável. Quando a área é rolável, uma barra de rolagem é exibida para indicar.", - "lever": 3, - "family": 1, - "linkIds": [ - 194, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoScrollbar", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【controller】 : Controlador 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_ru_RU.json deleted file mode 100644 index 0200f9c4c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 195, - "name": "CupertinoScrollbar", - "localName": "Ползунок прокрутки iOS", - "info": "Ползунок прокрутки в стиле iOS, который должен оборачивать прокручиваемую область. Когда прокрутка возможна, отображается ползунок для индикации.", - "lever": 3, - "family": 1, - "linkIds": [ - 194, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoScrollbar", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【controller】 : Контроллер 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_zh-CN.json deleted file mode 100644 index 861998d77..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 195, - "name": "CupertinoScrollbar", - "localName": "iOS滑动指示栏", - "info": "iOS风格的滑动指示栏,需要包裹一个可滑动区域,当可滑动时,会显示滑动的bar用于指示。", - "lever": 3, - "family": 1, - "linkIds": [ - 194, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoScrollbar基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【controller】 : 控制器 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/node1_base.dart deleted file mode 100644 index 77436718a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoScrollbar/node1_base.dart +++ /dev/null @@ -1,57 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoScrollbar extends StatelessWidget { - const CustomCupertinoScrollbar({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - TextStyle get textStyle => const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ]); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: CupertinoScrollbar( - child: ListView( - padding: const EdgeInsets.symmetric(horizontal: 5), - children: data - .map((color) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: color, - child: Text( - colorString(color), - style: textStyle, - ), - )) - .toList(), - ), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_de_DE.json deleted file mode 100644 index 0aee025ec..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_de_DE.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 262, - "name": "CupertinoSegmentedControl", - "localName": "iOS-Tab-Umschaltung", - "info": "iOS-Stil mehrerer Schaltflächenleiste, ähnlich wie ToggleButtons, kann Attribute wie Innenabstand, ausgewählte Farbe, Randfarbe usw. angeben.", - "lever": 4, - "family": 1, - "linkIds": [ - 33, - 256 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von iOS-Tabs", - "desc": [ - "【children】 : Widget-Map 【Map】", - "【onValueChanged】 : Rückruf bei Wertänderung 【ValueChanged】", - "【groupValue】 : Ausgewählter Wert 【T】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Farbe von CupertinoSegmentedControl", - "desc": [ - "【unselectedColor】 : Nicht ausgewählte Farbe 【Color】", - "【selectedColor】 : Ausgewählte Farbe 【Color】", - "【pressedColor】 : Gedrückte Farbe 【Color】", - "【borderColor】 : Randfarbe 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_en_US.json deleted file mode 100644 index 852b8e80d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_en_US.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 262, - "name": "CupertinoSegmentedControl", - "localName": "iOS Multi-Tab Switch", - "info": "iOS-style multi-button bar, similar in behavior to ToggleButtons, with customizable properties such as padding, selected color, border color, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 33, - 256 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of iOS Tabs", - "desc": [ - "【children】: Component Map 【Map】", - "【onValueChanged】: Value Change Callback 【ValueChanged】", - "【groupValue】: Selected Value 【T】", - "【padding】: Padding 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Colors of CupertinoSegmentedControl", - "desc": [ - "【unselectedColor】: Unselected Color 【Color】", - "【selectedColor】: Selected Color 【Color】", - "【pressedColor】: Pressed Color 【Color】", - "【borderColor】: Border Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_es_ES.json deleted file mode 100644 index e0d08d209..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_es_ES.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 262, - "name": "CupertinoSegmentedControl", - "localName": "Control de segmentos iOS", - "info": "Barra de múltiples botones al estilo iOS, similar a ToggleButtons, se pueden especificar propiedades como el relleno interno, el color seleccionado, el color del borde, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 33, - 256 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de pestañas iOS", - "desc": [ - "【children】 : Mapa de componentes 【Map】", - "【onValueChanged】 : Callback de cambio de valor 【ValueChanged】", - "【groupValue】 : Valor seleccionado 【T】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Colores de CupertinoSegmentedControl", - "desc": [ - "【unselectedColor】 : Color no seleccionado 【Color】", - "【selectedColor】 : Color seleccionado 【Color】", - "【pressedColor】 : Color al presionar 【Color】", - "【borderColor】 : Color del borde 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_fr_FR.json deleted file mode 100644 index da8eda6d8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_fr_FR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 262, - "name": "CupertinoSegmentedControl", - "localName": "Commutateur à onglets iOS", - "info": "Barre à boutons multiples de style iOS, similaire à ToggleButtons, avec des propriétés telles que le padding, la couleur sélectionnée, la couleur de la bordure, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 33, - 256 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base des onglets iOS", - "desc": [ - "【children】 : Map de composants 【Map】", - "【onValueChanged】 : Callback de changement de valeur 【ValueChanged】", - "【groupValue】 : Valeur sélectionnée 【T】", - "【padding】 : Padding 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Couleurs de CupertinoSegmentedControl", - "desc": [ - "【unselectedColor】 : Couleur non sélectionnée 【Color】", - "【selectedColor】 : Couleur sélectionnée 【Color】", - "【pressedColor】 : Couleur pressée 【Color】", - "【borderColor】 : Couleur de la bordure 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_it_IT.json deleted file mode 100644 index 409ec6e53..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_it_IT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 262, - "name": "CupertinoSegmentedControl", - "localName": "Interruttore a segmenti iOS", - "info": "Barra a pulsanti multipli in stile iOS, simile a ToggleButtons, con proprietà come padding, colore selezionato, colore del bordo, ecc.", - "lever": 4, - "family": 1, - "linkIds": [ - 33, - 256 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base delle schede iOS", - "desc": [ - "【children】 : Mappa dei componenti 【Map】", - "【onValueChanged】 : Callback per il cambio di valore 【ValueChanged】", - "【groupValue】 : Valore selezionato 【T】", - "【padding】 : Padding interno 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Colori di CupertinoSegmentedControl", - "desc": [ - "【unselectedColor】 : Colore non selezionato 【Color】", - "【selectedColor】 : Colore selezionato 【Color】", - "【pressedColor】 : Colore premuto 【Color】", - "【borderColor】 : Colore del bordo 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_ja_JP.json deleted file mode 100644 index 16d592054..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_ja_JP.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 262, - "name": "CupertinoSegmentedControl", - "localName": "iOSタブ切り替え", - "info": "iOSスタイルのマルチボタンバー、ToggleButtonsと同様の動作をします。内側の余白、選択色、枠線色などの属性を指定できます。", - "lever": 4, - "family": 1, - "linkIds": [ - 33, - 256 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "iOSタブの基本使用", - "desc": [ - "【children】 : コンポーネントマップ 【Map】", - "【onValueChanged】 : 値変更コールバック 【ValueChanged】", - "【groupValue】 : 選択値 【T】", - "【padding】 : 内側の余白 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "CupertinoSegmentedControlの色", - "desc": [ - "【unselectedColor】 : 未選択色 【Color】", - "【selectedColor】 : 選択色 【Color】", - "【pressedColor】 : 押下色 【Color】", - "【borderColor】 : 枠線色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_ko_KR.json deleted file mode 100644 index c3c3a8be4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_ko_KR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 262, - "name": "CupertinoSegmentedControl", - "localName": "iOS 다중 탭 전환", - "info": "iOS 스타일의 다중 버튼 바로, ToggleButtons와 유사하게 동작하며 내부 여백, 선택 색상, 테두리 색상 등의 속성을 지정할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 33, - 256 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "iOS 탭 기본 사용", - "desc": [ - "【children】 : 컴포넌트 맵 【Map】", - "【onValueChanged】 : 값 변경 콜백 【ValueChanged】", - "【groupValue】 : 선택된 값 【T】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "CupertinoSegmentedControl의 색상", - "desc": [ - "【unselectedColor】 : 선택되지 않은 색상 【Color】", - "【selectedColor】 : 선택된 색상 【Color】", - "【pressedColor】 : 눌린 색상 【Color】", - "【borderColor】 : 테두리 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_pt_PT.json deleted file mode 100644 index d9a5caca5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_pt_PT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 262, - "name": "CupertinoSegmentedControl", - "localName": "Alternância de múltiplas abas iOS", - "info": "Barra de múltiplos botões no estilo iOS, semelhante ao ToggleButtons, pode especificar atributos como preenchimento interno, cor selecionada, cor da borda, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 33, - 256 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de abas iOS", - "desc": [ - "【children】 : Mapa de componentes 【Map】", - "【onValueChanged】 : Callback de mudança de valor 【ValueChanged】", - "【groupValue】 : Valor selecionado 【T】", - "【padding】 : Preenchimento interno 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Cores do CupertinoSegmentedControl", - "desc": [ - "【unselectedColor】 : Cor não selecionada 【Color】", - "【selectedColor】 : Cor selecionada 【Color】", - "【pressedColor】 : Cor pressionada 【Color】", - "【borderColor】 : Cor da borda 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_ru_RU.json deleted file mode 100644 index c78e5cabf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_ru_RU.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 262, - "name": "CupertinoSegmentedControl", - "localName": "iOS многоколоночный переключатель", - "info": "iOS-стиль многокнопочной панели, поведение аналогично ToggleButtons, можно указать такие свойства, как внутренние отступы, цвет выделения, цвет границы и т.д.", - "lever": 4, - "family": 1, - "linkIds": [ - 33, - 256 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование вкладок iOS", - "desc": [ - "【children】 : Карта компонентов 【Map】", - "【onValueChanged】 : Обратный вызов изменения значения 【ValueChanged】", - "【groupValue】 : Выбранное значение 【T】", - "【padding】 : Внутренние отступы 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Цвета CupertinoSegmentedControl", - "desc": [ - "【unselectedColor】 : Цвет невыделенного 【Color】", - "【selectedColor】 : Цвет выделенного 【Color】", - "【pressedColor】 : Цвет нажатия 【Color】", - "【borderColor】 : Цвет границы 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_zh-CN.json deleted file mode 100644 index ae97e64e5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/desc_zh-CN.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 262, - "name": "CupertinoSegmentedControl", - "localName": "iOS多栏切换", - "info": "iOS风格的多按钮栏,表现和ToggleButtons类似,可指定内边距、选中色、边线色等属性。", - "lever": 4, - "family": 1, - "linkIds": [ - 33, - 256 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "iOS页签基本使用", - "desc": [ - "【children】 : 组件Map 【Map】", - "【onValueChanged】 : 值改变回调 【ValueChanged】", - "【groupValue】 : 选中值 【T】", - "【padding】 : 内边距 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "CupertinoSegmentedControl的颜色", - "desc": [ - "【unselectedColor】 : 未选中色 【Color】", - "【selectedColor】 : 选中色 【Color】", - "【pressedColor】 : 按下色 【Color】", - "【borderColor】 : 边线色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/node1_base.dart deleted file mode 100644 index 357ecb5ef..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/node1_base.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'package:flutter/cupertino.dart'; - -/// create by 张风捷特烈 on 2020/6/30 -/// contact me by email 1981462002@qq.com - -class CupertinoSegmentedControlDemo extends StatefulWidget { - const CupertinoSegmentedControlDemo({Key? key}) : super(key: key); - - @override - _CupertinoSegmentedControlDemoState createState() => - _CupertinoSegmentedControlDemoState(); -} - -class _CupertinoSegmentedControlDemoState - extends State { - int _value = 1; - - @override - Widget build(BuildContext context) { - return CupertinoSegmentedControl( - groupValue: _value, - onValueChanged: _onValueChanged, - padding: const EdgeInsets.only(top: 20), - children: const { - 1: Padding( - padding: EdgeInsets.only(left: 20, right: 20), - child: Text("混沌战士"), - ), - 2: Text("青眼白龙"), - 3: Text("黑魔术士"), - }, - ); - } - - void _onValueChanged(int value) { - setState(() { - _value=value; - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/node2_color.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/node2_color.dart deleted file mode 100644 index 1a5098ed1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSegmentedControl/node2_color.dart +++ /dev/null @@ -1,45 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/6/30 -/// contact me by email 1981462002@qq.com - -class CupertinoSegmentedControlColor extends StatefulWidget { - const CupertinoSegmentedControlColor({Key? key}) : super(key: key); - - @override - _CupertinoSegmentedControlColorState createState() => - _CupertinoSegmentedControlColorState(); -} - -class _CupertinoSegmentedControlColorState - extends State { - int _value = 1; - - @override - Widget build(BuildContext context) { - return CupertinoSegmentedControl( - unselectedColor: Colors.yellow, - selectedColor: Colors.green, - pressedColor: Colors.blue, - borderColor: Colors.red, - groupValue: _value, - onValueChanged: _onValueChanged, - padding: const EdgeInsets.only(top: 20), - children: const { - 1: Padding( - padding: EdgeInsets.only(left: 20, right: 20), - child: Text("混沌战士"), - ), - 2: Text("青眼白龙"), - 3: Text("黑魔术士"), - }, - ); - } - - void _onValueChanged(int value) { - setState(() { - _value=value; - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_de_DE.json deleted file mode 100644 index c44512a7b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 43, - "name": "CupertinoSlider", - "localName": "iOS-Schieberegler", - "info": "iOS-stilisiertes Schieberegler-Widget, das zwischen einem festgelegten Minimum und Maximum verschoben werden kann. Ermöglicht die Angabe von Farben und empfängt Rückrufe bei Fortschrittsänderungen.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoSlider", - "desc": [ - "【value】 : Wert 【double】", - "【min】 : Mindestwert 【double】", - "【max】 : Höchstwert 【double】", - "【activeColor】 : Aktive Farbe 【Color】", - "【thumbColor】 : Farbe des Reglers 【Color】", - "【divisions】 : Anzahl der Abschnitte 【int】", - "【onChangeStart】 : Rückruf beim Start des Verschiebens 【Function(double)】", - "【onChangeEnd】 : Rückruf beim Ende des Verschiebens 【Function(double)】", - "【onChanged】 : Rückruf bei Änderung 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_en_US.json deleted file mode 100644 index d8ca6668d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 43, - "name": "CupertinoSlider", - "localName": "iOS Slider", - "info": "An iOS-style slider component that allows dragging to select between a specified maximum and minimum value. You can specify colors and receive callbacks for progress changes.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoSlider", - "desc": [ - "【value】: value 【double】", - "【min】: minimum value 【double】", - "【max】: maximum value 【double】", - "【activeColor】: active color 【Color】", - "【thumbColor】: thumb color 【Color】", - "【divisions】: number of divisions 【int】", - "【onChangeStart】: callback when sliding starts 【Function(double)】", - "【onChangeEnd】: callback when sliding ends 【Function(double)】", - "【onChanged】: callback when value changes 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_es_ES.json deleted file mode 100644 index c14cbf8bd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 43, - "name": "CupertinoSlider", - "localName": "Control deslizante de iOS", - "info": "Componente de control deslizante al estilo de iOS, que permite seleccionar arrastrando entre un valor máximo y mínimo especificados. Se puede especificar el color y recibir una devolución de llamada para los cambios de progreso.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoSlider", - "desc": [ - "【value】 : valor 【double】", - "【min】 : valor mínimo 【double】", - "【max】 : valor máximo 【double】", - "【activeColor】 : color activo 【Color】", - "【thumbColor】 : color del círculo 【Color】", - "【divisions】 : número de divisiones 【int】", - "【onChangeStart】 : devolución de llamada al comenzar a deslizar 【Function(double)】", - "【onChangeEnd】 : devolución de llamada al finalizar el deslizamiento 【Function(double)】", - "【onChanged】 : devolución de llamada al cambiar 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_fr_FR.json deleted file mode 100644 index 09d1ddd2d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 43, - "name": "CupertinoSlider", - "localName": "Curseur iOS", - "info": "Composant curseur de style iOS, permettant de faire glisser et sélectionner entre une valeur minimale et maximale spécifiées. Peut spécifier la couleur et recevoir un rappel de changement de progression.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoSlider", - "desc": [ - "【value】 : valeur 【double】", - "【min】 : valeur minimale 【double】", - "【max】 : valeur maximale 【double】", - "【activeColor】 : couleur active 【Color】", - "【thumbColor】 : couleur du curseur 【Color】", - "【divisions】 : nombre de divisions 【int】", - "【onChangeStart】 : rappel de début de glissement 【Function(double)】", - "【onChangeEnd】 : rappel de fin de glissement 【Function(double)】", - "【onChanged】 : rappel de changement 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_it_IT.json deleted file mode 100644 index 6d3a68f24..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 43, - "name": "CupertinoSlider", - "localName": "Cursore iOS", - "info": "Componente cursore in stile iOS, che consente di selezionare trascinando tra un valore massimo e minimo specificato. È possibile specificare il colore e ricevere un callback per le modifiche di avanzamento.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoSlider", - "desc": [ - "【value】 : valore 【double】", - "【min】 : valore minimo 【double】", - "【max】 : valore massimo 【double】", - "【activeColor】 : colore attivo 【Color】", - "【thumbColor】 : colore del cerchio 【Color】", - "【divisions】 : numero di divisioni 【int】", - "【onChangeStart】 : callback di inizio scorrimento 【Function(double)】", - "【onChangeEnd】 : callback di fine scorrimento 【Function(double)】", - "【onChanged】 : callback di modifica 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_ja_JP.json deleted file mode 100644 index e0265be8b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 43, - "name": "CupertinoSlider", - "localName": "iOSスライダー", - "info": "iOSスタイルのスライダーコンポーネントで、指定された最大値と最小値の間でドラッグして選択できます。色を指定でき、進捗変化のコールバックを受け取ります。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoSliderの基本使用", - "desc": [ - "【value】 : 数値 【double】", - "【min】 : 最小値 【double】", - "【max】 : 最大値 【double】", - "【activeColor】 : アクティブカラー 【Color】", - "【thumbColor】 : サークルカラー 【Color】", - "【divisions】 : セグメント数 【int】", - "【onChangeStart】 : スライド開始コールバック 【Function(double)】", - "【onChangeEnd】 : スライド終了コールバック 【Function(double)】", - "【onChanged】 : 変更時コールバック 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_ko_KR.json deleted file mode 100644 index 7ec7d2484..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 43, - "name": "CupertinoSlider", - "localName": "iOS 슬라이더", - "info": "iOS 스타일의 슬라이더 컴포넌트로, 지정된 최대값과 최소값 사이에서 드래그하여 선택할 수 있습니다. 색상을 지정할 수 있으며, 진행 상황 변화 콜백을 받을 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoSlider 기본 사용", - "desc": [ - "【value】 : 값 【double】", - "【min】 : 최소값 【double】", - "【max】 : 최대값 【double】", - "【activeColor】 : 활성 색상 【Color】", - "【thumbColor】 : 원형 색상 【Color】", - "【divisions】 : 분할 수 【int】", - "【onChangeStart】 : 슬라이드 시작 콜백 【Function(double)】", - "【onChangeEnd】 : 슬라이드 종료 콜백 【Function(double)】", - "【onChanged】 : 변경 시 콜백 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_pt_PT.json deleted file mode 100644 index dc6d97aef..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 43, - "name": "CupertinoSlider", - "localName": "Controlo Deslizante iOS", - "info": "Componente de controlo deslizante no estilo iOS, que permite selecionar arrastando entre um valor máximo e mínimo especificados. Pode-se especificar cores e receber callbacks de mudança de progresso.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do CupertinoSlider", - "desc": [ - "【value】 : valor 【double】", - "【min】 : valor mínimo 【double】", - "【max】 : valor máximo 【double】", - "【activeColor】 : cor ativa 【Color】", - "【thumbColor】 : cor do círculo 【Color】", - "【divisions】 : número de divisões 【int】", - "【onChangeStart】 : callback de início de deslize 【Function(double)】", - "【onChangeEnd】 : callback de fim de deslize 【Function(double)】", - "【onChanged】 : callback de mudança 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_ru_RU.json deleted file mode 100644 index 4c3511136..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 43, - "name": "CupertinoSlider", - "localName": "iOS слайдер", - "info": "Компонент слайдера в стиле iOS, который позволяет выбирать значения путем перетаскивания между указанными минимальным и максимальным значениями. Можно указать цвет и получать обратные вызовы при изменении прогресса.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoSlider", - "desc": [ - "【value】 : значение 【double】", - "【min】 : минимальное значение 【double】", - "【max】 : максимальное значение 【double】", - "【activeColor】 : активный цвет 【Color】", - "【thumbColor】 : цвет круга 【Color】", - "【divisions】 : количество делений 【int】", - "【onChangeStart】 : обратный вызов при начале перетаскивания 【Function(double)】", - "【onChangeEnd】 : обратный вызов при завершении перетаскивания 【Function(double)】", - "【onChanged】 : обратный вызов при изменении 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_zh-CN.json deleted file mode 100644 index 09a46305e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 43, - "name": "CupertinoSlider", - "localName": "iOS滑块", - "info": "iOS风格的滑块组件,可以在指定的最大值和最小值之间拖动选择。可指定颜色,接收进度变化回调。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoSlider基本使用", - "desc": [ - "【value】 : 数值 【double】", - "【min】 : 最小值 【double】", - "【max】 : 最大值 【double】", - "【activeColor】 : 激活颜色 【Color】", - "【thumbColor】 : 圆形颜色 【Color】", - "【divisions】 : 分段数 【int】", - "【onChangeStart】 : 开始滑动回调 【Function(double)】", - "【onChangeEnd】 : 滑动结束回调 【Function(double)】", - "【onChanged】 : 改变时回调 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/node1_base.dart deleted file mode 100644 index b115de460..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlider/node1_base.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoSlider extends StatefulWidget { - const CustomCupertinoSlider({Key? key}) : super(key: key); - - @override - _CustomCupertinoSliderState createState() => _CustomCupertinoSliderState(); -} - -class _CustomCupertinoSliderState extends State { - double _value = 0.0; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text('当前值:${_value.toStringAsFixed(1)}'), - CupertinoSlider( - value: _value, - divisions: 180, - min: 0.0, - max: 360.0, - activeColor: Colors.green, - thumbColor: Colors.white, - onChangeStart: (value) => print('开始滑动:$value'), - onChangeEnd: (value) => print('滑动结束:$value'), - onChanged: (value) { - setState(() { - _value = value; - }); - }), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_de_DE.json deleted file mode 100644 index a6e5aa82e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 256, - "name": "CupertinoSlidingSegmentedControl", - "localName": "iOS-Schieberegister", - "info": "iOS-stilisiertes Schieberegister, unterstützt Klicken und Schieben zum Wechseln. Ermöglicht die Angabe von Registerfarben, Hintergrundfarben, Rändern und anderen Eigenschaften.", - "lever": 3, - "family": 1, - "linkIds": [ - 33, - 262 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung des iOS-Schieberegisters", - "desc": [ - "【children】 : Komponenten-Map 【Map】", - "【onValueChanged】 : Rückruf bei Wertänderung 【ValueChanged】", - "【groupValue】 : Ausgewählter Wert 【T】", - "【thumbColor】 : Ausgewählte Farbe 【Color】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_en_US.json deleted file mode 100644 index a00cd8a8d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 256, - "name": "CupertinoSlidingSegmentedControl", - "localName": "iOS Sliding Tabs", - "info": "iOS-style sliding tabs, supporting click and slide to switch. You can specify tab color, background color, margin and other properties.", - "lever": 3, - "family": 1, - "linkIds": [ - 33, - 262 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of iOS Sliding Tabs", - "desc": [ - "【children】: Component Map 【Map】", - "【onValueChanged】: Value Change Callback 【ValueChanged】", - "【groupValue】: Selected Value 【T】", - "【thumbColor】: Selected Color 【Color】", - "【backgroundColor】: Background Color 【Color】", - "【padding】: Padding 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_es_ES.json deleted file mode 100644 index 31cb1f686..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 256, - "name": "CupertinoSlidingSegmentedControl", - "localName": "Pestañas deslizantes de iOS", - "info": "Pestañas deslizantes al estilo de iOS, que admiten el cambio mediante clics y deslizamientos. Se pueden especificar propiedades como el color de la pestaña, el color de fondo, los márgenes, etc.", - "lever": 3, - "family": 1, - "linkIds": [ - 33, - 262 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de pestañas deslizantes de iOS", - "desc": [ - "【children】: Mapa de componentes 【Map】", - "【onValueChanged】: Callback de cambio de valor 【ValueChanged】", - "【groupValue】: Valor seleccionado 【T】", - "【thumbColor】: Color de selección 【Color】", - "【backgroundColor】: Color de fondo 【Color】", - "【padding】: Relleno interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_fr_FR.json deleted file mode 100644 index 3948c259a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 256, - "name": "CupertinoSlidingSegmentedControl", - "localName": "Onglets coulissants iOS", - "info": "Onglets coulissants de style iOS, prenant en charge le changement par clic ou glissement. Vous pouvez spécifier des propriétés telles que la couleur des onglets, la couleur de fond, les marges, etc.", - "lever": 3, - "family": 1, - "linkIds": [ - 33, - 262 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base des onglets coulissants iOS", - "desc": [ - "【children】 : Map des composants 【Map】", - "【onValueChanged】 : Rappel de changement de valeur 【ValueChanged】", - "【groupValue】 : Valeur sélectionnée 【T】", - "【thumbColor】 : Couleur de sélection 【Color】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_it_IT.json deleted file mode 100644 index f1e82bead..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 256, - "name": "CupertinoSlidingSegmentedControl", - "localName": "Schede scorrevoli iOS", - "info": "Schede scorrevoli in stile iOS, supportano il passaggio tramite clic e scorrimento. È possibile specificare proprietà come il colore delle schede, il colore di sfondo, i margini, ecc.", - "lever": 3, - "family": 1, - "linkIds": [ - 33, - 262 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base delle schede scorrevoli iOS", - "desc": [ - "【children】 : Mappa dei componenti 【Map】", - "【onValueChanged】 : Callback per il cambio di valore 【ValueChanged】", - "【groupValue】 : Valore selezionato 【T】", - "【thumbColor】 : Colore selezionato 【Color】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【padding】 : Spaziatura interna 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_ja_JP.json deleted file mode 100644 index 451a966e9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 256, - "name": "CupertinoSlidingSegmentedControl", - "localName": "iOSスライドタブ", - "info": "iOSスタイルのスライドタブで、クリックやスライドでの切り替えをサポートします。タブの色、背景色、余白などの属性を指定できます。", - "lever": 3, - "family": 1, - "linkIds": [ - 33, - 262 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "iOSスライドタブの基本使用", - "desc": [ - "【children】 : コンポーネントMap 【Map】", - "【onValueChanged】 : 値変更コールバック 【ValueChanged】", - "【groupValue】 : 選択値 【T】", - "【thumbColor】 : 選択色 【Color】", - "【backgroundColor】 : 背景色 【Color】", - "【padding】 : 内側の余白 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_ko_KR.json deleted file mode 100644 index 480697947..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 256, - "name": "CupertinoSlidingSegmentedControl", - "localName": "iOS 슬라이딩 탭", - "info": "iOS 스타일의 슬라이딩 탭으로, 클릭 및 슬라이드 전환을 지원합니다. 탭 색상, 배경색, 여백 등 속성을 지정할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 33, - 262 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "iOS 슬라이딩 탭 기본 사용", - "desc": [ - "【children】 : 컴포넌트 맵 【Map】", - "【onValueChanged】 : 값 변경 콜백 【ValueChanged】", - "【groupValue】 : 선택된 값 【T】", - "【thumbColor】 : 선택된 색상 【Color】", - "【backgroundColor】 : 배경색 【Color】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_pt_PT.json deleted file mode 100644 index 7f6034f8f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 256, - "name": "CupertinoSlidingSegmentedControl", - "localName": "Separador deslizante iOS", - "info": "Separador deslizante ao estilo iOS, suporta alternância por toque e deslize. Permite especificar propriedades como cor do separador, cor de fundo, margens, etc.", - "lever": 3, - "family": 1, - "linkIds": [ - 33, - 262 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do separador deslizante iOS", - "desc": [ - "【children】 : Mapa de componentes 【Map】", - "【onValueChanged】 : Callback de mudança de valor 【ValueChanged】", - "【groupValue】 : Valor selecionado 【T】", - "【thumbColor】 : Cor de seleção 【Color】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【padding】 : Preenchimento interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_ru_RU.json deleted file mode 100644 index c8696f4cf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 256, - "name": "CupertinoSlidingSegmentedControl", - "localName": "iOS слайдер вкладок", - "info": "Слайдер вкладок в стиле iOS, поддерживает переключение по клику и скольжению. Можно указать цвет вкладок, цвет фона, отступы и другие свойства.", - "lever": 3, - "family": 1, - "linkIds": [ - 33, - 262 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование iOS слайдера вкладок", - "desc": [ - "【children】 : Карта компонентов 【Map】", - "【onValueChanged】 : Обратный вызов при изменении значения 【ValueChanged】", - "【groupValue】 : Выбранное значение 【T】", - "【thumbColor】 : Цвет выбранного элемента 【Color】", - "【backgroundColor】 : Цвет фона 【Color】", - "【padding】 : Внутренние отступы 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_zh-CN.json deleted file mode 100644 index cac065fcc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 256, - "name": "CupertinoSlidingSegmentedControl", - "localName": "iOS滑动页签", - "info": "iOS风格的滑动页签,支持点击、滑动切换。可指定页签颜色、背景色、边距等属性。", - "lever": 3, - "family": 1, - "linkIds": [ - 33, - 262 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "iOS滑动页签基本使用", - "desc": [ - "【children】 : 组件Map 【Map】", - "【onValueChanged】 : 值改变回调 【ValueChanged】", - "【groupValue】 : 选中值 【T】", - "【thumbColor】 : 选中色 【Color】", - "【backgroundColor】 : 背景色 【Color】", - "【padding】 : 内边距 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/node1_base.dart deleted file mode 100644 index 088ae395e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSlidingSegmentedControl/node1_base.dart +++ /dev/null @@ -1,44 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - -class CupertinoSlidingSegmentedControlDemo extends StatefulWidget { - const CupertinoSlidingSegmentedControlDemo({Key? key}) : super(key: key); - - @override - _CupertinoSlidingSegmentedControlDemoState createState() => - _CupertinoSlidingSegmentedControlDemoState(); -} - -class _CupertinoSlidingSegmentedControlDemoState - extends State { - int _value = 1; - - @override - Widget build(BuildContext context) { - return CupertinoSlidingSegmentedControl( - groupValue: _value, - onValueChanged: _onValueChanged, - thumbColor: Colors.amberAccent, - backgroundColor: Colors.green.withAlpha(99), - padding: const EdgeInsets.all(5), - children: const { - 1: Padding( - padding: EdgeInsets.only(left: 20, right: 20), - child: Text("混沌战士"), - ), - 2: Text("青眼白龙"), - 3: Text("黑魔导"), - }, - ); - } - - void _onValueChanged(int? value) { - if(value==null) return; - setState(() { - _value=value; - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_de_DE.json deleted file mode 100644 index 56853543c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 41, - "name": "CupertinoSwitch", - "localName": "iOS-Schalter", - "info": "Ein iOS-stilbasierter Umschalter, der häufig für die Konfigurationsumschaltung verwendet wird, kann Farben angeben und empfängt Rückrufe für Zustandsänderungen.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoSwitch", - "desc": [ - "【value】 : Ob ausgewählt 【double】", - "【activeColor】 : Farbe im aktivierten Zustand 【Color】", - "【onChanged】 : Umschalt-Rückruf 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_en_US.json deleted file mode 100644 index c4226620d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 41, - "name": "CupertinoSwitch", - "localName": "iOS Switch", - "info": "An iOS-style toggle switch, commonly used for configuration toggles, can specify colors, and receives state change callbacks.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoSwitch", - "desc": [ - "【value】: Whether it is selected 【double】", - "【activeColor】: Active state color 【Color】", - "【onChanged】: Toggle callback 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_es_ES.json deleted file mode 100644 index 060362991..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 41, - "name": "CupertinoSwitch", - "localName": "Interruptor iOS", - "info": "Interruptor de estilo iOS, comúnmente utilizado para cambiar configuraciones, se puede especificar el color y recibe una devolución de llamada para cambios de estado.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoSwitch", - "desc": [ - "【value】 : si está seleccionado 【double】", - "【activeColor】 : color del estado activo 【Color】", - "【onChanged】 : devolución de llamada de cambio 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_fr_FR.json deleted file mode 100644 index a3f017956..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 41, - "name": "CupertinoSwitch", - "localName": "Bouton de commutation iOS", - "info": "Bouton de commutation de style iOS, souvent utilisé pour la commutation de configuration, peut spécifier la couleur et recevoir un rappel de changement d'état.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoSwitch", - "desc": [ - "【value】 : Est-ce sélectionné 【double】", - "【activeColor】 : Couleur de l'état actif 【Color】", - "【onChanged】 : Rappel de commutation 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_it_IT.json deleted file mode 100644 index 18d6fe7c1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 41, - "name": "CupertinoSwitch", - "localName": "Interruttore iOS", - "info": "Interruttore in stile iOS, comunemente utilizzato per il cambio di configurazione, può specificare il colore e riceve un callback per i cambiamenti di stato.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoSwitch", - "desc": [ - "【value】 : Se è selezionato 【double】", - "【activeColor】 : Colore dello stato attivo 【Color】", - "【onChanged】 : Callback di cambio 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_ja_JP.json deleted file mode 100644 index 7d8343e99..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 41, - "name": "CupertinoSwitch", - "localName": "iOSスイッチ", - "info": "iOSスタイルのトグルスイッチ。設定の切り替えに頻繁に使用され、色を指定でき、状態変化のコールバックを受け取ります。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoSwitchの基本使用", - "desc": [ - "【value】 : 選択されているかどうか 【double】", - "【activeColor】 : アクティブ状態の色 【Color】", - "【onChanged】 : 切り替えコールバック 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_ko_KR.json deleted file mode 100644 index de3ac1587..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 41, - "name": "CupertinoSwitch", - "localName": "iOS 스위치", - "info": "iOS 스타일의 토글 스위치로, 설정 전환에 자주 사용되며 색상을 지정할 수 있고 상태 변화 콜백을 받습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoSwitch 기본 사용법", - "desc": [ - "【value】 : 선택 여부 【double】", - "【activeColor】 : 활성 상태 색상 【Color】", - "【onChanged】 : 전환 콜백 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_pt_PT.json deleted file mode 100644 index cbc0fa543..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 41, - "name": "CupertinoSwitch", - "localName": "Interruptor iOS", - "info": "Interruptor de estilo iOS, frequentemente usado para alternar configurações, pode especificar cores e receber callbacks de mudança de estado.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoSwitch", - "desc": [ - "【value】 : Se está selecionado 【double】", - "【activeColor】 : Cor do estado ativo 【Color】", - "【onChanged】 : Callback de alternância 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_ru_RU.json deleted file mode 100644 index f8f139a53..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 41, - "name": "CupertinoSwitch", - "localName": "iOS переключатель", - "info": "Переключатель в стиле iOS, часто используется для переключения настроек, может быть указан цвет, получает обратный вызов при изменении состояния.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoSwitch", - "desc": [ - "【value】 : выбрано ли 【double】", - "【activeColor】 : цвет активного состояния 【Color】", - "【onChanged】 : обратный вызов переключения 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_zh-CN.json deleted file mode 100644 index b07fe449b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 41, - "name": "CupertinoSwitch", - "localName": "iOS切钮", - "info": "iOS风格的切换选钮,常用于配置的切换,可指定颜色,接收状态变化回调。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoSwitch基本使用", - "desc": [ - "【value】 : 是否选中 【double】", - "【activeColor】 : 激活态颜色 【Color】", - "【onChanged】 : 切换回调 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/node1_base.dart deleted file mode 100644 index db405538d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoSwitch/node1_base.dart +++ /dev/null @@ -1,36 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoSwitch extends StatefulWidget { - const CustomCupertinoSwitch({Key? key}) : super(key: key); - - @override - _CustomCupertinoSwitchState createState() => _CustomCupertinoSwitchState(); -} - -class _CustomCupertinoSwitchState extends State { - final List colors = [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green - ]; - - bool _checked = false; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: colors - .map((e) => CupertinoSwitch( - value: _checked, - activeColor: e, - onChanged: (v) { - setState(() => _checked = v); - })).toList(), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_de_DE.json deleted file mode 100644 index 43f67a679..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 63, - "name": "CupertinoTabBar", - "localName": "iOS-Tab", - "info": "Ein iOS-stilvoller TabBar, der normalerweise für CupertinoTabScaffold verwendet wird. Kann Farben, Symbolgrößen, Ränder usw. angeben. Empfängt Klickereignisse für Elemente.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoTabBar", - "desc": [ - "【currentIndex】 : Aktueller aktivierter Index 【Widget】", - "【items】 : Elementkomponenten 【Widget】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【inactiveColor】 : Inaktive Farbe 【Color】", - "【activeColor】 : Aktive Farbe 【Color】", - "【iconSize】 : Symbolgröße 【double】", - "【border】 : Rand 【Border】", - "【onTap】 : Klickereignis 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_en_US.json deleted file mode 100644 index dd8e27711..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 63, - "name": "CupertinoTabBar", - "localName": "iOS Tab", - "info": "An iOS-style TabBar, typically used in CupertinoTabScaffold. Can specify color, icon size, border, and other data. Receives item click events.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoTabBar", - "desc": [ - "【currentIndex】 : Current active index 【Widget】", - "【items】 : Item components 【Widget】", - "【backgroundColor】 : Background color 【Color】", - "【inactiveColor】 : Inactive color 【Color】", - "【activeColor】 : Active color 【Color】", - "【iconSize】 : Icon size 【double】", - "【border】 : Border 【Border】", - "【onTap】 : Click event 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_es_ES.json deleted file mode 100644 index bb3d70228..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 63, - "name": "CupertinoTabBar", - "localName": "Pestañas iOS", - "info": "Un TabBar de estilo iOS, generalmente utilizado en CupertinoTabScaffold. Se pueden especificar datos como el color, el tamaño del icono, el borde, etc. Recibe eventos de clic en los elementos.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoTabBar", - "desc": [ - "【currentIndex】 : Índice activo actual 【Widget】", - "【items】 : Componentes de elementos 【Widget】", - "【backgroundColor】 : Color de fondo 【Color】", - "【inactiveColor】 : Color inactivo 【Color】", - "【activeColor】 : Color activo 【Color】", - "【iconSize】 : Tamaño del icono 【double】", - "【border】 : Borde 【Border】", - "【onTap】 : Evento de clic 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_fr_FR.json deleted file mode 100644 index 6ff1d38ab..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 63, - "name": "CupertinoTabBar", - "localName": "Onglets iOS", - "info": "Une barre d'onglets de style iOS, généralement utilisée dans CupertinoTabScaffold. Peut spécifier des données telles que la couleur, la taille des icônes, les bordures, etc. Reçoit les événements de clic sur les éléments.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoTabBar", - "desc": [ - "【currentIndex】 : Index actif actuel 【Widget】", - "【items】 : Composants des éléments 【Widget】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【inactiveColor】 : Couleur inactive 【Color】", - "【activeColor】 : Couleur active 【Color】", - "【iconSize】 : Taille de l'icône 【double】", - "【border】 : Bordure 【Border】", - "【onTap】 : Événement de clic 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_it_IT.json deleted file mode 100644 index a84652e00..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 63, - "name": "CupertinoTabBar", - "localName": "Schede iOS", - "info": "Una TabBar in stile iOS, solitamente utilizzata in CupertinoTabScaffold. È possibile specificare colore, dimensione delle icone, bordi, ecc. Riceve gli eventi di click sugli item.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di CupertinoTabBar", - "desc": [ - "【currentIndex】 : Indice attualmente attivo 【Widget】", - "【items】 : Componenti degli elementi 【Widget】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【inactiveColor】 : Colore inattivo 【Color】", - "【activeColor】 : Colore attivo 【Color】", - "【iconSize】 : Dimensione dell'icona 【double】", - "【border】 : Bordo 【Border】", - "【onTap】 : Evento di click 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_ja_JP.json deleted file mode 100644 index 1a0143453..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 63, - "name": "CupertinoTabBar", - "localName": "iOSタブ", - "info": "iOSスタイルのTabBarで、通常CupertinoTabScaffoldで使用されます。色、アイコンサイズ、ボーダーなどのデータを指定できます。アイテムのクリックイベントを受け取ります。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTabBarの基本使い方", - "desc": [ - "【currentIndex】 : 現在のアクティブインデックス 【Widget】", - "【items】 : アイテムコンポーネント 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【inactiveColor】 : 非アクティブ色 【Color】", - "【activeColor】 : アクティブ色 【Color】", - "【iconSize】 : アイコンサイズ 【double】", - "【border】 : ボーダー 【Border】", - "【onTap】 : クリックイベント 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_ko_KR.json deleted file mode 100644 index d97ac75a7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 63, - "name": "CupertinoTabBar", - "localName": "iOS 탭", - "info": "iOS 스타일의 TabBar로, 일반적으로 CupertinoTabScaffold에서 사용됩니다. 색상, 아이콘 크기, 테두리 등을 지정할 수 있습니다. 아이템의 클릭 이벤트를 수신합니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTabBar 기본 사용법", - "desc": [ - "【currentIndex】 : 현재 활성화된 인덱스 【Widget】", - "【items】 : 항목 위젯 【Widget】", - "【backgroundColor】 : 배경색 【Color】", - "【inactiveColor】 : 비활성화 색상 【Color】", - "【activeColor】 : 활성화 색상 【Color】", - "【iconSize】 : 아이콘 크기 【double】", - "【border】 : 테두리 【Border】", - "【onTap】 : 클릭 이벤트 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_pt_PT.json deleted file mode 100644 index 9b9feb286..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 63, - "name": "CupertinoTabBar", - "localName": "Separador de Páginas iOS", - "info": "Um TabBar de estilo iOS, geralmente usado em CupertinoTabScaffold. Pode especificar dados como cor, tamanho do ícone, borda, etc. Recebe eventos de clique nos itens.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do CupertinoTabBar", - "desc": [ - "【currentIndex】 : Índice ativo atual 【Widget】", - "【items】 : Componentes dos itens 【Widget】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【inactiveColor】 : Cor inativa 【Color】", - "【activeColor】 : Cor ativa 【Color】", - "【iconSize】 : Tamanho do ícone 【double】", - "【border】 : Borda 【Border】", - "【onTap】 : Evento de clique 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_ru_RU.json deleted file mode 100644 index 3f1d18321..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 63, - "name": "CupertinoTabBar", - "localName": "iOS вкладки", - "info": "TabBar в стиле iOS, обычно используется в CupertinoTabScaffold. Можно указать цвет, размер иконок, границы и другие данные. Получает события кликов по элементам.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoTabBar", - "desc": [ - "【currentIndex】 : текущий активный индекс 【Widget】", - "【items】 : компоненты элементов 【Widget】", - "【backgroundColor】 : цвет фона 【Color】", - "【inactiveColor】 : цвет неактивного элемента 【Color】", - "【activeColor】 : цвет активного элемента 【Color】", - "【iconSize】 : размер иконки 【double】", - "【border】 : граница 【Border】", - "【onTap】 : событие клика 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_zh-CN.json deleted file mode 100644 index 323d78bd8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 63, - "name": "CupertinoTabBar", - "localName": "iOS页签", - "info": "一个iOS风格的TabBar,通常用于CupertinoTabScaffold。可指定颜色、图标大小、边线等数据。接收item的点击事件。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTabBar基本用法", - "desc": [ - "【currentIndex】 : 当前激活索引 【Widget】", - "【items】 : 条目组件 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【inactiveColor】 : 非激活色 【Color】", - "【activeColor】 : 激活色 【Color】", - "【iconSize】 : 图标大小 【double】", - "【border】 : 边线 【Border】", - "【onTap】 : 点击事件 【Function(int)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/node1_base.dart deleted file mode 100644 index 523ee6171..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabBar/node1_base.dart +++ /dev/null @@ -1,63 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoTabBar extends StatefulWidget { - const CustomCupertinoTabBar({Key? key}) : super(key: key); - - @override - _CustomCupertinoTabBarState createState() => _CustomCupertinoTabBarState(); -} - -class _CustomCupertinoTabBarState extends State { - int _position = 0; - final Map iconsMap = { - //底栏图标 - "图鉴": Icons.home, "动态": Icons.toys, - "喜欢": Icons.favorite, "手册": Icons.class_, - "我的": Icons.account_circle, - }; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildContent(context), - _buildTabBar(), - ], - ); - } - - Widget _buildTabBar() { - return CupertinoTabBar( - currentIndex: _position, - onTap: (value) => setState(() => _position = value), - items: iconsMap.keys - .map((e) => BottomNavigationBarItem( - icon: Icon( - iconsMap[e], - ), - label: e, - )) - .toList(), - activeColor: Colors.blue, - inactiveColor: const Color(0xff333333), - backgroundColor: const Color(0xfff1f1f1), - iconSize: 25.0, - ); - } - - Widget _buildContent(BuildContext context) { - return Container( - alignment: Alignment.center, - width: MediaQuery.of(context).size.width, - height: 150, - color: const Color(0xffE7F3FC), - child: Text( - iconsMap.keys.toList()[_position], - style: const TextStyle(color: Colors.blue, fontSize: 24), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_de_DE.json deleted file mode 100644 index b87197045..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 158, - "name": "CupertinoTabScaffold", - "localName": "iOS-Tab-Scaffold", - "info": "iOS-stilisiertes Seitenlayout-Scaffold, das eine Navigationsleiste am unteren Rand und eine Hauptinhaltseite festlegen kann.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoTabScaffold", - "desc": [ - "【tabBar】 : Tab-Leiste 【CupertinoTabBar】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【controller】 : Controller 【CupertinoTabController】", - "【tabBuilder】 : Seitenkonstruktor 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_en_US.json deleted file mode 100644 index 1ab677a42..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 158, - "name": "CupertinoTabScaffold", - "localName": "iOS Tab Scaffold", - "info": "iOS style page layout scaffold structure, which can specify the bottom navigation bar and the main content page.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoTabScaffold", - "desc": [ - "【tabBar】: Tab bar 【CupertinoTabBar】", - "【backgroundColor】: Background color 【Color】", - "【controller】: Controller 【CupertinoTabController】", - "【tabBuilder】: Page builder 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_es_ES.json deleted file mode 100644 index 2b2cfcd9c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 158, - "name": "CupertinoTabScaffold", - "localName": "Andamio de pestañas iOS", - "info": "Estructura de andamio de diseño de página al estilo iOS, que permite especificar la barra de navegación inferior y la página de contenido principal.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoTabScaffold", - "desc": [ - "【tabBar】 : Barra de pestañas 【CupertinoTabBar】", - "【backgroundColor】 : Color de fondo 【Color】", - "【controller】 : Controlador 【CupertinoTabController】", - "【tabBuilder】 : Constructor de página 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_fr_FR.json deleted file mode 100644 index f0c9844e2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 158, - "name": "CupertinoTabScaffold", - "localName": "Échafaudage d'onglets iOS", - "info": "Structure d'échafaudage de mise en page de style iOS, permettant de spécifier la barre de navigation en bas et la page de contenu principal.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoTabScaffold", - "desc": [ - "【tabBar】 : Barre d'onglets 【CupertinoTabBar】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【controller】 : Contrôleur 【CupertinoTabController】", - "【tabBuilder】 : Constructeur de page 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_it_IT.json deleted file mode 100644 index 66dcdb499..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 158, - "name": "CupertinoTabScaffold", - "localName": "Impalcatura a schede iOS", - "info": "Struttura di impalcatura per layout di pagine in stile iOS, con barra di navigazione inferiore e pagina principale specificabili.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di CupertinoTabScaffold", - "desc": [ - "【tabBar】 : Barra delle schede 【CupertinoTabBar】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【controller】 : Controllore 【CupertinoTabController】", - "【tabBuilder】 : Costruttore di pagine 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_ja_JP.json deleted file mode 100644 index 5dc3ca23b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 158, - "name": "CupertinoTabScaffold", - "localName": "iOSタブスキャフォールド", - "info": "iOSスタイルのページレイアウトスキャフォールド構造で、最下部のナビゲーションバーとメインコンテンツページを指定できます。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTabScaffold基本使用法", - "desc": [ - "【tabBar】 : タブバー 【CupertinoTabBar】", - "【backgroundColor】 : 背景色 【Color】", - "【controller】 : コントローラー 【CupertinoTabController】", - "【tabBuilder】 : ページビルダー 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_ko_KR.json deleted file mode 100644 index fc87a3502..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 158, - "name": "CupertinoTabScaffold", - "localName": "iOS 탭 스캐폴드", - "info": "iOS 스타일의 페이지 레이아웃 스캐폴드 구조, 최하단의 네비게이션 전환 바와 주 내용 페이지를 지정할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTabScaffold 기본 사용법", - "desc": [ - "【tabBar】 : 탭 바 【CupertinoTabBar】", - "【backgroundColor】 : 배경색 【Color】", - "【controller】 : 컨트롤러 【CupertinoTabController】", - "【tabBuilder】 : 페이지 빌더 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_pt_PT.json deleted file mode 100644 index e08956199..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 158, - "name": "CupertinoTabScaffold", - "localName": "Estrutura de Scaffold de Abas iOS", - "info": "Estrutura de scaffold de layout de página no estilo iOS, que permite especificar a barra de navegação no fundo e a página de conteúdo principal.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do CupertinoTabScaffold", - "desc": [ - "【tabBar】 : Barra de Abas 【CupertinoTabBar】", - "【backgroundColor】 : Cor de Fundo 【Color】", - "【controller】 : Controlador 【CupertinoTabController】", - "【tabBuilder】 : Construtor de Páginas 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_ru_RU.json deleted file mode 100644 index 448d9d93a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 158, - "name": "CupertinoTabScaffold", - "localName": "iOS каркас вкладок", - "info": "iOS-стиль каркаса макета страницы, который позволяет указать нижнюю панель навигации и основную страницу контента.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoTabScaffold", - "desc": [ - "【tabBar】 : Панель вкладок 【CupertinoTabBar】", - "【backgroundColor】 : Цвет фона 【Color】", - "【controller】 : Контроллер 【CupertinoTabController】", - "【tabBuilder】 : Конструктор страницы 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_zh-CN.json deleted file mode 100644 index 3f8ee2fff..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 158, - "name": "CupertinoTabScaffold", - "localName": "iOS页签脚手架", - "info": "iOS风格的页面布局脚手架结构,可指定最底部的导航切换栏可主体内容页。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTabScaffold基本用法", - "desc": [ - "【tabBar】 : 页签条 【CupertinoTabBar】", - "【backgroundColor】 : 背景色 【Color】", - "【controller】 : 控制器 【CupertinoTabController】", - "【tabBuilder】 : 页面构造器 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/node1_base.dart deleted file mode 100644 index 8092538f4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabScaffold/node1_base.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoTabScaffold extends StatefulWidget { - const CustomCupertinoTabScaffold({Key? key}) : super(key: key); - - @override - _CustomCupertinoTabScaffoldState createState() => - _CustomCupertinoTabScaffoldState(); -} - -class _CustomCupertinoTabScaffoldState - extends State { - int _position = 0; - final Map iconsMap = { - //底栏图标 - "图鉴": Icons.home, "动态": Icons.toys, - "喜欢": Icons.favorite, "手册": Icons.class_, - "我的": Icons.account_circle, - }; - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height - 300, - child: CupertinoTabScaffold( - backgroundColor: Colors.grey.withAlpha(11), - tabBar: _buildTabBar(), - tabBuilder: (_, index) => _buildContent(index)), - ); - } - - CupertinoTabBar _buildTabBar() => CupertinoTabBar( - currentIndex: _position, - onTap: (value) => setState(() => _position = value), - items: iconsMap.keys - .map((e) => BottomNavigationBarItem( - icon: Icon( - iconsMap[e], - ), - label: e, - )) - .toList(), - activeColor: Colors.blue, - inactiveColor: const Color(0xff333333), - backgroundColor: const Color(0xfff1f1f1), - iconSize: 25.0, - ); - - _buildContent(int index) => Container( - alignment: Alignment.center, - child: Text(iconsMap.keys.toList()[index]), - ); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_de_DE.json deleted file mode 100644 index d3da3a862..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 229, - "name": "CupertinoTabView", - "localName": "Cupertino-Seite", - "info": "Kann wie MaterialApp einen Navigationsstapel verwalten. Routen werden über routes und onGenerateRoute erstellt, und die Navigation kann über navigatorObservers überwacht werden.", - "lever": 3, - "family": 1, - "linkIds": [ - 65, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoTabView", - "desc": [ - "【builder】: Hauptseitenkonstruktor 【WidgetBuilder】", - "【navigatorObservers】: Routenbeobachter 【List】", - "【routes】: Routenzuordnung 【Map】", - "【onGenerateRoute】: Routenfabrik 【RouteFactory】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_en_US.json deleted file mode 100644 index 821498eba..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 229, - "name": "CupertinoTabView", - "localName": "Cupertino Page", - "info": "Can maintain a routing stack like MaterialApp. Build routes through routes and onGenerateRoute, and listen to routes through navigatorObservers.", - "lever": 3, - "family": 1, - "linkIds": [ - 65, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoTabView", - "desc": [ - "【builder】 : Homepage builder 【WidgetBuilder】", - "【navigatorObservers】 : Route observers 【List】", - "【routes】 : Route mapping 【Map】", - "【onGenerateRoute】 : Route factory 【RouteFactory】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_es_ES.json deleted file mode 100644 index 21f797ff8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 229, - "name": "CupertinoTabView", - "localName": "Página de Cupertino", - "info": "Puede mantener una pila de rutas como MaterialApp. Construye rutas a través de routes y onGenerateRoute, y puede escuchar rutas a través de navigatorObservers.", - "lever": 3, - "family": 1, - "linkIds": [ - 65, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoTabView", - "desc": [ - "【builder】 : Constructor de la página principal 【WidgetBuilder】", - "【navigatorObservers】 : Observador de rutas 【List】", - "【routes】 : Mapeo de rutas 【Map】", - "【onGenerateRoute】 : Fábrica de rutas 【RouteFactory】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_fr_FR.json deleted file mode 100644 index e6c226862..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 229, - "name": "CupertinoTabView", - "localName": "Page Cupertino", - "info": "Peut maintenir une pile de routes comme MaterialApp. Construit les routes via routes et onGenerateRoute, et peut écouter les routes via navigatorObservers.", - "lever": 3, - "family": 1, - "linkIds": [ - 65, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoTabView", - "desc": [ - "【builder】 : Constructeur de la page d'accueil 【WidgetBuilder】", - "【navigatorObservers】 : Observateur de routes 【List】", - "【routes】 : Mappage des routes 【Map】", - "【onGenerateRoute】 : Usine de routes 【RouteFactory】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_it_IT.json deleted file mode 100644 index 33b5f2322..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 229, - "name": "CupertinoTabView", - "localName": "Pagina Cupertino", - "info": "Può mantenere uno stack di routing come MaterialApp. Costruisce il routing tramite routes e onGenerateRoute, e può monitorare il routing tramite navigatorObservers.", - "lever": 3, - "family": 1, - "linkIds": [ - 65, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoTabView", - "desc": [ - "【builder】: Costruttore della pagina principale 【WidgetBuilder】", - "【navigatorObservers】: Osservatore di routing 【List】", - "【routes】: Mappatura del routing 【Map】", - "【onGenerateRoute】: Fabbrica di routing 【RouteFactory】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_ja_JP.json deleted file mode 100644 index c47c93fd7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 229, - "name": "CupertinoTabView", - "localName": "Cupertinoページ", - "info": "MaterialAppのようにルートスタックを維持できます。routes、onGenerateRouteを使用してルートを構築し、navigatorObserversでルートを監視できます。", - "lever": 3, - "family": 1, - "linkIds": [ - 65, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTabViewの基本使用", - "desc": [ - "【builder】 : ホームページビルダー 【WidgetBuilder】", - "【navigatorObservers】 : ルート監視者 【List】", - "【routes】 : ルートマッピング 【Map】", - "【onGenerateRoute】 : ルートファクトリ 【RouteFactory】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_ko_KR.json deleted file mode 100644 index fd8f866aa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 229, - "name": "CupertinoTabView", - "localName": "Cupertino 페이지", - "info": "MaterialApp과 같이 라우팅 스택을 유지할 수 있습니다. routes, onGenerateRoute를 통해 라우팅을 구성하고, navigatorObservers를 통해 라우팅을 모니터링할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 65, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTabView 기본 사용법", - "desc": [ - "【builder】 : 홈페이지 빌더 【WidgetBuilder】", - "【navigatorObservers】 : 라우팅 리스너 【List】", - "【routes】 : 라우팅 매핑 【Map】", - "【onGenerateRoute】 : 라우팅 팩토리 【RouteFactory】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_pt_PT.json deleted file mode 100644 index 84eab5e5e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 229, - "name": "CupertinoTabView", - "localName": "Página Cupertino", - "info": "Pode manter uma pilha de rotas como o MaterialApp. Constrói rotas através de routes e onGenerateRoute, e pode monitorar rotas com navigatorObservers.", - "lever": 3, - "family": 1, - "linkIds": [ - 65, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoTabView", - "desc": [ - "【builder】 : Construtor da página inicial 【WidgetBuilder】", - "【navigatorObservers】 : Observador de rotas 【List】", - "【routes】 : Mapeamento de rotas 【Map】", - "【onGenerateRoute】 : Fábrica de rotas 【RouteFactory】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_ru_RU.json deleted file mode 100644 index 868182b68..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 229, - "name": "CupertinoTabView", - "localName": "Cupertino страница", - "info": "Может поддерживать стек маршрутов, как MaterialApp. Маршруты строятся через routes и onGenerateRoute, можно отслеживать маршруты через navigatorObservers.", - "lever": 3, - "family": 1, - "linkIds": [ - 65, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoTabView", - "desc": [ - "【builder】 : Конструктор главной страницы 【WidgetBuilder】", - "【navigatorObservers】 : Наблюдатель маршрутов 【List】", - "【routes】 : Карта маршрутов 【Map】", - "【onGenerateRoute】 : Фабрика маршрутов 【RouteFactory】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_zh-CN.json deleted file mode 100644 index 927e90f0b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 229, - "name": "CupertinoTabView", - "localName": "Cupertino页面", - "info": "可以像 MaterialApp 一样维护一个路由栈。通过 routes 、onGenerateRoute 来构建路由,可以通过 navigatorObservers 监听路由。", - "lever": 3, - "family": 1, - "linkIds": [ - 65, - 158 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTabView基本使用", - "desc": [ - "【builder】 : 主页构造器 【WidgetBuilder】", - "【navigatorObservers】 : 路由监听器 【List】", - "【routes】 : 路由映射 【Map】", - "【onGenerateRoute】 : 路由工厂 【RouteFactory】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/node1_base.dart deleted file mode 100644 index 511a70d70..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTabView/node1_base.dart +++ /dev/null @@ -1,103 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class CupertinoTabViewDemo extends StatelessWidget { - const CupertinoTabViewDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.all(10), - child: ElevatedButton( - onPressed: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const CupertinoTabViewPage()), - ); - }, - child: const Text("进入 CupertinoTabView 测试页"), - ), - ); - } -} - - -class CupertinoTabViewPage extends StatelessWidget { - const CupertinoTabViewPage({Key? key}) : super(key: key); - - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: CupertinoTabView( - routes: { - '/': (context) => _HomePage(), - '/test_detail': (context) => const DetailPage(), - }, - ), - ); - } -} - -class DetailPage extends StatelessWidget { - const DetailPage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return CupertinoPageScaffold( - navigationBar: const CupertinoNavigationBar( - middle: Text('我是详情页'), - ), - child: Center( - child: Container( - width: 200, - height: 200, - color: Colors.blue, - ), - ), - ); - } -} - -class _HomePage extends StatelessWidget { - - final String info = "CupertinoTabView 可以像 MaterialApp 一样维护一个路由栈。" - "通过 routes 、onGenerateRoute 来构建路由,可以通过 navigatorObservers 监听路由。" - "在这个路由栈中可以进行指定名称跳转,如下通过 /test_detail 跳到详情页。"; - - @override - Widget build(BuildContext context) { - return CupertinoPageScaffold( - navigationBar: const CupertinoNavigationBar( - middle: Text('我是主页'), - ), - child: Center(child: Column( - - children: [ - const Spacer(), - Material(child: Padding( - padding: const EdgeInsets.only(left:18.0,right: 18,bottom: 20), - child: Text(info), - )), - CupertinoButton( - padding: const EdgeInsets.only(left: 10,right: 10), - color: Colors.blue, - onPressed: () { - Navigator.pushNamed( - context, "/test_detail" - ); - }, - child: const Text("进入详情页"), - ), - const Spacer(), - ], - )), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_de_DE.json deleted file mode 100644 index 4a8ec787d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_de_DE.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 245, - "name": "CupertinoTextField", - "localName": "iOS-Stil Eingabefeld", - "info": "Cupertino-stilisiertes Eingabefeld, ähnliche Eigenschaften wie TextField, kann Controller, Textstil, Dekorationslinien, Zeilenbegrenzung, Cursor-Stil usw. angeben. Empfängt Ereignisse wie Eingabeänderungen und Eingabeabschluss.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoTextField", - "desc": [ - "【placeholder】 : Hinweistext 【String】", - "【showCursor】 : Cursor anzeigen 【bool】", - "【minLines】 : Mindestanzahl von Zeilen 【int】", - "【maxLines】 : Maximale Anzahl von Zeilen 【int】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】", - "【onChanged】 : Änderungsüberwachung 【ValueChanged】", - "【onTap】: Klicküberwachung 【GestureTapCallback】", - "【onSubmitted】: Übermittlungsüberwachung 【ValueChanged】" - ] - }, - { - "file": "node2_style.dart", - "name": "Häufig verwendete Stileigenschaften von CupertinoTextField", - "desc": [ - "【style】 : Eingabetextstil 【TextStyle】", - "【prefix】: Präfix-Komponente 【Widget】", - "【prefixMode】: Präfix-Modus 【OverlayVisibilityMode】", - "【suffix】: Suffix-Komponente 【Widget】", - "【suffixMode】: Suffix-Modus 【OverlayVisibilityMode】", - "【cursorColor】: Cursor-Farbe 【Color】", - "【cursorWidth】: Cursor-Breite 【double】", - "【cursorRadius】: Cursor-Radius 【Radius】", - "【readOnly】: Nur lesen 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_en_US.json deleted file mode 100644 index 68079c3d0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_en_US.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 245, - "name": "CupertinoTextField", - "localName": "iOS Style Input Box", - "info": "Cupertino style input box, properties are similar to TextField, can specify controller, text style, decoration line, line limit, cursor style, etc. Receives input change, input completion and other events.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoTextField", - "desc": [ - "【placeholder】 : Hint text 【String】", - "【showCursor】 : Whether to show cursor 【bool】", - "【minLines】 : Minimum number of lines 【int】", - "【maxLines】 : Maximum number of lines 【int】", - "【padding】 : Padding 【EdgeInsetsGeometry】", - "【onChanged】 : Change listener 【ValueChanged】", - "【onTap】: Tap listener 【GestureTapCallback】", - "【onSubmitted】: Submit listener 【ValueChanged】" - ] - }, - { - "file": "node2_style.dart", - "name": "Common Style Properties of CupertinoTextField", - "desc": [ - "【style】 : Input text style 【TextStyle】", - "【prefix】: Prefix component 【Widget】", - "【prefixMode】: Prefix mode 【OverlayVisibilityMode】", - "【suffix】: Suffix component 【Widget】", - "【suffixMode】: Suffix mode 【OverlayVisibilityMode】", - "【cursorColor】: Cursor color 【Color】", - "【cursorWidth】: Cursor width 【double】", - "【cursorRadius】: Cursor radius 【Radius】", - "【readOnly】: Whether read-only 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_es_ES.json deleted file mode 100644 index 5e587a02f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_es_ES.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 245, - "name": "CupertinoTextField", - "localName": "Campo de texto estilo iOS", - "info": "Campo de texto de estilo Cupertino, con propiedades similares a TextField, se puede especificar controlador, estilo de texto, línea de decoración, límite de líneas, estilo de cursor, etc. Recibe eventos de cambio de entrada, finalización de entrada, etc.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoTextField", - "desc": [ - "【placeholder】 : Texto de sugerencia 【String】", - "【showCursor】 : Mostrar cursor 【bool】", - "【minLines】 : Número mínimo de líneas 【int】", - "【maxLines】 : Número máximo de líneas 【int】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】", - "【onChanged】 : Escucha de cambios 【ValueChanged】", - "【onTap】: Escucha de clics 【GestureTapCallback】", - "【onSubmitted】: Escucha de envío 【ValueChanged】" - ] - }, - { - "file": "node2_style.dart", - "name": "Propiedades de estilo comunes de CupertinoTextField", - "desc": [ - "【style】 : Estilo del texto de entrada 【TextStyle】", - "【prefix】: Componente de prefijo 【Widget】", - "【prefixMode】: Modo de prefijo 【OverlayVisibilityMode】", - "【suffix】: Componente de sufijo 【Widget】", - "【suffixMode】: Modo de sufijo 【OverlayVisibilityMode】", - "【cursorColor】: Color del cursor 【Color】", - "【cursorWidth】: Ancho del cursor 【double】", - "【cursorRadius】: Radio del cursor 【Radius】", - "【readOnly】: Solo lectura 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_fr_FR.json deleted file mode 100644 index 69274be14..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_fr_FR.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 245, - "name": "CupertinoTextField", - "localName": "Champ de saisie de style iOS", - "info": "Champ de saisie de style Cupertino, les propriétés sont similaires à TextField, peut spécifier un contrôleur, le style du texte, la décoration, la limite de lignes, le style du curseur, etc. Reçoit des événements tels que les changements d'entrée, la fin de la saisie, etc.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoTextField", - "desc": [ - "【placeholder】 : Texte d'indication 【String】", - "【showCursor】 : Afficher le curseur 【bool】", - "【minLines】 : Nombre minimum de lignes 【int】", - "【maxLines】 : Nombre maximum de lignes 【int】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】", - "【onChanged】 : Écouteur de changement 【ValueChanged】", - "【onTap】: Écouteur de clic 【GestureTapCallback】", - "【onSubmitted】: Écouteur de soumission 【ValueChanged】" - ] - }, - { - "file": "node2_style.dart", - "name": "Propriétés de style courantes de CupertinoTextField", - "desc": [ - "【style】 : Style du texte saisi 【TextStyle】", - "【prefix】: Composant de préfixe 【Widget】", - "【prefixMode】: Mode de préfixe 【OverlayVisibilityMode】", - "【suffix】: Composant de suffixe 【Widget】", - "【suffixMode】: Mode de suffixe 【OverlayVisibilityMode】", - "【cursorColor】: Couleur du curseur 【Color】", - "【cursorWidth】: Largeur du curseur 【double】", - "【cursorRadius】: Rayon du curseur 【Radius】", - "【readOnly】: Lecture seule 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_it_IT.json deleted file mode 100644 index b6ea2672a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_it_IT.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 245, - "name": "CupertinoTextField", - "localName": "Campo di testo in stile iOS", - "info": "Campo di testo in stile Cupertino, le proprietà sono simili a TextField, è possibile specificare il controller, lo stile del testo, la decorazione, il limite di righe, lo stile del cursore, ecc. Riceve eventi come cambiamenti di input, completamento dell'input, ecc.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoTextField", - "desc": [ - "【placeholder】 : Testo suggerito 【String】", - "【showCursor】 : Mostra il cursore 【bool】", - "【minLines】 : Numero minimo di righe 【int】", - "【maxLines】 : Numero massimo di righe 【int】", - "【padding】 : Spaziatura interna 【EdgeInsetsGeometry】", - "【onChanged】 : Ascolta i cambiamenti 【ValueChanged】", - "【onTap】: Ascolta i clic 【GestureTapCallback】", - "【onSubmitted】: Ascolta l'invio 【ValueChanged】" - ] - }, - { - "file": "node2_style.dart", - "name": "Proprietà di stile comuni di CupertinoTextField", - "desc": [ - "【style】 : Stile del testo di input 【TextStyle】", - "【prefix】: Componente prefisso 【Widget】", - "【prefixMode】: Modalità prefisso 【OverlayVisibilityMode】", - "【suffix】: Componente suffisso 【Widget】", - "【suffixMode】: Modalità suffisso 【OverlayVisibilityMode】", - "【cursorColor】: Colore del cursore 【Color】", - "【cursorWidth】: Larghezza del cursore 【double】", - "【cursorRadius】: Raggio del cursore 【Radius】", - "【readOnly】: Solo lettura 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_ja_JP.json deleted file mode 100644 index f465bfe96..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_ja_JP.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 245, - "name": "CupertinoTextField", - "localName": "iOSスタイルの入力ボックス", - "info": "Cupertinoスタイルの入力ボックス。プロパティはTextFieldと類似しており、コントローラー、テキストスタイル、デコレーションライン、行数制限、カーソルスタイルなどを指定できます。入力変更や入力完了などのイベントを受け取ります。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTextFieldの基本使用", - "desc": [ - "【placeholder】 : ヒントテキスト 【String】", - "【showCursor】 : カーソルを表示するかどうか 【bool】", - "【minLines】 : 最小行数 【int】", - "【maxLines】 : 最大行数 【int】", - "【padding】 : パディング 【EdgeInsetsGeometry】", - "【onChanged】 : 変更リスナー 【ValueChanged】", - "【onTap】: クリックリスナー 【GestureTapCallback】", - "【onSubmitted】: 送信リスナー 【ValueChanged】" - ] - }, - { - "file": "node2_style.dart", - "name": "CupertinoTextFieldの一般的なスタイルプロパティ", - "desc": [ - "【style】 : 入力テキストスタイル 【TextStyle】", - "【prefix】: プレフィックスコンポーネント 【Widget】", - "【prefixMode】: プレフィックスモード 【OverlayVisibilityMode】", - "【suffix】: サフィックスコンポーネント 【Widget】", - "【suffixMode】: サフィックスモード 【OverlayVisibilityMode】", - "【cursorColor】: カーソルカラー 【Color】", - "【cursorWidth】: カーソル幅 【double】", - "【cursorRadius】: カーソルの角丸 【Radius】", - "【readOnly】: 読み取り専用かどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_ko_KR.json deleted file mode 100644 index 0b2a5e1e6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_ko_KR.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 245, - "name": "CupertinoTextField", - "localName": "iOS 스타일 입력 필드", - "info": "Cupertino 스타일의 입력 필드, 속성은 TextField와 유사하며, 컨트롤러, 텍스트 스타일, 장식선, 줄 수 제한, 커서 스타일 등을 지정할 수 있습니다. 입력 변화, 입력 완료 등의 이벤트를 수신합니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTextField 기본 사용", - "desc": [ - "【placeholder】 : 힌트 텍스트 【String】", - "【showCursor】 : 커서 표시 여부 【bool】", - "【minLines】 : 최소 줄 수 【int】", - "【maxLines】 : 최대 줄 수 【int】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】", - "【onChanged】 : 변경 감지 【ValueChanged】", - "【onTap】: 클릭 감지 【GestureTapCallback】", - "【onSubmitted】: 제출 감지 【ValueChanged】" - ] - }, - { - "file": "node2_style.dart", - "name": "CupertinoTextField 일반 스타일 속성", - "desc": [ - "【style】 : 입력 텍스트 스타일 【TextStyle】", - "【prefix】: 접두사 컴포넌트 【Widget】", - "【prefixMode】: 접두사 모드 【OverlayVisibilityMode】", - "【suffix】: 접미사 컴포넌트 【Widget】", - "【suffixMode】: 접미사 모드 【OverlayVisibilityMode】", - "【cursorColor】: 커서 색상 【Color】", - "【cursorWidth】: 커서 너비 【double】", - "【cursorRadius】: 커서 모서리 반경 【Radius】", - "【readOnly】: 읽기 전용 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_pt_PT.json deleted file mode 100644 index aea2caf0c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_pt_PT.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 245, - "name": "CupertinoTextField", - "localName": "Campo de entrada estilo iOS", - "info": "Campo de entrada no estilo Cupertino, com propriedades semelhantes ao TextField, pode especificar controlador, estilo de texto, decoração de linha, limite de linhas, estilo do cursor, etc. Recebe eventos de mudança de entrada, conclusão de entrada, etc.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoTextField", - "desc": [ - "【placeholder】 : Texto de dica 【String】", - "【showCursor】 : Mostrar cursor 【bool】", - "【minLines】 : Número mínimo de linhas 【int】", - "【maxLines】 : Número máximo de linhas 【int】", - "【padding】 : Preenchimento interno 【EdgeInsetsGeometry】", - "【onChanged】 : Monitoramento de mudanças 【ValueChanged】", - "【onTap】: Monitoramento de clique 【GestureTapCallback】", - "【onSubmitted】: Monitoramento de submissão 【ValueChanged】" - ] - }, - { - "file": "node2_style.dart", - "name": "Propriedades de estilo comuns do CupertinoTextField", - "desc": [ - "【style】 : Estilo do texto de entrada 【TextStyle】", - "【prefix】: Componente de prefixo 【Widget】", - "【prefixMode】: Modo de prefixo 【OverlayVisibilityMode】", - "【suffix】: Componente de sufixo 【Widget】", - "【suffixMode】: Modo de sufixo 【OverlayVisibilityMode】", - "【cursorColor】: Cor do cursor 【Color】", - "【cursorWidth】: Largura do cursor 【double】", - "【cursorRadius】: Raio do cursor 【Radius】", - "【readOnly】: Somente leitura 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_ru_RU.json deleted file mode 100644 index 4e5937626..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_ru_RU.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 245, - "name": "CupertinoTextField", - "localName": "Текстовое поле в стиле iOS", - "info": "Текстовое поле в стиле Cupertino, свойства аналогичны TextField, можно указать контроллер, стиль текста, декоративные линии, ограничение на количество строк, стиль курсора и т.д. Получает события изменения ввода, завершения ввода и другие.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoTextField", - "desc": [ - "【placeholder】 : Подсказка 【String】", - "【showCursor】 : Показывать ли курсор 【bool】", - "【minLines】 : Минимальное количество строк 【int】", - "【maxLines】 : Максимальное количество строк 【int】", - "【padding】 : Внутренние отступы 【EdgeInsetsGeometry】", - "【onChanged】 : Слушатель изменений 【ValueChanged】", - "【onTap】: Слушатель нажатия 【GestureTapCallback】", - "【onSubmitted】: Слушатель отправки 【ValueChanged】" - ] - }, - { - "file": "node2_style.dart", - "name": "Общие стилевые свойства CupertinoTextField", - "desc": [ - "【style】 : Стиль текста ввода 【TextStyle】", - "【prefix】: Префиксный компонент 【Widget】", - "【prefixMode】: Режим префикса 【OverlayVisibilityMode】", - "【suffix】: Суффиксный компонент 【Widget】", - "【suffixMode】: Режим суффикса 【OverlayVisibilityMode】", - "【cursorColor】: Цвет курсора 【Color】", - "【cursorWidth】: Ширина курсора 【double】", - "【cursorRadius】: Радиус закругления курсора 【Radius】", - "【readOnly】: Только для чтения 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_zh-CN.json deleted file mode 100644 index a7141373a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/desc_zh-CN.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 245, - "name": "CupertinoTextField", - "localName": "iOS风格输入框", - "info": "Cupertino风格的输入框,属性和TextField类似,可指定控制器、文字样式、装饰线、行数限制、游标样式等。接收输入变化、完成输入等事件。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTextField基础使用", - "desc": [ - "【placeholder】 : 提示文字 【String】", - "【showCursor】 : 是否显示游标 【bool】", - "【minLines】 : 最小行数 【int】", - "【maxLines】 : 最大行数 【int】", - "【padding】 : 内边距 【EdgeInsetsGeometry】", - "【onChanged】 : 变化监听 【ValueChanged】", - "【onTap】: 点击监听 【GestureTapCallback】", - "【onSubmitted】: 提交监听 【ValueChanged】" - ] - }, - { - "file": "node2_style.dart", - "name": "CupertinoTextField常用样式属性", - "desc": [ - "【style】 : 输入文字样式 【TextStyle】", - "【prefix】: 前缀组件 【Widget】", - "【prefixMode】: 前缀模式 【OverlayVisibilityMode】", - "【suffix】: 后缀组件 【Widget】", - "【suffixMode】: 后缀模式 【OverlayVisibilityMode】", - "【cursorColor】: 游标颜色 【Color】", - "【cursorWidth】: 游标宽度 【double】", - "【cursorRadius】: 游标圆角 【Radius】", - "【readOnly】: 是否只读 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/node1_base.dart deleted file mode 100644 index 085ec04e2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/node1_base.dart +++ /dev/null @@ -1,57 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - -class CupertinoTextFieldDemo extends StatefulWidget { - const CupertinoTextFieldDemo({Key? key}) : super(key: key); - - @override - _CupertinoTextFieldDemoState createState() => _CupertinoTextFieldDemoState(); -} - -class _CupertinoTextFieldDemoState extends State { - String _value = ''; - Color _color =Colors.black; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Text('输入了:$_value',style: TextStyle(color: _color),), - CupertinoTextField( - placeholder: 'Input Name', - showCursor: true, - minLines: 1, - maxLines: 4, - padding: const EdgeInsets.all(8), - onChanged: _onChanged, - onTap: _onTap, - onSubmitted: _onSubmitted, - ), - ], - ); - } - - void _onChanged(String value) { - setState(() { - _value = value; - }); - } - - void _onTap() { - print('----_onTap----'); - setState(() { - _color=Colors.blue; - }); - } - - void _onSubmitted(String value) { - print('----_onSubmitted:$value}----'); - setState(() { - _color=Colors.black; - }); - } - -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/node2_style.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/node2_style.dart deleted file mode 100644 index d1fb7c1d4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTextField/node2_style.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - -class CupertinoTextFieldStyle extends StatelessWidget { - const CupertinoTextFieldStyle({Key? key}) : super(key: key); - - - @override - Widget build(BuildContext context) { - return const CupertinoTextField( - style: TextStyle(color: Colors.blue), - prefix: Icon(CupertinoIcons.add), - prefixMode: OverlayVisibilityMode.notEditing, - suffix: Icon(CupertinoIcons.clear), - suffixMode: OverlayVisibilityMode.editing, - cursorColor: Colors.purple, - cursorWidth: 4, - cursorRadius: Radius.circular(2), - readOnly: false, - placeholder: '输入用户名', - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_de_DE.json deleted file mode 100644 index c475d3a13..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 138, - "name": "CupertinoTimerPicker", - "localName": "iOS-Zeitauswahl", - "info": "Hochwertiger Zeitauswahl-Schieberegler, der den ausgewählten Typ, die Anfangszeit, die Hintergrundfarbe usw. angeben kann und Zeitauswahlereignisse empfängt.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoTimerPicker", - "desc": [ - "【initialTimerDuration】 : Anfangszeit 【Duration】", - "【minuteInterval】 : Minutenintervall 【double】", - "【secondInterval】 : Sekundenintervall 【double】", - "【alignment】 : Ausrichtung 【AlignmentGeometry】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【mode】 : Modus*3 【CupertinoTimerPickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_en_US.json deleted file mode 100644 index 820b4f2fa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 138, - "name": "CupertinoTimerPicker", - "localName": "iOS Time Picker", - "info": "A high-end rolling time picker that allows you to specify the type of selection, initial time, background color, etc., and receives time selection events.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoTimerPicker", - "desc": [ - "【initialTimerDuration】: Initial time 【Duration】", - "【minuteInterval】: Minute interval 【double】", - "【secondInterval】: Second interval 【double】", - "【alignment】: Alignment 【AlignmentGeometry】", - "【backgroundColor】: Background color 【Color】", - "【mode】: Mode*3 【CupertinoTimerPickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_es_ES.json deleted file mode 100644 index 7c6a97eaf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 138, - "name": "CupertinoTimerPicker", - "localName": "Selector de tiempo de iOS", - "info": "Selector de tiempo de desplazamiento de alta gama, que puede especificar el tipo de selección, la hora inicial, el color de fondo, etc., y recibe eventos de selección de tiempo.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoTimerPicker", - "desc": [ - "【initialTimerDuration】 : Hora inicial 【Duration】", - "【minuteInterval】 : Intervalo de minutos 【double】", - "【secondInterval】 : Intervalo de segundos 【double】", - "【alignment】 : Alineación 【AlignmentGeometry】", - "【backgroundColor】 : Color de fondo 【Color】", - "【mode】 : Modo*3 【CupertinoTimerPickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_fr_FR.json deleted file mode 100644 index 368b68945..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 138, - "name": "CupertinoTimerPicker", - "localName": "Sélecteur de temps iOS", - "info": "Sélecteur de temps haut de gamme avec défilement, permet de spécifier le type de sélection, l'heure initiale, la couleur de fond, etc., et reçoit les événements de sélection de temps.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoTimerPicker", - "desc": [ - "【initialTimerDuration】 : Durée initiale 【Duration】", - "【minuteInterval】 : Intervalle de minutes 【double】", - "【secondInterval】 : Intervalle de secondes 【double】", - "【alignment】 : Alignement 【AlignmentGeometry】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【mode】 : Mode*3 【CupertinoTimerPickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_it_IT.json deleted file mode 100644 index 517390259..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 138, - "name": "CupertinoTimerPicker", - "localName": "Selettore di tempo iOS", - "info": "Un selettore di tempo di scorrimento di alta gamma, che consente di specificare il tipo di selezione, l'ora iniziale, il colore di sfondo, ecc., e riceve l'evento di selezione del tempo.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoTimerPicker", - "desc": [ - "【initialTimerDuration】 : Ora iniziale 【Duration】", - "【minuteInterval】 : Intervallo di minuti 【double】", - "【secondInterval】 : Intervallo di secondi 【double】", - "【alignment】 : Allineamento 【AlignmentGeometry】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【mode】 : Modalità*3 【CupertinoTimerPickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_ja_JP.json deleted file mode 100644 index 9ff54547a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 138, - "name": "CupertinoTimerPicker", - "localName": "iOSタイムピッカー", - "info": "高級感のあるスクロールタイムピッカーで、選択するタイプ、初期時間、背景色などを指定でき、時間選択イベントを受け取ります。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTimerPickerの基本使用", - "desc": [ - "【initialTimerDuration】 : 初期時間 【Duration】", - "【minuteInterval】 : 分間隔数 【double】", - "【secondInterval】 : 秒間隔数 【double】", - "【alignment】 : 配置方法 【AlignmentGeometry】", - "【backgroundColor】 : 背景色 【Color】", - "【mode】 : モード*3 【CupertinoTimerPickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_ko_KR.json deleted file mode 100644 index 391b966db..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 138, - "name": "CupertinoTimerPicker", - "localName": "iOS 시간 선택기", - "info": "고급스러운 스크롤 시간 선택기로, 선택 유형, 초기 시간, 배경색 등을 지정할 수 있으며, 시간 선택 이벤트를 수신합니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTimerPicker 기본 사용법", - "desc": [ - "【initialTimerDuration】 : 초기 시간 【Duration】", - "【minuteInterval】 : 분 간격 수 【double】", - "【secondInterval】 : 초 간격 수 【double】", - "【alignment】 : 정렬 방식 【AlignmentGeometry】", - "【backgroundColor】 : 배경색 【Color】", - "【mode】 : 모드*3 【CupertinoTimerPickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_pt_PT.json deleted file mode 100644 index cb65335fd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 138, - "name": "CupertinoTimerPicker", - "localName": "Seletor de Tempo iOS", - "info": "Um seletor de tempo sofisticado com rolagem, que permite especificar o tipo de seleção, hora inicial, cor de fundo, etc., e recebe eventos de seleção de tempo.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoTimerPicker", - "desc": [ - "【initialTimerDuration】 : Hora inicial 【Duration】", - "【minuteInterval】 : Intervalo de minutos 【double】", - "【secondInterval】 : Intervalo de segundos 【double】", - "【alignment】 : Alinhamento 【AlignmentGeometry】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【mode】 : Modo*3 【CupertinoTimerPickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_ru_RU.json deleted file mode 100644 index 9c784f5f1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 138, - "name": "CupertinoTimerPicker", - "localName": "iOS-таймер выбора времени", - "info": "Стильный скроллинг-таймер выбора времени, позволяющий указать тип выбора, начальное время, цвет фона и т.д., а также получать события выбора времени.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoTimerPicker", - "desc": [ - "【initialTimerDuration】 : Начальное время 【Duration】", - "【minuteInterval】 : Интервал минут 【double】", - "【secondInterval】 : Интервал секунд 【double】", - "【alignment】 : Способ выравнивания 【AlignmentGeometry】", - "【backgroundColor】 : Цвет фона 【Color】", - "【mode】 : Режим*3 【CupertinoTimerPickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_zh-CN.json deleted file mode 100644 index 68f83bcad..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 138, - "name": "CupertinoTimerPicker", - "localName": "iOS时间选择器", - "info": "高大上的滑滚时间选择器,可指定选择的类型、初始时间、背景色等,接收时间选中事件。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoTimerPicker基本使用", - "desc": [ - "【initialTimerDuration】 : 初始时间 【Duration】", - "【minuteInterval】 : 分钟间隔数 【double】", - "【secondInterval】 : 秒间隔数 【double】", - "【alignment】 : 对齐方式 【AlignmentGeometry】", - "【backgroundColor】 : 背景色 【Color】", - "【mode】 : 模式*3 【CupertinoTimerPickerMode】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/node1_base.dart deleted file mode 100644 index 7c159ab8b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/CupertinoTimerPicker/node1_base.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoTimerPicker extends StatefulWidget { - const CustomCupertinoTimerPicker({Key? key}) : super(key: key); - - @override - _CustomCupertinoTimerPickerState createState() => - _CustomCupertinoTimerPickerState(); -} - -class _CustomCupertinoTimerPickerState - extends State { - Duration _date = const Duration(seconds: 30); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Text( - '当前时间:${_date.toString()}', - style: const TextStyle(color: Colors.grey, fontSize: 16), - ), - _buildInfoTitle('CupertinoTimerPickerMode.hms'), - buildPicker(CupertinoTimerPickerMode.hms), - _buildInfoTitle('CupertinoTimerPickerMode.hm'), - buildPicker(CupertinoTimerPickerMode.hm), - _buildInfoTitle('CupertinoTimerPickerMode.ms'), - buildPicker(CupertinoTimerPickerMode.ms), - ], - ); - } - - Widget _buildInfoTitle(info) { - return Padding( - padding: const EdgeInsets.only(left: 20, top: 20, bottom: 5), - child: Text( - info, - style: const TextStyle( - color: Colors.blue, fontSize: 16, fontWeight: FontWeight.bold), - ), - ); - } - - Widget buildPicker(CupertinoTimerPickerMode mode) { - return Container( - margin: const EdgeInsets.all(10), - height: 150, - child: CupertinoTimerPicker( - mode: mode, - initialTimerDuration: const Duration(seconds: 30), - onTimerDurationChanged: (date) { - print(date); - setState(() => _date = date); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_de_DE.json deleted file mode 100644 index 316f60470..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_de_DE.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 339, - "name": "DateRangePickerDialog", - "localName": "Datumsbereich", - "info": "Material-stil Datumsbereichsauswahl, unterstützt Kalenderauswahl und Eingabeauswahl.", - "lever": 4, - "family": 1, - "linkIds": [ - 135, - 136, - 137 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DateRangePickerDialog grundlegende Verwendung", - "desc": [ - "【firstDate】 : Frühestes Datum 【DateTime】", - "【lastDate】 : Spätestes Datum 【DateTime】", - "【initialDateRange】 : Anfangsbereich 【DateTimeRange?】", - "【saveText】 : Speichern Text 【String?】" - ] - }, - { - "file": "node2_diy.dart", - "name": "DateRangePickerDialog anpassen", - "desc": [ - "Ändern Sie den Quellcode von DateRangePickerDialog, sodass Monatseinträge numerische Hintergründe anzeigen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_en_US.json deleted file mode 100644 index 0107b9c9d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_en_US.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 339, - "name": "DateRangePickerDialog", - "localName": "Date Range", - "info": "Material style date range picker, supports calendar selection and input selection.", - "lever": 4, - "family": 1, - "linkIds": [ - 135, - 136, - 137 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DateRangePickerDialog", - "desc": [ - "【firstDate】 : Earliest date 【DateTime】", - "【lastDate】 : Latest date 【DateTime】", - "【initialDateRange】 : Initial range 【DateTimeRange?】", - "【saveText】 : Save text 【String?】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Customize DateRangePickerDialog", - "desc": [ - "Modify the source code of DateRangePickerDialog to display a numerical background for month entries." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_es_ES.json deleted file mode 100644 index fb92b40b6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_es_ES.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 339, - "name": "DateRangePickerDialog", - "localName": "Selector de rango de fechas", - "info": "Selector de rango de fechas al estilo Material, compatible con selección de calendario y selección de entrada.", - "lever": 4, - "family": 1, - "linkIds": [ - 135, - 136, - 137 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DateRangePickerDialog", - "desc": [ - "【firstDate】 : Fecha más temprana 【DateTime】", - "【lastDate】 : Fecha más tardía 【DateTime】", - "【initialDateRange】 : Rango inicial 【DateTimeRange?】", - "【saveText】 : Texto de guardar 【String?】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Modificación de DateRangePickerDialog", - "desc": [ - "Modifica el código fuente de DateRangePickerDialog para que los elementos del mes muestren un fondo numérico." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_fr_FR.json deleted file mode 100644 index 0ef412655..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_fr_FR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 339, - "name": "DateRangePickerDialog", - "localName": "Plage de dates", - "info": "Sélecteur de plage de dates de style Material, prenant en charge la sélection par calendrier et par saisie.", - "lever": 4, - "family": 1, - "linkIds": [ - 135, - 136, - 137 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DateRangePickerDialog", - "desc": [ - "【firstDate】 : Date la plus ancienne 【DateTime】", - "【lastDate】 : Date la plus récente 【DateTime】", - "【initialDateRange】 : Plage initiale 【DateTimeRange?】", - "【saveText】 : Texte de sauvegarde 【String?】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Personnalisation de DateRangePickerDialog", - "desc": [ - "Modifiez le code source de DateRangePickerDialog pour afficher un arrière-plan numérique sur les entrées de mois." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_it_IT.json deleted file mode 100644 index 3aa6595d3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_it_IT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 339, - "name": "DateRangePickerDialog", - "localName": "Intervallo di date", - "info": "Selettore di intervalli di date in stile Material, supporta la selezione tramite calendario e input.", - "lever": 4, - "family": 1, - "linkIds": [ - 135, - 136, - 137 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di DateRangePickerDialog", - "desc": [ - "【firstDate】 : Data più antica 【DateTime】", - "【lastDate】 : Data più recente 【DateTime】", - "【initialDateRange】 : Intervallo iniziale 【DateTimeRange?】", - "【saveText】 : Testo di salvataggio 【String?】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Modifica di DateRangePickerDialog", - "desc": [ - "Modifica il codice sorgente di DateRangePickerDialog per mostrare uno sfondo numerico per le voci dei mesi." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_ja_JP.json deleted file mode 100644 index caf3a1d32..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_ja_JP.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 339, - "name": "DateRangePickerDialog", - "localName": "日付範囲", - "info": "Materialスタイルの日付範囲ピッカーで、カレンダー選択と入力選択をサポートしています。", - "lever": 4, - "family": 1, - "linkIds": [ - 135, - 136, - 137 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DateRangePickerDialog 基本使用", - "desc": [ - "【firstDate】 : 最も早い日付 【DateTime】", - "【lastDate】 : 最も遅い日付 【DateTime】", - "【initialDateRange】 : 初期範囲 【DateTimeRange?】", - "【saveText】 : 保存テキスト 【String?】" - ] - }, - { - "file": "node2_diy.dart", - "name": "DateRangePickerDialog のカスタマイズ", - "desc": [ - "DateRangePickerDialog のソースコードを変更して、月の項目に数値の背景を表示するようにします。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_ko_KR.json deleted file mode 100644 index 0a6e2d476..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_ko_KR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 339, - "name": "DateRangePickerDialog", - "localName": "날짜 범위", - "info": "Material 스타일의 날짜 범위 선택기로, 캘린더 선택 및 입력 선택을 지원합니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 135, - 136, - 137 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DateRangePickerDialog 기본 사용", - "desc": [ - "【firstDate】 : 가장 이른 날짜 【DateTime】", - "【lastDate】 : 가장 늦은 날짜 【DateTime】", - "【initialDateRange】 : 초기 범위 【DateTimeRange?】", - "【saveText】 : 저장 텍스트 【String?】" - ] - }, - { - "file": "node2_diy.dart", - "name": "DateRangePickerDialog 커스터마이징", - "desc": [ - "DateRangePickerDialog 소스 코드를 수정하여 월 항목에 숫자 배경을 표시합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_pt_PT.json deleted file mode 100644 index 370c61c07..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_pt_PT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 339, - "name": "DateRangePickerDialog", - "localName": "Intervalo de Datas", - "info": "Seletor de intervalo de datas no estilo Material, suporta seleção de calendário e seleção de entrada.", - "lever": 4, - "family": 1, - "linkIds": [ - 135, - 136, - 137 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do DateRangePickerDialog", - "desc": [ - "【firstDate】 : Data mais antiga 【DateTime】", - "【lastDate】 : Data mais recente 【DateTime】", - "【initialDateRange】 : Intervalo inicial 【DateTimeRange?】", - "【saveText】 : Texto de salvamento 【String?】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Modificar o DateRangePickerDialog", - "desc": [ - "Modifique o código-fonte do DateRangePickerDialog para exibir o fundo numérico nos itens do mês." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_ru_RU.json deleted file mode 100644 index 81ddd3820..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_ru_RU.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 339, - "name": "DateRangePickerDialog", - "localName": "Диапазон дат", - "info": "Селектор диапазона дат в стиле Material, поддерживает выбор через календарь и ввод.", - "lever": 4, - "family": 1, - "linkIds": [ - 135, - 136, - 137 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DateRangePickerDialog", - "desc": [ - "【firstDate】 : Самая ранняя дата 【DateTime】", - "【lastDate】 : Самая поздняя дата 【DateTime】", - "【initialDateRange】 : Начальный диапазон 【DateTimeRange?】", - "【saveText】 : Текст сохранения 【String?】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Модификация DateRangePickerDialog", - "desc": [ - "Изменение исходного кода DateRangePickerDialog для отображения числового фона для элементов месяца." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_zh-CN.json deleted file mode 100644 index 369c54cbd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/desc_zh-CN.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 339, - "name": "DateRangePickerDialog", - "localName": "日期范围", - "info": "Material 风格的日期范围选择器,支持日历选择和输入选择。", - "lever": 4, - "family": 1, - "linkIds": [ - 135, - 136, - 137 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DateRangePickerDialog 基本使用", - "desc": [ - "【firstDate】 : 最早日期 【DateTime】", - "【lastDate】 : 最晚日期 【DateTime】", - "【initialDateRange】 : 初始范围 【DateTimeRange?】", - "【saveText】 : 保存文字 【String?】" - ] - }, - { - "file": "node2_diy.dart", - "name": "魔改 DateRangePickerDialog", - "desc": [ - "修改 DateRangePickerDialog 源码,使得月份条目显示数值背景。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/node1_base.dart deleted file mode 100644 index 7ebc070e7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/node1_base.dart +++ /dev/null @@ -1,68 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:intl/intl.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class DateRangePickerDialogDemo extends StatefulWidget { - const DateRangePickerDialogDemo({Key? key}) : super(key: key); - - @override - _DateRangePickerDialogDemoState createState() => - _DateRangePickerDialogDemoState(); -} - -class _DateRangePickerDialogDemoState - extends State { - String _dateRange = ''; - - // 需要 intl 包 - final DateFormat format = DateFormat('yyyy-MM-dd'); - - @override - Widget build(BuildContext context) { - String info = _dateRange.isEmpty ? '选择日期范围' : _dateRange; - - return Center( - child: Wrap( - alignment: WrapAlignment.center, - direction: Axis.vertical, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - ElevatedButton( - onPressed: _show, - child: const Text('选择'), - ), - Text( - info, - style: const TextStyle(color: Colors.grey), - ) - ], - ), - ); - } - - void _show() async { - DateTime firstDate = DateTime(2021, 1, 1); - DateTime lastDate = DateTime.now(); - DateTime start = lastDate.add(const Duration(days: -8)); - DateTime end = lastDate.add(const Duration(days: -2)); - DateTimeRange? range = await showDateRangePicker( - context: context, - firstDate: firstDate, - lastDate: lastDate, - initialDateRange: DateTimeRange( - start: start, - end: end, - ), - saveText: "确定", - ); - if (range != null) { - setState(() { - _dateRange = - "${format.format(range.start)} ~ ${format.format(range.end)}"; - }); - } - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/node2_diy.dart b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/node2_diy.dart deleted file mode 100644 index ddd5be205..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/node2_diy.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:intl/intl.dart'; -import 'toly_date_picker.dart' as toly; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class DiyDateRangePickerDialogDemo extends StatefulWidget { - const DiyDateRangePickerDialogDemo({Key? key}) : super(key: key); - - @override - _DiyDateRangePickerDialogDemoState createState() => - _DiyDateRangePickerDialogDemoState(); -} - -class _DiyDateRangePickerDialogDemoState - extends State { - String _dateRange = ''; - - // 需要 intl 包 - final DateFormat format = DateFormat('yyyy-MM-dd'); - - @override - Widget build(BuildContext context) { - String info = _dateRange.isEmpty ? '选择日期范围' : _dateRange; - - return Center( - child: Wrap( - alignment: WrapAlignment.center, - direction: Axis.vertical, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - ElevatedButton( - onPressed: _show, - child: const Text('选择'), - ), - Text( - info, - style: const TextStyle(color: Colors.grey), - ) - ], - ), - ); - } - - void _show() async { - DateTime firstDate = DateTime(2021, 1, 1); - DateTime lastDate = DateTime.now(); - DateTime start = lastDate.add(const Duration(days: -8)); - DateTime end = lastDate.add(const Duration(days: -2)); - DateTimeRange? range = await toly.showDateRangePicker( - context: context, - firstDate: firstDate, - lastDate: lastDate, - initialDateRange: DateTimeRange( - start: start, - end: end, - ), - saveText: "确定", - ); - if (range != null) { - setState(() { - _dateRange = - "${format.format(range.start)} ~ ${format.format(range.end)}"; - }); - } - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/toly_date_picker.dart b/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/toly_date_picker.dart deleted file mode 100644 index 0ca4acc69..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DateRangePickerDialog/toly_date_picker.dart +++ /dev/null @@ -1,2910 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:math' as math; - -import 'package:flutter/gestures.dart' show DragStartBehavior; -import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; - -const Size _calendarPortraitDialogSize = Size(330.0, 518.0); -const Size _calendarLandscapeDialogSize = Size(496.0, 346.0); -const Size _inputPortraitDialogSize = Size(330.0, 270.0); -const Size _inputLandscapeDialogSize = Size(496, 160.0); -const Size _inputRangeLandscapeDialogSize = Size(496, 164.0); -const Duration _dialogSizeAnimationDuration = Duration(milliseconds: 200); -const double _inputFormPortraitHeight = 98.0; -const double _inputFormLandscapeHeight = 108.0; - -/// Shows a dialog containing a Material Design date picker. -/// -/// The returned [Future] resolves to the date selected by the user when the -/// user confirms the dialog. If the user cancels the dialog, null is returned. -/// -/// When the date picker is first displayed, it will show the month of -/// [initialDate], with [initialDate] selected. -/// -/// The [firstDate] is the earliest allowable date. The [lastDate] is the latest -/// allowable date. [initialDate] must either fall between these dates, -/// or be equal to one of them. For each of these [DateTime] parameters, only -/// their dates are considered. Their time fields are ignored. They must all -/// be non-null. -/// -/// The [currentDate] represents the current day (i.e. today). This -/// date will be highlighted in the day grid. If null, the date of -/// `DateTime.now()` will be used. -/// -/// An optional [initialEntryMode] argument can be used to display the date -/// picker in the [DatePickerEntryMode.calendar] (a calendar month grid) -/// or [DatePickerEntryMode.input] (a text input field) mode. -/// It defaults to [DatePickerEntryMode.calendar] and must be non-null. -/// -/// An optional [selectableDayPredicate] function can be passed in to only allow -/// certain days for selection. If provided, only the days that -/// [selectableDayPredicate] returns true for will be selectable. For example, -/// this can be used to only allow weekdays for selection. If provided, it must -/// return true for [initialDate]. -/// -/// The following optional string parameters allow you to override the default -/// text used for various parts of the dialog: -/// -/// * [helpText], label displayed at the top of the dialog. -/// * [cancelText], label on the cancel button. -/// * [confirmText], label on the ok button. -/// * [errorFormatText], message used when the input text isn't in a proper date format. -/// * [errorInvalidText], message used when the input text isn't a selectable date. -/// * [fieldHintText], text used to prompt the user when no text has been entered in the field. -/// * [fieldLabelText], label for the date text input field. -/// -/// An optional [locale] argument can be used to set the locale for the date -/// picker. It defaults to the ambient locale provided by [Localizations]. -/// -/// An optional [textDirection] argument can be used to set the text direction -/// ([TextDirection.ltr] or [TextDirection.rtl]) for the date picker. It -/// defaults to the ambient text direction provided by [Directionality]. If both -/// [locale] and [textDirection] are non-null, [textDirection] overrides the -/// direction chosen for the [locale]. -/// -/// The [context], [useRootNavigator] and [routeSettings] arguments are passed to -/// [showDialog], the documentation for which discusses how it is used. [context] -/// and [useRootNavigator] must be non-null. -/// -/// The [builder] parameter can be used to wrap the dialog widget -/// to add inherited widgets like [Theme]. -/// -/// An optional [initialDatePickerMode] argument can be used to have the -/// calendar date picker initially appear in the [DatePickerMode.year] or -/// [DatePickerMode.day] mode. It defaults to [DatePickerMode.day], and -/// must be non-null. -/// -/// {@macro flutter.widgets.RawDialogRoute} -/// -/// ### State Restoration -/// -/// Using this method will not enable state restoration for the date picker. -/// In order to enable state restoration for a date picker, use -/// [Navigator.restorablePush] or [Navigator.restorablePushNamed] with -/// [DatePickerDialog]. -/// -/// For more information about state restoration, see [RestorationManager]. -/// -/// {@macro flutter.widgets.RestorationManager} -/// -/// {@tool dartpad} -/// This sample demonstrates how to create a restorable Material date picker. -/// This is accomplished by enabling state restoration by specifying -/// [MaterialApp.restorationScopeId] and using [Navigator.restorablePush] to -/// push [DatePickerDialog] when the button is tapped. -/// -/// ** See code in examples/api/lib/material/date_picker/show_date_picker.0.dart ** -/// {@end-tool} -/// -/// See also: -/// -/// * [showDateRangePicker], which shows a Material Design date range picker -/// used to select a range of dates. -/// * [CalendarDatePicker], which provides the calendar grid used by the date picker dialog. -/// * [InputDatePickerFormField], which provides a text input field for entering dates. -/// * [DisplayFeatureSubScreen], which documents the specifics of how -/// [DisplayFeature]s can split the screen into sub-screens. -/// * [showTimePicker], which shows a dialog that contains a Material Design time picker. -/// -Future showDatePicker({ - required BuildContext context, - required DateTime initialDate, - required DateTime firstDate, - required DateTime lastDate, - DateTime? currentDate, - DatePickerEntryMode initialEntryMode = DatePickerEntryMode.calendar, - SelectableDayPredicate? selectableDayPredicate, - String? helpText, - String? cancelText, - String? confirmText, - Locale? locale, - bool useRootNavigator = true, - RouteSettings? routeSettings, - TextDirection? textDirection, - TransitionBuilder? builder, - DatePickerMode initialDatePickerMode = DatePickerMode.day, - String? errorFormatText, - String? errorInvalidText, - String? fieldHintText, - String? fieldLabelText, - TextInputType? keyboardType, - Offset? anchorPoint, -}) async { - assert(context != null); - assert(initialDate != null); - assert(firstDate != null); - assert(lastDate != null); - initialDate = DateUtils.dateOnly(initialDate); - firstDate = DateUtils.dateOnly(firstDate); - lastDate = DateUtils.dateOnly(lastDate); - assert( - !lastDate.isBefore(firstDate), - 'lastDate $lastDate must be on or after firstDate $firstDate.', - ); - assert( - !initialDate.isBefore(firstDate), - 'initialDate $initialDate must be on or after firstDate $firstDate.', - ); - assert( - !initialDate.isAfter(lastDate), - 'initialDate $initialDate must be on or before lastDate $lastDate.', - ); - assert( - selectableDayPredicate == null || selectableDayPredicate(initialDate), - 'Provided initialDate $initialDate must satisfy provided selectableDayPredicate.', - ); - assert(initialEntryMode != null); - assert(useRootNavigator != null); - assert(initialDatePickerMode != null); - assert(debugCheckHasMaterialLocalizations(context)); - - Widget dialog = DatePickerDialog( - initialDate: initialDate, - firstDate: firstDate, - lastDate: lastDate, - currentDate: currentDate, - initialEntryMode: initialEntryMode, - selectableDayPredicate: selectableDayPredicate, - helpText: helpText, - cancelText: cancelText, - confirmText: confirmText, - initialCalendarMode: initialDatePickerMode, - errorFormatText: errorFormatText, - errorInvalidText: errorInvalidText, - fieldHintText: fieldHintText, - fieldLabelText: fieldLabelText, - keyboardType: keyboardType, - ); - - if (textDirection != null) { - dialog = Directionality( - textDirection: textDirection, - child: dialog, - ); - } - - if (locale != null) { - dialog = Localizations.override( - context: context, - locale: locale, - child: dialog, - ); - } - - return showDialog( - context: context, - useRootNavigator: useRootNavigator, - routeSettings: routeSettings, - builder: (BuildContext context) { - return builder == null ? dialog : builder(context, dialog); - }, - anchorPoint: anchorPoint, - ); -} - -/// A Material-style date picker dialog. -/// -/// It is used internally by [showDatePicker] or can be directly pushed -/// onto the [Navigator] stack to enable state restoration. See -/// [showDatePicker] for a state restoration app example. -/// -/// See also: -/// -/// * [showDatePicker], which is a way to display the date picker. -class DatePickerDialog extends StatefulWidget { - /// A Material-style date picker dialog. - DatePickerDialog({ - super.key, - required DateTime initialDate, - required DateTime firstDate, - required DateTime lastDate, - DateTime? currentDate, - this.initialEntryMode = DatePickerEntryMode.calendar, - this.selectableDayPredicate, - this.cancelText, - this.confirmText, - this.helpText, - this.initialCalendarMode = DatePickerMode.day, - this.errorFormatText, - this.errorInvalidText, - this.fieldHintText, - this.fieldLabelText, - this.keyboardType, - this.restorationId, - }) : assert(initialDate != null), - assert(firstDate != null), - assert(lastDate != null), - initialDate = DateUtils.dateOnly(initialDate), - firstDate = DateUtils.dateOnly(firstDate), - lastDate = DateUtils.dateOnly(lastDate), - currentDate = DateUtils.dateOnly(currentDate ?? DateTime.now()), - assert(initialEntryMode != null), - assert(initialCalendarMode != null) { - assert( - !this.lastDate.isBefore(this.firstDate), - 'lastDate ${this.lastDate} must be on or after firstDate ${this.firstDate}.', - ); - assert( - !this.initialDate.isBefore(this.firstDate), - 'initialDate ${this.initialDate} must be on or after firstDate ${this.firstDate}.', - ); - assert( - !this.initialDate.isAfter(this.lastDate), - 'initialDate ${this.initialDate} must be on or before lastDate ${this.lastDate}.', - ); - assert( - selectableDayPredicate == null || selectableDayPredicate!(this.initialDate), - 'Provided initialDate ${this.initialDate} must satisfy provided selectableDayPredicate', - ); - } - - /// The initially selected [DateTime] that the picker should display. - final DateTime initialDate; - - /// The earliest allowable [DateTime] that the user can select. - final DateTime firstDate; - - /// The latest allowable [DateTime] that the user can select. - final DateTime lastDate; - - /// The [DateTime] representing today. It will be highlighted in the day grid. - final DateTime currentDate; - - /// The initial mode of date entry method for the date picker dialog. - /// - /// See [DatePickerEntryMode] for more details on the different data entry - /// modes available. - final DatePickerEntryMode initialEntryMode; - - /// Function to provide full control over which [DateTime] can be selected. - final SelectableDayPredicate? selectableDayPredicate; - - /// The text that is displayed on the cancel button. - final String? cancelText; - - /// The text that is displayed on the confirm button. - final String? confirmText; - - /// The text that is displayed at the top of the header. - /// - /// This is used to indicate to the user what they are selecting a date for. - final String? helpText; - - /// The initial display of the calendar picker. - final DatePickerMode initialCalendarMode; - - /// The error text displayed if the entered date is not in the correct format. - final String? errorFormatText; - - /// The error text displayed if the date is not valid. - /// - /// A date is not valid if it is earlier than [firstDate], later than - /// [lastDate], or doesn't pass the [selectableDayPredicate]. - final String? errorInvalidText; - - /// The hint text displayed in the [TextField]. - /// - /// If this is null, it will default to the date format string. For example, - /// 'mm/dd/yyyy' for en_US. - final String? fieldHintText; - - /// The label text displayed in the [TextField]. - /// - /// If this is null, it will default to the words representing the date format - /// string. For example, 'Month, Day, Year' for en_US. - final String? fieldLabelText; - - /// The keyboard type of the [TextField]. - /// - /// If this is null, it will default to [TextInputType.datetime] - final TextInputType? keyboardType; - - /// Restoration ID to save and restore the state of the [DatePickerDialog]. - /// - /// If it is non-null, the date picker will persist and restore the - /// date selected on the dialog. - /// - /// The state of this widget is persisted in a [RestorationBucket] claimed - /// from the surrounding [RestorationScope] using the provided restoration ID. - /// - /// See also: - /// - /// * [RestorationManager], which explains how state restoration works in - /// Flutter. - final String? restorationId; - - @override - State createState() => _DatePickerDialogState(); -} - -class _DatePickerDialogState extends State with RestorationMixin { - late final RestorableDateTime _selectedDate = RestorableDateTime(widget.initialDate); - late final _RestorableDatePickerEntryMode _entryMode = _RestorableDatePickerEntryMode(widget.initialEntryMode); - final _RestorableAutovalidateMode _autovalidateMode = _RestorableAutovalidateMode(AutovalidateMode.disabled); - - @override - String? get restorationId => widget.restorationId; - - @override - void restoreState(RestorationBucket? oldBucket, bool initialRestore) { - registerForRestoration(_selectedDate, 'selected_date'); - registerForRestoration(_autovalidateMode, 'autovalidateMode'); - registerForRestoration(_entryMode, 'calendar_entry_mode'); - } - - final GlobalKey _calendarPickerKey = GlobalKey(); - final GlobalKey _formKey = GlobalKey(); - - void _handleOk() { - if (_entryMode.value == DatePickerEntryMode.input || _entryMode.value == DatePickerEntryMode.inputOnly) { - final FormState form = _formKey.currentState!; - if (!form.validate()) { - setState(() => _autovalidateMode.value = AutovalidateMode.always); - return; - } - form.save(); - } - Navigator.pop(context, _selectedDate.value); - } - - void _handleCancel() { - Navigator.pop(context); - } - - void _handleEntryModeToggle() { - setState(() { - switch (_entryMode.value) { - case DatePickerEntryMode.calendar: - _autovalidateMode.value = AutovalidateMode.disabled; - _entryMode.value = DatePickerEntryMode.input; - break; - case DatePickerEntryMode.input: - _formKey.currentState!.save(); - _entryMode.value = DatePickerEntryMode.calendar; - break; - case DatePickerEntryMode.calendarOnly: - case DatePickerEntryMode.inputOnly: - assert(false, 'Can not change entry mode from _entryMode'); - break; - } - }); - } - - void _handleDateChanged(DateTime date) { - setState(() { - _selectedDate.value = date; - }); - } - - Size _dialogSize(BuildContext context) { - final Orientation orientation = MediaQuery.of(context).orientation; - switch (_entryMode.value) { - case DatePickerEntryMode.calendar: - case DatePickerEntryMode.calendarOnly: - switch (orientation) { - case Orientation.portrait: - return _calendarPortraitDialogSize; - case Orientation.landscape: - return _calendarLandscapeDialogSize; - } - case DatePickerEntryMode.input: - case DatePickerEntryMode.inputOnly: - switch (orientation) { - case Orientation.portrait: - return _inputPortraitDialogSize; - case Orientation.landscape: - return _inputLandscapeDialogSize; - } - } - } - - static const Map _formShortcutMap = { - // Pressing enter on the field will move focus to the next field or control. - SingleActivator(LogicalKeyboardKey.enter): NextFocusIntent(), - }; - - @override - Widget build(BuildContext context) { - final ThemeData theme = Theme.of(context); - final ColorScheme colorScheme = theme.colorScheme; - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - final Orientation orientation = MediaQuery.of(context).orientation; - final TextTheme textTheme = theme.textTheme; - // Constrain the textScaleFactor to the largest supported value to prevent - // layout issues. - final double textScaleFactor = math.min(MediaQuery.of(context).textScaleFactor, 1.3); - - final String dateText = localizations.formatMediumDate(_selectedDate.value); - final Color onPrimarySurface = colorScheme.brightness == Brightness.light - ? colorScheme.onPrimary - : colorScheme.onSurface; - final TextStyle? dateStyle = orientation == Orientation.landscape - ? textTheme.bodyMedium?.copyWith(color: onPrimarySurface) - : textTheme.bodySmall?.copyWith(color: onPrimarySurface); - - final Widget actions = Container( - alignment: AlignmentDirectional.centerEnd, - constraints: const BoxConstraints(minHeight: 52.0), - padding: const EdgeInsets.symmetric(horizontal: 8), - child: OverflowBar( - spacing: 8, - children: [ - TextButton( - onPressed: _handleCancel, - child: Text(widget.cancelText ?? localizations.cancelButtonLabel), - ), - TextButton( - onPressed: _handleOk, - child: Text(widget.confirmText ?? localizations.okButtonLabel), - ), - ], - ), - ); - - CalendarDatePicker calendarDatePicker() { - return CalendarDatePicker( - key: _calendarPickerKey, - initialDate: _selectedDate.value, - firstDate: widget.firstDate, - lastDate: widget.lastDate, - currentDate: widget.currentDate, - onDateChanged: _handleDateChanged, - selectableDayPredicate: widget.selectableDayPredicate, - initialCalendarMode: widget.initialCalendarMode, - ); - } - - Form inputDatePicker() { - return Form( - key: _formKey, - autovalidateMode: _autovalidateMode.value, - child: Container( - padding: const EdgeInsets.symmetric(horizontal: 24), - height: orientation == Orientation.portrait ? _inputFormPortraitHeight : _inputFormLandscapeHeight, - child: Shortcuts( - shortcuts: _formShortcutMap, - child: Column( - children: [ - const Spacer(), - InputDatePickerFormField( - initialDate: _selectedDate.value, - firstDate: widget.firstDate, - lastDate: widget.lastDate, - onDateSubmitted: _handleDateChanged, - onDateSaved: _handleDateChanged, - selectableDayPredicate: widget.selectableDayPredicate, - errorFormatText: widget.errorFormatText, - errorInvalidText: widget.errorInvalidText, - fieldHintText: widget.fieldHintText, - fieldLabelText: widget.fieldLabelText, - keyboardType: widget.keyboardType, - autofocus: true, - ), - const Spacer(), - ], - ), - ), - ), - ); - } - - final Widget picker; - final Widget? entryModeButton; - switch (_entryMode.value) { - case DatePickerEntryMode.calendar: - picker = calendarDatePicker(); - entryModeButton = IconButton( - icon: const Icon(Icons.edit), - color: onPrimarySurface, - tooltip: localizations.inputDateModeButtonLabel, - onPressed: _handleEntryModeToggle, - ); - break; - - case DatePickerEntryMode.calendarOnly: - picker = calendarDatePicker(); - entryModeButton = null; - break; - - case DatePickerEntryMode.input: - picker = inputDatePicker(); - entryModeButton = IconButton( - icon: const Icon(Icons.calendar_today), - color: onPrimarySurface, - tooltip: localizations.calendarModeButtonLabel, - onPressed: _handleEntryModeToggle, - ); - break; - - case DatePickerEntryMode.inputOnly: - picker = inputDatePicker(); - entryModeButton = null; - break; - } - - final Widget header = _DatePickerHeader( - helpText: widget.helpText ?? localizations.datePickerHelpText, - titleText: dateText, - titleStyle: dateStyle, - orientation: orientation, - isShort: orientation == Orientation.landscape, - entryModeButton: entryModeButton, - ); - - final Size dialogSize = _dialogSize(context) * textScaleFactor; - return Dialog( - insetPadding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0), - clipBehavior: Clip.antiAlias, - child: AnimatedContainer( - width: dialogSize.width, - height: dialogSize.height, - duration: _dialogSizeAnimationDuration, - curve: Curves.easeIn, - child: MediaQuery( - data: MediaQuery.of(context).copyWith( - textScaleFactor: textScaleFactor, - ), - child: Builder(builder: (BuildContext context) { - switch (orientation) { - case Orientation.portrait: - return Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - header, - Expanded(child: picker), - actions, - ], - ); - case Orientation.landscape: - return Row( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - header, - Flexible( - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - Expanded(child: picker), - actions, - ], - ), - ), - ], - ); - } - }), - ), - ), - ); - } -} - -// A restorable [DatePickerEntryMode] value. -// -// This serializes each entry as a unique `int` value. -class _RestorableDatePickerEntryMode extends RestorableValue { - _RestorableDatePickerEntryMode( - DatePickerEntryMode defaultValue, - ) : _defaultValue = defaultValue; - - final DatePickerEntryMode _defaultValue; - - @override - DatePickerEntryMode createDefaultValue() => _defaultValue; - - @override - void didUpdateValue(DatePickerEntryMode? oldValue) { - assert(debugIsSerializableForRestoration(value.index)); - notifyListeners(); - } - - @override - DatePickerEntryMode fromPrimitives(Object? data) => DatePickerEntryMode.values[data! as int]; - - @override - Object? toPrimitives() => value.index; -} - -// A restorable [AutovalidateMode] value. -// -// This serializes each entry as a unique `int` value. -class _RestorableAutovalidateMode extends RestorableValue { - _RestorableAutovalidateMode( - AutovalidateMode defaultValue, - ) : _defaultValue = defaultValue; - - final AutovalidateMode _defaultValue; - - @override - AutovalidateMode createDefaultValue() => _defaultValue; - - @override - void didUpdateValue(AutovalidateMode? oldValue) { - assert(debugIsSerializableForRestoration(value.index)); - notifyListeners(); - } - - @override - AutovalidateMode fromPrimitives(Object? data) => AutovalidateMode.values[data! as int]; - - @override - Object? toPrimitives() => value.index; -} - -/// Re-usable widget that displays the selected date (in large font) and the -/// help text above it. -/// -/// These types include: -/// -/// * Single Date picker with calendar mode. -/// * Single Date picker with text input mode. -/// * Date Range picker with text input mode. -/// -/// [helpText], [orientation], [icon], [onIconPressed] are required and must be -/// non-null. -class _DatePickerHeader extends StatelessWidget { - - /// Creates a header for use in a date picker dialog. - const _DatePickerHeader({ - required this.helpText, - required this.titleText, - this.titleSemanticsLabel, - required this.titleStyle, - required this.orientation, - this.isShort = false, - this.entryModeButton, - }) : assert(helpText != null), - assert(orientation != null), - assert(isShort != null); - - static const double _datePickerHeaderLandscapeWidth = 152.0; - static const double _datePickerHeaderPortraitHeight = 120.0; - static const double _headerPaddingLandscape = 16.0; - - /// The text that is displayed at the top of the header. - /// - /// This is used to indicate to the user what they are selecting a date for. - final String helpText; - - /// The text that is displayed at the center of the header. - final String titleText; - - /// The semantic label associated with the [titleText]. - final String? titleSemanticsLabel; - - /// The [TextStyle] that the title text is displayed with. - final TextStyle? titleStyle; - - /// The orientation is used to decide how to layout its children. - final Orientation orientation; - - /// Indicates the header is being displayed in a shorter/narrower context. - /// - /// This will be used to tighten up the space between the help text and date - /// text if `true`. Additionally, it will use a smaller typography style if - /// `true`. - /// - /// This is necessary for displaying the manual input mode in - /// landscape orientation, in order to account for the keyboard height. - final bool isShort; - - final Widget? entryModeButton; - - @override - Widget build(BuildContext context) { - final ThemeData theme = Theme.of(context); - final ColorScheme colorScheme = theme.colorScheme; - final TextTheme textTheme = theme.textTheme; - - // The header should use the primary color in light themes and surface color in dark - final bool isDark = colorScheme.brightness == Brightness.dark; - final Color primarySurfaceColor = isDark ? colorScheme.surface : colorScheme.primary; - final Color onPrimarySurfaceColor = isDark ? colorScheme.onSurface : colorScheme.onPrimary; - - final TextStyle? helpStyle = textTheme.bodyMedium?.copyWith( - color: onPrimarySurfaceColor, - ); - - final Text help = Text( - helpText, - style: helpStyle, - maxLines: 1, - overflow: TextOverflow.ellipsis, - ); - final Text title = Text( - titleText, - semanticsLabel: titleSemanticsLabel ?? titleText, - style: titleStyle, - maxLines: orientation == Orientation.portrait ? 1 : 2, - overflow: TextOverflow.ellipsis, - ); - - switch (orientation) { - case Orientation.portrait: - return SizedBox( - height: _datePickerHeaderPortraitHeight, - child: Material( - color: primarySurfaceColor, - child: Padding( - padding: const EdgeInsetsDirectional.only( - start: 24, - end: 12, - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const SizedBox(height: 16), - help, - const Flexible(child: SizedBox(height: 38)), - Row( - children: [ - Expanded(child: title), - if (entryModeButton != null) - entryModeButton!, - ], - ), - ], - ), - ), - ), - ); - case Orientation.landscape: - return SizedBox( - width: _datePickerHeaderLandscapeWidth, - child: Material( - color: primarySurfaceColor, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const SizedBox(height: 16), - Padding( - padding: const EdgeInsets.symmetric( - horizontal: _headerPaddingLandscape, - ), - child: help, - ), - SizedBox(height: isShort ? 16 : 56), - Expanded( - child: Padding( - padding: const EdgeInsets.symmetric( - horizontal: _headerPaddingLandscape, - ), - child: title, - ), - ), - if (entryModeButton != null) - Padding( - padding: const EdgeInsets.symmetric(horizontal: 4), - child: entryModeButton, - ), - ], - ), - ), - ); - } - } -} - -/// Shows a full screen modal dialog containing a Material Design date range -/// picker. -/// -/// The returned [Future] resolves to the [DateTimeRange] selected by the user -/// when the user saves their selection. If the user cancels the dialog, null is -/// returned. -/// -/// If [initialDateRange] is non-null, then it will be used as the initially -/// selected date range. If it is provided, `initialDateRange.start` must be -/// before or on `initialDateRange.end`. -/// -/// The [firstDate] is the earliest allowable date. The [lastDate] is the latest -/// allowable date. Both must be non-null. -/// -/// If an initial date range is provided, `initialDateRange.start` -/// and `initialDateRange.end` must both fall between or on [firstDate] and -/// [lastDate]. For all of these [DateTime] values, only their dates are -/// considered. Their time fields are ignored. -/// -/// The [currentDate] represents the current day (i.e. today). This -/// date will be highlighted in the day grid. If null, the date of -/// `DateTime.now()` will be used. -/// -/// An optional [initialEntryMode] argument can be used to display the date -/// picker in the [DatePickerEntryMode.calendar] (a scrollable calendar month -/// grid) or [DatePickerEntryMode.input] (two text input fields) mode. -/// It defaults to [DatePickerEntryMode.calendar] and must be non-null. -/// -/// The following optional string parameters allow you to override the default -/// text used for various parts of the dialog: -/// -/// * [helpText], the label displayed at the top of the dialog. -/// * [cancelText], the label on the cancel button for the text input mode. -/// * [confirmText],the label on the ok button for the text input mode. -/// * [saveText], the label on the save button for the fullscreen calendar -/// mode. -/// * [errorFormatText], the message used when an input text isn't in a proper -/// date format. -/// * [errorInvalidText], the message used when an input text isn't a -/// selectable date. -/// * [errorInvalidRangeText], the message used when the date range is -/// invalid (e.g. start date is after end date). -/// * [fieldStartHintText], the text used to prompt the user when no text has -/// been entered in the start field. -/// * [fieldEndHintText], the text used to prompt the user when no text has -/// been entered in the end field. -/// * [fieldStartLabelText], the label for the start date text input field. -/// * [fieldEndLabelText], the label for the end date text input field. -/// -/// An optional [locale] argument can be used to set the locale for the date -/// picker. It defaults to the ambient locale provided by [Localizations]. -/// -/// An optional [textDirection] argument can be used to set the text direction -/// ([TextDirection.ltr] or [TextDirection.rtl]) for the date picker. It -/// defaults to the ambient text direction provided by [Directionality]. If both -/// [locale] and [textDirection] are non-null, [textDirection] overrides the -/// direction chosen for the [locale]. -/// -/// The [context], [useRootNavigator] and [routeSettings] arguments are passed -/// to [showDialog], the documentation for which discusses how it is used. -/// [context] and [useRootNavigator] must be non-null. -/// -/// The [builder] parameter can be used to wrap the dialog widget -/// to add inherited widgets like [Theme]. -/// -/// {@macro flutter.widgets.RawDialogRoute} -/// -/// ### State Restoration -/// -/// Using this method will not enable state restoration for the date range picker. -/// In order to enable state restoration for a date range picker, use -/// [Navigator.restorablePush] or [Navigator.restorablePushNamed] with -/// [DateRangePickerDialog]. -/// -/// For more information about state restoration, see [RestorationManager]. -/// -/// {@macro flutter.widgets.RestorationManager} -/// -/// {@tool sample} -/// This sample demonstrates how to create a restorable Material date range picker. -/// This is accomplished by enabling state restoration by specifying -/// [MaterialApp.restorationScopeId] and using [Navigator.restorablePush] to -/// push [DateRangePickerDialog] when the button is tapped. -/// -/// ** See code in examples/api/lib/material/date_picker/show_date_range_picker.0.dart ** -/// {@end-tool} -/// -/// See also: -/// -/// * [showDatePicker], which shows a Material Design date picker used to -/// select a single date. -/// * [DateTimeRange], which is used to describe a date range. -/// * [DisplayFeatureSubScreen], which documents the specifics of how -/// [DisplayFeature]s can split the screen into sub-screens. -Future showDateRangePicker({ - required BuildContext context, - DateTimeRange? initialDateRange, - required DateTime firstDate, - required DateTime lastDate, - DateTime? currentDate, - DatePickerEntryMode initialEntryMode = DatePickerEntryMode.calendar, - String? helpText, - String? cancelText, - String? confirmText, - String? saveText, - String? errorFormatText, - String? errorInvalidText, - String? errorInvalidRangeText, - String? fieldStartHintText, - String? fieldEndHintText, - String? fieldStartLabelText, - String? fieldEndLabelText, - Locale? locale, - bool useRootNavigator = true, - RouteSettings? routeSettings, - TextDirection? textDirection, - TransitionBuilder? builder, - Offset? anchorPoint, -}) async { - assert(context != null); - assert( - initialDateRange == null || (initialDateRange.start != null && initialDateRange.end != null), - 'initialDateRange must be null or have non-null start and end dates.', - ); - assert( - initialDateRange == null || !initialDateRange.start.isAfter(initialDateRange.end), - "initialDateRange's start date must not be after it's end date.", - ); - initialDateRange = initialDateRange == null ? null : DateUtils.datesOnly(initialDateRange); - assert(firstDate != null); - firstDate = DateUtils.dateOnly(firstDate); - assert(lastDate != null); - lastDate = DateUtils.dateOnly(lastDate); - assert( - !lastDate.isBefore(firstDate), - 'lastDate $lastDate must be on or after firstDate $firstDate.', - ); - assert( - initialDateRange == null || !initialDateRange.start.isBefore(firstDate), - "initialDateRange's start date must be on or after firstDate $firstDate.", - ); - assert( - initialDateRange == null || !initialDateRange.end.isBefore(firstDate), - "initialDateRange's end date must be on or after firstDate $firstDate.", - ); - assert( - initialDateRange == null || !initialDateRange.start.isAfter(lastDate), - "initialDateRange's start date must be on or before lastDate $lastDate.", - ); - assert( - initialDateRange == null || !initialDateRange.end.isAfter(lastDate), - "initialDateRange's end date must be on or before lastDate $lastDate.", - ); - currentDate = DateUtils.dateOnly(currentDate ?? DateTime.now()); - assert(initialEntryMode != null); - assert(useRootNavigator != null); - assert(debugCheckHasMaterialLocalizations(context)); - - Widget dialog = DateRangePickerDialog( - initialDateRange: initialDateRange, - firstDate: firstDate, - lastDate: lastDate, - currentDate: currentDate, - initialEntryMode: initialEntryMode, - helpText: helpText, - cancelText: cancelText, - confirmText: confirmText, - saveText: saveText, - errorFormatText: errorFormatText, - errorInvalidText: errorInvalidText, - errorInvalidRangeText: errorInvalidRangeText, - fieldStartHintText: fieldStartHintText, - fieldEndHintText: fieldEndHintText, - fieldStartLabelText: fieldStartLabelText, - fieldEndLabelText: fieldEndLabelText, - ); - - if (textDirection != null) { - dialog = Directionality( - textDirection: textDirection, - child: dialog, - ); - } - - if (locale != null) { - dialog = Localizations.override( - context: context, - locale: locale, - child: dialog, - ); - } - - return showDialog( - context: context, - useRootNavigator: useRootNavigator, - routeSettings: routeSettings, - useSafeArea: false, - builder: (BuildContext context) { - return builder == null ? dialog : builder(context, dialog); - }, - anchorPoint: anchorPoint, - ); -} - -/// Returns a locale-appropriate string to describe the start of a date range. -/// -/// If `startDate` is null, then it defaults to 'Start Date', otherwise if it -/// is in the same year as the `endDate` then it will use the short month -/// day format (i.e. 'Jan 21'). Otherwise it will return the short date format -/// (i.e. 'Jan 21, 2020'). -String _formatRangeStartDate(MaterialLocalizations localizations, DateTime? startDate, DateTime? endDate) { - return startDate == null - ? localizations.dateRangeStartLabel - : (endDate == null || startDate.year == endDate.year) - ? localizations.formatShortMonthDay(startDate) - : localizations.formatShortDate(startDate); -} - -/// Returns an locale-appropriate string to describe the end of a date range. -/// -/// If `endDate` is null, then it defaults to 'End Date', otherwise if it -/// is in the same year as the `startDate` and the `currentDate` then it will -/// just use the short month day format (i.e. 'Jan 21'), otherwise it will -/// include the year (i.e. 'Jan 21, 2020'). -String _formatRangeEndDate(MaterialLocalizations localizations, DateTime? startDate, DateTime? endDate, DateTime currentDate) { - return endDate == null - ? localizations.dateRangeEndLabel - : (startDate != null && startDate.year == endDate.year && startDate.year == currentDate.year) - ? localizations.formatShortMonthDay(endDate) - : localizations.formatShortDate(endDate); -} - -/// A Material-style date range picker dialog. -/// -/// It is used internally by [showDateRangePicker] or can be directly pushed -/// onto the [Navigator] stack to enable state restoration. See -/// [showDateRangePicker] for a state restoration app example. -/// -/// See also: -/// -/// * [showDateRangePicker], which is a way to display the date picker. -class DateRangePickerDialog extends StatefulWidget { - /// A Material-style date range picker dialog. - const DateRangePickerDialog({ - super.key, - this.initialDateRange, - required this.firstDate, - required this.lastDate, - this.currentDate, - this.initialEntryMode = DatePickerEntryMode.calendar, - this.helpText, - this.cancelText, - this.confirmText, - this.saveText, - this.errorInvalidRangeText, - this.errorFormatText, - this.errorInvalidText, - this.fieldStartHintText, - this.fieldEndHintText, - this.fieldStartLabelText, - this.fieldEndLabelText, - this.restorationId, - }); - - /// The date range that the date range picker starts with when it opens. - /// - /// If an initial date range is provided, `initialDateRange.start` - /// and `initialDateRange.end` must both fall between or on [firstDate] and - /// [lastDate]. For all of these [DateTime] values, only their dates are - /// considered. Their time fields are ignored. - /// - /// If [initialDateRange] is non-null, then it will be used as the initially - /// selected date range. If it is provided, `initialDateRange.start` must be - /// before or on `initialDateRange.end`. - final DateTimeRange? initialDateRange; - - /// The earliest allowable date on the date range. - final DateTime firstDate; - - /// The latest allowable date on the date range. - final DateTime lastDate; - - /// The [currentDate] represents the current day (i.e. today). - /// - /// This date will be highlighted in the day grid. - /// - /// If `null`, the date of `DateTime.now()` will be used. - final DateTime? currentDate; - - /// The initial date range picker entry mode. - /// - /// The date range has two main modes: [DatePickerEntryMode.calendar] (a - /// scrollable calendar month grid) or [DatePickerEntryMode.input] (two text - /// input fields) mode. - /// - /// It defaults to [DatePickerEntryMode.calendar] and must be non-null. - final DatePickerEntryMode initialEntryMode; - - /// The label on the cancel button for the text input mode. - /// - /// If null, the localized value of - /// [MaterialLocalizations.cancelButtonLabel] is used. - final String? cancelText; - - /// The label on the "OK" button for the text input mode. - /// - /// If null, the localized value of - /// [MaterialLocalizations.okButtonLabel] is used. - final String? confirmText; - - /// The label on the save button for the fullscreen calendar mode. - /// - /// If null, the localized value of - /// [MaterialLocalizations.saveButtonLabel] is used. - final String? saveText; - - /// The label displayed at the top of the dialog. - /// - /// If null, the localized value of - /// [MaterialLocalizations.dateRangePickerHelpText] is used. - final String? helpText; - - /// The message used when the date range is invalid (e.g. start date is after - /// end date). - /// - /// If null, the localized value of - /// [MaterialLocalizations.invalidDateRangeLabel] is used. - final String? errorInvalidRangeText; - - /// The message used when an input text isn't in a proper date format. - /// - /// If null, the localized value of - /// [MaterialLocalizations.invalidDateFormatLabel] is used. - final String? errorFormatText; - - /// The message used when an input text isn't a selectable date. - /// - /// If null, the localized value of - /// [MaterialLocalizations.dateOutOfRangeLabel] is used. - final String? errorInvalidText; - - /// The text used to prompt the user when no text has been entered in the - /// start field. - /// - /// If null, the localized value of - /// [MaterialLocalizations.dateHelpText] is used. - final String? fieldStartHintText; - - /// The text used to prompt the user when no text has been entered in the - /// end field. - /// - /// If null, the localized value of [MaterialLocalizations.dateHelpText] is - /// used. - final String? fieldEndHintText; - - /// The label for the start date text input field. - /// - /// If null, the localized value of [MaterialLocalizations.dateRangeStartLabel] - /// is used. - final String? fieldStartLabelText; - - /// The label for the end date text input field. - /// - /// If null, the localized value of [MaterialLocalizations.dateRangeEndLabel] - /// is used. - final String? fieldEndLabelText; - - /// Restoration ID to save and restore the state of the [DateRangePickerDialog]. - /// - /// If it is non-null, the date range picker will persist and restore the - /// date range selected on the dialog. - /// - /// The state of this widget is persisted in a [RestorationBucket] claimed - /// from the surrounding [RestorationScope] using the provided restoration ID. - /// - /// See also: - /// - /// * [RestorationManager], which explains how state restoration works in - /// Flutter. - final String? restorationId; - - @override - State createState() => _DateRangePickerDialogState(); -} - -class _DateRangePickerDialogState extends State with RestorationMixin { - late final _RestorableDatePickerEntryMode _entryMode = _RestorableDatePickerEntryMode(widget.initialEntryMode); - late final RestorableDateTimeN _selectedStart = RestorableDateTimeN(widget.initialDateRange?.start); - late final RestorableDateTimeN _selectedEnd = RestorableDateTimeN(widget.initialDateRange?.end); - final RestorableBool _autoValidate = RestorableBool(false); - final GlobalKey _calendarPickerKey = GlobalKey(); - final GlobalKey<_InputDateRangePickerState> _inputPickerKey = GlobalKey<_InputDateRangePickerState>(); - - @override - String? get restorationId => widget.restorationId; - - @override - void restoreState(RestorationBucket? oldBucket, bool initialRestore) { - registerForRestoration(_entryMode, 'entry_mode'); - registerForRestoration(_selectedStart, 'selected_start'); - registerForRestoration(_selectedEnd, 'selected_end'); - registerForRestoration(_autoValidate, 'autovalidate'); - } - - void _handleOk() { - if (_entryMode.value == DatePickerEntryMode.input || _entryMode.value == DatePickerEntryMode.inputOnly) { - final _InputDateRangePickerState picker = _inputPickerKey.currentState!; - if (!picker.validate()) { - setState(() { - _autoValidate.value = true; - }); - return; - } - } - final DateTimeRange? selectedRange = _hasSelectedDateRange - ? DateTimeRange(start: _selectedStart.value!, end: _selectedEnd.value!) - : null; - - Navigator.pop(context, selectedRange); - } - - void _handleCancel() { - Navigator.pop(context); - } - - void _handleEntryModeToggle() { - setState(() { - switch (_entryMode.value) { - case DatePickerEntryMode.calendar: - _autoValidate.value = false; - _entryMode.value = DatePickerEntryMode.input; - break; - - case DatePickerEntryMode.input: - // Validate the range dates - if (_selectedStart.value != null && - (_selectedStart.value!.isBefore(widget.firstDate) || _selectedStart.value!.isAfter(widget.lastDate))) { - _selectedStart.value = null; - // With no valid start date, having an end date makes no sense for the UI. - _selectedEnd.value = null; - } - if (_selectedEnd.value != null && - (_selectedEnd.value!.isBefore(widget.firstDate) || _selectedEnd.value!.isAfter(widget.lastDate))) { - _selectedEnd.value = null; - } - // If invalid range (start after end), then just use the start date - if (_selectedStart.value != null && _selectedEnd.value != null && _selectedStart.value!.isAfter(_selectedEnd.value!)) { - _selectedEnd.value = null; - } - _entryMode.value = DatePickerEntryMode.calendar; - break; - - case DatePickerEntryMode.calendarOnly: - case DatePickerEntryMode.inputOnly: - assert(false, 'Can not change entry mode from $_entryMode'); - break; - } - }); - } - - void _handleStartDateChanged(DateTime? date) { - setState(() => _selectedStart.value = date); - } - - void _handleEndDateChanged(DateTime? date) { - setState(() => _selectedEnd.value = date); - } - - bool get _hasSelectedDateRange => _selectedStart.value != null && _selectedEnd.value != null; - - @override - Widget build(BuildContext context) { - final MediaQueryData mediaQuery = MediaQuery.of(context); - final Orientation orientation = mediaQuery.orientation; - final double textScaleFactor = math.min(mediaQuery.textScaleFactor, 1.3); - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - final ColorScheme colors = Theme.of(context).colorScheme; - final Color onPrimarySurface = colors.brightness == Brightness.light - ? colors.onPrimary - : colors.onSurface; - - final Widget contents; - final Size size; - ShapeBorder? shape; - final double elevation; - final EdgeInsets insetPadding; - final bool showEntryModeButton = - _entryMode.value == DatePickerEntryMode.calendar || - _entryMode.value == DatePickerEntryMode.input; - switch (_entryMode.value) { - case DatePickerEntryMode.calendar: - case DatePickerEntryMode.calendarOnly: - contents = _CalendarRangePickerDialog( - key: _calendarPickerKey, - selectedStartDate: _selectedStart.value, - selectedEndDate: _selectedEnd.value, - firstDate: widget.firstDate, - lastDate: widget.lastDate, - currentDate: widget.currentDate, - onStartDateChanged: _handleStartDateChanged, - onEndDateChanged: _handleEndDateChanged, - onConfirm: _hasSelectedDateRange ? _handleOk : null, - onCancel: _handleCancel, - entryModeButton: showEntryModeButton - ? IconButton( - icon: const Icon(Icons.edit), - padding: EdgeInsets.zero, - color: onPrimarySurface, - tooltip: localizations.inputDateModeButtonLabel, - onPressed: _handleEntryModeToggle, - ) - : null, - confirmText: widget.saveText ?? localizations.saveButtonLabel, - helpText: widget.helpText ?? localizations.dateRangePickerHelpText, - ); - size = mediaQuery.size; - insetPadding = EdgeInsets.zero; - shape = const RoundedRectangleBorder(); - elevation = 0; - break; - - case DatePickerEntryMode.input: - case DatePickerEntryMode.inputOnly: - contents = _InputDateRangePickerDialog( - selectedStartDate: _selectedStart.value, - selectedEndDate: _selectedEnd.value, - currentDate: widget.currentDate, - picker: Container( - padding: const EdgeInsets.symmetric(horizontal: 24), - height: orientation == Orientation.portrait - ? _inputFormPortraitHeight - : _inputFormLandscapeHeight, - child: Column( - children: [ - const Spacer(), - _InputDateRangePicker( - key: _inputPickerKey, - initialStartDate: _selectedStart.value, - initialEndDate: _selectedEnd.value, - firstDate: widget.firstDate, - lastDate: widget.lastDate, - onStartDateChanged: _handleStartDateChanged, - onEndDateChanged: _handleEndDateChanged, - autofocus: true, - autovalidate: _autoValidate.value, - helpText: widget.helpText, - errorInvalidRangeText: widget.errorInvalidRangeText, - errorFormatText: widget.errorFormatText, - errorInvalidText: widget.errorInvalidText, - fieldStartHintText: widget.fieldStartHintText, - fieldEndHintText: widget.fieldEndHintText, - fieldStartLabelText: widget.fieldStartLabelText, - fieldEndLabelText: widget.fieldEndLabelText, - ), - const Spacer(), - ], - ), - ), - onConfirm: _handleOk, - onCancel: _handleCancel, - entryModeButton: showEntryModeButton - ? IconButton( - icon: const Icon(Icons.calendar_today), - padding: EdgeInsets.zero, - color: onPrimarySurface, - tooltip: localizations.calendarModeButtonLabel, - onPressed: _handleEntryModeToggle, - ) - : null, - confirmText: widget.confirmText ?? localizations.okButtonLabel, - cancelText: widget.cancelText ?? localizations.cancelButtonLabel, - helpText: widget.helpText ?? localizations.dateRangePickerHelpText, - ); - final DialogThemeData dialogTheme = Theme.of(context).dialogTheme; - size = orientation == Orientation.portrait ? _inputPortraitDialogSize : _inputRangeLandscapeDialogSize; - insetPadding = const EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0); - shape = dialogTheme.shape; - elevation = dialogTheme.elevation ?? 24; - break; - } - - return Dialog( - insetPadding: insetPadding, - shape: shape, - elevation: elevation, - clipBehavior: Clip.antiAlias, - child: AnimatedContainer( - width: size.width, - height: size.height, - duration: _dialogSizeAnimationDuration, - curve: Curves.easeIn, - child: MediaQuery( - data: MediaQuery.of(context).copyWith( - textScaleFactor: textScaleFactor, - ), - child: Builder(builder: (BuildContext context) { - return contents; - }), - ), - ), - ); - } -} - -class _CalendarRangePickerDialog extends StatelessWidget { - const _CalendarRangePickerDialog({ - super.key, - required this.selectedStartDate, - required this.selectedEndDate, - required this.firstDate, - required this.lastDate, - required this.currentDate, - required this.onStartDateChanged, - required this.onEndDateChanged, - required this.onConfirm, - required this.onCancel, - required this.confirmText, - required this.helpText, - this.entryModeButton, - }); - - final DateTime? selectedStartDate; - final DateTime? selectedEndDate; - final DateTime firstDate; - final DateTime lastDate; - final DateTime? currentDate; - final ValueChanged onStartDateChanged; - final ValueChanged onEndDateChanged; - final VoidCallback? onConfirm; - final VoidCallback? onCancel; - final String confirmText; - final String helpText; - final Widget? entryModeButton; - - @override - Widget build(BuildContext context) { - final ThemeData theme = Theme.of(context); - final ColorScheme colorScheme = theme.colorScheme; - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - final Orientation orientation = MediaQuery.of(context).orientation; - final TextTheme textTheme = theme.textTheme; - final Color headerForeground = colorScheme.brightness == Brightness.light - ? colorScheme.onPrimary - : colorScheme.onSurface; - final Color headerDisabledForeground = headerForeground.withOpacity(0.38); - final String startDateText = _formatRangeStartDate(localizations, selectedStartDate, selectedEndDate); - final String endDateText = _formatRangeEndDate(localizations, selectedStartDate, selectedEndDate, DateTime.now()); - final TextStyle? headlineStyle = textTheme.headlineSmall; - final TextStyle? startDateStyle = headlineStyle?.apply( - color: selectedStartDate != null ? headerForeground : headerDisabledForeground, - ); - final TextStyle? endDateStyle = headlineStyle?.apply( - color: selectedEndDate != null ? headerForeground : headerDisabledForeground, - ); - final TextStyle saveButtonStyle = textTheme.titleMedium!.apply( - color: onConfirm != null ? headerForeground : headerDisabledForeground, - ); - - return SafeArea( - top: false, - left: false, - right: false, - child: Scaffold( - appBar: AppBar( - leading: CloseButton( - onPressed: onCancel, - ), - actions: [ - if (orientation == Orientation.landscape && entryModeButton != null) - entryModeButton!, - TextButton( - onPressed: onConfirm, - child: Text(confirmText, style: saveButtonStyle), - ), - const SizedBox(width: 8), - ], - bottom: PreferredSize( - preferredSize: const Size(double.infinity, 64), - child: Row(children: [ - SizedBox(width: MediaQuery.of(context).size.width < 360 ? 42 : 72), - Expanded( - child: Semantics( - label: '$helpText $startDateText to $endDateText', - excludeSemantics: true, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - helpText, - style: textTheme.bodyMedium!.apply( - color: headerForeground, - ), - ), - const SizedBox(height: 8), - Row( - children: [ - Text( - startDateText, - style: startDateStyle, - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - Text(' – ', style: startDateStyle, - ), - Flexible( - child: Text( - endDateText, - style: endDateStyle, - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - ), - ], - ), - const SizedBox(height: 16), - ], - ), - ), - ), - if (orientation == Orientation.portrait && entryModeButton != null) - Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: entryModeButton, - ), - ]), - ), - ), - body: _CalendarDateRangePicker( - initialStartDate: selectedStartDate, - initialEndDate: selectedEndDate, - firstDate: firstDate, - lastDate: lastDate, - currentDate: currentDate, - onStartDateChanged: onStartDateChanged, - onEndDateChanged: onEndDateChanged, - ), - ), - ); - } -} - -const Duration _monthScrollDuration = Duration(milliseconds: 200); - -const double _monthItemHeaderHeight = 58.0; -const double _monthItemFooterHeight = 12.0; -const double _monthItemRowHeight = 42.0; -const double _monthItemSpaceBetweenRows = 8.0; -const double _horizontalPadding = 8.0; -const double _maxCalendarWidthLandscape = 384.0; -const double _maxCalendarWidthPortrait = 480.0; - -/// Displays a scrollable calendar grid that allows a user to select a range -/// of dates. -class _CalendarDateRangePicker extends StatefulWidget { - /// Creates a scrollable calendar grid for picking date ranges. - _CalendarDateRangePicker({ - DateTime? initialStartDate, - DateTime? initialEndDate, - required DateTime firstDate, - required DateTime lastDate, - DateTime? currentDate, - required this.onStartDateChanged, - required this.onEndDateChanged, - }) : initialStartDate = initialStartDate != null ? DateUtils.dateOnly(initialStartDate) : null, - initialEndDate = initialEndDate != null ? DateUtils.dateOnly(initialEndDate) : null, - assert(firstDate != null), - assert(lastDate != null), - firstDate = DateUtils.dateOnly(firstDate), - lastDate = DateUtils.dateOnly(lastDate), - currentDate = DateUtils.dateOnly(currentDate ?? DateTime.now()) { - assert( - this.initialStartDate == null || this.initialEndDate == null || !this.initialStartDate!.isAfter(initialEndDate!), - 'initialStartDate must be on or before initialEndDate.', - ); - assert( - !this.lastDate.isBefore(this.firstDate), - 'firstDate must be on or before lastDate.', - ); - } - - /// The [DateTime] that represents the start of the initial date range selection. - final DateTime? initialStartDate; - - /// The [DateTime] that represents the end of the initial date range selection. - final DateTime? initialEndDate; - - /// The earliest allowable [DateTime] that the user can select. - final DateTime firstDate; - - /// The latest allowable [DateTime] that the user can select. - final DateTime lastDate; - - /// The [DateTime] representing today. It will be highlighted in the day grid. - final DateTime currentDate; - - /// Called when the user changes the start date of the selected range. - final ValueChanged? onStartDateChanged; - - /// Called when the user changes the end date of the selected range. - final ValueChanged? onEndDateChanged; - - @override - _CalendarDateRangePickerState createState() => _CalendarDateRangePickerState(); -} - -class _CalendarDateRangePickerState extends State<_CalendarDateRangePicker> { - final GlobalKey _scrollViewKey = GlobalKey(); - DateTime? _startDate; - DateTime? _endDate; - int _initialMonthIndex = 0; - late ScrollController _controller; - late bool _showWeekBottomDivider; - - @override - void initState() { - super.initState(); - _controller = ScrollController(); - _controller.addListener(_scrollListener); - - _startDate = widget.initialStartDate; - _endDate = widget.initialEndDate; - - // Calculate the index for the initially displayed month. This is needed to - // divide the list of months into two `SliverList`s. - final DateTime initialDate = widget.initialStartDate ?? widget.currentDate; - if (!initialDate.isBefore(widget.firstDate) && - !initialDate.isAfter(widget.lastDate)) { - _initialMonthIndex = DateUtils.monthDelta(widget.firstDate, initialDate); - } - - _showWeekBottomDivider = _initialMonthIndex != 0; - } - - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } - - void _scrollListener() { - if (_controller.offset <= _controller.position.minScrollExtent) { - setState(() { - _showWeekBottomDivider = false; - }); - } else if (!_showWeekBottomDivider) { - setState(() { - _showWeekBottomDivider = true; - }); - } - } - - int get _numberOfMonths => DateUtils.monthDelta(widget.firstDate, widget.lastDate) + 1; - - void _vibrate() { - switch (Theme.of(context).platform) { - case TargetPlatform.android: - case TargetPlatform.fuchsia: - HapticFeedback.vibrate(); - break; - case TargetPlatform.iOS: - case TargetPlatform.linux: - case TargetPlatform.macOS: - case TargetPlatform.windows: - break; - } - } - - // This updates the selected date range using this logic: - // - // * From the unselected state, selecting one date creates the start date. - // * If the next selection is before the start date, reset date range and - // set the start date to that selection. - // * If the next selection is on or after the start date, set the end date - // to that selection. - // * After both start and end dates are selected, any subsequent selection - // resets the date range and sets start date to that selection. - void _updateSelection(DateTime date) { - _vibrate(); - setState(() { - if (_startDate != null && _endDate == null && !date.isBefore(_startDate!)) { - _endDate = date; - widget.onEndDateChanged?.call(_endDate); - } else { - _startDate = date; - widget.onStartDateChanged?.call(_startDate!); - if (_endDate != null) { - _endDate = null; - widget.onEndDateChanged?.call(_endDate); - } - } - }); - } - - Widget _buildMonthItem(BuildContext context, int index, bool beforeInitialMonth) { - final int monthIndex = beforeInitialMonth - ? _initialMonthIndex - index - 1 - : _initialMonthIndex + index; - final DateTime month = DateUtils.addMonthsToMonthDate(widget.firstDate, monthIndex); - return Stack( - alignment: Alignment.center, - children: [ - Text("${month.month}",style: TextStyle(fontSize: 200,color: Colors.grey.withOpacity(0.1)),), - _MonthItem( - selectedDateStart: _startDate, - selectedDateEnd: _endDate, - currentDate: widget.currentDate, - firstDate: widget.firstDate, - lastDate: widget.lastDate, - displayedMonth: month, - onChanged: _updateSelection, - ), - ], - ); - } - - @override - Widget build(BuildContext context) { - const Key sliverAfterKey = Key('sliverAfterKey'); - - return Column( - children: [ - const _DayHeaders(), - if (_showWeekBottomDivider) const Divider(height: 0), - Expanded( - child: _CalendarKeyboardNavigator( - firstDate: widget.firstDate, - lastDate: widget.lastDate, - initialFocusedDay: _startDate ?? widget.initialStartDate ?? widget.currentDate, - // In order to prevent performance issues when displaying the - // correct initial month, 2 `SliverList`s are used to split the - // months. The first item in the second SliverList is the initial - // month to be displayed. - child: CustomScrollView( - key: _scrollViewKey, - controller: _controller, - center: sliverAfterKey, - slivers: [ - SliverList( - delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) => _buildMonthItem(context, index, true), - childCount: _initialMonthIndex, - ), - ), - SliverList( - key: sliverAfterKey, - delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) => _buildMonthItem(context, index, false), - childCount: _numberOfMonths - _initialMonthIndex, - ), - ), - ], - ), - ), - ), - ], - ); - } -} - -class _CalendarKeyboardNavigator extends StatefulWidget { - const _CalendarKeyboardNavigator({ - required this.child, - required this.firstDate, - required this.lastDate, - required this.initialFocusedDay, - }); - - final Widget child; - final DateTime firstDate; - final DateTime lastDate; - final DateTime initialFocusedDay; - - @override - _CalendarKeyboardNavigatorState createState() => _CalendarKeyboardNavigatorState(); -} - -class _CalendarKeyboardNavigatorState extends State<_CalendarKeyboardNavigator> { - - final Map _shortcutMap = const { - SingleActivator(LogicalKeyboardKey.arrowLeft): DirectionalFocusIntent(TraversalDirection.left), - SingleActivator(LogicalKeyboardKey.arrowRight): DirectionalFocusIntent(TraversalDirection.right), - SingleActivator(LogicalKeyboardKey.arrowDown): DirectionalFocusIntent(TraversalDirection.down), - SingleActivator(LogicalKeyboardKey.arrowUp): DirectionalFocusIntent(TraversalDirection.up), - }; - late Map> _actionMap; - late FocusNode _dayGridFocus; - TraversalDirection? _dayTraversalDirection; - DateTime? _focusedDay; - - @override - void initState() { - super.initState(); - - _actionMap = >{ - NextFocusIntent: CallbackAction(onInvoke: _handleGridNextFocus), - PreviousFocusIntent: CallbackAction(onInvoke: _handleGridPreviousFocus), - DirectionalFocusIntent: CallbackAction(onInvoke: _handleDirectionFocus), - }; - _dayGridFocus = FocusNode(debugLabel: 'Day Grid'); - } - - @override - void dispose() { - _dayGridFocus.dispose(); - super.dispose(); - } - - void _handleGridFocusChange(bool focused) { - setState(() { - if (focused) { - _focusedDay ??= widget.initialFocusedDay; - } - }); - } - - /// Move focus to the next element after the day grid. - void _handleGridNextFocus(NextFocusIntent intent) { - _dayGridFocus.requestFocus(); - _dayGridFocus.nextFocus(); - } - - /// Move focus to the previous element before the day grid. - void _handleGridPreviousFocus(PreviousFocusIntent intent) { - _dayGridFocus.requestFocus(); - _dayGridFocus.previousFocus(); - } - - /// Move the internal focus date in the direction of the given intent. - /// - /// This will attempt to move the focused day to the next selectable day in - /// the given direction. If the new date is not in the current month, then - /// the page view will be scrolled to show the new date's month. - /// - /// For horizontal directions, it will move forward or backward a day (depending - /// on the current [TextDirection]). For vertical directions it will move up and - /// down a week at a time. - void _handleDirectionFocus(DirectionalFocusIntent intent) { - assert(_focusedDay != null); - setState(() { - final DateTime? nextDate = _nextDateInDirection(_focusedDay!, intent.direction); - if (nextDate != null) { - _focusedDay = nextDate; - _dayTraversalDirection = intent.direction; - } - }); - } - - static const Map _directionOffset = { - TraversalDirection.up: -DateTime.daysPerWeek, - TraversalDirection.right: 1, - TraversalDirection.down: DateTime.daysPerWeek, - TraversalDirection.left: -1, - }; - - int _dayDirectionOffset(TraversalDirection traversalDirection, TextDirection textDirection) { - // Swap left and right if the text direction if RTL - if (textDirection == TextDirection.rtl) { - if (traversalDirection == TraversalDirection.left) { - traversalDirection = TraversalDirection.right; - } else if (traversalDirection == TraversalDirection.right) { - traversalDirection = TraversalDirection.left; - } - } - return _directionOffset[traversalDirection]!; - } - - DateTime? _nextDateInDirection(DateTime date, TraversalDirection direction) { - final TextDirection textDirection = Directionality.of(context); - final DateTime nextDate = DateUtils.addDaysToDate(date, _dayDirectionOffset(direction, textDirection)); - if (!nextDate.isBefore(widget.firstDate) && !nextDate.isAfter(widget.lastDate)) { - return nextDate; - } - return null; - } - - @override - Widget build(BuildContext context) { - return FocusableActionDetector( - shortcuts: _shortcutMap, - actions: _actionMap, - focusNode: _dayGridFocus, - onFocusChange: _handleGridFocusChange, - child: _FocusedDate( - date: _dayGridFocus.hasFocus ? _focusedDay : null, - scrollDirection: _dayGridFocus.hasFocus ? _dayTraversalDirection : null, - child: widget.child, - ), - ); - } -} - -/// InheritedWidget indicating what the current focused date is for its children. -/// -/// This is used by the [_MonthPicker] to let its children [_DayPicker]s know -/// what the currently focused date (if any) should be. -class _FocusedDate extends InheritedWidget { - const _FocusedDate({ - required super.child, - this.date, - this.scrollDirection, - }); - - final DateTime? date; - final TraversalDirection? scrollDirection; - - @override - bool updateShouldNotify(_FocusedDate oldWidget) { - return !DateUtils.isSameDay(date, oldWidget.date) || scrollDirection != oldWidget.scrollDirection; - } - - static _FocusedDate? of(BuildContext context) { - return context.dependOnInheritedWidgetOfExactType<_FocusedDate>(); - } -} - - -class _DayHeaders extends StatelessWidget { - const _DayHeaders(); - - /// Builds widgets showing abbreviated days of week. The first widget in the - /// returned list corresponds to the first day of week for the current locale. - /// - /// Examples: - /// - /// ``` - /// ┌ Sunday is the first day of week in the US (en_US) - /// | - /// S M T W T F S <-- the returned list contains these widgets - /// _ _ _ _ _ 1 2 - /// 3 4 5 6 7 8 9 - /// - /// ┌ But it's Monday in the UK (en_GB) - /// | - /// M T W T F S S <-- the returned list contains these widgets - /// _ _ _ _ 1 2 3 - /// 4 5 6 7 8 9 10 - /// ``` - List _getDayHeaders(TextStyle headerStyle, MaterialLocalizations localizations) { - final List result = []; - for (int i = localizations.firstDayOfWeekIndex; true; i = (i + 1) % 7) { - final String weekday = localizations.narrowWeekdays[i]; - result.add(ExcludeSemantics( - child: Center(child: Text(weekday, style: headerStyle)), - )); - if (i == (localizations.firstDayOfWeekIndex - 1) % 7) { - break; - } - } - return result; - } - - @override - Widget build(BuildContext context) { - final ThemeData themeData = Theme.of(context); - final ColorScheme colorScheme = themeData.colorScheme; - final TextStyle textStyle = themeData.textTheme.bodyMedium!.apply(color: colorScheme.onSurface); - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - final List labels = _getDayHeaders(textStyle, localizations); - - // Add leading and trailing containers for edges of the custom grid layout. - labels.insert(0, Container()); - labels.add(Container()); - - return Container( - constraints: BoxConstraints( - maxWidth: MediaQuery.of(context).orientation == Orientation.landscape - ? _maxCalendarWidthLandscape - : _maxCalendarWidthPortrait, - maxHeight: _monthItemRowHeight, - ), - child: GridView.custom( - shrinkWrap: true, - gridDelegate: _monthItemGridDelegate, - childrenDelegate: SliverChildListDelegate( - labels, - addRepaintBoundaries: false, - ), - ), - ); - } -} - -class _MonthItemGridDelegate extends SliverGridDelegate { - const _MonthItemGridDelegate(); - - @override - SliverGridLayout getLayout(SliverConstraints constraints) { - final double tileWidth = (constraints.crossAxisExtent - 2 * _horizontalPadding) / DateTime.daysPerWeek; - return _MonthSliverGridLayout( - crossAxisCount: DateTime.daysPerWeek + 2, - dayChildWidth: tileWidth, - edgeChildWidth: _horizontalPadding, - reverseCrossAxis: axisDirectionIsReversed(constraints.crossAxisDirection), - ); - } - - @override - bool shouldRelayout(_MonthItemGridDelegate oldDelegate) => false; -} - -const _MonthItemGridDelegate _monthItemGridDelegate = _MonthItemGridDelegate(); - -class _MonthSliverGridLayout extends SliverGridLayout { - /// Creates a layout that uses equally sized and spaced tiles for each day of - /// the week and an additional edge tile for padding at the start and end of - /// each row. - /// - /// This is necessary to facilitate the painting of the range highlight - /// correctly. - const _MonthSliverGridLayout({ - required this.crossAxisCount, - required this.dayChildWidth, - required this.edgeChildWidth, - required this.reverseCrossAxis, - }) : assert(crossAxisCount != null && crossAxisCount > 0), - assert(dayChildWidth != null && dayChildWidth >= 0), - assert(edgeChildWidth != null && edgeChildWidth >= 0), - assert(reverseCrossAxis != null); - - /// The number of children in the cross axis. - final int crossAxisCount; - - /// The width in logical pixels of the day child widgets. - final double dayChildWidth; - - /// The width in logical pixels of the edge child widgets. - final double edgeChildWidth; - - /// Whether the children should be placed in the opposite order of increasing - /// coordinates in the cross axis. - /// - /// For example, if the cross axis is horizontal, the children are placed from - /// left to right when [reverseCrossAxis] is false and from right to left when - /// [reverseCrossAxis] is true. - /// - /// Typically set to the return value of [axisDirectionIsReversed] applied to - /// the [SliverConstraints.crossAxisDirection]. - final bool reverseCrossAxis; - - /// The number of logical pixels from the leading edge of one row to the - /// leading edge of the next row. - double get _rowHeight { - return _monthItemRowHeight + _monthItemSpaceBetweenRows; - } - - /// The height in logical pixels of the children widgets. - double get _childHeight { - return _monthItemRowHeight; - } - - @override - int getMinChildIndexForScrollOffset(double scrollOffset) { - return crossAxisCount * (scrollOffset ~/ _rowHeight); - } - - @override - int getMaxChildIndexForScrollOffset(double scrollOffset) { - final int mainAxisCount = (scrollOffset / _rowHeight).ceil(); - return math.max(0, crossAxisCount * mainAxisCount - 1); - } - - double _getCrossAxisOffset(double crossAxisStart, bool isPadding) { - if (reverseCrossAxis) { - return - ((crossAxisCount - 2) * dayChildWidth + 2 * edgeChildWidth) - - crossAxisStart - - (isPadding ? edgeChildWidth : dayChildWidth); - } - return crossAxisStart; - } - - @override - SliverGridGeometry getGeometryForChildIndex(int index) { - final int adjustedIndex = index % crossAxisCount; - final bool isEdge = adjustedIndex == 0 || adjustedIndex == crossAxisCount - 1; - final double crossAxisStart = math.max(0, (adjustedIndex - 1) * dayChildWidth + edgeChildWidth); - - return SliverGridGeometry( - scrollOffset: (index ~/ crossAxisCount) * _rowHeight, - crossAxisOffset: _getCrossAxisOffset(crossAxisStart, isEdge), - mainAxisExtent: _childHeight, - crossAxisExtent: isEdge ? edgeChildWidth : dayChildWidth, - ); - } - - @override - double computeMaxScrollOffset(int childCount) { - assert(childCount >= 0); - final int mainAxisCount = ((childCount - 1) ~/ crossAxisCount) + 1; - final double mainAxisSpacing = _rowHeight - _childHeight; - return _rowHeight * mainAxisCount - mainAxisSpacing; - } -} - -/// Displays the days of a given month and allows choosing a date range. -/// -/// The days are arranged in a rectangular grid with one column for each day of -/// the week. -class _MonthItem extends StatefulWidget { - /// Creates a month item. - _MonthItem({ - required this.selectedDateStart, - required this.selectedDateEnd, - required this.currentDate, - required this.onChanged, - required this.firstDate, - required this.lastDate, - required this.displayedMonth, - this.dragStartBehavior = DragStartBehavior.start, - }) : assert(firstDate != null), - assert(lastDate != null), - assert(!firstDate.isAfter(lastDate)), - assert(selectedDateStart == null || !selectedDateStart.isBefore(firstDate)), - assert(selectedDateEnd == null || !selectedDateEnd.isBefore(firstDate)), - assert(selectedDateStart == null || !selectedDateStart.isAfter(lastDate)), - assert(selectedDateEnd == null || !selectedDateEnd.isAfter(lastDate)), - assert(selectedDateStart == null || selectedDateEnd == null || !selectedDateStart.isAfter(selectedDateEnd)), - assert(currentDate != null), - assert(onChanged != null), - assert(displayedMonth != null), - assert(dragStartBehavior != null); - - /// The currently selected start date. - /// - /// This date is highlighted in the picker. - final DateTime? selectedDateStart; - - /// The currently selected end date. - /// - /// This date is highlighted in the picker. - final DateTime? selectedDateEnd; - - /// The current date at the time the picker is displayed. - final DateTime currentDate; - - /// Called when the user picks a day. - final ValueChanged onChanged; - - /// The earliest date the user is permitted to pick. - final DateTime firstDate; - - /// The latest date the user is permitted to pick. - final DateTime lastDate; - - /// The month whose days are displayed by this picker. - final DateTime displayedMonth; - - /// Determines the way that drag start behavior is handled. - /// - /// If set to [DragStartBehavior.start], the drag gesture used to scroll a - /// date picker wheel will begin at the position where the drag gesture won - /// the arena. If set to [DragStartBehavior.down] it will begin at the position - /// where a down event is first detected. - /// - /// In general, setting this to [DragStartBehavior.start] will make drag - /// animation smoother and setting it to [DragStartBehavior.down] will make - /// drag behavior feel slightly more reactive. - /// - /// By default, the drag start behavior is [DragStartBehavior.start]. - /// - /// See also: - /// - /// * [DragGestureRecognizer.dragStartBehavior], which gives an example for - /// the different behaviors. - final DragStartBehavior dragStartBehavior; - - @override - _MonthItemState createState() => _MonthItemState(); -} - -class _MonthItemState extends State<_MonthItem> { - /// List of [FocusNode]s, one for each day of the month. - late List _dayFocusNodes; - - @override - void initState() { - super.initState(); - final int daysInMonth = DateUtils.getDaysInMonth(widget.displayedMonth.year, widget.displayedMonth.month); - _dayFocusNodes = List.generate( - daysInMonth, - (int index) => FocusNode(skipTraversal: true, debugLabel: 'Day ${index + 1}'), - ); - } - - @override - void didChangeDependencies() { - super.didChangeDependencies(); - // Check to see if the focused date is in this month, if so focus it. - final DateTime? focusedDate = _FocusedDate.of(context)?.date; - if (focusedDate != null && DateUtils.isSameMonth(widget.displayedMonth, focusedDate)) { - _dayFocusNodes[focusedDate.day - 1].requestFocus(); - } - } - - @override - void dispose() { - for (final FocusNode node in _dayFocusNodes) { - node.dispose(); - } - super.dispose(); - } - - Color _highlightColor(BuildContext context) { - return Theme.of(context).colorScheme.primary.withOpacity(0.12); - } - - void _dayFocusChanged(bool focused) { - if (focused) { - final TraversalDirection? focusDirection = _FocusedDate.of(context)?.scrollDirection; - if (focusDirection != null) { - ScrollPositionAlignmentPolicy policy = ScrollPositionAlignmentPolicy.explicit; - switch (focusDirection) { - case TraversalDirection.up: - case TraversalDirection.left: - policy = ScrollPositionAlignmentPolicy.keepVisibleAtStart; - break; - case TraversalDirection.right: - case TraversalDirection.down: - policy = ScrollPositionAlignmentPolicy.keepVisibleAtEnd; - break; - } - Scrollable.ensureVisible(primaryFocus!.context!, - duration: _monthScrollDuration, - alignmentPolicy: policy, - ); - } - } - } - - Widget _buildDayItem(BuildContext context, DateTime dayToBuild, int firstDayOffset, int daysInMonth) { - final ThemeData theme = Theme.of(context); - final ColorScheme colorScheme = theme.colorScheme; - final TextTheme textTheme = theme.textTheme; - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - final TextDirection textDirection = Directionality.of(context); - final Color highlightColor = _highlightColor(context); - final int day = dayToBuild.day; - - final bool isDisabled = dayToBuild.isAfter(widget.lastDate) || dayToBuild.isBefore(widget.firstDate); - - BoxDecoration? decoration; - TextStyle? itemStyle = textTheme.bodyMedium; - - final bool isRangeSelected = widget.selectedDateStart != null && widget.selectedDateEnd != null; - final bool isSelectedDayStart = widget.selectedDateStart != null && dayToBuild.isAtSameMomentAs(widget.selectedDateStart!); - final bool isSelectedDayEnd = widget.selectedDateEnd != null && dayToBuild.isAtSameMomentAs(widget.selectedDateEnd!); - final bool isInRange = isRangeSelected && - dayToBuild.isAfter(widget.selectedDateStart!) && - dayToBuild.isBefore(widget.selectedDateEnd!); - - _HighlightPainter? highlightPainter; - - if (isSelectedDayStart || isSelectedDayEnd) { - // The selected start and end dates gets a circle background - // highlight, and a contrasting text color. - itemStyle = textTheme.bodyMedium?.apply(color: colorScheme.onPrimary); - decoration = BoxDecoration( - color: colorScheme.primary, - shape: BoxShape.circle, - ); - - if (isRangeSelected && widget.selectedDateStart != widget.selectedDateEnd) { - final _HighlightPainterStyle style = isSelectedDayStart - ? _HighlightPainterStyle.highlightTrailing - : _HighlightPainterStyle.highlightLeading; - highlightPainter = _HighlightPainter( - color: highlightColor, - style: style, - textDirection: textDirection, - ); - } - } else if (isInRange) { - // The days within the range get a light background highlight. - highlightPainter = _HighlightPainter( - color: highlightColor, - style: _HighlightPainterStyle.highlightAll, - textDirection: textDirection, - ); - } else if (isDisabled) { - itemStyle = textTheme.bodyMedium?.apply(color: colorScheme.onSurface.withOpacity(0.38)); - } else if (DateUtils.isSameDay(widget.currentDate, dayToBuild)) { - // The current day gets a different text color and a circle stroke - // border. - itemStyle = textTheme.bodyMedium?.apply(color: colorScheme.primary); - decoration = BoxDecoration( - border: Border.all(color: colorScheme.primary), - shape: BoxShape.circle, - ); - } - - // We want the day of month to be spoken first irrespective of the - // locale-specific preferences or TextDirection. This is because - // an accessibility user is more likely to be interested in the - // day of month before the rest of the date, as they are looking - // for the day of month. To do that we prepend day of month to the - // formatted full date. - String semanticLabel = '${localizations.formatDecimal(day)}, ${localizations.formatFullDate(dayToBuild)}'; - if (isSelectedDayStart) { - semanticLabel = localizations.dateRangeStartDateSemanticLabel(semanticLabel); - } else if (isSelectedDayEnd) { - semanticLabel = localizations.dateRangeEndDateSemanticLabel(semanticLabel); - } - - Widget dayWidget = Container( - decoration: decoration, - child: Center( - child: Semantics( - label: semanticLabel, - selected: isSelectedDayStart || isSelectedDayEnd, - child: ExcludeSemantics( - child: Text(localizations.formatDecimal(day), style: itemStyle), - ), - ), - ), - ); - - if (highlightPainter != null) { - dayWidget = CustomPaint( - painter: highlightPainter, - child: dayWidget, - ); - } - - if (!isDisabled) { - dayWidget = InkResponse( - focusNode: _dayFocusNodes[day - 1], - onTap: () => widget.onChanged(dayToBuild), - radius: _monthItemRowHeight / 2 + 4, - splashColor: colorScheme.primary.withOpacity(0.38), - onFocusChange: _dayFocusChanged, - child: dayWidget, - ); - } - - return dayWidget; - } - - Widget _buildEdgeContainer(BuildContext context, bool isHighlighted) { - return Container(color: isHighlighted ? _highlightColor(context) : null); - } - - @override - Widget build(BuildContext context) { - final ThemeData themeData = Theme.of(context); - final TextTheme textTheme = themeData.textTheme; - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - final int year = widget.displayedMonth.year; - final int month = widget.displayedMonth.month; - final int daysInMonth = DateUtils.getDaysInMonth(year, month); - final int dayOffset = DateUtils.firstDayOffset(year, month, localizations); - final int weeks = ((daysInMonth + dayOffset) / DateTime.daysPerWeek).ceil(); - final double gridHeight = - weeks * _monthItemRowHeight + (weeks - 1) * _monthItemSpaceBetweenRows; - final List dayItems = []; - - for (int i = 0; true; i += 1) { - // 1-based day of month, e.g. 1-31 for January, and 1-29 for February on - // a leap year. - final int day = i - dayOffset + 1; - if (day > daysInMonth) { - break; - } - if (day < 1) { - dayItems.add(Container()); - } else { - final DateTime dayToBuild = DateTime(year, month, day); - final Widget dayItem = _buildDayItem( - context, - dayToBuild, - dayOffset, - daysInMonth, - ); - dayItems.add(dayItem); - } - } - - // Add the leading/trailing edge containers to each week in order to - // correctly extend the range highlight. - final List paddedDayItems = []; - for (int i = 0; i < weeks; i++) { - final int start = i * DateTime.daysPerWeek; - final int end = math.min( - start + DateTime.daysPerWeek, - dayItems.length, - ); - final List weekList = dayItems.sublist(start, end); - - final DateTime dateAfterLeadingPadding = DateTime(year, month, start - dayOffset + 1); - // Only color the edge container if it is after the start date and - // on/before the end date. - final bool isLeadingInRange = - !(dayOffset > 0 && i == 0) && - widget.selectedDateStart != null && - widget.selectedDateEnd != null && - dateAfterLeadingPadding.isAfter(widget.selectedDateStart!) && - !dateAfterLeadingPadding.isAfter(widget.selectedDateEnd!); - weekList.insert(0, _buildEdgeContainer(context, isLeadingInRange)); - - // Only add a trailing edge container if it is for a full week and not a - // partial week. - if (end < dayItems.length || (end == dayItems.length && dayItems.length % DateTime.daysPerWeek == 0)) { - final DateTime dateBeforeTrailingPadding = - DateTime(year, month, end - dayOffset); - // Only color the edge container if it is on/after the start date and - // before the end date. - final bool isTrailingInRange = - widget.selectedDateStart != null && - widget.selectedDateEnd != null && - !dateBeforeTrailingPadding.isBefore(widget.selectedDateStart!) && - dateBeforeTrailingPadding.isBefore(widget.selectedDateEnd!); - weekList.add(_buildEdgeContainer(context, isTrailingInRange)); - } - - paddedDayItems.addAll(weekList); - } - - final double maxWidth = MediaQuery.of(context).orientation == Orientation.landscape - ? _maxCalendarWidthLandscape - : _maxCalendarWidthPortrait; - return Column( - children: [ - Container( - constraints: BoxConstraints(maxWidth: maxWidth), - height: _monthItemHeaderHeight, - padding: const EdgeInsets.symmetric(horizontal: 16), - alignment: AlignmentDirectional.centerStart, - child: ExcludeSemantics( - child: Text( - localizations.formatMonthYear(widget.displayedMonth), - style: textTheme.bodyMedium!.apply(color: themeData.colorScheme.onSurface), - ), - ), - ), - Container( - constraints: BoxConstraints( - maxWidth: maxWidth, - maxHeight: gridHeight, - ), - child: GridView.custom( - physics: const NeverScrollableScrollPhysics(), - gridDelegate: _monthItemGridDelegate, - childrenDelegate: SliverChildListDelegate( - paddedDayItems, - addRepaintBoundaries: false, - ), - ), - ), - const SizedBox(height: _monthItemFooterHeight), - ], - ); - } -} - -/// Determines which style to use to paint the highlight. -enum _HighlightPainterStyle { - /// Paints nothing. - none, - - /// Paints a rectangle that occupies the leading half of the space. - highlightLeading, - - /// Paints a rectangle that occupies the trailing half of the space. - highlightTrailing, - - /// Paints a rectangle that occupies all available space. - highlightAll, -} - -/// This custom painter will add a background highlight to its child. -/// -/// This highlight will be drawn depending on the [style], [color], and -/// [textDirection] supplied. It will either paint a rectangle on the -/// left/right, a full rectangle, or nothing at all. This logic is determined by -/// a combination of the [style] and [textDirection]. -class _HighlightPainter extends CustomPainter { - _HighlightPainter({ - required this.color, - this.style = _HighlightPainterStyle.none, - this.textDirection, - }); - - final Color color; - final _HighlightPainterStyle style; - final TextDirection? textDirection; - - @override - void paint(Canvas canvas, Size size) { - if (style == _HighlightPainterStyle.none) { - return; - } - - final Paint paint = Paint() - ..color = color - ..style = PaintingStyle.fill; - - final Rect rectLeft = Rect.fromLTWH(0, 0, size.width / 2, size.height); - final Rect rectRight = Rect.fromLTWH(size.width / 2, 0, size.width / 2, size.height); - - switch (style) { - case _HighlightPainterStyle.highlightTrailing: - canvas.drawRect( - textDirection == TextDirection.ltr ? rectRight : rectLeft, - paint, - ); - break; - case _HighlightPainterStyle.highlightLeading: - canvas.drawRect( - textDirection == TextDirection.ltr ? rectLeft : rectRight, - paint, - ); - break; - case _HighlightPainterStyle.highlightAll: - canvas.drawRect( - Rect.fromLTWH(0, 0, size.width, size.height), - paint, - ); - break; - case _HighlightPainterStyle.none: - break; - } - } - - @override - bool shouldRepaint(CustomPainter oldDelegate) => false; -} - -class _InputDateRangePickerDialog extends StatelessWidget { - const _InputDateRangePickerDialog({ - required this.selectedStartDate, - required this.selectedEndDate, - required this.currentDate, - required this.picker, - required this.onConfirm, - required this.onCancel, - required this.confirmText, - required this.cancelText, - required this.helpText, - required this.entryModeButton, - }); - - final DateTime? selectedStartDate; - final DateTime? selectedEndDate; - final DateTime? currentDate; - final Widget picker; - final VoidCallback onConfirm; - final VoidCallback onCancel; - final String? confirmText; - final String? cancelText; - final String? helpText; - final Widget? entryModeButton; - - String _formatDateRange(BuildContext context, DateTime? start, DateTime? end, DateTime now) { - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - final String startText = _formatRangeStartDate(localizations, start, end); - final String endText = _formatRangeEndDate(localizations, start, end, now); - if (start == null || end == null) { - return localizations.unspecifiedDateRange; - } - if (Directionality.of(context) == TextDirection.ltr) { - return '$startText – $endText'; - } else { - return '$endText – $startText'; - } - } - - @override - Widget build(BuildContext context) { - final ThemeData theme = Theme.of(context); - final ColorScheme colorScheme = theme.colorScheme; - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - final Orientation orientation = MediaQuery.of(context).orientation; - final TextTheme textTheme = theme.textTheme; - - final Color onPrimarySurfaceColor = colorScheme.brightness == Brightness.light - ? colorScheme.onPrimary - : colorScheme.onSurface; - final TextStyle? dateStyle = orientation == Orientation.landscape - ? textTheme.bodySmall?.apply(color: onPrimarySurfaceColor) - : textTheme.bodyMedium?.apply(color: onPrimarySurfaceColor); - final String dateText = _formatDateRange(context, selectedStartDate, selectedEndDate, currentDate!); - final String semanticDateText = selectedStartDate != null && selectedEndDate != null - ? '${localizations.formatMediumDate(selectedStartDate!)} – ${localizations.formatMediumDate(selectedEndDate!)}' - : ''; - - final Widget header = _DatePickerHeader( - helpText: helpText ?? localizations.dateRangePickerHelpText, - titleText: dateText, - titleSemanticsLabel: semanticDateText, - titleStyle: dateStyle, - orientation: orientation, - isShort: orientation == Orientation.landscape, - entryModeButton: entryModeButton, - ); - - final Widget actions = Container( - alignment: AlignmentDirectional.centerEnd, - constraints: const BoxConstraints(minHeight: 52.0), - padding: const EdgeInsets.symmetric(horizontal: 8), - child: OverflowBar( - spacing: 8, - children: [ - TextButton( - onPressed: onCancel, - child: Text(cancelText ?? localizations.cancelButtonLabel), - ), - TextButton( - onPressed: onConfirm, - child: Text(confirmText ?? localizations.okButtonLabel), - ), - ], - ), - ); - - switch (orientation) { - case Orientation.portrait: - return Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - header, - Expanded(child: picker), - actions, - ], - ); - - case Orientation.landscape: - return Row( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - header, - Flexible( - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - Expanded(child: picker), - actions, - ], - ), - ), - ], - ); - } - } -} - -/// Provides a pair of text fields that allow the user to enter the start and -/// end dates that represent a range of dates. -class _InputDateRangePicker extends StatefulWidget { - /// Creates a row with two text fields configured to accept the start and end dates - /// of a date range. - _InputDateRangePicker({ - super.key, - DateTime? initialStartDate, - DateTime? initialEndDate, - required DateTime firstDate, - required DateTime lastDate, - required this.onStartDateChanged, - required this.onEndDateChanged, - this.helpText, - this.errorFormatText, - this.errorInvalidText, - this.errorInvalidRangeText, - this.fieldStartHintText, - this.fieldEndHintText, - this.fieldStartLabelText, - this.fieldEndLabelText, - this.autofocus = false, - this.autovalidate = false, - }) : initialStartDate = initialStartDate == null ? null : DateUtils.dateOnly(initialStartDate), - initialEndDate = initialEndDate == null ? null : DateUtils.dateOnly(initialEndDate), - assert(firstDate != null), - firstDate = DateUtils.dateOnly(firstDate), - assert(lastDate != null), - lastDate = DateUtils.dateOnly(lastDate), - assert(firstDate != null), - assert(lastDate != null), - assert(autofocus != null), - assert(autovalidate != null); - - /// The [DateTime] that represents the start of the initial date range selection. - final DateTime? initialStartDate; - - /// The [DateTime] that represents the end of the initial date range selection. - final DateTime? initialEndDate; - - /// The earliest allowable [DateTime] that the user can select. - final DateTime firstDate; - - /// The latest allowable [DateTime] that the user can select. - final DateTime lastDate; - - /// Called when the user changes the start date of the selected range. - final ValueChanged? onStartDateChanged; - - /// Called when the user changes the end date of the selected range. - final ValueChanged? onEndDateChanged; - - /// The text that is displayed at the top of the header. - /// - /// This is used to indicate to the user what they are selecting a date for. - final String? helpText; - - /// Error text used to indicate the text in a field is not a valid date. - final String? errorFormatText; - - /// Error text used to indicate the date in a field is not in the valid range - /// of [firstDate] - [lastDate]. - final String? errorInvalidText; - - /// Error text used to indicate the dates given don't form a valid date - /// range (i.e. the start date is after the end date). - final String? errorInvalidRangeText; - - /// Hint text shown when the start date field is empty. - final String? fieldStartHintText; - - /// Hint text shown when the end date field is empty. - final String? fieldEndHintText; - - /// Label used for the start date field. - final String? fieldStartLabelText; - - /// Label used for the end date field. - final String? fieldEndLabelText; - - /// {@macro flutter.widgets.editableText.autofocus} - final bool autofocus; - - /// If true, this the date fields will validate and update their error text - /// immediately after every change. Otherwise, you must call - /// [_InputDateRangePickerState.validate] to validate. - final bool autovalidate; - - @override - _InputDateRangePickerState createState() => _InputDateRangePickerState(); -} - -/// The current state of an [_InputDateRangePicker]. Can be used to -/// [validate] the date field entries. -class _InputDateRangePickerState extends State<_InputDateRangePicker> { - late String _startInputText; - late String _endInputText; - DateTime? _startDate; - DateTime? _endDate; - late TextEditingController _startController; - late TextEditingController _endController; - String? _startErrorText; - String? _endErrorText; - bool _autoSelected = false; - - @override - void initState() { - super.initState(); - _startDate = widget.initialStartDate; - _startController = TextEditingController(); - _endDate = widget.initialEndDate; - _endController = TextEditingController(); - } - - @override - void dispose() { - _startController.dispose(); - _endController.dispose(); - super.dispose(); - } - - @override - void didChangeDependencies() { - super.didChangeDependencies(); - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - if (_startDate != null) { - _startInputText = localizations.formatCompactDate(_startDate!); - final bool selectText = widget.autofocus && !_autoSelected; - _updateController(_startController, _startInputText, selectText); - _autoSelected = selectText; - } - - if (_endDate != null) { - _endInputText = localizations.formatCompactDate(_endDate!); - _updateController(_endController, _endInputText, false); - } - } - - /// Validates that the text in the start and end fields represent a valid - /// date range. - /// - /// Will return true if the range is valid. If not, it will - /// return false and display an appropriate error message under one of the - /// text fields. - bool validate() { - String? startError = _validateDate(_startDate); - final String? endError = _validateDate(_endDate); - if (startError == null && endError == null) { - if (_startDate!.isAfter(_endDate!)) { - startError = widget.errorInvalidRangeText ?? MaterialLocalizations.of(context).invalidDateRangeLabel; - } - } - setState(() { - _startErrorText = startError; - _endErrorText = endError; - }); - return startError == null && endError == null; - } - - DateTime? _parseDate(String? text) { - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - return localizations.parseCompactDate(text); - } - - String? _validateDate(DateTime? date) { - if (date == null) { - return widget.errorFormatText ?? MaterialLocalizations.of(context).invalidDateFormatLabel; - } else if (date.isBefore(widget.firstDate) || date.isAfter(widget.lastDate)) { - return widget.errorInvalidText ?? MaterialLocalizations.of(context).dateOutOfRangeLabel; - } - return null; - } - - void _updateController(TextEditingController controller, String text, bool selectText) { - TextEditingValue textEditingValue = controller.value.copyWith(text: text); - if (selectText) { - textEditingValue = textEditingValue.copyWith(selection: TextSelection( - baseOffset: 0, - extentOffset: text.length, - )); - } - controller.value = textEditingValue; - } - - void _handleStartChanged(String text) { - setState(() { - _startInputText = text; - _startDate = _parseDate(text); - widget.onStartDateChanged?.call(_startDate); - }); - if (widget.autovalidate) { - validate(); - } - } - - void _handleEndChanged(String text) { - setState(() { - _endInputText = text; - _endDate = _parseDate(text); - widget.onEndDateChanged?.call(_endDate); - }); - if (widget.autovalidate) { - validate(); - } - } - - @override - Widget build(BuildContext context) { - final MaterialLocalizations localizations = MaterialLocalizations.of(context); - final InputDecorationTheme inputTheme = Theme.of(context).inputDecorationTheme; - return Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - child: TextField( - controller: _startController, - decoration: InputDecoration( - border: inputTheme.border ?? const UnderlineInputBorder(), - filled: inputTheme.filled, - hintText: widget.fieldStartHintText ?? localizations.dateHelpText, - labelText: widget.fieldStartLabelText ?? localizations.dateRangeStartLabel, - errorText: _startErrorText, - ), - keyboardType: TextInputType.datetime, - onChanged: _handleStartChanged, - autofocus: widget.autofocus, - ), - ), - const SizedBox(width: 8), - Expanded( - child: TextField( - controller: _endController, - decoration: InputDecoration( - border: inputTheme.border ?? const UnderlineInputBorder(), - filled: inputTheme.filled, - hintText: widget.fieldEndHintText ?? localizations.dateHelpText, - labelText: widget.fieldEndLabelText ?? localizations.dateRangeEndLabel, - errorText: _endErrorText, - ), - keyboardType: TextInputType.datetime, - onChanged: _handleEndChanged, - ), - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_de_DE.json deleted file mode 100644 index dd5215012..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 113, - "name": "DecoratedBoxTransition", - "localName": "Dekorierte Box-Übergang", - "info": "Eine Unterklasse von AnimatedWidget, die einen Animator vom Typ Decorated verwendet, um eine Übergangsanimation zwischen zwei Decorated-Objekten für die Kindkomponente durchzuführen.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DecoratedBoxTransition", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【position】 : Vordergrund-/Hintergrundfarbe 【DecorationPosition】", - "【decoration】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_en_US.json deleted file mode 100644 index 49466d8c5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 113, - "name": "DecoratedBoxTransition", - "localName": "Decoration Transition", - "info": "A subclass of AnimatedWidget that uses a Decorated type animator to allow child components to transition between two Decorated objects.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DecoratedBoxTransition", - "desc": [ - "【child】: Child component 【Widget】", - "【position】: Foreground/Background color 【DecorationPosition】", - "【decoration】: Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_es_ES.json deleted file mode 100644 index a8cbf440a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 113, - "name": "DecoratedBoxTransition", - "localName": "Transición de caja decorada", - "info": "Subclase de AnimatedWidget, utiliza un animador de tipo Decorated para permitir que los componentes secundarios realicen una animación de transición entre dos objetos Decorated.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DecoratedBoxTransition", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【position】 : Color de primer plano/fondo 【DecorationPosition】", - "【decoration】 : Animación 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_fr_FR.json deleted file mode 100644 index 20bd975fd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 113, - "name": "DecoratedBoxTransition", - "localName": "Transition de boîte décorée", - "info": "Sous-classe de AnimatedWidget, utilise un animateur de type Decorated pour permettre à un composant enfant de faire une transition animée entre deux objets Decorated.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DecoratedBoxTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【position】 : Couleur de premier plan/arrière-plan 【DecorationPosition】", - "【decoration】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_it_IT.json deleted file mode 100644 index bad2bb5ee..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 113, - "name": "DecoratedBoxTransition", - "localName": "Transizione Decorata", - "info": "Sottoclasse di AnimatedWidget, utilizza un animatore di tipo Decorated per far sì che i componenti figli eseguano un'animazione di transizione tra due oggetti Decorated.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di DecoratedBoxTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【position】 : Colore di primo piano/sfondo 【DecorationPosition】", - "【decoration】 : Animazione 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_ja_JP.json deleted file mode 100644 index 7b3d731a5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 113, - "name": "DecoratedBoxTransition", - "localName": "装飾変換", - "info": "AnimatedWidgetのサブクラスで、Decoratedタイプのアニメーターを使用して、子コンポーネントが2つのDecoratedオブジェクト間で遷移アニメーションを行うようにします。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DecoratedBoxTransitionの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【position】 : 前景/背景色 【DecorationPosition】", - "【decoration】 : アニメーション 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_ko_KR.json deleted file mode 100644 index 856874152..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 113, - "name": "DecoratedBoxTransition", - "localName": "장식 변환", - "info": "AnimatedWidget의 하위 클래스, Decorated 타입의 애니메이터를 사용하여 자식 위젯이 두 Decorated 객체 간에 전환 애니메이션을 수행합니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DecoratedBoxTransition 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【position】 : 전경/배경색 【DecorationPosition】", - "【decoration】 : 애니메이션 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_pt_PT.json deleted file mode 100644 index 1cd6907fb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 113, - "name": "DecoratedBoxTransition", - "localName": "Transição Decorada", - "info": "Subclasse de AnimatedWidget, usa um animador do tipo Decorated para permitir que os componentes filhos realizem uma animação de transição entre dois objetos Decorated.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do DecoratedBoxTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【position】 : Cor de frente/fundo 【DecorationPosition】", - "【decoration】 : Animação 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_ru_RU.json deleted file mode 100644 index 665d61b51..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 113, - "name": "DecoratedBoxTransition", - "localName": "Декорированный переход", - "info": "Подкласс AnimatedWidget, использует аниматор типа Decorated для создания переходной анимации между двумя объектами Decorated для дочерних компонентов.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DecoratedBoxTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【position】 : Передний/фоновый цвет 【DecorationPosition】", - "【decoration】 : Анимация 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_zh-CN.json deleted file mode 100644 index 6731cee6c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 113, - "name": "DecoratedBoxTransition", - "localName": "装饰变换", - "info": "AnimatedWidget的子类,使用Decorated类型的动画器让子组件在两个Decorated对象之间进行过渡动画。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DecoratedBoxTransition基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【position】 : 前/背景色 【DecorationPosition】", - "【decoration】 : 动画 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/node1_base.dart deleted file mode 100644 index 1eced4434..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DecoratedBoxTransition/node1_base.dart +++ /dev/null @@ -1,68 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomDecoratedBoxTransition extends StatefulWidget { - const CustomDecoratedBoxTransition({Key? key}) : super(key: key); - - @override - _CustomDecoratedBoxTransitionState createState() => - _CustomDecoratedBoxTransitionState(); -} - -class _CustomDecoratedBoxTransitionState - extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - - @override - void initState() { - _ctrl = AnimationController( - vsync: this, - duration: const Duration(seconds: 1), - ); - _ctrl.forward(); - super.initState(); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => _ctrl.forward(from: 0), - child: SizedBox( - width: 200, - height: 100, - child: DecoratedBoxTransition( - position: DecorationPosition.background, - decoration: DecorationTween( - begin: const BoxDecoration( - color: Colors.greenAccent, - borderRadius: BorderRadius.all(Radius.circular(50)), - boxShadow: [ - BoxShadow( - offset: Offset(1, 1), - color: Colors.purple, - blurRadius: 3, - spreadRadius: 1) - ]), - end: const BoxDecoration( - color: Colors.orange, - borderRadius: BorderRadius.all(Radius.circular(10)), - boxShadow: [ - BoxShadow( - offset: Offset(1, 1), - color: Colors.blue, - blurRadius: 1, - spreadRadius: 0) - ])).animate(_ctrl), - child: const Icon(Icons.android, color: Colors.white, size: 60), - ), - )); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_de_DE.json deleted file mode 100644 index c4196581d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 230, - "name": "DefaultTabController", - "localName": "Standard-Tab-Controller", - "info": "Bei der Verwendung von TabBar und TabBarView ist ein gemeinsamer Controller erforderlich, um die Steuerung der Tabs und Seiten zu implementieren. DefaultTabController bietet einen Standard-Controller, wenn kein Controller angegeben ist, und vereinfacht die Verwendung.", - "lever": 3, - "family": 1, - "linkIds": [ - 148, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DefaultTabController", - "desc": [ - "【length】 : Anzahl der Tabs 【int】", - "【initialIndex】 : Anfänglicher Tab-Index 【int】", - "【child】 : Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_en_US.json deleted file mode 100644 index 29fa51ca6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 230, - "name": "DefaultTabController", - "localName": "Default Tab Controller", - "info": "When using TabBar and TabBarView, the same controller is needed to control both the tabs and the pages. DefaultTabController provides a default controller when no controller is specified, simplifying usage.", - "lever": 3, - "family": 1, - "linkIds": [ - 148, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DefaultTabController", - "desc": [ - "【length】: Number of tabs 【int】", - "【initialIndex】: Initial tab index 【int】", - "【child】: Component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_es_ES.json deleted file mode 100644 index b21625e15..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 230, - "name": "DefaultTabController", - "localName": "Controlador de pestañas predeterminado", - "info": "Al usar TabBar y TabBarView, se necesita el mismo controlador para controlar las pestañas y las páginas. DefaultTabController proporciona un controlador predeterminado cuando no se especifica uno, simplificando su uso.", - "lever": 3, - "family": 1, - "linkIds": [ - 148, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DefaultTabController", - "desc": [ - "【length】 : Número de pestañas 【int】", - "【initialIndex】 : Índice inicial de la pestaña 【int】", - "【child】 : Componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_fr_FR.json deleted file mode 100644 index 6429435c9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 230, - "name": "DefaultTabController", - "localName": "Contrôleur d'onglets par défaut", - "info": "Lors de l'utilisation de TabBar et TabBarView, il est nécessaire qu'un même contrôleur gère à la fois les onglets et les pages. DefaultTabController fournit un contrôleur par défaut lorsqu'aucun contrôleur n'est spécifié, simplifiant ainsi son utilisation.", - "lever": 3, - "family": 1, - "linkIds": [ - 148, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DefaultTabController", - "desc": [ - "【length】 : Nombre d'onglets 【int】", - "【initialIndex】 : Index de l'onglet initial 【int】", - "【child】 : Composant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_it_IT.json deleted file mode 100644 index 53653e081..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 230, - "name": "DefaultTabController", - "localName": "Controllore di schede predefinito", - "info": "Quando si utilizza TabBar e TabBarView, è necessario che lo stesso controllore gestisca sia le schede che le pagine. DefaultTabController fornisce un controllore predefinito quando non ne viene specificato uno, semplificando l'uso.", - "lever": 3, - "family": 1, - "linkIds": [ - 148, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di DefaultTabController", - "desc": [ - "【length】 : Numero di schede 【int】", - "【initialIndex】 : Indice della scheda iniziale 【int】", - "【child】 : Componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_ja_JP.json deleted file mode 100644 index a78257bad..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 230, - "name": "DefaultTabController", - "localName": "デフォルトタブコントローラー", - "info": "TabBarとTabBarViewを使用する場合、同じコントローラーでタブとページの制御を実現する必要があります。DefaultTabControllerは、コントローラーが指定されていない場合にデフォルトのコントローラーを提供し、使用を簡素化します。", - "lever": 3, - "family": 1, - "linkIds": [ - 148, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultTabControllerの基本的な使用法", - "desc": [ - "【length】 : タブの数 【int】", - "【initialIndex】 : 初期タブインデックス 【int】", - "【child】 : コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_ko_KR.json deleted file mode 100644 index 5608a9a3f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 230, - "name": "DefaultTabController", - "localName": "기본 탭 컨트롤러", - "info": "TabBar와 TabBarView를 사용할 때, 동일한 컨트롤러가 탭과 페이지를 제어해야 합니다. DefaultTabController는 컨트롤러가 지정되지 않았을 때 기본 컨트롤러를 제공하여 사용을 단순화합니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 148, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultTabController 기본 사용", - "desc": [ - "【length】 : 탭 수 【int】", - "【initialIndex】 : 초기 탭 인덱스 【int】", - "【child】 : 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_pt_PT.json deleted file mode 100644 index 010a806d5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 230, - "name": "DefaultTabController", - "localName": "Controlador de Abas Padrão", - "info": "Ao usar TabBar e TabBarView, é necessário que o mesmo controlador implemente o controle das abas e das páginas. O DefaultTabController fornece um controlador padrão quando nenhum controlador é especificado, simplificando o uso.", - "lever": 3, - "family": 1, - "linkIds": [ - 148, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do DefaultTabController", - "desc": [ - "【length】 : Número de abas 【int】", - "【initialIndex】 : Índice inicial da aba 【int】", - "【child】 : Componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_ru_RU.json deleted file mode 100644 index 09e795e21..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 230, - "name": "DefaultTabController", - "localName": "Контроллер вкладок по умолчанию", - "info": "При использовании TabBar и TabBarView требуется один и тот же контроллер для управления вкладками и страницами. DefaultTabController предоставляет контроллер по умолчанию, если он не указан, что упрощает использование.", - "lever": 3, - "family": 1, - "linkIds": [ - 148, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DefaultTabController", - "desc": [ - "【length】 : Количество вкладок 【int】", - "【initialIndex】 : Начальный индекс вкладки 【int】", - "【child】 : Компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_zh-CN.json deleted file mode 100644 index 51d6dc7e1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 230, - "name": "DefaultTabController", - "localName": "默认页签控制器", - "info": "在使用 TabBar 和 TabBarView 时,需要同一个控制器实现页签和页面的控制。DefaultTabController 会在未指定控制器时提供默认控制器,简化使用。", - "lever": 3, - "family": 1, - "linkIds": [ - 148, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultTabController基本使用", - "desc": [ - "【length】 : 页签数量 【int】", - "【initialIndex】 : 初始页签索引 【int】", - "【child】 : 组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/node1_base.dart deleted file mode 100644 index 3e04b5156..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTabController/node1_base.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class DefaultTabControllerDemo extends StatelessWidget { - final List tabs = const [ - Tab(text: '青眼白龙'), - Tab(text: '黑魔术师'), - Tab(text: '混沌战士'), - ]; - - const DefaultTabControllerDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: DefaultTabController( - length: tabs.length, - child: Scaffold( - appBar: AppBar( - title: const Text("DefaultTabController"), - bottom: TabBar( - tabs: tabs, - ), - ), - body: TabBarView( - children: tabs.map((Tab tab) { - return Center( - child: Text( - '${tab.text}', - style: const TextStyle(fontSize: 20), - ), - ); - }).toList(), - ), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_de_DE.json deleted file mode 100644 index 34d04c2b0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 114, - "name": "DefaultTextStyleTransition", - "localName": "Textstilübergang", - "info": "Eine Unterklasse von AnimatedWidget, die einen Animator vom Typ TextStyle verwendet, um Textkomponenten zwischen zwei TextStyle-Objekten zu animieren.", - "lever": 3, - "family": 1, - "linkIds": [ - 124, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DefaultTextStyleTransition", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【textAlign】 : Textausrichtung 【TextAlign】", - "【softWrap】 : Umbrüche aktivieren 【bool】", - "【maxLines】 : Maximale Zeilenanzahl 【int】", - "【overflow】 : Überlaufmodus 【TextOverflow】", - "【style】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_en_US.json deleted file mode 100644 index 2225e1be8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 114, - "name": "DefaultTextStyleTransition", - "localName": "Text Style Transition", - "info": "A subclass of AnimatedWidget, using a TextStyle type animator to transition text components between two TextStyle objects.", - "lever": 3, - "family": 1, - "linkIds": [ - 124, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DefaultTextStyleTransition", - "desc": [ - "【child】 : Child component 【Widget】", - "【textAlign】 : Text alignment 【TextAlign】", - "【softWrap】 : Whether to wrap 【bool】", - "【maxLines】 : Maximum number of lines 【int】", - "【overflow】 : Overflow mode 【TextOverflow】", - "【style】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_es_ES.json deleted file mode 100644 index 2e865c013..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 114, - "name": "DefaultTextStyleTransition", - "localName": "Transición de Estilo de Texto", - "info": "Subclase de AnimatedWidget, utiliza un animador de tipo TextStyle para permitir que los componentes de texto realicen una transición animada entre dos objetos TextStyle.", - "lever": 3, - "family": 1, - "linkIds": [ - 124, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DefaultTextStyleTransition", - "desc": [ - "【child】 : Widget hijo 【Widget】", - "【textAlign】 : Alineación del texto 【TextAlign】", - "【softWrap】 : Si debe envolver 【bool】", - "【maxLines】 : Número máximo de líneas 【int】", - "【overflow】 : Modo de desbordamiento 【TextOverflow】", - "【style】 : Animación 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_fr_FR.json deleted file mode 100644 index 42a88a161..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 114, - "name": "DefaultTextStyleTransition", - "localName": "Transition de style de texte", - "info": "Sous-classe de AnimatedWidget, utilise un animateur de type TextStyle pour permettre à un composant de texte de faire une transition animée entre deux objets TextStyle.", - "lever": 3, - "family": 1, - "linkIds": [ - 124, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DefaultTextStyleTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【textAlign】 : Alignement du texte 【TextAlign】", - "【softWrap】 : Enveloppement 【bool】", - "【maxLines】 : Nombre maximum de lignes 【int】", - "【overflow】 : Mode de débordement 【TextOverflow】", - "【style】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_it_IT.json deleted file mode 100644 index 5e229f8ff..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 114, - "name": "DefaultTextStyleTransition", - "localName": "Transizione dello stile del testo", - "info": "Sottoclasse di AnimatedWidget, utilizza un animatore di tipo TextStyle per far sì che i componenti di testo eseguano un'animazione di transizione tra due oggetti TextStyle.", - "lever": 3, - "family": 1, - "linkIds": [ - 124, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di DefaultTextStyleTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【textAlign】 : Allineamento del testo 【TextAlign】", - "【softWrap】 : Se avvolgere 【bool】", - "【maxLines】 : Numero massimo di righe 【int】", - "【overflow】 : Modalità di overflow 【TextOverflow】", - "【style】 : Animazione 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_ja_JP.json deleted file mode 100644 index 3eb5d7259..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 114, - "name": "DefaultTextStyleTransition", - "localName": "テキストスタイルの切り替え", - "info": "AnimatedWidgetのサブクラスで、TextStyleタイプのアニメーターを使用して、テキストコンポーネントが2つのTextStyleオブジェクト間でトランジションアニメーションを行います。", - "lever": 3, - "family": 1, - "linkIds": [ - 124, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultTextStyleTransitionの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【textAlign】 : テキストの配置 【TextAlign】", - "【softWrap】 : ラップするかどうか 【bool】", - "【maxLines】 : 最大行数 【int】", - "【overflow】 : オーバーフローモード 【TextOverflow】", - "【style】 : アニメーション 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_ko_KR.json deleted file mode 100644 index 2e3f8d7f9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 114, - "name": "DefaultTextStyleTransition", - "localName": "텍스트 스타일 전환", - "info": "AnimatedWidget의 하위 클래스로, TextStyle 타입의 애니메이터를 사용하여 텍스트 컴포넌트가 두 TextStyle 객체 사이에서 전환 애니메이션을 수행합니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 124, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultTextStyleTransition 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【textAlign】 : 텍스트 정렬 방식 【TextAlign】", - "【softWrap】 : 감싸기 여부 【bool】", - "【maxLines】 : 최대 줄 수 【int】", - "【overflow】 : 오버플로우 모드 【TextOverflow】", - "【style】 : 애니메이션 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_pt_PT.json deleted file mode 100644 index 32515881a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 114, - "name": "DefaultTextStyleTransition", - "localName": "Transição de Estilo de Texto", - "info": "Subclasse de AnimatedWidget, utiliza um animador do tipo TextStyle para permitir que componentes de texto façam uma transição animada entre dois objetos TextStyle.", - "lever": 3, - "family": 1, - "linkIds": [ - 124, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de DefaultTextStyleTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【textAlign】 : Alinhamento do texto 【TextAlign】", - "【softWrap】 : Se deve envolver 【bool】", - "【maxLines】 : Número máximo de linhas 【int】", - "【overflow】 : Modo de overflow 【TextOverflow】", - "【style】 : Animação 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_ru_RU.json deleted file mode 100644 index 06190b7e8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 114, - "name": "DefaultTextStyleTransition", - "localName": "Анимация стиля текста", - "info": "Подкласс AnimatedWidget, использует аниматор типа TextStyle для создания анимации перехода между двумя объектами TextStyle в текстовых компонентах.", - "lever": 3, - "family": 1, - "linkIds": [ - 124, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DefaultTextStyleTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【textAlign】 : Выравнивание текста 【TextAlign】", - "【softWrap】 : Обернуть ли текст 【bool】", - "【maxLines】 : Максимальное количество строк 【int】", - "【overflow】 : Режим переполнения 【TextOverflow】", - "【style】 : Анимация 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_zh-CN.json deleted file mode 100644 index bd6649d12..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 114, - "name": "DefaultTextStyleTransition", - "localName": "文字样式变换", - "info": "AnimatedWidget的子类,使用TextStyle类型的动画器让文字组件在两个TextStyle对象之间进行过渡动画。", - "lever": 3, - "family": 1, - "linkIds": [ - 124, - 324 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DefaultTextStyleTransition基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【textAlign】 : 文字对齐方式 【TextAlign】", - "【softWrap】 : 是否包裹 【bool】", - "【maxLines】 : 最大行数 【int】", - "【overflow】 : 溢出模式 【TextOverflow】", - "【style】 : 动画 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/node1_base.dart deleted file mode 100644 index da7853e0f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DefaultTextStyleTransition/node1_base.dart +++ /dev/null @@ -1,75 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomDefaultTextStyleTransition extends StatefulWidget { - const CustomDefaultTextStyleTransition({Key? key}) : super(key: key); - - @override - _CustomDefaultTextStyleTransitionState createState() => - _CustomDefaultTextStyleTransitionState(); -} - -class _CustomDefaultTextStyleTransitionState - extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - - @override - void initState() { - _ctrl = AnimationController( - vsync: this, - duration: const Duration(seconds: 1), - ); - _ctrl.forward(); - super.initState(); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () { - setState(() { - _ctrl.reset(); - _ctrl.forward(); - }); - }, - child: Container( - alignment: Alignment.center, - width: 300, - height: 100, - child: DefaultTextStyleTransition( - textAlign: TextAlign.start, - softWrap: true, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: TextStyleTween( - begin: const TextStyle( - color: Colors.blue, - fontSize: 50, - shadows: [ - Shadow( - offset: Offset(1, 1), - color: Colors.black, - blurRadius: 3) - ]), - end: const TextStyle( - color: Colors.white, - fontSize: 20, - shadows: [ - Shadow( - offset: Offset(1, 1), - color: Colors.purple, - blurRadius: 3) - ])).animate(_ctrl), - child: const Text('张风捷特烈'), - ), - )); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_de_DE.json deleted file mode 100644 index cb6cb1f98..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_de_DE.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 176, - "name": "Dismissible", - "localName": "Wischbar", - "info": "Beim Wischen kann die untere Komponente angezeigt werden, die Wischrichtung und die seitliche Verschiebung können angegeben werden. Empfängt Rückrufe bei Bestätigung des Verschwindens und beim Verschwinden.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Dismissible", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【background】 : Linke Unterseite 【Widget】", - "【secondaryBackground】 : Rechte Unterseite 【Widget】", - "【key】 : Schlüssel 【Key】", - "【confirmDismiss】 : Bestätigungsrückruf 【DismissDirectionCallback】", - "【onDismissed】 : Rückruf beim Verschwinden 【DismissDirectionCallback】," - ] - }, - { - "file": "node2_direction.dart", - "name": "Grundlegende Verwendung von Dismissible", - "desc": [ - "【direction】 : Richtung 【DismissDirection】", - "【crossAxisEndOffset】 : Verschiebung 【double】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_en_US.json deleted file mode 100644 index 647ec0b09..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_en_US.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 176, - "name": "Dismissible", - "localName": "Swipe to Dismiss", - "info": "When swiping, the bottom component can be displayed, and the direction of the swipe and the offset of the cross axis can be specified. Receives callbacks for confirming dismissal and when dismissed.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Dismissible", - "desc": [ - "【child】: Child component 【Widget】", - "【background】: Left bottom 【Widget】", - "【secondaryBackground】: Right bottom 【Widget】", - "【key】: Key 【Key】", - "【confirmDismiss】: Confirmation callback 【DismissDirectionCallback】", - "【onDismissed】: Dismissal callback 【DismissDirectionCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Basic Usage of Dismissible", - "desc": [ - "【direction】: Direction 【DismissDirection】", - "【crossAxisEndOffset】: Offset 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_es_ES.json deleted file mode 100644 index d128f79e1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_es_ES.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 176, - "name": "Dismissible", - "localName": "Deslizar para desaparecer", - "info": "Al deslizar, se puede mostrar el componente inferior. Se puede especificar la dirección del deslizamiento y el desplazamiento del eje cruzado. Recibe devoluciones de llamada de confirmación de desaparición y desaparición.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Dismissible", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【background】 : Fondo izquierdo 【Widget】", - "【secondaryBackground】 : Fondo derecho 【Widget】", - "【key】 : Clave 【Key】", - "【confirmDismiss】 : Devolución de llamada de confirmación 【DismissDirectionCallback】", - "【onDismissed】 : Devolución de llamada de desaparición 【DismissDirectionCallback】," - ] - }, - { - "file": "node2_direction.dart", - "name": "Uso básico de Dismissible", - "desc": [ - "【direction】 : Dirección 【DismissDirection】", - "【crossAxisEndOffset】 : Desplazamiento 【double】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_fr_FR.json deleted file mode 100644 index 03d61cd7b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_fr_FR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 176, - "name": "Dismissible", - "localName": "Glissement pour disparaître", - "info": "Lors du glissement, le composant inférieur peut être affiché. Il est possible de spécifier la direction du glissement et le décalage de l'axe croisé. Reçoit des rappels de confirmation de disparition et de disparition.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Dismissible", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【background】 : Fond gauche 【Widget】", - "【secondaryBackground】 : Fond droit 【Widget】", - "【key】 : Clé 【Key】", - "【confirmDismiss】 : Rappel de confirmation 【DismissDirectionCallback】", - "【onDismissed】 : Rappel de disparition 【DismissDirectionCallback】," - ] - }, - { - "file": "node2_direction.dart", - "name": "Utilisation de base de Dismissible", - "desc": [ - "【direction】 : Direction 【DismissDirection】", - "【crossAxisEndOffset】 : Décalage 【double】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_it_IT.json deleted file mode 100644 index 96b274752..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_it_IT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 176, - "name": "Dismissible", - "localName": "Scorrimento per eliminare", - "info": "Durante lo scorrimento è possibile visualizzare il componente sottostante, è possibile specificare la direzione dello scorrimento e l'offset dell'asse trasversale. Riceve callback di conferma eliminazione e di eliminazione.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Dismissible", - "desc": [ - "【child】 : componente figlio 【Widget】", - "【background】 : fondo sinistro 【Widget】", - "【secondaryBackground】 : fondo destro 【Widget】", - "【key】 : chiave 【Key】", - "【confirmDismiss】 : callback di conferma 【DismissDirectionCallback】", - "【onDismissed】 : callback di eliminazione 【DismissDirectionCallback】," - ] - }, - { - "file": "node2_direction.dart", - "name": "Uso di base di Dismissible", - "desc": [ - "【direction】 : direzione 【DismissDirection】", - "【crossAxisEndOffset】 : offset 【double】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_ja_JP.json deleted file mode 100644 index 4f656b32b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_ja_JP.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 176, - "name": "Dismissible", - "localName": "スワイプで消える", - "info": "スワイプ時に下部コンポーネントを表示でき、スワイプの方向と交差軸のオフセットを指定できます。確認消失と消失時のコールバックを受け取ります。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Dismissibleの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【background】 : 左底 【Widget】", - "【secondaryBackground】 : 右底 【Widget】", - "【key】 : キー 【Key】", - "【confirmDismiss】 : 確認コールバック 【DismissDirectionCallback】", - "【onDismissed】 : 消失コールバック 【DismissDirectionCallback】," - ] - }, - { - "file": "node2_direction.dart", - "name": "Dismissibleの基本使用", - "desc": [ - "【direction】 : 方向 【DismissDirection】", - "【crossAxisEndOffset】 : オフセット 【double】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_ko_KR.json deleted file mode 100644 index 9d03c0280..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_ko_KR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 176, - "name": "Dismissible", - "localName": "슬라이드로 사라짐", - "info": "슬라이드 시 하위 컴포넌트를 표시할 수 있으며, 슬라이드 방향과 교차 축의 오프셋을 지정할 수 있습니다. 사라짐 확인 및 사라짐 시 콜백을 받습니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Dismissible 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【background】 : 왼쪽 하단 【Widget】", - "【secondaryBackground】 : 오른쪽 하단 【Widget】", - "【key】 : 키 【Key】", - "【confirmDismiss】 : 확인 콜백 【DismissDirectionCallback】", - "【onDismissed】 : 사라짐 콜백 【DismissDirectionCallback】," - ] - }, - { - "file": "node2_direction.dart", - "name": "Dismissible 기본 사용", - "desc": [ - "【direction】 : 방향 【DismissDirection】", - "【crossAxisEndOffset】 : 오프셋 【double】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_pt_PT.json deleted file mode 100644 index 0a9c30ace..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_pt_PT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 176, - "name": "Dismissible", - "localName": "Deslizar para desaparecer", - "info": "Ao deslizar, o componente inferior pode ser exibido, e a direção do deslize e o deslocamento do eixo cruzado podem ser especificados. Recebe retornos de chamada para confirmação de desaparecimento e desaparecimento.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Dismissible", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【background】 : Fundo esquerdo 【Widget】", - "【secondaryBackground】 : Fundo direito 【Widget】", - "【key】 : Chave 【Key】", - "【confirmDismiss】 : Retorno de chamada de confirmação 【DismissDirectionCallback】", - "【onDismissed】 : Retorno de chamada de desaparecimento 【DismissDirectionCallback】," - ] - }, - { - "file": "node2_direction.dart", - "name": "Uso básico do Dismissible", - "desc": [ - "【direction】 : Direção 【DismissDirection】", - "【crossAxisEndOffset】 : Deslocamento 【double】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_ru_RU.json deleted file mode 100644 index 128c3c9f2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_ru_RU.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 176, - "name": "Dismissible", - "localName": "Скользящее исчезновение", - "info": "При скольжении можно отобразить компонент внизу, можно указать направление скольжения и смещение по поперечной оси. Получает обратные вызовы при подтверждении исчезновения и исчезновении.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Dismissible", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【background】 : Левый низ 【Widget】", - "【secondaryBackground】 : Правый низ 【Widget】", - "【key】 : Ключ 【Key】", - "【confirmDismiss】 : Обратный вызов подтверждения 【DismissDirectionCallback】", - "【onDismissed】 : Обратный вызов исчезновения 【DismissDirectionCallback】," - ] - }, - { - "file": "node2_direction.dart", - "name": "Основное использование Dismissible", - "desc": [ - "【direction】 : Направление 【DismissDirection】", - "【crossAxisEndOffset】 : Смещение 【double】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_zh-CN.json deleted file mode 100644 index f4f9ae05c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/desc_zh-CN.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 176, - "name": "Dismissible", - "localName": "滑动消失", - "info": "滑动时可显示底部组件,可指定滑动的方向和交叉轴的偏移量。接收确认消失和消失时的回调。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Dismissible基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【background】 : 左底 【Widget】", - "【secondaryBackground】 : 右底 【Widget】", - "【key】 : 键 【Key】", - "【confirmDismiss】 : 确认回调 【DismissDirectionCallback】", - "【onDismissed】 : 消失回调 【DismissDirectionCallback】," - ] - }, - { - "file": "node2_direction.dart", - "name": "Dismissible基本使用", - "desc": [ - "【direction】 : 方向 【DismissDirection】", - "【crossAxisEndOffset】 : 偏移 【double】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/node1_base.dart deleted file mode 100644 index 06622dddb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/node1_base.dart +++ /dev/null @@ -1,87 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomDismissible extends StatefulWidget { - const CustomDismissible({Key? key}) : super(key: key); - - @override - _CustomDismissibleState createState() => _CustomDismissibleState(); -} - -class _CustomDismissibleState extends State { - final List data = [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: ListView( - padding: const EdgeInsets.symmetric(horizontal: 5), - children: data.map((color) => _buildItem(color)).toList(), - ), - ); - } - - Widget _buildItem(Color color) { - return Dismissible( - background: Container( - color: Colors.green, - alignment: const Alignment(-0.9, 0), - child: const Icon( - Icons.check, - color: Colors.white, - ), - ), - secondaryBackground: Container( - alignment: const Alignment(0.9, 0), - child: const Icon( - Icons.close, - color: Colors.white, - ), - color: Colors.red, - ), - key: ValueKey(color), - onDismissed: (d) { - data.remove(color); - }, - confirmDismiss: (e) async { - if (e == DismissDirection.endToStart) { - return true; - } else { - return false; - } - }, - child: Container( - alignment: Alignment.center, - height: 50, - color: color, - child: Text( - colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ]), - ), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/node2_direction.dart b/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/node2_direction.dart deleted file mode 100644 index 66ee53a01..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Dismissible/node2_direction.dart +++ /dev/null @@ -1,99 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class DirectionDismissible extends StatefulWidget { - const DirectionDismissible({Key? key}) : super(key: key); - - @override - _CustomDirectionDismissibleState createState() => - _CustomDirectionDismissibleState(); -} - -class _CustomDirectionDismissibleState extends State { - final List data = [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: ListView( - scrollDirection: Axis.horizontal, - padding: const EdgeInsets.symmetric(horizontal: 5), - children: data.map((color) => _buildItem(color)).toList(), - ), - ); - } - - Widget _buildItem(Color color) { - return Dismissible( - direction: DismissDirection.vertical, - background: Container( - color: Colors.green, - alignment: const Alignment( - 0, - -0.9, - ), - child: const Icon( - Icons.check, - color: Colors.white, - ), - ), - crossAxisEndOffset: 0.5, - secondaryBackground: Container( - alignment: const Alignment( - 0, - 0.9, - ), - child: const Icon( - Icons.close, - color: Colors.white, - ), - color: Colors.red, - ), - key: ValueKey(color), - onDismissed: (d) { - data.remove(color); - }, - confirmDismiss: (e) async { - print(e); - if (e == DismissDirection.up) { - return true; - } else { - return false; - } - }, - child: Container( - alignment: Alignment.center, - width: 80, - color: color, - child: Text( - colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ]), - ), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_de_DE.json deleted file mode 100644 index 81b99c4f7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 104, - "name": "DragTarget", - "localName": "Ziel zum Ziehen", - "info": "Ein Zielbereich zum Ziehen, der Informationen von der Draggable-Komponente empfangen kann. Kann Rückrufe beim Ziehen erhalten.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DragTarget", - "desc": [ - "【builder】 : Komponentenkonstruktor 【DragTargetBuilder】", - "【onWillAccept】 : Beim Ziehen 【Function(T)】", - "【onAccept】 : Ziehen erfolgreich 【Function(T)】", - "【onLeave】 : Ziehen und Loslassen 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_en_US.json deleted file mode 100644 index c78436447..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 104, - "name": "DragTarget", - "localName": "Drag Target", - "info": "A target area for dragging, which can receive information from the Draggable component. It can get callbacks during dragging.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DragTarget", - "desc": [ - "【builder】: Component builder 【DragTargetBuilder】", - "【onWillAccept】: When dragging in 【Function(T)】", - "【onAccept】: Drag success 【Function(T)】", - "【onLeave】: Drag in and then out 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_es_ES.json deleted file mode 100644 index 859043849..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 104, - "name": "DragTarget", - "localName": "Objetivo de Arrastrar", - "info": "Un área objetivo para arrastrar, que puede recibir información del componente Draggable. Puede obtener devoluciones de llamada durante el arrastre.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de DragTarget", - "desc": [ - "【builder】 : Constructor del componente 【DragTargetBuilder】", - "【onWillAccept】 : Al arrastrar hacia adentro 【Function(T)】", - "【onAccept】 : Arrastre exitoso 【Function(T)】", - "【onLeave】 : Arrastrar hacia adentro y luego hacia afuera 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_fr_FR.json deleted file mode 100644 index 6d06cb8a8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 104, - "name": "DragTarget", - "localName": "Cible de glisser-déposer", - "info": "Une zone cible pour le glisser-déposer, capable de recevoir des informations du composant Draggable. Peut obtenir des rappels lors du glisser-déposer.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DragTarget", - "desc": [ - "【builder】 : Constructeur de composant 【DragTargetBuilder】", - "【onWillAccept】 : Lors du glissement 【Function(T)】", - "【onAccept】 : Glisser-déposer réussi 【Function(T)】", - "【onLeave】 : Glisser-déposer puis sortir 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_it_IT.json deleted file mode 100644 index 04c0e0083..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 104, - "name": "DragTarget", - "localName": "Obiettivo di trascinamento", - "info": "Un'area di destinazione per il trascinamento, in grado di ricevere informazioni dal componente Draggable. È possibile ottenere callback durante il trascinamento.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di DragTarget", - "desc": [ - "【builder】 : Costruttore del componente 【DragTargetBuilder】", - "【onWillAccept】 : Durante il trascinamento 【Function(T)】", - "【onAccept】 : Trascinamento riuscito 【Function(T)】", - "【onLeave】 : Trascinato e poi rilasciato 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_ja_JP.json deleted file mode 100644 index 60747d786..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 104, - "name": "DragTarget", - "localName": "ドラッグターゲット", - "info": "ドラッグ可能なコンポーネントの情報を受け取るためのドラッグターゲットエリアです。ドラッグ時のコールバックを取得できます。", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DragTargetの基本使用", - "desc": [ - "【builder】 : コンポーネントビルダー 【DragTargetBuilder】", - "【onWillAccept】 : ドラッグイン時 【Function(T)】", - "【onAccept】 : ドラッグ成功時 【Function(T)】", - "【onLeave】 : ドラッグイン後ドラッグアウト時 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_ko_KR.json deleted file mode 100644 index c7822b57e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 104, - "name": "DragTarget", - "localName": "드래그 대상", - "info": "드래그 가능한 영역으로, Draggable 컴포넌트의 정보를 받을 수 있습니다. 드래그 시 콜백을 얻을 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DragTarget 기본 사용", - "desc": [ - "【builder】 : 컴포넌트 빌더 【DragTargetBuilder】", - "【onWillAccept】 : 드래그 시 【Function(T)】", - "【onAccept】 : 드래그 성공 【Function(T)】", - "【onLeave】 : 드래그 후 떼기 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_pt_PT.json deleted file mode 100644 index e83591672..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 104, - "name": "DragTarget", - "localName": "Alvo de Arrastar", - "info": "Uma área de destino para arrastar, que pode receber informações do componente Draggable. Pode obter retornos de chamada durante o arrasto.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do DragTarget", - "desc": [ - "【builder】 : Construtor de componentes 【DragTargetBuilder】", - "【onWillAccept】 : Ao arrastar para dentro 【Function(T)】", - "【onAccept】 : Arrasto bem-sucedido 【Function(T)】", - "【onLeave】 : Arrastar para dentro e depois para fora 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_ru_RU.json deleted file mode 100644 index 6355c56c3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 104, - "name": "DragTarget", - "localName": "Цель перетаскивания", - "info": "Область цели для перетаскивания, которая может принимать информацию от компонента Draggable. Можно получить обратные вызовы при перетаскивании.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DragTarget", - "desc": [ - "【builder】 : Конструктор компонента 【DragTargetBuilder】", - "【onWillAccept】 : При перетаскивании 【Function(T)】", - "【onAccept】 : Успешное перетаскивание 【Function(T)】", - "【onLeave】 : Перетаскивание и выход 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_zh-CN.json deleted file mode 100644 index 6f1036ba8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 104, - "name": "DragTarget", - "localName": "拖拽目标", - "info": "一个拖拽的目标区域,可接收Draggable组件的信息。可以获取拖拽时的回调。", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DragTarget基本使用", - "desc": [ - "【builder】 : 组件构造器 【DragTargetBuilder】", - "【onWillAccept】 : 拖入时 【Function(T)】", - "【onAccept】 : 拖拽成功 【Function(T)】", - "【onLeave】 : 拖入再脱出 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/node1_base.dart deleted file mode 100644 index 756160220..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DragTarget/node1_base.dart +++ /dev/null @@ -1,86 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - - -class CustomDragTarget extends StatefulWidget { - const CustomDragTarget({Key? key}) : super(key: key); - - @override - _CustomDragTargetState createState() => _CustomDragTargetState(); -} - -class _CustomDragTargetState extends State { - Color _color = Colors.grey; - String _info = 'DragTarget'; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Wrap(children: _buildColors(), spacing: 10), - const SizedBox(height: 20), - _buildDragTarget() - ], - ); - } - - final List colors = const [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green, - Colors.orange, - Colors.purple, - Colors.cyanAccent - ]; - - List _buildColors() => colors - .map( - (e) => Draggable( - child: Container( - width: 30, - height: 30, - alignment: Alignment.center, - child: Text( - colors.indexOf(e).toString(), - style: const TextStyle( - color: Colors.white, fontWeight: FontWeight.bold), - ), - decoration: BoxDecoration(color: e, shape: BoxShape.circle), - ), - data: e, - feedback: Container( - width: 25, - height: 25, - decoration: BoxDecoration(color: e, shape: BoxShape.circle), - )), - ).toList(); - - Widget _buildDragTarget() { - return DragTarget( - onLeave: (data) => setState(() => _info='onLeave'), - onAccept: (data) => setState(() { - _info='onAccept'; - _color = data; - }), - onWillAccept: (data) { - setState(() { - _info='onWillAccept'; - }); - print("onWillAccept: data = $data "); - return data != null; - }, - builder: (context, candidateData, rejectedData) => Container( - width: 150.0, - height: 50.0, - color: _color, - child: Center( - child: Text( - _info, - style: const TextStyle(color: Colors.white), - ), - ))); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_de_DE.json deleted file mode 100644 index 9d4157287..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_de_DE.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 103, - "name": "Draggable", - "localName": "Verschiebbare Komponente", - "info": "Ermöglicht das Verschieben der Komponente auf der Benutzeroberfläche und kann Daten eines generischen Typs T speichern. Wird normalerweise in Kombination mit DragTarget verwendet, um den Drag-and-Drop-Effekt zu erzielen.", - "lever": 4, - "family": 1, - "linkIds": [ - 104, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Draggable", - "desc": [ - "【child】 : Kind 【Widget】", - "【feedback】 : Kind während des Ziehens 【Widget】", - "【axis】 : Achse des Ziehens 【Axis】" - ] - }, - { - "file": "node2_data.dart", - "name": "Kombinierte Verwendung von Draggable und DragTarget", - "desc": [ - "【data】 : Daten 【T】", - "【onDragStarted】 : Ziehen gestartet 【Function()】", - "【onDragEnd】 : Ziehen beendet 【Function(DraggableDetails)】", - "【onDragCompleted】 : Ziehen abgeschlossen 【Function()】", - "【onDraggableCanceled】 : Ziehen abgebrochen 【Function(Velocity,Offset)】", - "【onChanged】 : Rückruf bei Änderung 【Function(T)】" - ] - }, - { - "file": "node3_use.dart", - "name": "Andere Verwendungen von Draggable", - "desc": [ - "Kann verwendet werden, um einige Ereignisse basierend auf dem Ziehen zu verarbeiten, wie z.B. Löschen, Abfragen, Pop-up-Fenster usw." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_en_US.json deleted file mode 100644 index 28afb401e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_en_US.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 103, - "name": "Draggable", - "localName": "Draggable Component", - "info": "Allows the component to be dragged anywhere on the interface, and can store data of a generic type T. It is usually used in combination with DragTarget to achieve the drag effect.", - "lever": 4, - "family": 1, - "linkIds": [ - 104, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Draggable", - "desc": [ - "【child】 : child 【Widget】", - "【feedback】 : child during dragging 【Widget】", - "【axis】 : axis of dragging 【Axis】" - ] - }, - { - "file": "node2_data.dart", - "name": "Combined Usage of Draggable and DragTarget", - "desc": [ - "【data】 : data 【T】", - "【onDragStarted】 : start dragging 【Function()】", - "【onDragEnd】 : end dragging 【Function(DraggableDetails)】", - "【onDragCompleted】 : drag completed 【Function()】", - "【onDraggableCanceled】 : drag canceled 【Function(Velocity,Offset)】", - "【onChanged】 : callback when changed 【Function(T)】" - ] - }, - { - "file": "node3_use.dart", - "name": "Other Usages of Draggable", - "desc": [ - "Some events can be handled based on dragging, such as deletion, querying, pop-ups, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_es_ES.json deleted file mode 100644 index e36c39ffd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_es_ES.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 103, - "name": "Draggable", - "localName": "Componente Arrastrable", - "info": "Permite arrastrar el componente en la interfaz, puede almacenar datos de un tipo genérico T. Normalmente se usa en combinación con DragTarget para lograr el efecto de arrastre.", - "lever": 4, - "family": 1, - "linkIds": [ - 104, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Draggable", - "desc": [ - "【child】 : hijo 【Widget】", - "【feedback】 : hijo durante el arrastre 【Widget】", - "【axis】 : eje de arrastre 【Axis】" - ] - }, - { - "file": "node2_data.dart", - "name": "Uso combinado de Draggable y DragTarget", - "desc": [ - "【data】 : datos 【T】", - "【onDragStarted】 : inicio del arrastre 【Function()】", - "【onDragEnd】 : fin del arrastre 【Function(DraggableDetails)】", - "【onDragCompleted】 : arrastre completado 【Function()】", - "【onDraggableCanceled】 : arrastre cancelado 【Function(Velocity,Offset)】", - "【onChanged】 : devolución de llamada al cambiar 【Function(T)】" - ] - }, - { - "file": "node3_use.dart", - "name": "Otros usos de Draggable", - "desc": [ - "Puede manejar algunos eventos según el arrastre. Como eliminar, consultar, mostrar cuadros de diálogo, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_fr_FR.json deleted file mode 100644 index 9087a3703..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_fr_FR.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 103, - "name": "Draggable", - "localName": "Composant déplaçable", - "info": "Permet de déplacer un composant librement sur l'interface, peut contenir des données de type générique T. Généralement utilisé en combinaison avec DragTarget pour réaliser des effets de glisser-déposer.", - "lever": 4, - "family": 1, - "linkIds": [ - 104, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Draggable", - "desc": [ - "【child】 : enfant 【Widget】", - "【feedback】 : enfant pendant le glissement 【Widget】", - "【axis】 : axe de glissement 【Axis】" - ] - }, - { - "file": "node2_data.dart", - "name": "Utilisation combinée de Draggable et DragTarget", - "desc": [ - "【data】 : données 【T】", - "【onDragStarted】 : début du glissement 【Function()】", - "【onDragEnd】 : fin du glissement 【Function(DraggableDetails)】", - "【onDragCompleted】 : glissement terminé 【Function()】", - "【onDraggableCanceled】 : glissement annulé 【Function(Velocity,Offset)】", - "【onChanged】 : rappel lors du changement 【Function(T)】" - ] - }, - { - "file": "node3_use.dart", - "name": "Autres utilisations de Draggable", - "desc": [ - "Peut traiter certains événements en fonction du glissement. Comme la suppression, la recherche, les boîtes de dialogue, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_it_IT.json deleted file mode 100644 index 6a8e0ecc4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_it_IT.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 103, - "name": "Draggable", - "localName": "Componente Trascinabile", - "info": "Permette di trascinare il componente sull'interfaccia e può contenere un dato di tipo generico T. Solitamente utilizzato in combinazione con DragTarget per completare l'effetto di trascinamento.", - "lever": 4, - "family": 1, - "linkIds": [ - 104, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di Draggable", - "desc": [ - "【child】 : figlio 【Widget】", - "【feedback】 : figlio durante il trascinamento 【Widget】", - "【axis】 : asse di trascinamento 【Axis】" - ] - }, - { - "file": "node2_data.dart", - "name": "Utilizzo combinato di Draggable e DragTarget", - "desc": [ - "【data】 : dati 【T】", - "【onDragStarted】 : inizio del trascinamento 【Function()】", - "【onDragEnd】 : fine del trascinamento 【Function(DraggableDetails)】", - "【onDragCompleted】 : trascinamento completato 【Function()】", - "【onDraggableCanceled】 : trascinamento annullato 【Function(Velocity,Offset)】", - "【onChanged】 : callback al cambiamento 【Function(T)】" - ] - }, - { - "file": "node3_use.dart", - "name": "Altri utilizzi di Draggable", - "desc": [ - "È possibile gestire alcuni eventi in base al trascinamento. Ad esempio, eliminazione, ricerca, finestra pop-up, ecc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_ja_JP.json deleted file mode 100644 index 39b751802..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_ja_JP.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 103, - "name": "Draggable", - "localName": "ドラッグ可能なコンポーネント", - "info": "コンポーネントをインターフェース上で自由にドラッグできるようにし、ジェネリック型Tのデータを格納できます。通常、DragTargetと組み合わせて使用し、ドラッグ効果を実現します。", - "lever": 4, - "family": 1, - "linkIds": [ - 104, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Draggableの基本使用", - "desc": [ - "【child】 : 子 【Widget】", - "【feedback】 : ドラッグ時の子 【Widget】", - "【axis】 : ドラッグ軸 【Axis】" - ] - }, - { - "file": "node2_data.dart", - "name": "DraggableとDragTargetの連携使用", - "desc": [ - "【data】 : データ 【T】", - "【onDragStarted】 : ドラッグ開始 【Function()】", - "【onDragEnd】 : ドラッグ終了 【Function(DraggableDetails)】", - "【onDragCompleted】 : ドラッグ完了 【Function()】", - "【onDraggableCanceled】 : ドラッグキャンセル 【Function(Velocity,Offset)】", - "【onChanged】 : 変更時のコールバック 【Function(T)】" - ] - }, - { - "file": "node3_use.dart", - "name": "Draggableのその他の使用", - "desc": [ - "ドラッグに基づいていくつかのイベントを処理できます。例えば、削除、検索、ポップアップなど" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_ko_KR.json deleted file mode 100644 index 1d9a29c48..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_ko_KR.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 103, - "name": "Draggable", - "localName": "드래그 가능한 컴포넌트", - "info": "컴포넌트를 인터페이스 상에서 자유롭게 드래그할 수 있으며, 제네릭 T 데이터를 저장할 수 있습니다. 일반적으로 DragTarget과 함께 사용되어 드래그 효과를 완성합니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 104, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Draggable 기본 사용", - "desc": [ - "【child】 : 자식 【Widget】", - "【feedback】 : 드래그 시의 자식 【Widget】", - "【axis】 : 드래그 축 【Axis】" - ] - }, - { - "file": "node2_data.dart", - "name": "Draggable과 DragTarget 연동", - "desc": [ - "【data】 : 데이터 【T】", - "【onDragStarted】 : 드래그 시작 【Function()】", - "【onDragEnd】 : 드래그 종료 【Function(DraggableDetails)】", - "【onDragCompleted】 : 드래그 완료 【Function()】", - "【onDraggableCanceled】 : 드래그 취소 【Function(Velocity,Offset)】", - "【onChanged】 : 변경 시 콜백 【Function(T)】" - ] - }, - { - "file": "node3_use.dart", - "name": "Draggable 기타 사용", - "desc": [ - "드래그를 통해 일부 이벤트를 처리할 수 있습니다. 예를 들어 삭제, 조회, 팝업 등" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_pt_PT.json deleted file mode 100644 index b6b3af3b8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_pt_PT.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 103, - "name": "Draggable", - "localName": "Componente Arrastável", - "info": "Permite que o componente seja arrastado livremente na interface, podendo armazenar dados de um tipo genérico T. Normalmente usado em combinação com DragTarget para alcançar o efeito de arrastar e soltar.", - "lever": 4, - "family": 1, - "linkIds": [ - 104, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Draggable", - "desc": [ - "【child】 : Filho 【Widget】", - "【feedback】 : Filho durante o arrasto 【Widget】", - "【axis】 : Eixo de arrasto 【Axis】" - ] - }, - { - "file": "node2_data.dart", - "name": "Uso Conjunto de Draggable e DragTarget", - "desc": [ - "【data】 : Dados 【T】", - "【onDragStarted】 : Início do arrasto 【Function()】", - "【onDragEnd】 : Fim do arrasto 【Function(DraggableDetails)】", - "【onDragCompleted】 : Arrasto concluído 【Function()】", - "【onDraggableCanceled】 : Arrasto cancelado 【Function(Velocity,Offset)】", - "【onChanged】 : Callback de mudança 【Function(T)】" - ] - }, - { - "file": "node3_use.dart", - "name": "Outros Usos do Draggable", - "desc": [ - "Pode processar alguns eventos com base no arrasto, como exclusão, consulta, exibição de diálogos, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_ru_RU.json deleted file mode 100644 index 00ffd0c16..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_ru_RU.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 103, - "name": "Draggable", - "localName": "Перетаскиваемый компонент", - "info": "Позволяет компоненту перетаскиваться на интерфейсе, может хранить данные типа T. Обычно используется в сочетании с DragTarget для достижения эффекта перетаскивания.", - "lever": 4, - "family": 1, - "linkIds": [ - 104, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Draggable", - "desc": [ - "【child】 : Дочерний элемент 【Widget】", - "【feedback】 : Дочерний элемент при перетаскивании 【Widget】", - "【axis】 : Ось перетаскивания 【Axis】" - ] - }, - { - "file": "node2_data.dart", - "name": "Использование Draggable с DragTarget", - "desc": [ - "【data】 : Данные 【T】", - "【onDragStarted】 : Начало перетаскивания 【Function()】", - "【onDragEnd】 : Конец перетаскивания 【Function(DraggableDetails)】", - "【onDragCompleted】 : Завершение перетаскивания 【Function()】", - "【onDraggableCanceled】 : Отмена перетаскивания 【Function(Velocity,Offset)】", - "【onChanged】 : Обратный вызов при изменении 【Function(T)】" - ] - }, - { - "file": "node3_use.dart", - "name": "Другое использование Draggable", - "desc": [ - "Можно обрабатывать некоторые события на основе перетаскивания. Например, удаление, поиск, всплывающие окна и т.д." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_zh-CN.json deleted file mode 100644 index 4ab0f12df..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/desc_zh-CN.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "id": 103, - "name": "Draggable", - "localName": "可拖拽组件", - "info": "可以让组件在界面上任意拖拽,可存放一个泛型T的数据。通常和DragTarget组合使用,来完成拖拽效果。", - "lever": 4, - "family": 1, - "linkIds": [ - 104, - 105 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Draggable基本使用", - "desc": [ - "【child】 : 孩子 【Widget】", - "【feedback】 : 拖拽时的孩子 【Widget】", - "【axis】 : 拖动的轴 【Axis】" - ] - }, - { - "file": "node2_data.dart", - "name": "Draggable与DragTarget联用", - "desc": [ - "【data】 : 数据 【T】", - "【onDragStarted】 : 开始拖拽 【Function()】", - "【onDragEnd】 : 结束拖拽 【Function(DraggableDetails)】", - "【onDragCompleted】 : 拖拽完成 【Function()】", - "【onDraggableCanceled】 : 拖拽取消 【Function(Velocity,Offset)】", - "【onChanged】 : 改变时回调 【Function(T)】" - ] - }, - { - "file": "node3_use.dart", - "name": "Draggable其他使用", - "desc": [ - "可以根据拖拽来处理一些事件。如删除、查询、弹框等" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/node1_base.dart deleted file mode 100644 index 0f74ab705..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/node1_base.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class CustomDraggable extends StatelessWidget { - const CustomDraggable({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - List axis = [null, Axis.vertical, Axis.horizontal]; - return Wrap( - spacing: 30, - children: axis - .map((e) => Draggable( - axis: e, - child: Container( - width: 30, - height: 30, - alignment: Alignment.center, - decoration: const BoxDecoration( - color: Colors.blue, - shape: BoxShape.circle, - ), - ), - feedback: Container( - width: 30, - height: 30, - decoration: const BoxDecoration( - color: Colors.red, - shape: BoxShape.circle, - ), - ), - )) - .toList()); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/node2_data.dart b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/node2_data.dart deleted file mode 100644 index d8bfd4d4b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/node2_data.dart +++ /dev/null @@ -1,95 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - - -class DraggablePage extends StatefulWidget { - const DraggablePage({Key? key}) : super(key: key); - - @override - _DraggablePageState createState() => _DraggablePageState(); -} - -class _DraggablePageState extends State { - Color _color = Colors.grey; - String _info = 'DragTarget'; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Wrap( - children: _buildColors(), - spacing: 10, - ), - const SizedBox( - height: 20, - ), - _buildDragTarget() - ], - ); - } - - List colors = [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green, - Colors.orange, - Colors.purple, - Colors.cyanAccent - ]; - - List _buildColors() => colors - .map( - (e) => Draggable( - onDragStarted: () => setState(() => _info = '开始拖拽'), - onDragEnd: (d) => setState(() => _info = '结束拖拽'), - onDragCompleted: () => _info = '拖拽完成', - onDraggableCanceled: (v, o) => _info = '拖拽取消', - child: Container( - width: 30, - height: 30, - alignment: Alignment.center, - child: Text( - colors.indexOf(e).toString(), - style: const TextStyle( - color: Colors.white, fontWeight: FontWeight.bold,), - ), - decoration: BoxDecoration(color: e, shape: BoxShape.circle), - ), - data: e, - feedback: Container( - width: 25, - height: 25, - decoration: BoxDecoration(color: e, shape: BoxShape.circle), - )), - ) - .toList(); - - Widget _buildDragTarget() { - return DragTarget( - onLeave: (data) => print("onLeave: data = $data "), - onAccept: (data) { - print("onAccept: data = $data "); - setState(() { - _color = data; - }); - }, - onWillAccept: (data) { - print("onWillAccept: data = $data "); - return data != null; - }, - builder: (context, candidateData, rejectedData) => Container( - width: 150.0, - height: 50.0, - color: _color, - child: Center( - child: Text( - _info, - style: const TextStyle(color: Colors.white), - ), - ))); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/node3_use.dart b/modules/widget_system/widgets/lib/StatefulWidget/Draggable/node3_use.dart deleted file mode 100644 index 6f2a09f60..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Draggable/node3_use.dart +++ /dev/null @@ -1,77 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/28 -/// contact me by email 1981462002@qq.com - - -class DeleteDraggable extends StatefulWidget { - const DeleteDraggable({Key? key}) : super(key: key); - - @override - _DeleteDraggableState createState() => _DeleteDraggableState(); -} - -class _DeleteDraggableState extends State { - List colors = [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green, - Colors.orange, - Colors.purple, - Colors.cyanAccent - ]; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Wrap(children: _buildColors(), spacing: 10), - const SizedBox(height: 20), - _buildDragTarget() - ], - ); - } - - Widget _buildDragTarget() { - return DragTarget( - onAccept: (data) { - setState(() { - colors.removeAt(data); - }); - }, - onWillAccept: (data) => data != null, - builder: (context, candidateData, rejectedData) => Container( - width: 50.0, - height: 50.0, - decoration: - const BoxDecoration(color: Colors.red, shape: BoxShape.circle), - child: const Center( - child: Icon(Icons.delete_sweep, color: Colors.white), - ))); - } - - List _buildColors() => colors - .map( - (e) => Draggable( - child: Container( - width: 30, - height: 30, - alignment: Alignment.center, - child: Text( - colors.indexOf(e).toString(), - style: const TextStyle( - color: Colors.white, fontWeight: FontWeight.bold), - ), - decoration: BoxDecoration(color: e, shape: BoxShape.circle), - ), - data: colors.indexOf(e), - feedback: Container( - width: 25, - height: 25, - decoration: BoxDecoration( - color: e.withAlpha(100), shape: BoxShape.circle), - )), - ) - .toList(); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_de_DE.json deleted file mode 100644 index 8186a9543..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 252, - "name": "DraggableScrollableSheet", - "localName": "Zieh- und schiebbares Blatt", - "info": "Ein Blatt, das gezogen und geschoben werden kann, mit der Möglichkeit, den maximalen, minimalen und anfänglichen Teilungsbereich festzulegen. Der Konstruktor builder muss eine schiebbare Komponente zurückgeben.", - "lever": 2, - "family": 1, - "linkIds": [ - 221, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DraggableScrollableSheet", - "desc": [ - "【initialChildSize】 : Anfänglicher Teilungsgrad 【double】", - "【minChildSize】 : Minimaler Teilungsgrad 【double】", - "【maxChildSize】 : Maximaler Teilungsgrad 【double】", - "【builder】 : Schiebbare Komponentenkonstruktor 【ScrollableWidgetBuilder】", - "【expand】 : Ob erweitert 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_en_US.json deleted file mode 100644 index 3a4f380ac..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 252, - "name": "DraggableScrollableSheet", - "localName": "Draggable Sheet", - "info": "A sheet that can be dragged and scrolled, with the ability to specify the maximum, minimum, and initial fractions within the scroll range. The builder constructor needs to return a scrollable component.", - "lever": 2, - "family": 1, - "linkIds": [ - 221, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DraggableScrollableSheet", - "desc": [ - "【initialChildSize】: Initial fraction 【double】", - "【minChildSize】: Minimum fraction 【double】", - "【maxChildSize】: Maximum fraction 【double】", - "【builder】: Scrollable component builder 【ScrollableWidgetBuilder】", - "【expand】: Whether to expand 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_es_ES.json deleted file mode 100644 index bf72d3647..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 252, - "name": "DraggableScrollableSheet", - "localName": "Hoja deslizante", - "info": "Hoja que se puede arrastrar y deslizar, se puede especificar el tamaño máximo, mínimo e inicial dentro del rango de deslizamiento. El constructor builder debe devolver un componente deslizable.", - "lever": 2, - "family": 1, - "linkIds": [ - 221, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DraggableScrollableSheet", - "desc": [ - "【initialChildSize】 : Tamaño inicial 【double】", - "【minChildSize】 : Tamaño mínimo 【double】", - "【maxChildSize】 : Tamaño máximo 【double】", - "【builder】 : Constructor de componente deslizable 【ScrollableWidgetBuilder】", - "【expand】 : Si se expande 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_fr_FR.json deleted file mode 100644 index 61897ae32..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 252, - "name": "DraggableScrollableSheet", - "localName": "Feuille glissable et déplaçable", - "info": "Feuille déplaçable et glissable, permettant de spécifier les divisions maximales, minimales et initiales dans la plage de glissement. Le constructeur builder doit retourner un composant glissant.", - "lever": 2, - "family": 1, - "linkIds": [ - 221, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DraggableScrollableSheet", - "desc": [ - "【initialChildSize】 : Division initiale 【double】", - "【minChildSize】 : Division minimale 【double】", - "【maxChildSize】 : Division maximale 【double】", - "【builder】 : Constructeur de composant glissant 【ScrollableWidgetBuilder】", - "【expand】 : S'étend ou non 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_it_IT.json deleted file mode 100644 index e1873bd0b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 252, - "name": "DraggableScrollableSheet", - "localName": "Foglio trascinabile e scorrevole", - "info": "Un foglio trascinabile e scorrevole che può specificare la dimensione massima, minima e iniziale all'interno dell'intervallo di scorrimento. Il costruttore builder deve restituire un componente scorrevole.", - "lever": 2, - "family": 1, - "linkIds": [ - 221, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di DraggableScrollableSheet", - "desc": [ - "【initialChildSize】 : Dimensione iniziale 【double】", - "【minChildSize】 : Dimensione minima 【double】", - "【maxChildSize】 : Dimensione massima 【double】", - "【builder】 : Costruttore del componente scorrevole 【ScrollableWidgetBuilder】", - "【expand】 : Se espandere 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_ja_JP.json deleted file mode 100644 index 9dbe32fe8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 252, - "name": "DraggableScrollableSheet", - "localName": "ドラッグ可能なシート", - "info": "ドラッグおよびスクロール可能なシートで、最大、最小、および初期の分割位置を指定できます。ビルダーはスクロール可能なコンポーネントを返す必要があります。", - "lever": 2, - "family": 1, - "linkIds": [ - 221, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DraggableScrollableSheetの基本使用", - "desc": [ - "【initialChildSize】 : 初期分割位置 【double】", - "【minChildSize】 : 最小分割位置 【double】", - "【maxChildSize】 : 最大分割位置 【double】", - "【builder】 : スクロールコンポーネントビルダー 【ScrollableWidgetBuilder】", - "【expand】 : 拡張するかどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_ko_KR.json deleted file mode 100644 index be2920e46..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 252, - "name": "DraggableScrollableSheet", - "localName": "드래그 가능한 시트", - "info": "드래그 및 스크롤 가능한 시트로, 최대, 최소, 초기 분할 위치를 지정할 수 있습니다. 생성자 builder는 스크롤 가능한 컴포넌트를 반환해야 합니다.", - "lever": 2, - "family": 1, - "linkIds": [ - 221, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DraggableScrollableSheet 기본 사용법", - "desc": [ - "【initialChildSize】 : 초기 분할 위치 【double】", - "【minChildSize】 : 최소 분할 위치 【double】", - "【maxChildSize】 : 최대 분할 위치 【double】", - "【builder】 : 스크롤 컴포넌트 생성자 【ScrollableWidgetBuilder】", - "【expand】 : 확장 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_pt_PT.json deleted file mode 100644 index b9b9a40ea..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 252, - "name": "DraggableScrollableSheet", - "localName": "Folha Deslizável e Arrastável", - "info": "Uma folha que pode ser arrastada e deslizada, permitindo especificar a divisão máxima, mínima e inicial dentro da faixa de deslizamento. O construtor builder precisa retornar um componente deslizável.", - "lever": 2, - "family": 1, - "linkIds": [ - 221, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do DraggableScrollableSheet", - "desc": [ - "【initialChildSize】: Divisão inicial 【double】", - "【minChildSize】: Divisão mínima 【double】", - "【maxChildSize】: Divisão máxima 【double】", - "【builder】: Construtor do componente deslizável 【ScrollableWidgetBuilder】", - "【expand】: Estender 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_ru_RU.json deleted file mode 100644 index 6df183a31..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 252, - "name": "DraggableScrollableSheet", - "localName": "Перетаскиваемый и прокручиваемый лист", - "info": "Перетаскиваемый и прокручиваемый лист, который может указывать максимальное, минимальное и начальное деление в текущем диапазоне прокрутки. Конструктор builder должен возвращать прокручиваемый компонент.", - "lever": 2, - "family": 1, - "linkIds": [ - 221, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DraggableScrollableSheet", - "desc": [ - "【initialChildSize】 : Начальное деление 【double】", - "【minChildSize】 : Минимальное деление 【double】", - "【maxChildSize】 : Максимальное деление 【double】", - "【builder】 : Конструктор прокручиваемого компонента 【ScrollableWidgetBuilder】", - "【expand】 : Расширять ли 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_zh-CN.json deleted file mode 100644 index a49c47d77..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 252, - "name": "DraggableScrollableSheet", - "localName": "拖滑页", - "info": "可拖动和滑动的Sheet,可指定最大、最小、最初的分度现在滑动范围。构造器builder需要返回一个可滑动组件。", - "lever": 2, - "family": 1, - "linkIds": [ - 221, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DraggableScrollableSheet基本使用", - "desc": [ - "【initialChildSize】 : 初始分度 【double】", - "【minChildSize】 : 最小分度 【double】", - "【maxChildSize】 : 最大分度 【double】", - "【builder】 : 滑动组件构造器 【ScrollableWidgetBuilder】", - "【expand】 : 是否延展 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/node1_base.dart deleted file mode 100644 index 6a93804ec..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DraggableScrollableSheet/node1_base.dart +++ /dev/null @@ -1,96 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class DraggableScrollableSheetDemo extends StatelessWidget { - const DraggableScrollableSheetDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.all(10), - child: ElevatedButton( - onPressed: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => DraggableScrollableSheetPage()), - ); - }, - child: const Text("进入 DraggableScrollableSheet 测试页"), - ), - ); - } -} - -class DraggableScrollableSheetPage extends StatelessWidget { - DraggableScrollableSheetPage({Key? key}) : super(key: key); - - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - Colors.red[50]!, - Colors.red[100]!, - Colors.red[200]!, - Colors.red[300]!, - Colors.red[400]!, - Colors.red[500]!, - Colors.red[600]!, - Colors.red[700]!, - Colors.red[800]!, - Colors.red[900]!, - ]; - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text("DraggableScrollableSheet"), - ), - body: SizedBox.expand( - child: DraggableScrollableSheet( - initialChildSize: 0.3, - minChildSize: 0.2, - maxChildSize: 0.5, - expand: true, - builder: (BuildContext context, ScrollController scrollController)=> - ListView.builder( - controller: scrollController, - itemCount: data.length, - itemBuilder: buildColorItem, - ), - )), - ); - } - - Widget buildColorItem(BuildContext context, int index) { - return Container( - alignment: Alignment.center, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ]), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_de_DE.json deleted file mode 100644 index a2c8d3469..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 257, - "name": "DrawerController", - "localName": "iOS-Schiebe-Tab", - "info": "Bietet Interaktionsverhalten für die Drawer-Komponente und wird selten verwendet. Es gibt Anwendungsfälle im Quellcode der Scaffold-Komponente.", - "lever": 3, - "family": 1, - "linkIds": [ - 154, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DrawerController", - "desc": [ - "【drawerCallback】 : Ereignisrückruf 【DrawerCallback】", - "【enableOpenDragGesture】 : Ob seitliches Aufziehen aktiviert ist 【bool】", - "【alignment】 : Ausrichtung 【DrawerAlignment】", - "【scrimColor】 : Hintergrundfarbe 【Color】", - "【child】 : Drawer-Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_en_US.json deleted file mode 100644 index e49012f23..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 257, - "name": "DrawerController", - "localName": "iOS Sliding Tabs", - "info": "Provides interactive behavior for the Drawer component, which is rarely used. It is used in the source code of the Scaffold component.", - "lever": 3, - "family": 1, - "linkIds": [ - 154, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DrawerController", - "desc": [ - "【drawerCallback】: Event callback 【DrawerCallback】", - "【enableOpenDragGesture】: Whether to slide open from the side 【bool】", - "【alignment】: Alignment 【DrawerAlignment】", - "【scrimColor】: Background color 【Color】", - "【child】: Drawer component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_es_ES.json deleted file mode 100644 index 7afc8a3db..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 257, - "name": "DrawerController", - "localName": "Pestañas deslizantes de iOS", - "info": "Proporciona comportamiento interactivo para el componente Drawer, generalmente se usa poco. Tiene un caso de uso en el código fuente del componente Scaffold.", - "lever": 3, - "family": 1, - "linkIds": [ - 154, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DrawerController", - "desc": [ - "【drawerCallback】 : devolución de llamada de evento 【DrawerCallback】", - "【enableOpenDragGesture】 : si se puede deslizar hacia un lado 【bool】", - "【alignment】 : alineación 【DrawerAlignment】", - "【scrimColor】 : color de fondo 【Color】", - "【child】 : componente Drawer 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_fr_FR.json deleted file mode 100644 index bbf96da0c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 257, - "name": "DrawerController", - "localName": "Onglets glissants iOS", - "info": "Fournit des comportements interactifs pour le composant Drawer, généralement peu utilisé. Utilisé dans le code source du composant Scaffold.", - "lever": 3, - "family": 1, - "linkIds": [ - 154, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DrawerController", - "desc": [ - "【drawerCallback】 : Rappel d'événement 【DrawerCallback】", - "【enableOpenDragGesture】 : Glissement latéral activé 【bool】", - "【alignment】 : Mode d'alignement 【DrawerAlignment】", - "【scrimColor】 : Couleur de fond 【Color】", - "【child】 : Composant Drawer 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_it_IT.json deleted file mode 100644 index 0a51c96e9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 257, - "name": "DrawerController", - "localName": "Schede scorrevoli iOS", - "info": "Fornisce comportamenti interattivi per il componente Drawer, generalmente usato raramente. Ci sono scenari di utilizzo nel codice sorgente del componente Scaffold.", - "lever": 3, - "family": 1, - "linkIds": [ - 154, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di DrawerController", - "desc": [ - "【drawerCallback】 : callback dell'evento 【DrawerCallback】", - "【enableOpenDragGesture】 : se scorrere lateralmente per aprire 【bool】", - "【alignment】 : allineamento 【DrawerAlignment】", - "【scrimColor】 : colore di sfondo 【Color】", - "【child】 : componente Drawer 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_ja_JP.json deleted file mode 100644 index 07b6f06d7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 257, - "name": "DrawerController", - "localName": "iOSスライドタブ", - "info": "Drawerコンポーネントにインタラクションを提供しますが、一般的にはあまり使用されません。Scaffoldコンポーネントのソースコードで使用されることがあります。", - "lever": 3, - "family": 1, - "linkIds": [ - 154, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerControllerの基本的な使用法", - "desc": [ - "【drawerCallback】 : イベントコールバック 【DrawerCallback】", - "【enableOpenDragGesture】 : サイドスワイプを有効にするか 【bool】", - "【alignment】 : 配置方法 【DrawerAlignment】", - "【scrimColor】 : 背景色 【Color】", - "【child】 : Drawerコンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_ko_KR.json deleted file mode 100644 index bc6be0dd1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 257, - "name": "DrawerController", - "localName": "iOS 슬라이드 탭", - "info": "Drawer 컴포넌트에 상호 작용을 제공하며, 일반적으로 잘 사용되지 않습니다. Scaffold 컴포넌트 소스 코드에서 사용 사례가 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 154, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerController 기본 사용", - "desc": [ - "【drawerCallback】 : 이벤트 콜백 【DrawerCallback】", - "【enableOpenDragGesture】 : 측면 슬라이드 열기 【bool】", - "【alignment】 : 정렬 방식 【DrawerAlignment】", - "【scrimColor】 : 배경 색상 【Color】", - "【child】 : Drawer 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_pt_PT.json deleted file mode 100644 index 25c9c0e11..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 257, - "name": "DrawerController", - "localName": "Separador deslizante iOS", - "info": "Fornece comportamento interativo para o componente Drawer, geralmente raramente usado. Há cenários de uso no código-fonte do componente Scaffold.", - "lever": 3, - "family": 1, - "linkIds": [ - 154, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do DrawerController", - "desc": [ - "【drawerCallback】 : Callback de evento 【DrawerCallback】", - "【enableOpenDragGesture】 : Se o deslizar lateral está ativado 【bool】", - "【alignment】 : Alinhamento 【DrawerAlignment】", - "【scrimColor】 : Cor de fundo 【Color】", - "【child】 : Componente Drawer 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_ru_RU.json deleted file mode 100644 index e2ae2d8f7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 257, - "name": "DrawerController", - "localName": "iOS слайдер вкладок", - "info": "Обеспечивает интерактивное поведение для компонента Drawer, обычно используется редко. Используется в исходном коде компонента Scaffold.", - "lever": 3, - "family": 1, - "linkIds": [ - 154, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DrawerController", - "desc": [ - "【drawerCallback】 : Обратный вызов события 【DrawerCallback】", - "【enableOpenDragGesture】 : Возможность открытия смахиванием 【bool】", - "【alignment】 : Способ выравнивания 【DrawerAlignment】", - "【scrimColor】 : Цвет фона 【Color】", - "【child】 : Компонент Drawer 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_zh-CN.json deleted file mode 100644 index 2f3c9a12d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 257, - "name": "DrawerController", - "localName": "iOS滑动页签", - "info": "为 Drawer 组件提供交互行为,一般很少使用。在 Scaffold 组件源码中有使用场景。", - "lever": 3, - "family": 1, - "linkIds": [ - 154, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerController基本使用", - "desc": [ - "【drawerCallback】 : 事件回调 【DrawerCallback】", - "【enableOpenDragGesture】 : 是否侧边滑开 【bool】", - "【alignment】 : 对齐方式 【DrawerAlignment】", - "【scrimColor】 : 背景颜色 【Color】", - "【child】 : Drawer组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/node1_base.dart deleted file mode 100644 index f29d10cab..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DrawerController/node1_base.dart +++ /dev/null @@ -1,63 +0,0 @@ -import 'package:flutter/material.dart'; - - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class DrawerControllerDemo extends StatefulWidget { - const DrawerControllerDemo({Key? key}) : super(key: key); - - @override - _DrawerControllerDemoState createState() => _DrawerControllerDemoState(); -} - -class _DrawerControllerDemoState extends State { - final GlobalKey _drawerKey = - GlobalKey(); - - bool _open = false; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - ElevatedButton( - onPressed: toggleDrawer, - child: const Text("显隐 Drawer"), - ), - SizedBox( - height: 200, - child: DrawerController( - scrimColor: Colors.blue.withAlpha(88), - enableOpenDragGesture: true, - key: _drawerKey, - alignment: DrawerAlignment.start, - drawerCallback: (value) { - _open = value; - }, - child: Drawer( - child: Container( - alignment: Alignment.center, - color: Colors.red, - child: const Text( - "I am Drawer!", - style: TextStyle(color: Colors.white, fontSize: 18), - ), - ), - ), - ), - ), - ], - ); - } - - void toggleDrawer() { - if (_open) { - _drawerKey.currentState?.close(); - } else { - print('---open--$_open-------'); - _drawerKey.currentState?.open(); - } - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_de_DE.json deleted file mode 100644 index 6bb9d991f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_de_DE.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 55, - "name": "DropdownButton", - "localName": "Dropdown-Schaltfläche", - "info": "Eine Schaltfläche für Dropdown-Auswahl, die Eigenschaften wie Symbol, Schattentiefe, Hinweis usw. angeben kann und Ereignisse bei Änderungen der Auswahl empfängt.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DropdownButton", - "desc": [ - "【value】 : Aktueller Wert 【T】", - "【items】 : Dropdown-Auswahlbox 【List>】", - "【icon】 : Symbol 【Widget】", - "【elevation】 : Schattentiefe 【double】", - "【onChanged】 : Ereignis bei Auswahl eines Elements 【Function(T)】", - "【backgroundColor】 : Hintergrundfarbe 【Color】" - ] - }, - { - "file": "node2_style.dart", - "name": "Stilangabe für DropdownButton", - "desc": [ - "【isDense】 : Ob kompakt angeordnet 【bool】", - "【iconSize】 : Symbolgröße 【double】", - "【hint】 : Hinweis-Komponente 【Widget】", - "【iconEnabledColor】 : Symbolfarbe 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_en_US.json deleted file mode 100644 index 67516d470..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_en_US.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 55, - "name": "DropdownButton", - "localName": "Dropdown Button", - "info": "A button for dropdown selection, which can specify attributes such as icon, elevation, hint, etc., and receives events for selection changes.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DropdownButton", - "desc": [ - "【value】 : Current value 【T】", - "【items】 : Dropdown items 【List>】", - "【icon】 : Icon 【Widget】", - "【elevation】 : Elevation 【double】", - "【onChanged】 : Selection change event 【Function(T)】", - "【backgroundColor】 : Background color 【Color】" - ] - }, - { - "file": "node2_style.dart", - "name": "Styling of DropdownButton", - "desc": [ - "【isDense】 : Whether to be dense 【bool】", - "【iconSize】 : Icon size 【double】", - "【hint】 : Hint widget 【Widget】", - "【iconEnabledColor】 : Icon color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_es_ES.json deleted file mode 100644 index 720853692..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_es_ES.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 55, - "name": "DropdownButton", - "localName": "Botón desplegable", - "info": "Botón para selección desplegable, se pueden especificar propiedades como icono, profundidad de sombra, sugerencias, etc., y recibe eventos de cambio de selección.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DropdownButton", - "desc": [ - "【value】 : Valor actual 【T】", - "【items】 : Opciones desplegables 【List>】", - "【icon】 : Icono 【Widget】", - "【elevation】 : Profundidad de sombra 【double】", - "【onChanged】 : Evento de cambio de selección 【Function(T)】", - "【backgroundColor】 : Color de fondo 【Color】" - ] - }, - { - "file": "node2_style.dart", - "name": "Especificación de estilo de DropdownButton", - "desc": [ - "【isDense】 : Si está compacto 【bool】", - "【iconSize】 : Tamaño del icono 【double】", - "【hint】 : Componente de sugerencia 【Widget】", - "【iconEnabledColor】 : Color del icono 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_fr_FR.json deleted file mode 100644 index 7116ccf50..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_fr_FR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 55, - "name": "DropdownButton", - "localName": "Bouton déroulant", - "info": "Bouton pour la sélection déroulante, pouvant spécifier des attributs tels que l'icône, la profondeur d'ombre, l'indice, etc., et recevoir des événements de changement de sélection.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DropdownButton", - "desc": [ - "【value】 : Valeur actuelle 【T】", - "【items】 : Liste déroulante 【List>】", - "【icon】 : Icône 【Widget】", - "【elevation】 : Profondeur d'ombre 【double】", - "【onChanged】 : Événement de sélection d'élément 【Function(T)】", - "【backgroundColor】 : Couleur de fond 【Color】" - ] - }, - { - "file": "node2_style.dart", - "name": "Spécification du style de DropdownButton", - "desc": [ - "【isDense】 : Si compact 【bool】", - "【iconSize】 : Taille de l'icône 【double】", - "【hint】 : Composant d'indice 【Widget】", - "【iconEnabledColor】 : Couleur de l'icône 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_it_IT.json deleted file mode 100644 index f6ff0ac0d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_it_IT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 55, - "name": "DropdownButton", - "localName": "Pulsante a discesa", - "info": "Pulsante per la selezione a discesa, può specificare attributi come icona, profondità dell'ombra, suggerimento, ecc., e riceve eventi di cambiamento di selezione.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di DropdownButton", - "desc": [ - "【value】 : Valore corrente 【T】", - "【items】 : Casella di selezione a discesa 【List>】", - "【icon】 : Icona 【Widget】", - "【elevation】 : Profondità dell'ombra 【double】", - "【onChanged】 : Evento di selezione dell'elemento 【Function(T)】", - "【backgroundColor】 : Colore di sfondo 【Color】" - ] - }, - { - "file": "node2_style.dart", - "name": "Specifica dello stile di DropdownButton", - "desc": [ - "【isDense】 : Se è compatto 【bool】", - "【iconSize】 : Dimensione dell'icona 【double】", - "【hint】 : Componente di suggerimento 【Widget】", - "【iconEnabledColor】 : Colore dell'icona 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_ja_JP.json deleted file mode 100644 index 17cebf26d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_ja_JP.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 55, - "name": "DropdownButton", - "localName": "ドロップダウンボタン", - "info": "ドロップダウン選択用のボタンで、アイコン、影の深さ、ヒントなどの属性を指定でき、選択変更イベントを受け取ります。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DropdownButtonの基本的な使い方", - "desc": [ - "【value】 : 現在の値 【T】", - "【items】 : ドロップダウンリスト 【List>】", - "【icon】 : アイコン 【Widget】", - "【elevation】 : 影の深さ 【double】", - "【onChanged】 : 項目選択イベント 【Function(T)】", - "【backgroundColor】 : 背景色 【Color】" - ] - }, - { - "file": "node2_style.dart", - "name": "DropdownButtonのスタイル指定", - "desc": [ - "【isDense】 : コンパクト表示かどうか 【bool】", - "【iconSize】 : アイコンのサイズ 【double】", - "【hint】 : ヒントコンポーネント 【Widget】", - "【iconEnabledColor】 : アイコンの色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_ko_KR.json deleted file mode 100644 index fcf3fdafc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_ko_KR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 55, - "name": "DropdownButton", - "localName": "드롭다운 버튼", - "info": "드롭다운 선택을 위한 버튼으로, 아이콘, 그림자 깊이, 힌트 등의 속성을 지정할 수 있으며, 선택 변경 이벤트를 수신합니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DropdownButton 기본 사용법", - "desc": [ - "【value】 : 현재 값 【T】", - "【items】 : 드롭다운 목록 【List>】", - "【icon】 : 아이콘 【Widget】", - "【elevation】 : 그림자 깊이 【double】", - "【onChanged】 : 항목 선택 이벤트 【Function(T)】", - "【backgroundColor】 : 배경색 【Color】" - ] - }, - { - "file": "node2_style.dart", - "name": "DropdownButton 스타일 지정", - "desc": [ - "【isDense】 : 간격 축소 여부 【bool】", - "【iconSize】 : 아이콘 크기 【double】", - "【hint】 : 힌트 위젯 【Widget】", - "【iconEnabledColor】 : 아이콘 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_pt_PT.json deleted file mode 100644 index dc801566e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_pt_PT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 55, - "name": "DropdownButton", - "localName": "Botão de dropdown", - "info": "Botão para seleção de dropdown, pode especificar ícone, profundidade de sombra, dica e outros atributos, recebe eventos de mudança de seleção.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do DropdownButton", - "desc": [ - "【value】 : Valor atual 【T】", - "【items】 : Caixa de seleção de dropdown 【List>】", - "【icon】 : Ícone 【Widget】", - "【elevation】 : Profundidade de sombra 【double】", - "【onChanged】 : Evento de seleção de item 【Function(T)】", - "【backgroundColor】 : Cor de fundo 【Color】" - ] - }, - { - "file": "node2_style.dart", - "name": "Especificação de estilo do DropdownButton", - "desc": [ - "【isDense】 : Se deve ser compacto 【bool】", - "【iconSize】 : Tamanho do ícone 【double】", - "【hint】 : Componente de dica 【Widget】", - "【iconEnabledColor】 : Cor do ícone 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_ru_RU.json deleted file mode 100644 index a9a8965b0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_ru_RU.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 55, - "name": "DropdownButton", - "localName": "Выпадающая кнопка", - "info": "Кнопка для выбора из выпадающего списка, может иметь указанные иконки, тени, подсказки и другие свойства, принимает события изменения выбора.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DropdownButton", - "desc": [ - "【value】 : Текущее значение 【T】", - "【items】 : Выпадающий список 【List>】", - "【icon】 : Иконка 【Widget】", - "【elevation】 : Тень 【double】", - "【onChanged】 : Событие выбора элемента 【Function(T)】", - "【backgroundColor】 : Цвет фона 【Color】" - ] - }, - { - "file": "node2_style.dart", - "name": "Указание стиля DropdownButton", - "desc": [ - "【isDense】 : Компактное расположение 【bool】", - "【iconSize】 : Размер иконки 【double】", - "【hint】 : Компонент подсказки 【Widget】", - "【iconEnabledColor】 : Цвет иконки 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_zh-CN.json deleted file mode 100644 index 3acb5df22..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/desc_zh-CN.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 55, - "name": "DropdownButton", - "localName": "下拉按钮", - "info": "用于下拉选择的按钮,可指定图标、影深、提示等属性,接收选中变化的事件。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DropdownButton基本用法", - "desc": [ - "【value】 : 当前值 【T】", - "【items】 : 下拉选框 【List>】", - "【icon】 : 图标 【Widget】", - "【elevation】 : 影深 【double】", - "【onChanged】 : 选择条目事件 【Function(T)】", - "【backgroundColor】 : 背景色 【Color】" - ] - }, - { - "file": "node2_style.dart", - "name": "DropdownButton的样式指定", - "desc": [ - "【isDense】 : 是否紧排 【bool】", - "【iconSize】 : 图标大小 【double】", - "【hint】 : 提示组件 【Widget】", - "【iconEnabledColor】 : 图标颜色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/node1_base.dart deleted file mode 100644 index 7126a49ce..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/node1_base.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-16 -/// contact me by email 1981462002@qq.com - -class CustomDropDownButton extends StatefulWidget { - const CustomDropDownButton({Key? key}) : super(key: key); - - @override - _CustomDropDownButtonState createState() => _CustomDropDownButtonState(); -} - -class _CustomDropDownButtonState extends State { - Color _color = Colors.red; - final List _colors = const [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green - ]; - final List _info = const ["红色", "黄色", "蓝色", "绿色"]; - - @override - Widget build(BuildContext context) { - return Wrap( - children: [ - Container( - margin: const EdgeInsets.symmetric(horizontal: 20), - width: 50, - height: 50, - color: _color, - ), - DropdownButton( - value: _color, - elevation: 1, - icon: Icon( - Icons.expand_more, - size: 20, - color: _color, - ), - items: _buildItems(), - onChanged: (v) => setState(() => _color = v??Colors.blue)), - ], - ); - } - - List> _buildItems() => _colors - .map((e) => DropdownMenuItem( - value: e, - child: Text( - _info[_colors.indexOf(e)], - style: TextStyle(color: e), - ))) - .toList(); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/node2_style.dart b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/node2_style.dart deleted file mode 100644 index a5ce7c1fd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButton/node2_style.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-16 -/// contact me by email 1981462002@qq.com - - -class StyleDropDownButton extends StatefulWidget { - const StyleDropDownButton({Key? key}) : super(key: key); - - @override - _StyleDropDownButtonState createState() => _StyleDropDownButtonState(); -} - -class _StyleDropDownButtonState extends State { - Color _color = Colors.red; - - final List _colors = const [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green - ]; - final List _info = const ["红色", "黄色", "蓝色", "绿色"]; - - @override - Widget build(BuildContext context) { - return Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - Container( - margin: const EdgeInsets.symmetric(horizontal: 20), - width: 50, - height: 50, - color: _color, - ), - DropdownButton( - hint: const Text('请选择'), - isDense: true, - iconSize:20, - iconEnabledColor:_color, - value: _color, - items: _buildItems(), - onChanged: (v) => setState(() => _color = v??Colors.blue)), - ], - ); - } - - List> _buildItems() => _colors - .map((e) => DropdownMenuItem( - value: e, - child: Text( - _info[_colors.indexOf(e)], - style: TextStyle(color: e), - ))) - .toList(); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_de_DE.json deleted file mode 100644 index 4ae73458b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 223, - "name": "DropdownButtonFormField", - "localName": "Formular Dropdown", - "info": "Basiert auf der DropdownButton-Implementierung, daher sind die grundlegenden Eigenschaften ähnlich. Verfügt jedoch über die Funktionen von FormField und kann die Methoden onSaved und validator zurückrufen.", - "lever": 2, - "family": 1, - "linkIds": [ - 55, - 222 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einfache Verwendung des Formular Dropdowns", - "desc": [ - "【items】 : Liste der Unterkomponenten 【List>】", - "【validator】 : Rückruf für Formularvalidierung 【FormFieldValidator】", - "【onSaved】 : Rückruf für Formularspeicherung 【FormFieldSetter】", - "Weitere Eigenschaften finden Sie unter DropdownButton, Formularvalidierungsfunktionen finden Sie unter FormField." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_en_US.json deleted file mode 100644 index 0ac6e2cfa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 223, - "name": "DropdownButtonFormField", - "localName": "Form Dropdown", - "info": "It is implemented based on DropdownButton, so it has similar basic properties. However, it has the characteristics of FormField and can call back the onSaved and validator methods.", - "lever": 2, - "family": 1, - "linkIds": [ - 55, - 222 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Simple Usage of Form Dropdown", - "desc": [ - "【items】: List of child components 【List>】", - "【validator】: Form validation callback 【FormFieldValidator】", - "【onSaved】: Form save callback 【FormFieldSetter】", - "For other properties, refer to DropdownButton. For form validation features, refer to FormField." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_es_ES.json deleted file mode 100644 index 79188e35a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 223, - "name": "DropdownButtonFormField", - "localName": "Campo de selección de formulario", - "info": "Depende de DropdownButton en su implementación subyacente, por lo que las propiedades básicas son similares. Sin embargo, tiene características de FormField, lo que permite devolver los métodos onSaved y validator.", - "lever": 2, - "family": 1, - "linkIds": [ - 55, - 222 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso simple del campo de selección de formulario", - "desc": [ - "【items】: Lista de componentes secundarios 【List>】", - "【validator】: Devolución de llamada de validación de formulario 【FormFieldValidator】", - "【onSaved】: Devolución de llamada de guardado de formulario 【FormFieldSetter】", - "Para otras propiedades, consulte DropdownButton, y para las características de validación de formularios, consulte FormField." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_fr_FR.json deleted file mode 100644 index 6f9970d33..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 223, - "name": "DropdownButtonFormField", - "localName": "Champ de formulaire déroulant", - "info": "Basé sur DropdownButton, donc les propriétés de base sont similaires. Mais il possède les caractéristiques de FormField, permettant de rappeler les méthodes onSaved et validator.", - "lever": 2, - "family": 1, - "linkIds": [ - 55, - 222 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation simple du champ de formulaire déroulant", - "desc": [ - "【items】 : Liste des composants enfants 【List>】", - "【validator】 : Rappel de validation du formulaire 【FormFieldValidator】", - "【onSaved】 : Rappel de sauvegarde du formulaire 【FormFieldSetter】", - "Pour les autres propriétés, voir DropdownButton. Pour les caractéristiques de validation du formulaire, voir FormField." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_it_IT.json deleted file mode 100644 index 985a7f29d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 223, - "name": "DropdownButtonFormField", - "localName": "Campo a discesa del modulo", - "info": "Si basa sull'implementazione di DropdownButton, quindi le proprietà di base sono simili. Tuttavia, ha le caratteristiche di FormField, può richiamare i metodi onSaved e validator.", - "lever": 2, - "family": 1, - "linkIds": [ - 55, - 222 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso semplice del campo a discesa del modulo", - "desc": [ - "【items】 : Lista dei componenti figli 【List>】", - "【validator】 : Callback di convalida del modulo 【FormFieldValidator】", - "【onSaved】 : Callback di salvataggio del modulo 【FormFieldSetter】", - "Per altre proprietà, vedere DropdownButton, per le caratteristiche di convalida del modulo, vedere FormField." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_ja_JP.json deleted file mode 100644 index a2c486230..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 223, - "name": "DropdownButtonFormField", - "localName": "フォームドロップダウン", - "info": "基盤は DropdownButton に依存して実装されているため、基本的な属性は似ています。ただし、FormField の特性を持っており、onSaved や validator メソッドをコールバックできます。", - "lever": 2, - "family": 1, - "linkIds": [ - 55, - 222 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "フォームドロップダウンの簡単な使用", - "desc": [ - "【items】 : 子コンポーネントリスト 【List>】", - "【validator】 : フォーム検証コールバック 【FormFieldValidator】", - "【onSaved】 : フォーム保存コールバック 【FormFieldSetter】", - "その他の属性については DropdownButton を参照し、フォーム検証の特性については FormField を参照してください。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_ko_KR.json deleted file mode 100644 index 88832c689..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 223, - "name": "DropdownButtonFormField", - "localName": "폼 드롭다운", - "info": "기본적으로 DropdownButton에 의존하여 구현되었으므로 기본 속성이 유사합니다. 그러나 FormField의 특성을 가지고 있어 onSaved, validator 메서드를 콜백할 수 있습니다.", - "lever": 2, - "family": 1, - "linkIds": [ - 55, - 222 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "폼 드롭다운 간단 사용", - "desc": [ - "【items】 : 하위 컴포넌트 리스트 【List>】", - "【validator】 : 폼 검증 콜백 【FormFieldValidator】", - "【onSaved】 : 폼 저장 콜백 【FormFieldSetter】", - "기타 속성은 DropdownButton을 참조하고, 폼 검증 특성은 FormField를 참조하세요." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_pt_PT.json deleted file mode 100644 index 2eff5ad62..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 223, - "name": "DropdownButtonFormField", - "localName": "Campo de seleção de formulário", - "info": "Implementado com base no DropdownButton, portanto, possui propriedades semelhantes. No entanto, possui características do FormField, podendo chamar os métodos onSaved e validator.", - "lever": 2, - "family": 1, - "linkIds": [ - 55, - 222 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso simples do campo de seleção de formulário", - "desc": [ - "【items】: Lista de componentes filhos 【List>】", - "【validator】: Callback de validação do formulário 【FormFieldValidator】", - "【onSaved】: Callback de salvamento do formulário 【FormFieldSetter】", - "Para outras propriedades, consulte DropdownButton. Para características de validação de formulário, consulte FormField." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_ru_RU.json deleted file mode 100644 index f7450f3e1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 223, - "name": "DropdownButtonFormField", - "localName": "Выпадающее поле формы", - "info": "Базовая реализация зависит от DropdownButton, поэтому основные свойства схожи. Однако обладает функциями FormField, может вызывать методы onSaved и validator.", - "lever": 2, - "family": 1, - "linkIds": [ - 55, - 222 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Простое использование выпадающего поля формы", - "desc": [ - "【items】 : Список дочерних компонентов 【List>】", - "【validator】 : Обратный вызов проверки формы 【FormFieldValidator】", - "【onSaved】 : Обратный вызов сохранения формы 【FormFieldSetter】", - "Другие свойства см. в DropdownButton, функции проверки формы см. в FormField." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_zh-CN.json deleted file mode 100644 index 9b42b54bd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 223, - "name": "DropdownButtonFormField", - "localName": "表单下拉框", - "info": "底层依赖 DropdownButton 实现,所以基本属性类似。但拥有 FormField 的特性,可以回调 onSaved、validator 方法。", - "lever": 2, - "family": 1, - "linkIds": [ - 55, - 222 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "表单下拉框简单使用", - "desc": [ - "【items】 : 子组件列表 【List>】", - "【validator】 : 表单验证回调 【FormFieldValidator】", - "【onSaved】 : 表单保存回调 【FormFieldSetter】", - "其他属性详见 DropdownButton,表单校验特性详见 FormField。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/node1_base.dart deleted file mode 100644 index 63014bca2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownButtonFormField/node1_base.dart +++ /dev/null @@ -1,63 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class DropdownButtonFormFieldDemo extends StatefulWidget { - const DropdownButtonFormFieldDemo({Key? key}) : super(key: key); - - @override - _DropdownButtonFormFieldDemoState createState() => - _DropdownButtonFormFieldDemoState(); -} - -class _DropdownButtonFormFieldDemoState extends State { - Color _color = Colors.blue; - final List _colors = const [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green - ]; - final List _info = const ["红色", "黄色", "蓝色", "绿色"]; - - @override - Widget build(BuildContext context) { - return Wrap( - children: [ - Container( - margin: const EdgeInsets.symmetric(horizontal: 20), - width: 50, - height: 50, - color: _color, - ), - - SizedBox( - width: 80, - child: DropdownButtonFormField( - value: _color, - elevation: 1, - hint: const Text('选择颜色',style: TextStyle(fontSize: 12),), - icon: Icon( - Icons.expand_more, - size: 20, - color: _color, - ), - items: _buildItems(), - onChanged: (v) => setState(() => _color = v ?? Colors.blue)), - ) - - ], - ); - } - - List> _buildItems() => _colors - .map((e) => DropdownMenuItem( - value: e, - child: Text( - _info[_colors.indexOf(e)], - style: TextStyle(color: e), - ))) - .toList(); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_de_DE.json deleted file mode 100644 index 73673fe84..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_de_DE.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 370, - "name": "DropdownMenu", - "localName": "Dropdown-Menü", - "info": "Dropdown-Auswahlkomponente, unterstützt Textfilterung und kann Menüelemente anpassen. Basierend auf MenuAnchor und TextFiled.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Einfache Verwendung des Dropdown-Menüs", - "desc": [ - "【dropdownMenuEntries】 : Liste der Menüeinträge 【List>】", - "【initialSelection】 : Rückruf zur Formularvalidierung 【T?】", - "【onSelected】 : Rückruf zur Formularspeicherung 【ValueChanged?】", - "【menuHeight】 : Menühöhe 【double】", - "【width】 : Breite des Eingabefelds 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Stil des Dropdown-Menüs", - "desc": [ - "【controller】 : Text-Eingabe-Controller 【TextEditingController?】", - "【label】 : Label des Eingabefelds 【Widget?】", - "【textStyle】 : Textstil des Eingabefelds 【TextStyle?】", - "【inputDecorationTheme】 : Dekorationsthema des Eingabefelds 【InputDecorationTheme?】", - "【leadingIcon】 : Linkes Symbol 【Widget?】", - "【trailingIcon】 : Rechtes Symbol, wenn das Menü erweitert ist 【Widget?】", - "【selectedTrailingIcon】 : Rechtes Symbol, wenn das Menü erweitert ist 【Widget?】", - "【hintText】 : Hinweistext des Eingabefelds 【String?】", - "【helperText】 : Hilfstext des Eingabefelds 【String?】", - "【errorText】 : Fehlertext des Eingabefelds 【String?】", - "【menuStyle】 : Stil des Popup-Menüs 【MenuStyle?】" - ] - }, - { - "file": "node3.dart", - "name": "Benutzerdefinierte Menüelemente im Dropdown-Menü", - "desc": [ - "Menüelemente können über das labelWidget von DropdownMenuEntry angepasst werden." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_en_US.json deleted file mode 100644 index e15e900bc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_en_US.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 370, - "name": "DropdownMenu", - "localName": "Dropdown Menu", - "info": "Dropdown selection component, supports text input filtering, and allows custom menu items. It mainly relies on MenuAnchor and TextField for implementation.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Simple Usage of Dropdown Menu", - "desc": [ - "【dropdownMenuEntries】 : Menu item list 【List>】", - "【initialSelection】 : Form validation callback 【T?】", - "【onSelected】 : Form save callback 【ValueChanged?】", - "【menuHeight】 : Menu height 【double】", - "【width】 : Input box width 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Dropdown Menu Style Settings", - "desc": [ - "【controller】 : Text input controller 【TextEditingController?】", - "【label】 : Input box label 【Widget?】", - "【textStyle】 : Input box text style 【TextStyle?】", - "【inputDecorationTheme】 : Input box decoration theme 【InputDecorationTheme?】", - "【leadingIcon】 : Left icon 【Widget?】", - "【trailingIcon】 : Right icon when menu is expanded 【Widget?】", - "【selectedTrailingIcon】 : Right icon when menu is expanded 【Widget?】", - "【hintText】 : Input box hint text 【String?】", - "【helperText】 : Input box helper text 【String?】", - "【errorText】 : Input box error text 【String?】", - "【menuStyle】 : Popup menu style 【MenuStyle?】" - ] - }, - { - "file": "node3.dart", - "name": "Custom Menu Items for Dropdown Menu", - "desc": [ - "You can customize the menu items by using the labelWidget of DropdownMenuEntry." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_es_ES.json deleted file mode 100644 index aba441edf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_es_ES.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 370, - "name": "DropdownMenu", - "localName": "Menú desplegable", - "info": "Componente de selección desplegable, admite filtrado de entrada de texto y permite personalizar los elementos del menú. Depende principalmente de MenuAnchor y TextFiled para su implementación.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso básico del menú desplegable", - "desc": [ - "【dropdownMenuEntries】 : Lista de entradas del menú 【List>】", - "【initialSelection】 : Callback de validación del formulario 【T?】", - "【onSelected】 : Callback de guardado del formulario 【ValueChanged?】", - "【menuHeight】 : Altura del menú 【double】", - "【width】 : Ancho del campo de entrada 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Configuración de estilo del menú desplegable", - "desc": [ - "【controller】 : Controlador de entrada de texto 【TextEditingController?】", - "【label】 : Etiqueta del campo de entrada 【Widget?】", - "【textStyle】 : Estilo del texto del campo de entrada 【TextStyle?】", - "【inputDecorationTheme】 : Tema de decoración del campo de entrada 【InputDecorationTheme?】", - "【leadingIcon】 : Icono izquierdo 【Widget?】", - "【trailingIcon】 : Icono derecho cuando el menú está colapsado 【Widget?】", - "【selectedTrailingIcon】 : Icono derecho cuando el menú está expandido 【Widget?】", - "【hintText】 : Texto de sugerencia del campo de entrada 【String?】", - "【helperText】 : Texto auxiliar del campo de entrada 【String?】", - "【errorText】 : Texto de error del campo de entrada 【String?】", - "【menuStyle】 : Estilo del menú emergente 【MenuStyle?】" - ] - }, - { - "file": "node3.dart", - "name": "Personalización de elementos del menú desplegable", - "desc": [ - "Puede personalizar la construcción de los elementos del menú utilizando labelWidget de DropdownMenuEntry." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_fr_FR.json deleted file mode 100644 index 5af1271f6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_fr_FR.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 370, - "name": "DropdownMenu", - "localName": "Menu déroulant", - "info": "Composant de sélection déroulante, prend en charge le filtrage par saisie de texte, et permet de personnaliser les éléments du menu. Il repose principalement sur MenuAnchor et TextFiled pour son implémentation.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation simple du menu déroulant", - "desc": [ - "【dropdownMenuEntries】 : Liste des entrées du menu 【List>】", - "【initialSelection】 : Rappel de validation du formulaire 【T?】", - "【onSelected】 : Rappel de sauvegarde du formulaire 【ValueChanged?】", - "【menuHeight】 : Hauteur du menu 【double】", - "【width】 : Largeur du champ de saisie 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Configuration du style du menu déroulant", - "desc": [ - "【controller】 : Contrôleur de saisie de texte 【TextEditingController?】", - "【label】 : Étiquette du champ de saisie 【Widget?】", - "【textStyle】 : Style du texte du champ de saisie 【TextStyle?】", - "【inputDecorationTheme】 : Thème de décoration du champ de saisie 【InputDecorationTheme?】", - "【leadingIcon】 : Icône de gauche 【Widget?】", - "【trailingIcon】 : Icône de droite lorsque le menu est déployé 【Widget?】", - "【selectedTrailingIcon】 : Icône de droite lorsque le menu est déployé 【Widget?】", - "【hintText】 : Texte d'indication du champ de saisie 【String?】", - "【helperText】 : Texte d'aide du champ de saisie 【String?】", - "【errorText】 : Texte d'erreur du champ de saisie 【String?】", - "【menuStyle】 : Style du menu contextuel 【MenuStyle?】" - ] - }, - { - "file": "node3.dart", - "name": "Personnalisation des éléments du menu déroulant", - "desc": [ - "Il est possible de personnaliser la construction des éléments du menu via le labelWidget de DropdownMenuEntry." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_it_IT.json deleted file mode 100644 index 074fcd7db..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_it_IT.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 370, - "name": "DropdownMenu", - "localName": "Menu a tendina", - "info": "Componente di selezione a tendina, supporta il filtraggio tramite input di testo e consente la personalizzazione delle voci del menu. Si basa principalmente su MenuAnchor e TextFiled per l'implementazione.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso semplice del menu a tendina", - "desc": [ - "【dropdownMenuEntries】 : Lista delle voci del menu 【List>】", - "【initialSelection】 : Callback di convalida del modulo 【T?】", - "【onSelected】 : Callback di salvataggio del modulo 【ValueChanged?】", - "【menuHeight】 : Altezza del menu 【double】", - "【width】 : Larghezza del campo di input 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Impostazione dello stile del menu a tendina", - "desc": [ - "【controller】 : Controller di input del testo 【TextEditingController?】", - "【label】 : Etichetta del campo di input 【Widget?】", - "【textStyle】 : Stile del testo del campo di input 【TextStyle?】", - "【inputDecorationTheme】 : Tema di decorazione del campo di input 【InputDecorationTheme?】", - "【leadingIcon】 : Icona a sinistra 【Widget?】", - "【trailingIcon】 : Icona a destra quando il menu è espanso 【Widget?】", - "【selectedTrailingIcon】 : Icona a destra quando il menu è espanso 【Widget?】", - "【hintText】 : Testo di suggerimento del campo di input 【String?】", - "【helperText】 : Testo di supporto del campo di input 【String?】", - "【errorText】 : Testo di errore del campo di input 【String?】", - "【menuStyle】 : Stile del menu a comparsa 【MenuStyle?】" - ] - }, - { - "file": "node3.dart", - "name": "Personalizzazione delle voci del menu a tendina", - "desc": [ - "È possibile personalizzare la costruzione delle voci del menu utilizzando il labelWidget di DropdownMenuEntry." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_ja_JP.json deleted file mode 100644 index cab24c05e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_ja_JP.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 370, - "name": "DropdownMenu", - "localName": "ドロップダウンメニュー", - "info": "ドロップダウン選択コンポーネント、テキスト入力フィルタリングをサポートし、メニュー項目をカスタマイズ可能。主にMenuAnchorとTextFiledに依存して実装されています。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "ドロップダウンメニューの簡単な使用", - "desc": [ - "【dropdownMenuEntries】 : メニューエントリリスト 【List>】", - "【initialSelection】 : フォーム検証コールバック 【T?】", - "【onSelected】 : フォーム保存コールバック 【ValueChanged?】", - "【menuHeight】 : メニューの高さ 【double】", - "【width】 : 入力ボックスの幅 【double】" - ] - }, - { - "file": "node2.dart", - "name": "ドロップダウンメニューのスタイル設定", - "desc": [ - "【controller】 : テキスト入力コントローラー 【TextEditingController?】", - "【label】 : 入力ボックスのラベル 【Widget?】", - "【textStyle】 : 入力ボックスのテキストスタイル 【TextStyle?】", - "【inputDecorationTheme】 : 入力ボックスの装飾テーマ 【InputDecorationTheme?】", - "【leadingIcon】 : 左側のアイコン 【Widget?】", - "【trailingIcon】 : 右側のメニュー展開時のアイコン 【Widget?】", - "【selectedTrailingIcon】 : 右側のメニュー展開時のアイコン 【Widget?】", - "【hintText】 : 入力ボックスのヒントテキスト 【String?】", - "【helperText】 : 入力ボックスの補助テキスト 【String?】", - "【errorText】 : 入力ボックスのエラーテキスト 【String?】", - "【menuStyle】 : ポップアップメニューのスタイル 【MenuStyle?】" - ] - }, - { - "file": "node3.dart", - "name": "ドロップダウンメニューのカスタムメニュー項目", - "desc": [ - "DropdownMenuEntryのlabelWidgetを使用してメニュー項目をカスタマイズできます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_ko_KR.json deleted file mode 100644 index ad6961567..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_ko_KR.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 370, - "name": "DropdownMenu", - "localName": "드롭다운 메뉴", - "info": "드롭다운 선택 컴포넌트로, 텍스트 입력 필터링을 지원하며 메뉴 항목을 사용자 정의할 수 있습니다. 기본적으로 MenuAnchor와 TextFiled에 의존하여 구현됩니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "드롭다운 메뉴의 간단한 사용", - "desc": [ - "【dropdownMenuEntries】 : 메뉴 항목 리스트 【List>】", - "【initialSelection】 : 폼 검증 콜백 【T?】", - "【onSelected】 : 폼 저장 콜백 【ValueChanged?】", - "【menuHeight】 : 메뉴 높이 【double】", - "【width】 : 입력 필드 너비 【double】" - ] - }, - { - "file": "node2.dart", - "name": "드롭다운 메뉴 스타일 설정", - "desc": [ - "【controller】 : 텍스트 입력 컨트롤러 【TextEditingController?】", - "【label】 : 입력 필드 라벨 【Widget?】", - "【textStyle】 : 입력 필드 텍스트 스타일 【TextStyle?】", - "【inputDecorationTheme】 : 입력 필드 장식 테마 【InputDecorationTheme?】", - "【leadingIcon】 : 왼쪽 아이콘 【Widget?】", - "【trailingIcon】 : 오른쪽 메뉴 확장 아이콘 【Widget?】", - "【selectedTrailingIcon】 : 오른쪽 메뉴 확장 아이콘 【Widget?】", - "【hintText】 : 입력 필드 힌트 텍스트 【String?】", - "【helperText】 : 입력 필드 보조 텍스트 【String?】", - "【errorText】 : 입력 필드 오류 텍스트 【String?】", - "【menuStyle】 : 팝업 메뉴 스타일 【MenuStyle?】" - ] - }, - { - "file": "node3.dart", - "name": "드롭다운 메뉴 사용자 정의 메뉴 항목", - "desc": [ - "DropdownMenuEntry의 labelWidget을 통해 메뉴 항목을 사용자 정의할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_pt_PT.json deleted file mode 100644 index 4442f7fcc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_pt_PT.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 370, - "name": "DropdownMenu", - "localName": "Menu Suspenso", - "info": "Componente de seleção suspensa, suporta filtragem de entrada de texto, e permite personalizar os itens do menu. Depende principalmente de MenuAnchor e TextFiled para implementação.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso Simples do Menu Suspenso", - "desc": [ - "【dropdownMenuEntries】 : Lista de entradas do menu 【List>】", - "【initialSelection】 : Callback de validação do formulário 【T?】", - "【onSelected】 : Callback de salvamento do formulário 【ValueChanged?】", - "【menuHeight】 : Altura do menu 【double】", - "【width】 : Largura da caixa de entrada 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Configuração de Estilo do Menu Suspenso", - "desc": [ - "【controller】 : Controlador de entrada de texto 【TextEditingController?】", - "【label】 : Etiqueta da caixa de entrada 【Widget?】", - "【textStyle】 : Estilo do texto da caixa de entrada 【TextStyle?】", - "【inputDecorationTheme】 : Tema de decoração da caixa de entrada 【InputDecorationTheme?】", - "【leadingIcon】 : Ícone à esquerda 【Widget?】", - "【trailingIcon】 : Ícone à direita quando o menu está expandido 【Widget?】", - "【selectedTrailingIcon】 : Ícone à direita quando o menu está expandido 【Widget?】", - "【hintText】 : Texto de dica da caixa de entrada 【String?】", - "【helperText】 : Texto auxiliar da caixa de entrada 【String?】", - "【errorText】 : Texto de erro da caixa de entrada 【String?】", - "【menuStyle】 : Estilo do menu suspenso 【MenuStyle?】" - ] - }, - { - "file": "node3.dart", - "name": "Personalização de Itens do Menu Suspenso", - "desc": [ - "É possível personalizar a construção de itens do menu através do labelWidget do DropdownMenuEntry." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_ru_RU.json deleted file mode 100644 index e04a851f5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_ru_RU.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 370, - "name": "DropdownMenu", - "localName": "Выпадающее меню", - "info": "Компонент выбора из выпадающего списка, поддерживает фильтрацию по текстовому вводу, позволяет настраивать пункты меню. Основная реализация зависит от MenuAnchor и TextFiled.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "Простое использование выпадающего меню", - "desc": [ - "【dropdownMenuEntries】 : Список пунктов меню 【List>】", - "【initialSelection】 : Обратный вызов проверки формы 【T?】", - "【onSelected】 : Обратный вызов сохранения формы 【ValueChanged?】", - "【menuHeight】 : Высота меню 【double】", - "【width】 : Ширина поля ввода 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Настройка стиля выпадающего меню", - "desc": [ - "【controller】 : Контроллер текстового ввода 【TextEditingController?】", - "【label】 : Метка поля ввода 【Widget?】", - "【textStyle】 : Стиль текста поля ввода 【TextStyle?】", - "【inputDecorationTheme】 : Тема оформления поля ввода 【InputDecorationTheme?】", - "【leadingIcon】 : Иконка слева 【Widget?】", - "【trailingIcon】 : Иконка справа при развернутом меню 【Widget?】", - "【selectedTrailingIcon】 : Иконка справа при развернутом меню 【Widget?】", - "【hintText】 : Подсказка в поле ввода 【String?】", - "【helperText】 : Вспомогательный текст в поле ввода 【String?】", - "【errorText】 : Текст ошибки в поле ввода 【String?】", - "【menuStyle】 : Стиль всплывающего меню 【MenuStyle?】" - ] - }, - { - "file": "node3.dart", - "name": "Настройка пунктов меню выпадающего меню", - "desc": [ - "Можно настроить пункты меню с помощью labelWidget в DropdownMenuEntry." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_zh-CN.json deleted file mode 100644 index 047ff7ab2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/desc_zh-CN.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 370, - "name": "DropdownMenu", - "localName": "下拉菜单", - "info": "下拉选择组件,支持文本输入过滤,可自定义菜单项。底层主要依赖 MenuAnchor 和 TextFiled 实现。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1.dart", - "name": "下拉菜单的简单使用", - "desc": [ - "【dropdownMenuEntries】 : 菜单条目列表 【List>】", - "【initialSelection】 : 表单验证回调 【T?】", - "【onSelected】 : 表单保存回调 【ValueChanged?】", - "【menuHeight】 : 菜单高度 【double】", - "【width】 : 输入框宽度 【double】" - ] - }, - { - "file": "node2.dart", - "name": "下拉菜单样式设置", - "desc": [ - "【controller】 : 文字输入控制器 【TextEditingController?】", - "【label】 : 输入框标签 【Widget?】", - "【textStyle】 : 输入框文字样式 【TextStyle?】", - "【inputDecorationTheme】 : 输入框装饰主题 【InputDecorationTheme?】", - "【leadingIcon】 : 左侧图标 【Widget?】", - "【trailingIcon】 : 右侧为展开菜单时图标 【Widget?】", - "【selectedTrailingIcon】 : 右侧展开菜单时图标 【Widget?】", - "【hintText】 : 输入框提示文字 【String?】", - "【helperText】 : 输入框辅助文字 【String?】", - "【errorText】 : 输入框错误文字 【String?】", - "【menuStyle】 : 弹出菜单样式 【MenuStyle?】" - ] - }, - { - "file": "node3.dart", - "name": "下拉菜单自定义菜单项", - "desc": [ - "可以通过 DropdownMenuEntry 的 labelWidget 定制构建菜单项。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/node1.dart deleted file mode 100644 index a2dc6ebfe..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/node1.dart +++ /dev/null @@ -1,45 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class DropdownMenuNode1 extends StatefulWidget { - const DropdownMenuNode1({super.key}); - - @override - State createState() => _DropdownMenuNode1State(); -} - -class _DropdownMenuNode1State extends State { - final List data = ['语文', '数学', '英语', '物理', '化学', '生物', '地理']; - late String _dropdownValue = data.first; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - DropdownMenu( - menuHeight: 200, - initialSelection: data.first, - onSelected: _onSelect, - dropdownMenuEntries: _buildMenuList(data), - ), - const SizedBox(height: 8,), - Text('你选择的学科是: $_dropdownValue') - ], - ); - } - - void _onSelect(String? value) { - setState(() { - _dropdownValue = value!; - }); - } - - List> _buildMenuList(List data) { - return data.map((String value) { - return DropdownMenuEntry(value: value, label: value); - }).toList(); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/node2.dart b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/node2.dart deleted file mode 100644 index cf4f5eaad..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/node2.dart +++ /dev/null @@ -1,148 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -enum ColorLabel { - blue('Blue', Colors.blue), - pink('Pink', Colors.pink), - green('Green', Colors.green), - yellow('Orange', Colors.orange), - grey('Grey', Colors.grey); - - const ColorLabel(this.label, this.color); - - final String label; - final Color color; -} - - -enum IconLabel { - smile('Smile', Icons.sentiment_satisfied_outlined), - cloud('Cloud', Icons.cloud_outlined), - brush('Brush', Icons.brush_outlined), - heart('Heart', Icons.favorite); - - const IconLabel(this.label, this.icon); - - final String label; - final IconData icon; -} - -class DropdownMenuNode2 extends StatefulWidget { - const DropdownMenuNode2({super.key}); - - @override - State createState() => _DropdownMenuNode2State(); -} - -class _DropdownMenuNode2State extends State { - final TextEditingController colorController = TextEditingController(); - final TextEditingController iconController = TextEditingController(); - ColorLabel? selectedColor; - IconLabel? selectedIcon; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - Padding( - padding: const EdgeInsets.symmetric(vertical: 20,horizontal: 20), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - _buildColorMenu(), - const SizedBox(height: 16), - _buildLabelMenu(), - ], - ), - ), - const SizedBox(height: 8), - _buildInfo() - ], - ); - } - - Widget _buildColorMenu(){ - return DropdownMenu( - initialSelection: ColorLabel.green, - controller: colorController, - requestFocusOnTap: true, - label: const Text('Color'), - width: 160, - menuHeight: 150, - menuStyle: const MenuStyle( - backgroundColor: MaterialStatePropertyAll(Colors.white), - surfaceTintColor: MaterialStatePropertyAll(Colors.white), - padding: MaterialStatePropertyAll(EdgeInsets.symmetric(vertical: 20,horizontal: 8)), - ), - onSelected: (ColorLabel? color) { - setState(() { - selectedColor = color; - }); - }, - dropdownMenuEntries: ColorLabel.values.map((ColorLabel color) { - return DropdownMenuEntry( - value: color, - label: color.label, - enabled: color.label != 'Grey', - style: MenuItemButton.styleFrom( - foregroundColor: color.color, - ), - ); - } - ).toList(), - ); - } - - Widget _buildInfo() { - if (selectedColor != null && selectedIcon != null) { - return Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text('You selected a ${selectedColor?.label} ${selectedIcon?.label}'), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 5), - child: Icon( - selectedIcon?.icon, - color: selectedColor?.color, - ), - ) - ], - ); - } - return const Text('Please select a color and an icon.'); - } - - Widget _buildLabelMenu() { - return DropdownMenu( - controller: iconController, - enableFilter: false, - requestFocusOnTap: false, - width: 160, - leadingIcon: const Icon(Icons.search), - label: const Text('Icon'), - inputDecorationTheme: const InputDecorationTheme( - filled: true, - contentPadding: EdgeInsets.symmetric(vertical: 5.0), - ), - onSelected: (IconLabel? icon) { - setState(() { - selectedIcon = icon; - }); - }, - dropdownMenuEntries: IconLabel.values.map((IconLabel icon) { - return DropdownMenuEntry( - value: icon, - label: icon.label, - leadingIcon: Icon(icon.icon), - ); - }, - ).toList(), - ); - } -} - - - diff --git a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/node3.dart b/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/node3.dart deleted file mode 100644 index f401df201..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/DropdownMenu/node3.dart +++ /dev/null @@ -1,128 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - -class User { - final String name; - final bool man; - final String image; - - const User(this.name, this.man, this.image); - - @override - String toString() { - return 'User{name: $name, man: $man, image: $image}'; - } -} - -class DropdownMenuNode3 extends StatefulWidget { - const DropdownMenuNode3({ super.key }); - - @override - State createState() => _DropdownMenuNode3State(); -} - -class _DropdownMenuNode3State extends State { - late final TextEditingController controller; - - List data = const [ - User('toly', true, 'icon_5.webp'), - User('toly49', false, 'icon_6.webp'), - User('toly42', true, 'icon_7.webp'), - User('toly56', false, 'icon_8.webp'), - User('card', true, 'icon_5.webp'), - User('ls', true, 'icon_6.webp'), - User('alex', true, 'icon_7.webp'), - User('fan sha', false, 'icon_8.webp'), - ]; - - User? _selectUser; - - @override - void initState() { - super.initState(); - controller = TextEditingController(); - } - - @override - void dispose() { - controller.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return DropdownMenu( - width: 300, - menuHeight: 250, - controller: controller, - leadingIcon: _selectUser!=null?SizedBox( - width: 26, - height: 26, - child: Center( - child: CircleAvatar( - radius: 14, - foregroundColor: Colors.transparent, - backgroundImage: - AssetImage('assets/images/head_icon/${_selectUser!.image}'), - ), - ), - ):null, - label: const Text('选择用户'), - onSelected: (User? user) { - print('Selected $user'); - setState(() { - _selectUser = user; - - }); - }, - dropdownMenuEntries: data.map>((User user) { - return DropdownMenuEntry( - value: user, - label: user.name, - // Try commenting the labelWidget out or changing - // the labelWidget's Text parameters. - labelWidget: _UserItem(user: user), - ); - }).toList(), - ); - } -} -class _UserItem extends StatelessWidget { - final User user; - - const _UserItem({ - Key? key, - required this.user, - }) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 6), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - CircleAvatar( - foregroundColor: Colors.transparent, - backgroundImage: - AssetImage('assets/images/head_icon/${user.image}'), - ), - const SizedBox(width: 20), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Text(user.name), - Text( - '性别:'+ (user.man ? '男' : '女'), - style: const TextStyle(color: Colors.grey), - ), - ], - ), - ], - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_de_DE.json deleted file mode 100644 index c74d1d999..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 244, - "name": "EditableText", - "localName": "Bearbarer Text", - "info": "Bearbarer Text ist die grundlegendste Komponente von TextField und wird in der Regel nicht allein verwendet.", - "lever": 2, - "family": 1, - "linkIds": [ - 2, - 54 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von EditableText", - "desc": [ - "【controller】 : Controller 【TextEditingController】", - "【focusNode】 : Fokus 【FocusNode】", - "【style】 : Textstil 【TextStyle】", - "【backgroundCursorColor】 : Hintergrundcursorfarbe 【Color】", - "【cursorColor】 : Cursorfarbe 【Color】", - "Die oben genannten fünf Attribute sind für EditableText obligatorisch, andere sind identisch mit TextField und werden hier nicht aufgeführt." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_en_US.json deleted file mode 100644 index 54b54a0e4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 244, - "name": "EditableText", - "localName": "Editable Text", - "info": "Editable text is the core component at the bottom layer of TextField and is generally not used alone.", - "lever": 2, - "family": 1, - "linkIds": [ - 2, - 54 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of EditableText", - "desc": [ - "【controller】: Controller 【TextEditingController】", - "【focusNode】: Focus Node 【FocusNode】", - "【style】: Text Style 【TextStyle】", - "【backgroundCursorColor】: Background Cursor Color 【Color】", - "【cursorColor】: Cursor Color 【Color】", - "The above five are the essential properties of EditableText. Others are the same as TextField and will not be listed here." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_es_ES.json deleted file mode 100644 index 54869ba9f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 244, - "name": "EditableText", - "localName": "Texto editable", - "info": "Texto que se puede editar, es el componente central subyacente de TextField, generalmente no se usa solo.", - "lever": 2, - "family": 1, - "linkIds": [ - 2, - 54 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de EditableText", - "desc": [ - "【controller】: Controlador 【TextEditingController】", - "【focusNode】: Foco 【FocusNode】", - "【style】: Estilo de texto 【TextStyle】", - "【backgroundCursorColor】: Color del cursor de fondo 【Color】", - "【cursorColor】: Color del cursor 【Color】", - "Los cinco anteriores son atributos obligatorios de EditableText, otros son iguales a TextField, no se enumeran aquí." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_fr_FR.json deleted file mode 100644 index 8c42e91cd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 244, - "name": "EditableText", - "localName": "Texte modifiable", - "info": "Texte qui peut être édité, c'est le composant central sous-jacent de TextField, généralement non utilisé seul.", - "lever": 2, - "family": 1, - "linkIds": [ - 2, - 54 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de EditableText", - "desc": [ - "【controller】 : Contrôleur 【TextEditingController】", - "【focusNode】 : Nœud de focus 【FocusNode】", - "【style】 : Style de texte 【TextStyle】", - "【backgroundCursorColor】 : Couleur du curseur de fond 【Color】", - "【cursorColor】 : Couleur du curseur 【Color】", - "Les cinq propriétés ci-dessus sont obligatoires pour EditableText, les autres sont similaires à TextField et ne sont pas listées ici." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_it_IT.json deleted file mode 100644 index c3ec0779e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 244, - "name": "EditableText", - "localName": "Testo modificabile", - "info": "Testo che può essere modificato, è il componente più fondamentale di TextField, generalmente non utilizzato da solo.", - "lever": 2, - "family": 1, - "linkIds": [ - 2, - 54 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di EditableText", - "desc": [ - "【controller】 : Controller 【TextEditingController】", - "【focusNode】 : Focus 【FocusNode】", - "【style】 : Stile del testo 【TextStyle】", - "【backgroundCursorColor】 : Colore del cursore di sfondo 【Color】", - "【cursorColor】 : Colore del cursore 【Color】", - "I cinque attributi sopra sono obbligatori per EditableText, gli altri sono simili a TextField e non verranno elencati qui." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_ja_JP.json deleted file mode 100644 index 4098e3865..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 244, - "name": "EditableText", - "localName": "編集可能なテキスト", - "info": "編集可能なテキストで、TextFieldの最もコアなコンポーネントです。通常は単独で使用しません。", - "lever": 2, - "family": 1, - "linkIds": [ - 2, - 54 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EditableTextの基本使用", - "desc": [ - "【controller】 : コントローラー 【TextEditingController】", - "【focusNode】 : フォーカス 【FocusNode】", - "【style】 : テキストスタイル 【TextStyle】", - "【backgroundCursorColor】 : 背景カーソルカラー 【Color】", - "【cursorColor】 : カーソルカラー 【Color】", - "上記の5つはEditableTextの必須属性です。その他はTextFieldと同じで、ここでは列挙しません。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_ko_KR.json deleted file mode 100644 index b3865d545..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 244, - "name": "EditableText", - "localName": "편집 가능한 텍스트", - "info": "편집 가능한 텍스트는 TextField의 가장 핵심적인 구성 요소로, 일반적으로 단독으로 사용되지 않습니다.", - "lever": 2, - "family": 1, - "linkIds": [ - 2, - 54 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EditableText 기본 사용법", - "desc": [ - "【controller】 : 컨트롤러 【TextEditingController】", - "【focusNode】 : 포커스 【FocusNode】", - "【style】 : 텍스트 스타일 【TextStyle】", - "【backgroundCursorColor】 : 배경 커서 색상 【Color】", - "【cursorColor】 : 커서 색상 【Color】", - "위 다섯 가지는 EditableText의 필수 속성이며, 나머지는 TextField와 동일하므로 여기서는 더 이상 열거하지 않습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_pt_PT.json deleted file mode 100644 index e558d5412..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 244, - "name": "EditableText", - "localName": "Texto Editável", - "info": "Texto que pode ser editado, é o componente central mais básico do TextField, geralmente não é usado sozinho.", - "lever": 2, - "family": 1, - "linkIds": [ - 2, - 54 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do EditableText", - "desc": [ - "【controller】 : Controlador 【TextEditingController】", - "【focusNode】 : Foco 【FocusNode】", - "【style】 : Estilo de Texto 【TextStyle】", - "【backgroundCursorColor】 : Cor do Cursor de Fundo 【Color】", - "【cursorColor】 : Cor do Cursor 【Color】", - "Os cinco acima são atributos obrigatórios do EditableText, outros são semelhantes ao TextField, não serão listados aqui." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_ru_RU.json deleted file mode 100644 index b0182f626..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 244, - "name": "EditableText", - "localName": "Редактируемый текст", - "info": "Редактируемый текст, это основной компонент TextField, обычно не используется отдельно.", - "lever": 2, - "family": 1, - "linkIds": [ - 2, - 54 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование EditableText", - "desc": [ - "【controller】 : Контроллер 【TextEditingController】", - "【focusNode】 : Фокус 【FocusNode】", - "【style】 : Стиль текста 【TextStyle】", - "【backgroundCursorColor】 : Цвет фонового курсора 【Color】", - "【cursorColor】 : Цвет курсора 【Color】", - "Эти пять свойств являются обязательными для EditableText, остальные аналогичны TextField и здесь не перечисляются." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_zh-CN.json deleted file mode 100644 index 010756602..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 244, - "name": "EditableText", - "localName": "可编辑文字", - "info": "可以编辑的文字,是TextField的底层最核心组件,一般不单独使用。", - "lever": 2, - "family": 1, - "linkIds": [ - 2, - 54 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EditableText基本使用", - "desc": [ - "【controller】 : 控制器 【TextEditingController】", - "【focusNode】 : 焦点 【FocusNode】", - "【style】 : 文字样式 【TextStyle】", - "【backgroundCursorColor】 : 背景游标颜色 【Color】", - "【cursorColor】 : 游标颜色 【Color】", - "上面五个是EditableText必须的属性,其他同TextField,此处不再列举。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/EditableText/node1_base.dart deleted file mode 100644 index 951baf837..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/EditableText/node1_base.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class EditableTextDemo extends StatefulWidget { - const EditableTextDemo({Key? key}) : super(key: key); - - @override - _EditableTextDemoState createState() => _EditableTextDemoState(); -} - -class _EditableTextDemoState extends State { - final TextEditingController _ctrl = - TextEditingController(text: 'Hello Flutter Unit!'); - final FocusNode _node = FocusNode(); - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.all(8.0), - child: EditableText( - controller: _ctrl, - focusNode: _node, - style: const TextStyle(fontSize: 16, color: Colors.blue), - cursorColor: Colors.blue, - backgroundCursorColor: Colors.orange, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_de_DE.json deleted file mode 100644 index 35e6a1b8d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_de_DE.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 354, - "name": "ElevatedButton", - "localName": "Erhobener Button", - "info": "Material-stil erhobener Button, ähnlich wie RaisedButton. Eigenschaften wie Rahmen, Farbe, Schatten können durch Stile geändert werden.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 26, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ElevatedButton", - "desc": [ - "【child】 : Hat es ein scrollendes Hauptelement 【Widget】", - "【onPressed】 : Klickereignis 【VoidCallback】", - "【onLongPress】 : Langer Druckereignis 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Stil von ElevatedButton", - "desc": [ - "【style】 : Button-Stil 【ButtonStyle】", - "【focusNode】 : Fokus 【FocusNode】", - "【clipBehavior】 : Zuschneideverhalten 【Clip】", - "【autofocus】 : Autofokus 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_en_US.json deleted file mode 100644 index ece99fa06..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_en_US.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 354, - "name": "ElevatedButton", - "localName": "Raised Button", - "info": "A Material-styled raised button, similar in behavior to RaisedButton. Properties such as border, color, and shadow can be changed through styling.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 26, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ElevatedButton", - "desc": [ - "【child】: Whether it has a scrollable body 【Widget】", - "【onPressed】: Click event 【VoidCallback】", - "【onLongPress】: Long press event 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "ElevatedButton Style", - "desc": [ - "【style】: Button style 【ButtonStyle】", - "【focusNode】: Focus 【FocusNode】", - "【clipBehavior】: Clip behavior 【Clip】", - "【autofocus】: Auto focus 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_es_ES.json deleted file mode 100644 index 4381dd4d7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_es_ES.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 354, - "name": "ElevatedButton", - "localName": "Botón elevado", - "info": "Botón elevado de estilo Material, similar en comportamiento a RaisedButton. Se pueden cambiar propiedades como el borde, el color, la sombra, etc., mediante estilos.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 26, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ElevatedButton", - "desc": [ - "【child】 : Si tiene un cuerpo desplazable 【Widget】", - "【onPressed】 : Evento de clic 【VoidCallback】", - "【onLongPress】 : Evento de pulsación prolongada 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Estilo de ElevatedButton", - "desc": [ - "【style】 : Estilo del botón 【ButtonStyle】", - "【focusNode】 : Foco 【FocusNode】", - "【clipBehavior】 : Comportamiento de recorte 【Clip】", - "【autofocus】 : Enfoque automático 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_fr_FR.json deleted file mode 100644 index 3768217e9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_fr_FR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 354, - "name": "ElevatedButton", - "localName": "Bouton surélevé", - "info": "Bouton de style Material, similaire à RaisedButton. Les propriétés telles que la bordure, la couleur, l'ombre peuvent être modifiées via le style.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 26, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'ElevatedButton", - "desc": [ - "【child】 : Si le bouton a un corps défilant 【Widget】", - "【onPressed】 : Événement de clic 【VoidCallback】", - "【onLongPress】 : Événement de pression longue 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Style d'ElevatedButton", - "desc": [ - "【style】 : Style du bouton 【ButtonStyle】", - "【focusNode】 : Focus 【FocusNode】", - "【clipBehavior】 : Comportement de découpage 【Clip】", - "【autofocus】 : Autofocus 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_it_IT.json deleted file mode 100644 index c58874075..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_it_IT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 354, - "name": "ElevatedButton", - "localName": "Pulsante sollevato", - "info": "Pulsante in stile Material, simile a RaisedButton. È possibile modificare proprietà come bordo, colore, ombra, ecc. attraverso lo stile.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 26, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ElevatedButton", - "desc": [ - "【child】 : Se ha un corpo scorrevole 【Widget】", - "【onPressed】 : Evento di clic 【VoidCallback】", - "【onLongPress】 : Evento di pressione lunga 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Stile di ElevatedButton", - "desc": [ - "【style】 : Stile del pulsante 【ButtonStyle】", - "【focusNode】 : Fuoco 【FocusNode】", - "【clipBehavior】 : Comportamento di ritaglio 【Clip】", - "【autofocus】 : Autofocus 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_ja_JP.json deleted file mode 100644 index f094a53f1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_ja_JP.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 354, - "name": "ElevatedButton", - "localName": "昇格ボタン", - "info": "Materialスタイルの昇格ボタンで、RaisedButtonと似たような動作をします。スタイルを変更して、ボーダー、色、影などのプロパティを変更できます。", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 26, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ElevatedButtonの基本使用", - "desc": [ - "【child】 : スクロール主体を持つかどうか 【Widget】", - "【onPressed】 : クリックイベント 【VoidCallback】", - "【onLongPress】 : 長押しイベント 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "ElevatedButtonのスタイル", - "desc": [ - "【style】 : ボタンのスタイル 【ButtonStyle】", - "【focusNode】 : フォーカス 【FocusNode】", - "【clipBehavior】 : クリップ動作 【Clip】", - "【autofocus】 : 自動フォーカス 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_ko_KR.json deleted file mode 100644 index af9be9331..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_ko_KR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 354, - "name": "ElevatedButton", - "localName": "올라간 버튼", - "info": "Material 스타일의 올라간 버튼으로, RaisedButton과 유사하게 동작합니다. 스타일을 통해 테두리, 색상, 그림자 등의 속성을 변경할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 26, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ElevatedButton 기본 사용법", - "desc": [ - "【child】 : 스크롤 가능한 본체 여부 【Widget】", - "【onPressed】 : 클릭 이벤트 【VoidCallback】", - "【onLongPress】 : 길게 누르기 이벤트 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "ElevatedButton 스타일", - "desc": [ - "【style】 : 버튼 스타일 【ButtonStyle】", - "【focusNode】 : 포커스 【FocusNode】", - "【clipBehavior】 : 클리핑 동작 【Clip】", - "【autofocus】 : 자동 포커스 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_pt_PT.json deleted file mode 100644 index 91c7f259b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_pt_PT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 354, - "name": "ElevatedButton", - "localName": "Botão Elevado", - "info": "Botão elevado no estilo Material, semelhante ao RaisedButton. Pode alterar propriedades como borda, cor, sombra, etc., através de estilos.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 26, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ElevatedButton", - "desc": [ - "【child】 : Se tem um corpo rolável 【Widget】", - "【onPressed】 : Evento de clique 【VoidCallback】", - "【onLongPress】 : Evento de pressão longa 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Estilo do ElevatedButton", - "desc": [ - "【style】 : Estilo do botão 【ButtonStyle】", - "【focusNode】 : Foco 【FocusNode】", - "【clipBehavior】 : Comportamento de corte 【Clip】", - "【autofocus】 : Foco automático 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_ru_RU.json deleted file mode 100644 index 91c2bfe13..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_ru_RU.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 354, - "name": "ElevatedButton", - "localName": "Поднятая кнопка", - "info": "Кнопка в стиле Material, похожая на RaisedButton. Можно изменить свойства, такие как граница, цвет, тень и т.д., через стили.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 26, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ElevatedButton", - "desc": [ - "【child】 : Имеет ли прокручиваемое содержимое 【Widget】", - "【onPressed】 : Событие нажатия 【VoidCallback】", - "【onLongPress】 : Событие долгого нажатия 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Стиль ElevatedButton", - "desc": [ - "【style】 : Стиль кнопки 【ButtonStyle】", - "【focusNode】 : Фокус 【FocusNode】", - "【clipBehavior】 : Поведение обрезки 【Clip】", - "【autofocus】 : Автофокус 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_zh-CN.json deleted file mode 100644 index a4f8675db..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/desc_zh-CN.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 354, - "name": "ElevatedButton", - "localName": "升起按钮", - "info": "Material风格的升起按钮,表现和RaisedButton类似。可通过样式更改边框、颜色、阴影等属性。", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 26, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ElevatedButton基本使用", - "desc": [ - "【child】 : 是否具有滚动主体 【Widget】", - "【onPressed】 : 点击事件 【VoidCallback】", - "【onLongPress】 : 长按事件 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "ElevatedButton样式", - "desc": [ - "【style】 : 按钮样式 【ButtonStyle】", - "【focusNode】 : 焦点 【FocusNode】", - "【clipBehavior】 : 裁剪行为 【Clip】", - "【autofocus】 : 自动聚焦 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/node1_base.dart deleted file mode 100644 index 68ce3de16..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/node1_base.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class ElevatedButtonDemo extends StatelessWidget { - const ElevatedButtonDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.center, - height: 60, - child: Wrap( - spacing: 20, - children: [ - ElevatedButton( - child: const Text('ElevatedButton'), - onPressed: _onPressed, - onLongPress: _onLongPress, - ), - const ElevatedButton( - child: Text('禁用按钮'), - onPressed: null, - onLongPress: null, - ), - ], - )); - } - - void _onPressed() {} - - void _onLongPress() {} -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/node2_style.dart b/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/node2_style.dart deleted file mode 100644 index afe9bf65d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ElevatedButton/node2_style.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class ElevatedButtonStyleDemo extends StatelessWidget { - const ElevatedButtonStyleDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.center, - child: Wrap( - spacing: 10, - children: [ - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.orange, - foregroundColor: Colors.white, - elevation: 2, - shadowColor: Colors.orangeAccent), - child: const Text('ElevatedButton样式'), - onPressed: _onPressed, - onLongPress: _onLongPress, - ), - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.white, - foregroundColor: Colors.black, - side: const BorderSide(color: Colors.blue,width: 1), - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10)) - ), - // elevation: 2, - shadowColor: Colors.orangeAccent), - child: const Text('ElevatedButton边线'), - autofocus: false, - onPressed: _onPressed, - onLongPress: _onLongPress, - ), - ], - ), - ); - } - - void _onPressed() {} - - void _onLongPress() {} -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_de_DE.json deleted file mode 100644 index adafa04d2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 51, - "name": "ExpandIcon", - "localName": "Erweitern-Symbol", - "info": "Ein Erweitern-Button, der beim Klicken eine 180-Grad-Drehanimation ausführt. Kann Farbe, Größe, Rand angeben und Klickereignisse empfangen.", - "lever": 1, - "family": 1, - "linkIds": [ - 66, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ExpandIcon", - "desc": [ - "【isExpanded】 : Ob erweitert 【bool】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】", - "【size】 : Symbolgröße 【double】", - "【color】 : Farbe wenn nicht erweitert 【Color】", - "【expandedColor】 : Farbe wenn erweitert 【Color】", - "【onPressed】 : Klickereignis 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_en_US.json deleted file mode 100644 index 09a290c9d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 51, - "name": "ExpandIcon", - "localName": "Expand Icon", - "info": "An expand button that performs a 180-degree rotation animation when clicked. Can specify color, size, margin, and receive click events.", - "lever": 1, - "family": 1, - "linkIds": [ - 66, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ExpandIcon", - "desc": [ - "【isExpanded】 : Whether expanded 【bool】", - "【padding】 : Padding 【EdgeInsetsGeometry】,", - "【size】 : Icon size 【double】", - "【color】 : Color when not expanded 【Color】", - "【expandedColor】 : Color when expanded 【Color】", - "【onPressed】 : Click event 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_es_ES.json deleted file mode 100644 index 3b1b28a23..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 51, - "name": "ExpandIcon", - "localName": "Icono de expansión", - "info": "Un botón de expansión que, al hacer clic, realiza una animación de rotación de 180 grados. Se puede especificar el color, el tamaño, el margen y recibir eventos de clic.", - "lever": 1, - "family": 1, - "linkIds": [ - 66, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ExpandIcon", - "desc": [ - "【isExpanded】 : Si está expandido 【bool】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】,", - "【size】 : Tamaño del icono 【double】", - "【color】 : Color cuando no está expandido 【Color】", - "【expandedColor】 : Color cuando está expandido 【Color】", - "【onPressed】 : Evento de clic 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_fr_FR.json deleted file mode 100644 index 31b6694f2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 51, - "name": "ExpandIcon", - "localName": "Icône de déploiement", - "info": "Un bouton de déploiement qui exécute une animation de rotation de 180 degrés lorsqu'il est cliqué. Peut spécifier la couleur, la taille, la marge et recevoir des événements de clic.", - "lever": 1, - "family": 1, - "linkIds": [ - 66, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ExpandIcon", - "desc": [ - "【isExpanded】 : Déployé ou non 【bool】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】,", - "【size】 : Taille de l'icône 【double】", - "【color】 : Couleur lorsqu'il n'est pas déployé 【Color】", - "【expandedColor】 : Couleur lorsqu'il est déployé 【Color】", - "【onPressed】 : Événement de clic 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_it_IT.json deleted file mode 100644 index a166b8118..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 51, - "name": "ExpandIcon", - "localName": "Icona Espandi", - "info": "Un pulsante di espansione che esegue un'animazione di rotazione di 180 gradi quando viene cliccato. È possibile specificare colore, dimensione, margine e ricevere eventi di clic.", - "lever": 1, - "family": 1, - "linkIds": [ - 66, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di ExpandIcon", - "desc": [ - "【isExpanded】 : Se è espanso 【bool】", - "【padding】 : Spaziatura interna 【EdgeInsetsGeometry】,", - "【size】 : Dimensione dell'icona 【double】", - "【color】 : Colore quando non è espanso 【Color】", - "【expandedColor】 : Colore quando è espanso 【Color】", - "【onPressed】 : Evento di clic 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_ja_JP.json deleted file mode 100644 index 561d97c77..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 51, - "name": "ExpandIcon", - "localName": "展開アイコン", - "info": "展開ボタンで、クリックすると180度回転するアニメーションを自動的に実行します。色、サイズ、マージンを指定でき、クリックイベントを受け取ります。", - "lever": 1, - "family": 1, - "linkIds": [ - 66, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ExpandIconの基本的な使用", - "desc": [ - "【isExpanded】 : 展開されているかどうか 【bool】", - "【padding】 : パディング 【EdgeInsetsGeometry】,", - "【size】 : アイコンのサイズ 【double】", - "【color】 : 展開されていないときの色 【Color】", - "【expandedColor】 : 展開されているときの色 【Color】", - "【onPressed】 : クリックイベント 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_ko_KR.json deleted file mode 100644 index 86696afd7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 51, - "name": "ExpandIcon", - "localName": "펼치기 아이콘", - "info": "펼치기 버튼으로, 클릭 시 180도 회전 애니메이션을 자동으로 실행합니다. 색상, 크기, 여백을 지정할 수 있으며 클릭 이벤트를 받습니다.", - "lever": 1, - "family": 1, - "linkIds": [ - 66, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ExpandIcon 기본 사용", - "desc": [ - "【isExpanded】 : 펼쳐져 있는지 여부 【bool】", - "【padding】 : 안쪽 여백 【EdgeInsetsGeometry】,", - "【size】 : 아이콘 크기 【double】", - "【color】 : 펼쳐지지 않았을 때 색상 【Color】", - "【expandedColor】 : 펼쳐졌을 때 색상 【Color】", - "【onPressed】 : 클릭 이벤트 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_pt_PT.json deleted file mode 100644 index 61a792889..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 51, - "name": "ExpandIcon", - "localName": "Ícone de Expansão", - "info": "Um botão de expansão que executa uma animação de rotação de 180 graus ao ser clicado. Pode especificar cor, tamanho, margem e receber eventos de clique.", - "lever": 1, - "family": 1, - "linkIds": [ - 66, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ExpandIcon", - "desc": [ - "【isExpanded】 : Se está expandido 【bool】", - "【padding】 : Margem interna 【EdgeInsetsGeometry】,", - "【size】 : Tamanho do ícone 【double】", - "【color】 : Cor quando não expandido 【Color】", - "【expandedColor】 : Cor quando expandido 【Color】", - "【onPressed】 : Evento de clique 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_ru_RU.json deleted file mode 100644 index f642cbde0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 51, - "name": "ExpandIcon", - "localName": "Иконка раскрытия", - "info": "Кнопка раскрытия, которая при нажатии выполняет анимацию поворота на 180 градусов. Можно указать цвет, размер, отступы и обрабатывать события нажатия.", - "lever": 1, - "family": 1, - "linkIds": [ - 66, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ExpandIcon", - "desc": [ - "【isExpanded】 : Раскрыто ли 【bool】", - "【padding】 : Внутренние отступы 【EdgeInsetsGeometry】", - "【size】 : Размер иконки 【double】", - "【color】 : Цвет в нераскрытом состоянии 【Color】", - "【expandedColor】 : Цвет в раскрытом состоянии 【Color】", - "【onPressed】 : Событие нажатия 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_zh-CN.json deleted file mode 100644 index 0e38b4cbe..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 51, - "name": "ExpandIcon", - "localName": "展开图标", - "info": "一个展开按钮,点击时会自己执行旋转180的动画。可指定颜色、大小、边距,接收点击事件。", - "lever": 1, - "family": 1, - "linkIds": [ - 66, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ExpandIcon基本使用", - "desc": [ - "【isExpanded】 : 是否展开 【bool】", - "【padding】 : 内边距 【EdgeInsetsGeometry】,", - "【size】 : 图标大小 【double】", - "【color】 : 不展开时颜色 【Color】", - "【expandedColor】 : 展开时颜色 【Color】", - "【onPressed】 : 点击事件 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/node1_base.dart deleted file mode 100644 index f3c3ae024..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpandIcon/node1_base.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-16 -/// contact me by email 1981462002@qq.com - -class CustomExpandIcon extends StatefulWidget { - const CustomExpandIcon({Key? key}) : super(key: key); - - @override - _CustomExpandIconState createState() => _CustomExpandIconState(); -} - -class _CustomExpandIconState extends State { - bool _closed = true; - - @override - Widget build(BuildContext context) { - return ExpandIcon( - isExpanded: _closed, - padding: const EdgeInsets.all(5), - size: 30, - color: Colors.blue, - expandedColor: Colors.orangeAccent, - onPressed: (value) => setState(() => _closed = !_closed), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_de_DE.json deleted file mode 100644 index 1fa12fbc1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 178, - "name": "ExpansionPanelList", - "localName": "Erweiterungsliste", - "info": "Erweiterbare Listenkomponente, die logisch für einfache oder mehrfache Erweiterungen implementiert werden kann. Kann die Animationsdauer für die Erweiterung festlegen und empfängt einen Rückruf bei der Erweiterung", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ExpansionPanelList", - "desc": [ - "【children】 : Liste der Unterkomponenten 【List】", - "【animationDuration】 : Animationsdauer 【Duration】", - "【expansionCallback】 : Rückruf bei Erweiterung 【List】", - "【onPressed】 : Klickereignis 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_en_US.json deleted file mode 100644 index 2c2c9e002..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 178, - "name": "ExpansionPanelList", - "localName": "Expandable List", - "info": "A list component that can be expanded, which can implement single or multiple expansions based on logic. You can specify the duration of the expansion animation and receive expansion callbacks.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ExpansionPanelList", - "desc": [ - "【children】: List of child components 【List】", - "【animationDuration】: Animation duration 【Duration】", - "【expansionCallback】: Expansion callback 【List】", - "【onPressed】: Click event 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_es_ES.json deleted file mode 100644 index 7ad00b1f8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 178, - "name": "ExpansionPanelList", - "localName": "Lista Expandible", - "info": "Componente de lista expandible que puede implementar expansión única o múltiple según la lógica. Puede especificar la duración de la animación de expansión y recibir una devolución de llamada de expansión.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ExpansionPanelList", - "desc": [ - "【children】 : Lista de componentes hijos 【List】", - "【animationDuration】 : Duración de la animación 【Duration】", - "【expansionCallback】 : Devolución de llamada de expansión 【List】", - "【onPressed】 : Evento de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_fr_FR.json deleted file mode 100644 index 80df8e542..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 178, - "name": "ExpansionPanelList", - "localName": "Liste de déploiement", - "info": "Composant de liste extensible, pouvant être implémenté pour un déploiement unique ou multiple selon la logique. Permet de spécifier la durée de l'animation de déploiement et reçoit un rappel de déploiement.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ExpansionPanelList", - "desc": [ - "【children】 : Liste des composants enfants 【List】", - "【animationDuration】 : Durée de l'animation 【Duration】", - "【expansionCallback】 : Rappel de déploiement 【List】", - "【onPressed】 : Événement de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_it_IT.json deleted file mode 100644 index eef556546..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 178, - "name": "ExpansionPanelList", - "localName": "Lista Espandibile", - "info": "Componente lista espandibile, può essere implementato per espansione singola o multipla in base alla logica. È possibile specificare la durata dell'animazione di espansione e ricevere un callback di espansione", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di ExpansionPanelList", - "desc": [ - "【children】 : Lista dei componenti figli 【List】", - "【animationDuration】 : Durata dell'animazione 【Duration】", - "【expansionCallback】 : Callback di espansione 【List】", - "【onPressed】 : Evento di click 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_ja_JP.json deleted file mode 100644 index 4d590b2ad..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 178, - "name": "ExpansionPanelList", - "localName": "展開リスト", - "info": "展開可能なリストコンポーネントで、ロジックに応じて単一展開または複数展開を実現できます。展開アニメーションの持続時間を指定でき、展開コールバックを受け取ります", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ExpansionPanelList基本使用", - "desc": [ - "【children】 : 子コンポーネントリスト 【List】", - "【animationDuration】 : アニメーションの持続時間 【Duration】", - "【expansionCallback】 : 展開コールバック 【List】", - "【onPressed】 : クリックイベント 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_ko_KR.json deleted file mode 100644 index 21d91c6f7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 178, - "name": "ExpansionPanelList", - "localName": "확장 목록", - "info": "확장 가능한 목록 컴포넌트로, 로직에 따라 단일 확장 또는 다중 확장을 구현할 수 있습니다. 확장 애니메이션 지속 시간을 지정할 수 있으며, 확장 콜백을 받습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ExpansionPanelList 기본 사용", - "desc": [ - "【children】 : 자식 컴포넌트 목록 【List】", - "【animationDuration】 : 애니메이션 지속 시간 【Duration】", - "【expansionCallback】 : 확장 콜백 【List】", - "【onPressed】 : 클릭 이벤트 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_pt_PT.json deleted file mode 100644 index 4432a0195..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 178, - "name": "ExpansionPanelList", - "localName": "Lista Expansível", - "info": "Componente de lista expansível, pode implementar expansão única ou múltipla de acordo com a lógica. Pode especificar a duração da animação de expansão e receber um callback de expansão.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do ExpansionPanelList", - "desc": [ - "【children】 : Lista de componentes filhos 【List】", - "【animationDuration】 : Duração da animação 【Duration】", - "【expansionCallback】 : Callback de expansão 【List】", - "【onPressed】 : Evento de clique 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_ru_RU.json deleted file mode 100644 index 6ab3ff8e8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 178, - "name": "ExpansionPanelList", - "localName": "Раскрывающийся список", - "info": "Раскрывающийся компонент списка, который может быть реализован для одиночного или множественного раскрытия в зависимости от логики. Можно указать продолжительность анимации раскрытия, принимает обратный вызов при раскрытии", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ExpansionPanelList", - "desc": [ - "【children】 : Список дочерних компонентов 【List】", - "【animationDuration】 : Продолжительность анимации 【Duration】", - "【expansionCallback】 : Обратный вызов при раскрытии 【List】", - "【onPressed】 : Событие нажатия 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_zh-CN.json deleted file mode 100644 index 25d51a59d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 178, - "name": "ExpansionPanelList", - "localName": "展开列表", - "info": "可展开的列表组件,可根据逻辑来实现单展开或多展开。可指定展开动画时长,接收展开回调", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ExpansionPanelList基本使用", - "desc": [ - "【children】 : 子组件列表 【List】", - "【animationDuration】 : 动画时长 【Duration】", - "【expansionCallback】 : 展开回调 【List】", - "【onPressed】 : 点击事件 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/node1_base.dart deleted file mode 100644 index 2576dc4a9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionPanelList/node1_base.dart +++ /dev/null @@ -1,88 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class CustomExpansionPanelList extends StatefulWidget { - const CustomExpansionPanelList({Key? key}) : super(key: key); - - @override - _CustomExpansionPanelListState createState() => - _CustomExpansionPanelListState(); -} - -class _CustomExpansionPanelListState extends State { - final List data = [ - Colors.red[50]!, - Colors.red[100]!, - Colors.red[200]!, - Colors.red[300]!, - Colors.red[400]!, - Colors.red[500]!, - Colors.red[600]!, - Colors.red[700]!, - Colors.red[800]!, - Colors.red[900]!, - ]; - int _position = 0; - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 300, - child: ExpansionPanelList( - children: data.map((color) => _buildItem(color)).toList(), - animationDuration: const Duration(milliseconds: 200), - expansionCallback: (index, open) { - setState(() => _position = open ? -1 : index); - }, - ), - ); - } - - ExpansionPanel _buildItem(Color color) { - return ExpansionPanel( - isExpanded: data.indexOf(color) == _position, - canTapOnHeader: true, - headerBuilder: (ctx, index) => Center( - child: Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - Container( - height: 30, - width: 30, - decoration: - BoxDecoration(color: color, shape: BoxShape.circle), - ), - Container( - width: 120, - alignment: Alignment.center, - height: 50, - child: Text( - colorString(color), - style: const TextStyle(color: Colors.black), - ), - ), - ], - ), - ), - body: Container( - alignment: Alignment.center, - height: 50, - color: color, - child: Text( - colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ]), - ), - )); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_de_DE.json deleted file mode 100644 index e0286cecc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 52, - "name": "ExpansionTile", - "localName": "Erweiterungs-Kachel", - "info": "Ein allgemeines Erweiterungsfeld, das Komponenten an einer bestimmten Stelle platzieren kann. Beim Klicken werden die darunter liegenden Komponenten ein- und ausgeklappt. Empfängt Ereignisse beim Einklappen.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ExpansionTile", - "desc": [ - "【children】 : Erweiterungsinhalt 【List】", - "【leading】 : Linke Kopfkomponente 【Widget】", - "【title】 : Mittlere Kopfkomponente 【Widget】", - "【trailing】 : Rechte Kopfkomponente 【Widget】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【onExpansionChanged】 : Einklapp-Ereignis 【Function(bool)】", - "【initiallyExpanded】 : Beim Start erweitert 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_en_US.json deleted file mode 100644 index 26aadb370..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 52, - "name": "ExpansionTile", - "localName": "Expand Tile", - "info": "A general-purpose expansion panel that can place components in specified locations. Clicking it will collapse or expand the components below. Receives events upon collapsing.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ExpansionTile", - "desc": [ - "【children】: Expanded content 【List】", - "【leading】: Leading component 【Widget】", - "【title】: Title component 【Widget】", - "【trailing】: Trailing component 【Widget】", - "【backgroundColor】: Background color 【Color】", - "【onExpansionChanged】: Collapse event 【Function(bool)】", - "【initiallyExpanded】: Whether initially expanded 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_es_ES.json deleted file mode 100644 index bcd411268..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 52, - "name": "ExpansionTile", - "localName": "Panel Expandible", - "info": "Un panel expandible genérico que permite colocar componentes en áreas específicas. Al hacer clic, se pliega o despliega para mostrar u ocultar los componentes inferiores. Recibe eventos al plegarse.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ExpansionTile", - "desc": [ - "【children】: Contenido expandido 【List】", - "【leading】: Componente izquierdo del encabezado 【Widget】", - "【title】: Componente central del encabezado 【Widget】", - "【trailing】: Componente derecho del encabezado 【Widget】", - "【backgroundColor】: Color de fondo 【Color】", - "【onExpansionChanged】: Evento de plegado 【Function(bool)】", - "【initiallyExpanded】: Si está inicialmente expandido 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_fr_FR.json deleted file mode 100644 index 53c7262c8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 52, - "name": "ExpansionTile", - "localName": "Tuile d'expansion", - "info": "Un panneau d'expansion générique qui peut placer des composants dans une partie spécifiée. Cliquez pour plier ou déplier les composants ci-dessous. Reçoit un événement lors du pliage.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'ExpansionTile", - "desc": [ - "【children】 : Contenu déplié 【List】", - "【leading】 : Composant gauche de la tête 【Widget】", - "【title】 : Composant central de la tête 【Widget】", - "【trailing】 : Composant droit de la tête 【Widget】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【onExpansionChanged】 : Événement de pliage 【Function(bool)】", - "【initiallyExpanded】 : Déplié initialement 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_it_IT.json deleted file mode 100644 index 7c14f9bec..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 52, - "name": "ExpansionTile", - "localName": "Piastrella Espandibile", - "info": "Un pannello espandibile generico, che può posizionare componenti in aree specifiche. Cliccando, si espande o collassa per mostrare o nascondere i componenti sottostanti. Riceve eventi quando viene collassato.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di ExpansionTile", - "desc": [ - "【children】 : Contenuto espanso 【List】", - "【leading】 : Componente sinistro dell'intestazione 【Widget】", - "【title】 : Componente centrale dell'intestazione 【Widget】", - "【trailing】 : Componente destro dell'intestazione 【Widget】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【onExpansionChanged】 : Evento di collassamento 【Function(bool)】", - "【initiallyExpanded】 : Se espanso inizialmente 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_ja_JP.json deleted file mode 100644 index 9dd2b3c30..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 52, - "name": "ExpansionTile", - "localName": "展開タイル", - "info": "一般的な展開バーで、指定された部分にコンポーネントを配置でき、クリックすると下のコンポーネントを折りたたんで表示/非表示にします。折りたたみ時のイベントを受け取ります。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ExpansionTileの基本的な使用", - "desc": [ - "【children】 : 展開内容 【List】", - "【leading】 : ヘッダー左コンポーネント 【Widget】", - "【title】 : ヘッダー中央コンポーネント 【Widget】", - "【trailing】 : ヘッダー右コンポーネント 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【onExpansionChanged】 : 折りたたみイベント 【Function(bool)】", - "【initiallyExpanded】 : 初期状態で展開されているか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_ko_KR.json deleted file mode 100644 index ab1bf3326..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 52, - "name": "ExpansionTile", - "localName": "확장 타일", - "info": "일반적인 확장 바, 지정된 부분에 컴포넌트를 배치할 수 있으며, 클릭 시 아래 컴포넌트를 접거나 펼칠 수 있습니다. 접힐 때 이벤트를 수신합니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ExpansionTile 기본 사용", - "desc": [ - "【children】 : 확장 내용 【List】", - "【leading】 : 헤더 왼쪽 컴포넌트 【Widget】", - "【title】 : 헤더 중앙 컴포넌트 【Widget】", - "【trailing】 : 헤더 오른쪽 컴포넌트 【Widget】", - "【backgroundColor】 : 배경색 【Color】", - "【onExpansionChanged】 : 접힘 이벤트 【Function(bool)】", - "【initiallyExpanded】 : 초기 상태에서 펼쳐져 있는지 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_pt_PT.json deleted file mode 100644 index 5ad3db3c0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 52, - "name": "ExpansionTile", - "localName": "Azulejo de Expansão", - "info": "Uma barra de expansão genérica que pode ser usada para colocar componentes em uma área especificada. Clicar nela irá expandir ou recolher os componentes abaixo. Recebe eventos quando recolhida.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ExpansionTile", - "desc": [ - "【children】: Conteúdo expandido 【List】", - "【leading】: Componente à esquerda do cabeçalho 【Widget】", - "【title】: Componente no centro do cabeçalho 【Widget】", - "【trailing】: Componente à direita do cabeçalho 【Widget】", - "【backgroundColor】: Cor de fundo 【Color】", - "【onExpansionChanged】: Evento de recolhimento 【Function(bool)】", - "【initiallyExpanded】: Expandido inicialmente 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_ru_RU.json deleted file mode 100644 index 92d07803f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 52, - "name": "ExpansionTile", - "localName": "Раскрывающаяся плитка", - "info": "Универсальная раскрывающаяся панель, в которой можно разместить компоненты в указанной области. При нажатии сворачивает или раскрывает компоненты снизу. Получает события при сворачивании.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ExpansionTile", - "desc": [ - "【children】 : Раскрываемое содержимое 【List】", - "【leading】 : Компонент слева в заголовке 【Widget】", - "【title】 : Компонент в центре заголовка 【Widget】", - "【trailing】 : Компонент справа в заголовке 【Widget】", - "【backgroundColor】 : Цвет фона 【Color】", - "【onExpansionChanged】 : Событие сворачивания 【Function(bool)】", - "【initiallyExpanded】 : Раскрыт ли изначально 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_zh-CN.json deleted file mode 100644 index 8eca010f4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 52, - "name": "ExpansionTile", - "localName": "展开瓦片", - "info": "一个通用的展开栏,可在指定的部位安放组件,点击时会折叠显隐下方组件。接收折叠时事件。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ExpansionTile基本使用", - "desc": [ - "【children】 : 展开内容 【List】", - "【leading】 : 头左组件 【Widget】", - "【title】 : 头中组件 【Widget】", - "【trailing】 : 头尾组件 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【onExpansionChanged】 : 折叠事件 【Function(bool)】", - "【initiallyExpanded】 : 是否初始时展开 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/node1_base.dart deleted file mode 100644 index d3f0f8163..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ExpansionTile/node1_base.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; -import '../../StatelessWidget/RadioListTile/node1_base.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomExpansionTile extends StatefulWidget { - const CustomExpansionTile({Key? key}) : super(key: key); - - @override - _CustomExpansionTileState createState() => _CustomExpansionTileState(); -} - -class _CustomExpansionTileState extends State { - @override - Widget build(BuildContext context) { - return ExpansionTile( - leading: const Icon(Icons.star), - title: const Text("选择语言"), - backgroundColor: Colors.grey.withAlpha(6), - onExpansionChanged: (value) { - print('$value'); - }, - initiallyExpanded: false, - children: const[CustomRadioListTile()], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_de_DE.json deleted file mode 100644 index 54c851112..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_de_DE.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 359, - "name": "FilledButton", - "localName": "Gefüllter Button", - "info": "Ein gefüllter Button, der den Material Design-Richtlinien entspricht, dessen Stil durch FilledButtonTheme festgelegt wird.", - "lever": 4, - "family": 1, - "linkIds": [ - 354, - 355, - 353 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Grundlegende Verwendung", - "desc": [ - "【child】 : Buttoninhalt 【Widget】", - "【onPressed】 : Klick-Ereignis 【VoidCallback】", - "【onHover】 : Hover-Ereignis 【ValueChanged? 】", - "【onLongPress】 : Langdruck-Ereignis 【VoidCallback?】", - "Der gefüllte Button ist visuell nur dem [FloatingActionButton] unterlegen und wird für wichtige, abschließende Aktionen wie Speichern, Sofort beitreten oder Bestätigen verwendet." - ] - }, - { - "file": "node2.dart", - "name": "Farbtonvariante", - "desc": [ - "FilledButton.tonal ist ein tonal gefüllter Button, der visuell zwischen [FilledButton] und [OutlinedButton] liegt und für Szenarien geeignet ist, die eine etwas stärkere Betonung als ein Konturbutton erfordern, aber eine niedrigere Priorität haben. Zum Beispiel der [Weiter] Button." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_en_US.json deleted file mode 100644 index 45d61d7b4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_en_US.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 359, - "name": "FilledButton", - "localName": "Filled Button", - "info": "A filled button that conforms to Material Design, with styles set via FilledButtonTheme.", - "lever": 4, - "family": 1, - "linkIds": [ - 354, - 355, - 353 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Basic Usage", - "desc": [ - "【child】: Button content 【Widget】", - "【onPressed】: Click event 【VoidCallback】", - "【onHover】: Long press event 【ValueChanged? 】", - "【onLongPress】: Long press event 【VoidCallback?】", - "The filled button is visually second only to [FloatingActionButton] and is used for important, finalizing actions such as save, join now, or confirm." - ] - }, - { - "file": "node2.dart", - "name": "Tonal Variant", - "desc": [ - "FilledButton.tonal is a tonal filled button, visually between [FilledButton] and [OutlinedButton], suitable for scenarios requiring slightly stronger emphasis than an outlined button but with lower priority. For example, a [Next] button." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_es_ES.json deleted file mode 100644 index 969b6c361..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_es_ES.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 359, - "name": "FilledButton", - "localName": "Botón Relleno", - "info": "Un botón relleno que cumple con Material Design, configurado a través de FilledButtonTheme.", - "lever": 4, - "family": 1, - "linkIds": [ - 354, - 355, - 353 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso Básico", - "desc": [ - "【child】 : Contenido del botón 【Widget】", - "【onPressed】 : Evento de clic 【VoidCallback】", - "【onHover】 : Evento de mantener presionado 【ValueChanged? 】", - "【onLongPress】 : Evento de mantener presionado 【VoidCallback?】", - "El botón relleno es visualmente inferior al [FloatingActionButton], y se utiliza para acciones importantes y finales, como: guardar, unirse ahora o confirmar." - ] - }, - { - "file": "node2.dart", - "name": "Variante Tonal", - "desc": [ - "FilledButton.tonal es un botón relleno tonal, visualmente entre [FilledButton] y [OutlinedButton], adecuado para escenarios que requieren un énfasis ligeramente mayor que el botón de contorno pero con menor prioridad. Por ejemplo, el botón [Siguiente]" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_fr_FR.json deleted file mode 100644 index e5cf563c1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_fr_FR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 359, - "name": "FilledButton", - "localName": "Bouton rempli", - "info": "Un bouton rempli conforme au Material Design, configurable via FilledButtonTheme.", - "lever": 4, - "family": 1, - "linkIds": [ - 354, - 355, - 353 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation de base", - "desc": [ - "【child】 : Contenu du bouton 【Widget】", - "【onPressed】 : Événement de clic 【VoidCallback】", - "【onHover】 : Événement de survol 【ValueChanged? 】", - "【onLongPress】 : Événement de pression longue 【VoidCallback?】", - "Le bouton rempli est visuellement secondaire au [FloatingActionButton], utilisé pour des actions importantes et finales, comme : sauvegarder, rejoindre immédiatement ou confirmer." - ] - }, - { - "file": "node2.dart", - "name": "Variante tonale", - "desc": [ - "FilledButton.tonal est un bouton rempli tonal, visuellement entre [FilledButton] et [OutlinedButton], adapté pour des scénarios nécessitant une emphase légèrement plus forte que le bouton contour mais avec une priorité moindre. Par exemple, le bouton [Suivant]" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_it_IT.json deleted file mode 100644 index 065eda6b4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_it_IT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 359, - "name": "FilledButton", - "localName": "Pulsante Riempito", - "info": "Un pulsante conforme a Material Design che utilizza FilledButtonTheme per impostare lo stile del pulsante.", - "lever": 4, - "family": 1, - "linkIds": [ - 354, - 355, - 353 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso di Base", - "desc": [ - "【child】 : Contenuto del pulsante 【Widget】", - "【onPressed】 : Evento di clic 【VoidCallback】", - "【onHover】 : Evento di pressione prolungata 【ValueChanged? 】", - "【onLongPress】 : Evento di pressione prolungata 【VoidCallback?】", - "Il pulsante riempito è visivamente secondario solo a [FloatingActionButton] e viene utilizzato per operazioni importanti e finali del flusso, come: salvare, unirsi immediatamente o confermare." - ] - }, - { - "file": "node2.dart", - "name": "Variante Tonale", - "desc": [ - "FilledButton.tonal è un pulsante riempito tonale, visivamente intermedio tra [FilledButton] e [OutlinedButton], adatto per scenari che richiedono un'enfasi leggermente maggiore rispetto ai pulsanti contornati ma con priorità inferiore. Ad esempio il pulsante [Avanti]" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_ja_JP.json deleted file mode 100644 index cc03a205a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_ja_JP.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 359, - "name": "FilledButton", - "localName": "塗りつぶしボタン", - "info": "Material Designに準拠した塗りつぶしボタンで、FilledButtonThemeを使用してボタンのスタイルを設定します。", - "lever": 4, - "family": 1, - "linkIds": [ - 354, - 355, - 353 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "基本使用", - "desc": [ - "【child】 : ボタンの内容 【Widget】", - "【onPressed】 : クリックイベント 【VoidCallback】", - "【onHover】 : 長押しイベント 【ValueChanged? 】", - "【onLongPress】 : 長押しイベント 【VoidCallback?】", - "塗りつぶしボタンは視覚的に [FloatingActionButton] に次ぐもので、重要な、最終的なプロセスを完了する操作に使用されます。例えば、保存、即時参加、確認などです。" - ] - }, - { - "file": "node2.dart", - "name": "トーンバリアント", - "desc": [ - "FilledButton.tonal はトーン塗りつぶしボタンで、視覚的に [FilledButton] と [OutlinedButton] の中間に位置し、輪郭ボタンよりもやや強い強調が必要だが優先度が低いシナリオに適しています。例えば [次へ] ボタン" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_ko_KR.json deleted file mode 100644 index ac83fa5ac..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_ko_KR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 359, - "name": "FilledButton", - "localName": "채움 버튼", - "info": "Material Design을 준수하는 채움 버튼으로, FilledButtonTheme을 통해 버튼 스타일을 설정합니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 354, - 355, - 353 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "기본 사용", - "desc": [ - "【child】 : 버튼 내용 【Widget】", - "【onPressed】 : 클릭 이벤트 【VoidCallback】", - "【onHover】 : 롱프레스 이벤트 【ValueChanged? 】", - "【onLongPress】 : 롱프레스 이벤트 【VoidCallback?】", - "채움 버튼은 시각적으로 [FloatingActionButton] 다음으로 중요하며, 중요한 최종 프로세스 작업에 사용됩니다. 예: 저장, 즉시 가입 또는 확인." - ] - }, - { - "file": "node2.dart", - "name": "톤 변형", - "desc": [ - "FilledButton.tonal은 톤 채움 버튼으로, 시각적으로 [FilledButton]과 [OutlinedButton] 사이에 위치하며, 윤곽 버튼보다 약간 강조가 필요하지만 우선순위가 낮은 시나리오에 적합합니다. 예: [다음] 버튼" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_pt_PT.json deleted file mode 100644 index 845de8195..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_pt_PT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 359, - "name": "FilledButton", - "localName": "Botão Preenchido", - "info": "Um botão preenchido que segue o Material Design, com o estilo definido pelo FilledButtonTheme.", - "lever": 4, - "family": 1, - "linkIds": [ - 354, - 355, - 353 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso Básico", - "desc": [ - "【child】 : Conteúdo do botão 【Widget】", - "【onPressed】 : Evento de clique 【VoidCallback】", - "【onHover】 : Evento de passar o mouse 【ValueChanged? 】", - "【onLongPress】 : Evento de pressionar e segurar 【VoidCallback?】", - "O botão preenchido é visualmente inferior apenas ao [FloatingActionButton], sendo usado para ações importantes e finais do processo, como: salvar, juntar-se imediatamente ou confirmar." - ] - }, - { - "file": "node2.dart", - "name": "Variante de Tom", - "desc": [ - "FilledButton.tonal é um botão preenchido com tom, visualmente entre [FilledButton] e [OutlinedButton], adequado para cenários que precisam de um pouco mais de ênfase do que um botão de contorno, mas com menor prioridade. Por exemplo, o botão [Próximo]" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_ru_RU.json deleted file mode 100644 index ef07de342..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_ru_RU.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 359, - "name": "FilledButton", - "localName": "Заполненная кнопка", - "info": "Кнопка, соответствующая Material Design, стиль которой задается через FilledButtonTheme.", - "lever": 4, - "family": 1, - "linkIds": [ - 354, - 355, - 353 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Основное использование", - "desc": [ - "【child】 : Содержимое кнопки 【Widget】", - "【onPressed】 : Событие нажатия 【VoidCallback】", - "【onHover】 : Событие наведения 【ValueChanged? 】", - "【onLongPress】 : Событие долгого нажатия 【VoidCallback?】", - "Заполненная кнопка визуально уступает только [FloatingActionButton] и используется для важных, завершающих действий, таких как: сохранение, немедленное присоединение или подтверждение." - ] - }, - { - "file": "node2.dart", - "name": "Тональный вариант", - "desc": [ - "FilledButton.tonal - это тональная заполненная кнопка, визуально находящаяся между [FilledButton] и [OutlinedButton], подходит для сценариев, где требуется немного больше акцента, чем у контурной кнопки, но с более низким приоритетом. Например, кнопка [Далее]." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_zh-CN.json deleted file mode 100644 index ececec5a3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/desc_zh-CN.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 359, - "name": "FilledButton", - "localName": "填充按钮", - "info": "一个符合 Material Design 的填充按钮,通过 FilledButtonTheme 设置按钮样式。", - "lever": 4, - "family": 1, - "linkIds": [ - 354, - 355, - 353 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "基本使用", - "desc": [ - "【child】 : 按钮内容 【Widget】", - "【onPressed】 : 点击事件 【VoidCallback】", - "【onHover】 : 长按事件 【ValueChanged? 】", - "【onLongPress】 : 长按事件 【VoidCallback?】", - "填充按钮在视觉上仅次于 [FloatingActionButton],应用于重要的、最终完成流程的操作,例如: 保存、立即加入 或 确认。" - ] - }, - { - "file": "node2.dart", - "name": "色调变体", - "desc": [ - "FilledButton.tonal 是色调填充按钮,视觉上介于 [FilledButton] 和 [OutlinedButton] 之间,适用于需要比轮廓按钮稍强一些的强调但优先级较低的场景。例如 [下一步] 按钮 " - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/node1.dart deleted file mode 100644 index d083f55d9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/node1.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter/material.dart'; - -class FilledButtonDemo1 extends StatelessWidget { - const FilledButtonDemo1({super.key}); - - @override - Widget build(BuildContext context) { - return Wrap(spacing: 10, children: [ - FilledButton( - onPressed: () {}, - child: const Text('FilledButton'), - ), - const FilledButton( - onPressed: null, - child: Text('Disabled'), - ), - ]); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/node2.dart b/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/node2.dart deleted file mode 100644 index 2d8d078c9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FilledButton/node2.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/material.dart'; - -class FilledButtonDemo2 extends StatelessWidget { - const FilledButtonDemo2({super.key}); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: [ - FilledButton.tonal( - onPressed: () {}, - child: const Text('FilledButton'), - ), - const FilledButton.tonal( - onPressed: null, - child: Text('Disabled'), - ), - ]); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_de_DE.json deleted file mode 100644 index 60ccb4690..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_de_DE.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 282, - "name": "Focus", - "localName": "Fokus-Komponente", - "info": "Eine Komponente zur Verwaltung von [FocusNode], die es ermöglicht, den Tastaturfokus auf dieses Widget und seine Unterbaumknoten zu setzen.", - "lever": 5, - "family": 1, - "linkIds": [ - 283, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "FocusNode Fokussierung und Defokussierung", - "desc": [ - "【focusNode】 : Fokus 【FocusNode?】", - "【onFocusChange】 : Fokusänderungsüberwachung 【ValueChanged?】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - }, - { - "file": "node2.dart", - "name": "Automatische Fokussierung", - "desc": [ - "【autofocus】 : Automatische Fokussierung 【bool】", - "Das Flutter-Framework verfügt über integrierte Tastenkombinationen für den Fokuswechsel, z. B. ← und → für die horizontale Bildlaufleiste, um den Fokus auf das vorherige bzw. nächste Element zu setzen. Die Tab-Taste kann den Fokus auf den nächsten Focus-Knoten setzen." - ] - }, - { - "file": "node3.dart", - "name": "Tastaturereignis-Rückruf", - "desc": [ - "【onKeyEvent】 : Tastaturereignis-Rückruf 【FocusOnKeyEventCallback?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_en_US.json deleted file mode 100644 index ba989bf85..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_en_US.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 282, - "name": "Focus", - "localName": "Focus Component", - "info": "A component that manages [FocusNode], used to allow keyboard focus to be assigned to this widget and its subtree nodes.", - "lever": 5, - "family": 1, - "linkIds": [ - 283, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "FocusNode Focus and Blur", - "desc": [ - "【focusNode】 : Focus 【FocusNode?】", - "【onFocusChange】 : Focus change listener 【ValueChanged?】", - "【child】 : Child widget 【Widget】" - ] - }, - { - "file": "node2.dart", - "name": "Auto Focus", - "desc": [ - "【autofocus】 : Whether to auto focus 【bool】", - "The Flutter framework has built-in shortcuts for focus switching, such as ← and → for horizontal sliding lists to focus on the previous and next items respectively. The Tab key can focus on the next Focus node." - ] - }, - { - "file": "node3.dart", - "name": "Keyboard Event Callback", - "desc": [ - "【onKeyEvent】 : Keyboard event callback 【FocusOnKeyEventCallback?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_es_ES.json deleted file mode 100644 index cddd075db..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_es_ES.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 282, - "name": "Focus", - "localName": "Componente de enfoque", - "info": "Un componente que gestiona [FocusNode], utilizado para permitir que el enfoque del teclado se asigne a este widget y a los nodos de su subárbol.", - "lever": 5, - "family": 1, - "linkIds": [ - 283, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Enfoque y desenfoque de FocusNode", - "desc": [ - "【focusNode】 : enfoque 【FocusNode?】", - "【onFocusChange】 : escucha de cambios de enfoque 【ValueChanged?】", - "【child】 : componente hijo 【Widget】" - ] - }, - { - "file": "node2.dart", - "name": "Enfoque automático", - "desc": [ - "【autofocus】 : si se enfoca automáticamente 【bool】", - "El marco de Flutter incluye atajos de teclado para cambiar el enfoque, como deslizar horizontalmente la lista ←, → para enfocar el elemento anterior y posterior respectivamente. La tecla Tab puede enfocar el siguiente nodo Focus." - ] - }, - { - "file": "node3.dart", - "name": "Devolución de llamada de eventos de teclado", - "desc": [ - "【onKeyEvent】 : devolución de llamada de eventos de teclado 【FocusOnKeyEventCallback?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_fr_FR.json deleted file mode 100644 index 4e14496c3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_fr_FR.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 282, - "name": "Focus", - "localName": "Composant de mise au point", - "info": "Un composant qui gère [FocusNode], utilisé pour permettre au focus clavier d'être attribué à ce widget et à ses nœuds enfants.", - "lever": 5, - "family": 1, - "linkIds": [ - 283, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Mise au point et perte de focus de FocusNode", - "desc": [ - "【focusNode】 : focus 【FocusNode?】", - "【onFocusChange】 : écouteur de changement de focus 【ValueChanged?】", - "【child】 : composant enfant 【Widget】" - ] - }, - { - "file": "node2.dart", - "name": "Mise au point automatique", - "desc": [ - "【autofocus】 : mise au point automatique 【bool】", - "Le framework Flutter intègre des raccourcis clavier pour changer le focus, par exemple, dans une liste défilable horizontalement, ← et → permettent de se concentrer respectivement sur l'élément précédent et suivant. La touche Tab permet de se concentrer sur le nœud Focus suivant" - ] - }, - { - "file": "node3.dart", - "name": "Rappel d'événement clavier", - "desc": [ - "【onKeyEvent】 : rappel d'événement clavier 【FocusOnKeyEventCallback?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_it_IT.json deleted file mode 100644 index f44e45b2d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_it_IT.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 282, - "name": "Focus", - "localName": "Componente Focus", - "info": "Un componente che gestisce [FocusNode], utilizzato per consentire che il focus della tastiera venga assegnato a questo widget e ai suoi nodi secondari.", - "lever": 5, - "family": 1, - "linkIds": [ - 283, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "FocusNode messa a fuoco e perdita di fuoco", - "desc": [ - "【focusNode】 : focus 【FocusNode?】", - "【onFocusChange】 : listener per il cambio di focus 【ValueChanged?】", - "【child】 : componente figlio 【Widget】" - ] - }, - { - "file": "node2.dart", - "name": "Autofocus", - "desc": [ - "【autofocus】 : se mettere a fuoco automaticamente 【bool】", - "Il framework Flutter ha scorciatoie integrate per il cambio di focus, ad esempio in una lista scorrevole orizzontalmente ← e → mettono a fuoco rispettivamente l'elemento precedente e successivo. Il tasto Tab può mettere a fuoco il prossimo nodo Focus." - ] - }, - { - "file": "node3.dart", - "name": "Callback per eventi della tastiera", - "desc": [ - "【onKeyEvent】 : callback per eventi della tastiera 【FocusOnKeyEventCallback?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_ja_JP.json deleted file mode 100644 index 223fd4495..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_ja_JP.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 282, - "name": "Focus", - "localName": "フォーカスコンポーネント", - "info": "[FocusNode]を管理するコンポーネントで、キーボードフォーカスをこのウィジェットとそのサブツリーノードに与えることを可能にします。", - "lever": 5, - "family": 1, - "linkIds": [ - 283, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "FocusNode フォーカスとフォーカス解除", - "desc": [ - "【focusNode】 : フォーカス 【FocusNode?】", - "【onFocusChange】 : フォーカス変更リスナー 【ValueChanged?】", - "【child】 : 子コンポーネント 【Widget】" - ] - }, - { - "file": "node2.dart", - "name": "自動フォーカス", - "desc": [ - "【autofocus】 : 自動フォーカスするかどうか 【bool】", - "Flutterフレームワークには、フォーカス切り替えのショートカットキーが組み込まれており、例えば横方向にスクロールするリストでは ←、→ で前後の項目にフォーカスが移動します。Tabキーで次のFocusノードにフォーカスを移動できます" - ] - }, - { - "file": "node3.dart", - "name": "キーボードイベントコールバック", - "desc": [ - "【onKeyEvent】 : キーボードイベントコールバック 【FocusOnKeyEventCallback?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_ko_KR.json deleted file mode 100644 index e78e6542d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_ko_KR.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 282, - "name": "Focus", - "localName": "포커스 컴포넌트", - "info": "[FocusNode]를 관리하는 컴포넌트로, 키보드 포커스가 해당 위젯 및 하위 트리 노드에 부여될 수 있도록 합니다.", - "lever": 5, - "family": 1, - "linkIds": [ - 283, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "FocusNode 포커스와 포커스 해제", - "desc": [ - "【focusNode】 : 포커스 【FocusNode?】", - "【onFocusChange】 : 포커스 변화 리스너 【ValueChanged?】", - "【child】 : 자식 컴포넌트 【Widget】" - ] - }, - { - "file": "node2.dart", - "name": "자동 포커스", - "desc": [ - "【autofocus】 : 자동 포커스 여부 【bool】", - "Flutter 프레임워크는 포커스 전환을 위한 단축키를 내장하고 있습니다. 예를 들어, 가로 스크롤 목록에서 ←, →는 각각 이전 항목과 다음 항목에 포커스를 줍니다. Tab 키는 다음 Focus 노드에 포커스를 줄 수 있습니다." - ] - }, - { - "file": "node3.dart", - "name": "키보드 이벤트 콜백", - "desc": [ - "【onKeyEvent】 : 키보드 이벤트 콜백 【FocusOnKeyEventCallback?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_pt_PT.json deleted file mode 100644 index 840780c0c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_pt_PT.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 282, - "name": "Focus", - "localName": "Componente de Foco", - "info": "Um componente que gerencia [FocusNode], usado para permitir que o foco do teclado seja atribuído a este widget e aos nós da sua subárvore.", - "lever": 5, - "family": 1, - "linkIds": [ - 283, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Foco e Desfoco do FocusNode", - "desc": [ - "【focusNode】 : Foco 【FocusNode?】", - "【onFocusChange】 : Monitoramento de mudança de foco 【ValueChanged?】", - "【child】 : Componente filho 【Widget】" - ] - }, - { - "file": "node2.dart", - "name": "Foco Automático", - "desc": [ - "【autofocus】 : Foco automático 【bool】", - "O framework Flutter possui atalhos de teclado embutidos para alternar o foco, como ← e → em listas de deslizamento horizontal para focar o item anterior e o próximo. A tecla Tab pode focar o próximo nó Focus." - ] - }, - { - "file": "node3.dart", - "name": "Callback de Evento de Teclado", - "desc": [ - "【onKeyEvent】 : Callback de evento de teclado 【FocusOnKeyEventCallback?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_ru_RU.json deleted file mode 100644 index 00506af53..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_ru_RU.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 282, - "name": "Focus", - "localName": "Компонент фокуса", - "info": "Компонент, управляющий [FocusNode], который позволяет клавиатурному фокусу быть назначенным на этот виджет и его дочерние узлы.", - "lever": 5, - "family": 1, - "linkIds": [ - 283, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Фокусировка и потер фокуса FocusNode", - "desc": [ - "【focusNode】 : фокус 【FocusNode?】", - "【onFocusChange】 : отслеживание изменений фокуса 【ValueChanged?】", - "【child】 : дочерний компонент 【Widget】" - ] - }, - { - "file": "node2.dart", - "name": "Автоматическая фокусировка", - "desc": [ - "【autofocus】 : автоматическая фокусировка 【bool】", - "Фреймворк Flutter имеет встроенные сочетания клавиш для переключения фокуса, например, ← и → для горизонтального списка позволяют фокусироваться на предыдущем и следующем элементе. Клавиша Tab позволяет фокусироваться на следующем узле Focus." - ] - }, - { - "file": "node3.dart", - "name": "Обратный вызов событий клавиатуры", - "desc": [ - "【onKeyEvent】 : обратный вызов событий клавиатуры 【FocusOnKeyEventCallback?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_zh-CN.json deleted file mode 100644 index accac2338..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/desc_zh-CN.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": 282, - "name": "Focus", - "localName": "焦点组件", - "info": "一个管理 [FocusNode] 的组件,用于允许键盘焦点被赋予该小部件及其子树节点。", - "lever": 5, - "family": 1, - "linkIds": [ - 283, - 284 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "FocusNode 聚焦与失焦", - "desc": [ - "【focusNode】 : 焦点 【FocusNode?】", - "【onFocusChange】 : 焦点变化监听 【ValueChanged?】", - "【child】 : 子组件 【Widget】" - ] - }, - { - "file": "node2.dart", - "name": "自动聚焦", - "desc": [ - "【autofocus】 : 是否自动聚焦 【bool】", - "Flutter 框架内置了焦点切换的快捷键,比如横向滑动的列表 ←、→ 分别让前项和后项聚焦。Tab 键可以让下一个 Focus 节点聚焦" - ] - }, - { - "file": "node3.dart", - "name": "键盘事件回调", - "desc": [ - "【onKeyEvent】 : 键盘事件回调 【FocusOnKeyEventCallback?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/Focus/node1.dart deleted file mode 100644 index f78147801..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/node1.dart +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -class FocusDemo1 extends StatefulWidget { - const FocusDemo1({super.key}); - - @override - State createState() => _FocusDemo1State(); -} - -class _FocusDemo1State extends State { - final FocusNode _focusNode = FocusNode(); - - @override - void dispose() { - super.dispose(); - _focusNode.dispose(); - } - - @override - Widget build(BuildContext context) { - return Focus( - focusNode: _focusNode, - onFocusChange: _onFocusChange, - child: GestureDetector( - onTap: _toggleFocus, - child: _FocusBox(active: _focusNode.hasFocus), - ), - ); - } - - void _onFocusChange(bool value) { - setState(() {}); - } - - void _toggleFocus() { - if (_focusNode.hasFocus) { - _focusNode.unfocus(); - } else { - _focusNode.requestFocus(); - } - } -} - -class _FocusBox extends StatelessWidget { - final bool active; - - const _FocusBox({super.key, required this.active}); - - @override - Widget build(BuildContext context) { - Color color = active ? Colors.blue : Colors.white; - Color borderColor = active ? Colors.lightBlue : Colors.grey; - Color? textColor = active ? Colors.white : null; - String text = active ? "点击失去焦点" : '点击获取焦点'; - return Container( - width: 120, - height: 60, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(8), - border: Border.all(color: borderColor), - color: color, - ), - alignment: Alignment.center, - child: Text(text, style: TextStyle(color: textColor)), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/node2.dart b/modules/widget_system/widgets/lib/StatefulWidget/Focus/node2.dart deleted file mode 100644 index da663acc5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/node2.dart +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; - -/// Flutter code sample for [Focus]. - -void main() => runApp(const FocusExampleApp()); - -class FocusExampleApp extends StatelessWidget { - const FocusExampleApp({super.key}); - - @override - Widget build(BuildContext context) { - return const MaterialApp( - home: FocusDemo2(), - ); - } -} - -class _FocusTiled extends StatelessWidget { - const _FocusTiled( - this.data, { - super.key, - required this.autofocus, - }); - - final String data; - final bool autofocus; - - @override - Widget build(BuildContext context) { - return Focus( - autofocus: autofocus, - child: Builder(builder: _buildTiled), - ); - } - - Widget _buildTiled(BuildContext context) { - FocusNode node = Focus.of(context); - bool focus = node.hasFocus; - Color color = focus ? Colors.blue : Colors.white; - Color? textColor = focus ? Colors.white : null; - return GestureDetector( - onTap: node.requestFocus, - child: Container( - padding: const EdgeInsets.all(8.0), - alignment: Alignment.center, - color: color, - child: Text(data, style: TextStyle(color: textColor)), - ), - ); - } -} - -class FocusDemo2 extends StatelessWidget { - const FocusDemo2({super.key}); - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.symmetric(horizontal: 24), - height: 56, - child: ListView.builder( - scrollDirection: Axis.horizontal, - itemBuilder: (_, int index) => _FocusTiled( - 'Item $index', - autofocus: index == 0, - ), - itemCount: 50, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Focus/node3.dart b/modules/widget_system/widgets/lib/StatefulWidget/Focus/node3.dart deleted file mode 100644 index bbba3bef2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Focus/node3.dart +++ /dev/null @@ -1,129 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -class FocusDemo3 extends StatefulWidget { - const FocusDemo3({super.key}); - - @override - State createState() => _FocusDemo3State(); -} - -class _FocusDemo3State extends State { - FocusNode focusNode = FocusNode(); - List events = []; - ScrollController _ctrl = ScrollController(); - - @override - void initState() { - focusNode.addListener(_onFocusChange); - super.initState(); - } - - @override - void dispose() { - focusNode.removeListener(_onFocusChange); - focusNode.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Center( - child: TapRegion( - onTapInside: (_) => focusNode.requestFocus(), - onTapOutside: (_) => focusNode.unfocus(), - child: Focus( - autofocus: true, - focusNode: focusNode, - onKeyEvent: _onKeyEvent, - child: _buildDisplay(), - ), - ), - ); - } - - KeyEventResult _onKeyEvent(FocusNode node,KeyEvent value) { - events.add(value); - setState(() {}); - _scrollToEnd(); - print('${value.runtimeType}:${value.logicalKey.keyLabel}'); - return KeyEventResult.ignored; - } - - void _onFocusChange() { - if (!focusNode.hasFocus) { - events.clear(); - } - setState(() {}); - } - - void _scrollToEnd() async { - if (_ctrl.hasClients) { - await Future.delayed(Duration(milliseconds: 200)); - _ctrl.animateTo(_ctrl.position.maxScrollExtent, - duration: Duration(milliseconds: 100), curve: Curves.ease); - } - } - - Widget _buildDisplay() { - Color color = focusNode.hasFocus ? Colors.blue : Colors.grey; - - return Container( - decoration: BoxDecoration(border: Border.all(color: color)), - width: 460, - padding: EdgeInsets.symmetric(horizontal: 12), - alignment: Alignment.center, - height: 60, - child: events.isNotEmpty - ? SizedBox( - width: 460, - height: 60, - child: ListView.builder( - controller: _ctrl, - itemCount: events.length, - scrollDirection: Axis.horizontal, - itemBuilder: (_, index) => _KeyBoardBox( - event: events[index], - )), - ) - : Text( - focusNode.hasFocus ? '键盘输入点东西吧' : '点击我获取焦点', - style: TextStyle(color: color), - ), - ); - } -} - -class _KeyBoardBox extends StatelessWidget { - final KeyEvent event; - - const _KeyBoardBox({super.key, required this.event}); - - @override - Widget build(BuildContext context) { - Color? color; - if (event is KeyDownEvent) { - color = Colors.blue; - } - if (event is KeyRepeatEvent) { - color = Colors.green; - } - if (event is KeyUpEvent) { - color = Colors.grey; - } - return Center( - child: Container( - margin: EdgeInsets.only(right: 4), - width: 32, - height: 32, - decoration: BoxDecoration(color: color), - alignment: Alignment.center, - child: Text( - event.logicalKey.keyLabel, - textAlign: TextAlign.center, - style: TextStyle(color: Colors.white, fontSize: 8, height: 1), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_de_DE.json deleted file mode 100644 index 73eda55ce..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 198, - "name": "Form", - "localName": "Formular-Komponente", - "info": "Die Formular-Komponente kann Rückrufe für Änderungen der darunter liegenden FormField-Komponenten empfangen, den Seitenrückruf über onWillPop abfangen und Formularfelder über FormState speichern oder validieren.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Form", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【onChanged】 : Rückruf bei Formularänderungen 【VoidCallback】", - "【onWillPop】 : Rückruf bei Rückkehr 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_en_US.json deleted file mode 100644 index f2e847d1d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 198, - "name": "Form", - "localName": "Form Component", - "info": "Form component, which can receive change callbacks from FormField components below it, intercept page returns through onWillPop, and save or validate form fields through FormState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Form", - "desc": [ - "【child】 : Child component 【Widget】", - "【onChanged】 : Form change callback 【VoidCallback】", - "【onWillPop】 : Return callback 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_es_ES.json deleted file mode 100644 index dfcab4d01..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 198, - "name": "Form", - "localName": "Componente de formulario", - "info": "Componente de formulario que puede recibir devoluciones de llamada de cambios de los componentes FormField debajo de él, interceptar el retorno de la página a través de onWillPop, y guardar o validar los campos del formulario a través de FormState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Form", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【onChanged】 : Devolución de llamada de cambio de formulario 【VoidCallback】", - "【onWillPop】 : Devolución de llamada de retorno 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_fr_FR.json deleted file mode 100644 index 0ac4e0dbc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 198, - "name": "Form", - "localName": "Composant de formulaire", - "info": "Le composant de formulaire peut recevoir les rappels de changement des composants FormField qui lui sont associés, intercepter le retour de la page via onWillPop, et enregistrer ou valider les champs du formulaire via FormState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Form", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【onChanged】 : Rappel de changement de formulaire 【VoidCallback】", - "【onWillPop】 : Rappel de retour 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_it_IT.json deleted file mode 100644 index cdc73cfe4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 198, - "name": "Form", - "localName": "Componente modulo", - "info": "Il componente modulo può ricevere callback di modifica dai componenti FormField sottostanti, intercetta il ritorno alla pagina tramite onWillPop e consente di salvare o convalidare i campi del modulo tramite FormState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Form", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【onChanged】 : Callback per le modifiche del modulo 【VoidCallback】", - "【onWillPop】 : Callback di ritorno 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_ja_JP.json deleted file mode 100644 index f7190629a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 198, - "name": "Form", - "localName": "フォームコンポーネント", - "info": "フォームコンポーネントは、その下のFormFieldコンポーネントの変更コールバックを受け取ることができ、onWillPopでページの戻りをインターセプトし、FormStateでフォームフィールドを保存または検証することができます。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Formの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【onChanged】 : フォーム変更コールバック 【VoidCallback】", - "【onWillPop】 : 戻りコールバック 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_ko_KR.json deleted file mode 100644 index dd14d454a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 198, - "name": "Form", - "localName": "폼 컴포넌트", - "info": "폼 컴포넌트는 하위 FormField 컴포넌트의 변경 콜백을 받을 수 있으며, onWillPop을 통해 페이지 반환을 가로채고, FormState를 통해 폼 필드를 저장하거나 검증할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Form 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【onChanged】 : 폼 변경 콜백 【VoidCallback】", - "【onWillPop】 : 반환 콜백 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_pt_PT.json deleted file mode 100644 index 679d3393c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 198, - "name": "Form", - "localName": "Componente de Formulário", - "info": "Componente de formulário, pode receber retornos de chamada de alterações dos componentes FormField abaixo dele, interceptar o retorno da página através de onWillPop, e salvar ou validar os campos do formulário através de FormState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Form", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【onChanged】 : Retorno de chamada de alteração do formulário 【VoidCallback】", - "【onWillPop】 : Retorno de chamada de retorno 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_ru_RU.json deleted file mode 100644 index 58c176a6c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 198, - "name": "Form", - "localName": "Компонент формы", - "info": "Компонент формы, который может получать обратные вызовы изменений от компонентов FormField, перехватывать возврат на страницу через onWillPop, а также сохранять или проверять поля формы через FormState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Form", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【onChanged】 : Обратный вызов изменения формы 【VoidCallback】", - "【onWillPop】 : Обратный вызов возврата 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_zh-CN.json deleted file mode 100644 index 18d129e66..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 198, - "name": "Form", - "localName": "表单组件", - "info": "表单组件,可以接收其下的FormField组件的变化回调,通过onWillPop拦截页面返回,通过FormState可对表单字段进行保存或校验。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Form基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【onChanged】 : 表单变化回调 【VoidCallback】", - "【onWillPop】 : 返回回调 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Form/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Form/node1_base.dart deleted file mode 100644 index 22d56bd80..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Form/node1_base.dart +++ /dev/null @@ -1,105 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class CustomForm extends StatefulWidget { - const CustomForm({Key? key}) : super(key: key); - - @override - _CustomFormState createState() => _CustomFormState(); -} - -class _CustomFormState extends State { - final GlobalKey _formKey = GlobalKey(); - - @override - Widget build(BuildContext context) { - return Form( - onWillPop: () => _willPop(context), - key: _formKey, - onChanged: () { - print('Form---onChanged'); - }, - child: - Stack( - alignment: Alignment.centerRight, - children: [ - SizedBox( - width: 350, - child: UnconstrainedBox( - child: SizedBox( - width: 200, - height: 70, - child: TextFormField( - style: const TextStyle(textBaseline: TextBaseline.alphabetic), - decoration: const InputDecoration( - border: OutlineInputBorder(), - labelText: 'username', - ), - validator: _validateUsername, - ), - ), - ), - ), - Positioned( - top: 0, right: 0, child: _buildSubmitButton(context)), - ], - ), - ); - } - - String? _validateUsername(value) { - if (value.isEmpty) { - return '用户名不能为空'; - } - return null; - } - - Widget _buildSubmitButton(BuildContext context) { - return ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - ), - onPressed: _onSubmit, - child: const Icon( - Icons.check, - color: Colors.white, - ), - ); - } - - void _onSubmit(){ - if(_formKey.currentState==null) return; - if (_formKey.currentState!.validate()) { - FocusScope.of(context).requestFocus(FocusNode()); - Navigator.of(context).pop(); - } - } - - Future _willPop(context) async { - return await showDialog( - context: context, - builder: (context) => AlertDialog( - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10))), - title: const Text('提示'), - content: const Text('你确定要离开此页吗?'), - actions: [ - ElevatedButton( - onPressed: () => Navigator.of(context).pop(true), - child: const Text('确定'), - ), - ElevatedButton( - onPressed: () => Navigator.of(context).pop(false), - child: const Text('取消'), - ), - ], - ), - ) ?? - false; - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_de_DE.json deleted file mode 100644 index 40fa20bc3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 222, - "name": "FormField", - "localName": "Formularfeld", - "info": "Ein Formularfeld, das in der Form-Komponente verwendet werden muss, enthält ein Feld des generischen Typs T als Zustandsvariable. Aktualisierungen und Validierungen des Felds lösen entsprechende Rückrufe aus.", - "lever": 2, - "family": 1, - "linkIds": [ - 198, - 199, - 223 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in FormField", - "desc": [ - "【builder】 : Inhaltsersteller 【FormFieldBuilder】", - "【initialValue】 : Anfangswert 【T】", - "【validator】 : Validierungsfunktion 【FormFieldValidator 】", - "【enabled】 : Ist aktiviert 【bool】", - "【onSaved】 : Rückruf beim Speichern des Formulars 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_en_US.json deleted file mode 100644 index c4b8578a3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 222, - "name": "FormField", - "localName": "Form Field", - "info": "A form field that needs to be used within the Form component, containing a field of generic type T as the state. Updates and validations of the field will trigger corresponding callbacks.", - "lever": 2, - "family": 1, - "linkIds": [ - 198, - 199, - 223 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FormField Introduction", - "desc": [ - "【builder】 : Content builder 【FormFieldBuilder】", - "【initialValue】 : Initial value 【T】", - "【validator】 : Validation function 【FormFieldValidator】", - "【enabled】 : Whether it is enabled 【bool】", - "【onSaved】 : Callback when the form is saved 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_es_ES.json deleted file mode 100644 index b5f3f7847..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 222, - "name": "FormField", - "localName": "Campo de formulario", - "info": "Un campo de formulario que debe usarse en el componente Form, contiene un campo de tipo genérico T como estado, y las actualizaciones y validaciones del campo activarán las devoluciones de llamada correspondientes.", - "lever": 2, - "family": 1, - "linkIds": [ - 198, - 199, - 223 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a FormField", - "desc": [ - "【builder】 : Constructor de contenido 【FormFieldBuilder】", - "【initialValue】 : Valor inicial 【T】", - "【validator】 : Función de validación 【FormFieldValidator 】", - "【enabled】 : Si está habilitado 【bool】", - "【onSaved】 : Devolución de llamada al guardar el formulario 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_fr_FR.json deleted file mode 100644 index 849cbfd55..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 222, - "name": "FormField", - "localName": "Champ de formulaire", - "info": "Un champ de formulaire, à utiliser dans le composant Form, contenant un champ de type générique T comme état, les mises à jour et les validations du champ déclenchent des rappels correspondants.", - "lever": 2, - "family": 1, - "linkIds": [ - 198, - 199, - 223 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à FormField", - "desc": [ - "【builder】 : Constructeur de contenu 【FormFieldBuilder】", - "【initialValue】 : Valeur initiale 【T】", - "【validator】 : Fonction de validation 【FormFieldValidator 】", - "【enabled】 : Est activé 【bool】", - "【onSaved】 : Rappel lors de la sauvegarde du formulaire 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_it_IT.json deleted file mode 100644 index 83bb81b49..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 222, - "name": "FormField", - "localName": "Campo del modulo", - "info": "Un campo del modulo, deve essere utilizzato nel componente Form, contiene un campo di tipo generico T come stato, gli aggiornamenti e le validazioni del campo attivano i rispettivi callback.", - "lever": 2, - "family": 1, - "linkIds": [ - 198, - 199, - 223 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a FormField", - "desc": [ - "【builder】 : Costruttore del contenuto 【FormFieldBuilder】", - "【initialValue】 : Valore iniziale 【T】", - "【validator】 : Funzione di validazione 【FormFieldValidator 】", - "【enabled】 : Se è abilitato 【bool】", - "【onSaved】 : Callback quando il modulo viene salvato 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_ja_JP.json deleted file mode 100644 index cf65e35fa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 222, - "name": "FormField", - "localName": "フォームフィールド", - "info": "フォームフィールドは、Formコンポーネント内で使用する必要があり、ジェネリック型Tのフィールドを状態量として含みます。フィールドの更新と検証に応じて、対応するコールバックがトリガーされます。", - "lever": 2, - "family": 1, - "linkIds": [ - 198, - 199, - 223 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FormField 紹介", - "desc": [ - "【builder】 : 内容ビルダー 【FormFieldBuilder】", - "【initialValue】 : 初期値 【T】", - "【validator】 : 検証関数 【FormFieldValidator 】", - "【enabled】 : 有効かどうか 【bool】", - "【onSaved】 : フォーム保存時のコールバック 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_ko_KR.json deleted file mode 100644 index 28777a151..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 222, - "name": "FormField", - "localName": "폼 필드", - "info": "폼 필드는 Form 컴포넌트 내에서 사용되며, 상태량으로 제네릭 T의 필드를 포함합니다. 필드의 업데이트 및 검증에 따라 해당 콜백이 트리거됩니다.", - "lever": 2, - "family": 1, - "linkIds": [ - 198, - 199, - 223 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FormField 소개", - "desc": [ - "【builder】 : 콘텐츠 빌더 【FormFieldBuilder】", - "【initialValue】 : 초기값 【T】", - "【validator】 : 검증 함수 【FormFieldValidator 】", - "【enabled】 : 유효 여부 【bool】", - "【onSaved】 : 폼 저장 시 콜백 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_pt_PT.json deleted file mode 100644 index cf1bcc27b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 222, - "name": "FormField", - "localName": "Campo de Formulário", - "info": "Um campo de formulário, que precisa ser usado no componente Form, contém um campo do tipo genérico T como estado, e as atualizações e validações do campo acionam callbacks correspondentes.", - "lever": 2, - "family": 1, - "linkIds": [ - 198, - 199, - 223 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao FormField", - "desc": [ - "【builder】 : Construtor de conteúdo 【FormFieldBuilder】", - "【initialValue】 : Valor inicial 【T】", - "【validator】 : Função de validação 【FormFieldValidator 】", - "【enabled】 : Se está ativo 【bool】", - "【onSaved】 : Callback ao salvar o formulário 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_ru_RU.json deleted file mode 100644 index 95155cf13..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 222, - "name": "FormField", - "localName": "Поле формы", - "info": "Поле формы, которое должно использоваться в компоненте Form, содержит поле типа T в качестве состояния. Обновление и проверка поля вызывают соответствующие обратные вызовы.", - "lever": 2, - "family": 1, - "linkIds": [ - 198, - 199, - 223 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в FormField", - "desc": [ - "【builder】 : Конструктор содержимого 【FormFieldBuilder】", - "【initialValue】 : Начальное значение 【T】", - "【validator】 : Функция проверки 【FormFieldValidator 】", - "【enabled】 : Активно ли поле 【bool】", - "【onSaved】 : Обратный вызов при сохранении формы 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_zh-CN.json deleted file mode 100644 index f1925f244..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 222, - "name": "FormField", - "localName": "表单字段", - "info": "一个表单字段,需要在 Form 组件中使用,内含泛型 T 的字段作为状态量,对根据字段的更新和验证会触发相应回调。", - "lever": 2, - "family": 1, - "linkIds": [ - 198, - 199, - 223 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FormField 介绍", - "desc": [ - "【builder】 : 内容构造器 【FormFieldBuilder】", - "【initialValue】 : 初始值 【T】", - "【validator】 : 验证函数 【FormFieldValidator 】", - "【enabled】 : 是否有效 【bool】", - "【onSaved】 : 表单save时回调 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FormField/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/FormField/node1_base.dart deleted file mode 100644 index 690432bef..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FormField/node1_base.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - -class FormFieldDemo extends StatelessWidget { - const FormFieldDemo({Key? key}) : super(key: key); - - final String info = - 'FormField 代表表单中的一个字段,对于字符串类型的字段,框架中封装了 TextFormField 以便使用;下拉选择的字段,用 DropdownButtonFormField。' - '目前框架中 FormField 的子类也只有这两个。既然是表单字段,必然是要和 Form 组件一起使用。通过对 Form 添加 GlobalKey ,来获取 FormState 对象。' - '当 FormState 调用 save 方法时,所有的 FormField 都会触发 onSave 方法,当 FormState 调用 validate 方法时,所有的 FormField 都会触发 validate 方法。'; - - - @override - Widget build(BuildContext context) { - - - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_de_DE.json deleted file mode 100644 index 8e76619d8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 172, - "name": "FutureBuilder", - "localName": "Asynchroner Konstruktor", - "info": "Kann ein Future-Objekt angeben, das den Status der asynchronen Ausführung überwachen kann und im Konstruktor unterschiedliche Schnittstellen basierend auf dem Status erstellt. Beachten Sie, dass das Future-Objekt nicht gleichzeitig mit dem FutureBuilder erstellt werden kann, da dies zu übermäßigen Aktualisierungen führen kann.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von FutureBuilder", - "desc": [ - "【builder】 : Unterkomponente 【AsyncWidgetBuilder】", - "【initialData】 : Initialdaten 【T】", - "【future】 : Asynchrone Aufgabe 【Future】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_en_US.json deleted file mode 100644 index ee2173e00..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 172, - "name": "FutureBuilder", - "localName": "Asynchronous Constructor", - "info": "You can specify a Future object, which can monitor the status of asynchronous execution and build different interfaces in the constructor based on the status. Note that the Future object cannot be created simultaneously with the FutureBuilder, otherwise it may cause excessive refreshing.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of FutureBuilder", - "desc": [ - "【builder】 : Subcomponent 【AsyncWidgetBuilder】", - "【initialData】 : Initial Data 【T】", - "【future】 : Asynchronous Task 【Future】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_es_ES.json deleted file mode 100644 index 0d5746113..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 172, - "name": "FutureBuilder", - "localName": "Constructor Asíncrono", - "info": "Puede especificar un objeto Future, que puede monitorear el estado de la ejecución asíncrona y construir diferentes interfaces en el constructor según el estado. Tenga en cuenta que este objeto Future no se puede crear simultáneamente con FutureBuilder, de lo contrario podría provocar una actualización excesiva.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de FutureBuilder", - "desc": [ - "【builder】 : Componente hijo 【AsyncWidgetBuilder】", - "【initialData】 : Datos iniciales 【T】", - "【future】 : Tarea asíncrona 【Future】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_fr_FR.json deleted file mode 100644 index b3e474445..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 172, - "name": "FutureBuilder", - "localName": "Constructeur asynchrone", - "info": "Peut spécifier un objet Future, capable d'écouter l'état de l'exécution asynchrone et de construire des interfaces différentes dans le constructeur en fonction de l'état. Notez que cet objet Future ne peut pas être créé en même temps que FutureBuilder, sinon il pourrait y avoir un rafraîchissement excessif.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de FutureBuilder", - "desc": [ - "【builder】 : Composant enfant 【AsyncWidgetBuilder】", - "【initialData】 : Données initiales 【T】", - "【future】 : Tâche asynchrone 【Future】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_it_IT.json deleted file mode 100644 index f1f0e4533..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 172, - "name": "FutureBuilder", - "localName": "Costruttore Asincrono", - "info": "Puoi specificare un oggetto Future, che può monitorare lo stato dell'esecuzione asincrona e costruire interfacce diverse nel costruttore in base allo stato. Nota che l'oggetto Future non può essere creato contemporaneamente al FutureBuilder, altrimenti potrebbe causare un aggiornamento eccessivo.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di FutureBuilder", - "desc": [ - "【builder】 : Componente Figlio 【AsyncWidgetBuilder】", - "【initialData】 : Dati Iniziali 【T】", - "【future】 : Attività Asincrona 【Future】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_ja_JP.json deleted file mode 100644 index 80034fe85..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 172, - "name": "FutureBuilder", - "localName": "非同期ビルダー", - "info": "Futureオブジェクトを指定することができ、非同期実行の状態を監視し、ビルダー内で状態に応じて異なるインターフェースを構築できます。このFutureオブジェクトはFutureBuilderと同時に作成しないでください。そうしないと、過剰なリフレッシュが発生する可能性があります。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FutureBuilderの基本使用", - "desc": [ - "【builder】 : 子コンポーネント 【AsyncWidgetBuilder】", - "【initialData】 : 初期データ 【T】", - "【future】 : 非同期タスク 【Future】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_ko_KR.json deleted file mode 100644 index 0079d8979..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 172, - "name": "FutureBuilder", - "localName": "비동기 빌더", - "info": "Future 객체를 지정할 수 있으며, 비동기 실행 상태를 모니터링하고 빌더에서 상태에 따라 다른 인터페이스를 구성할 수 있습니다. 주의할 점은 해당 Future 객체가 FutureBuilder와 동시에 생성되면 과도한 새로고침이 발생할 수 있습니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FutureBuilder 기본 사용", - "desc": [ - "【builder】 : 자식 컴포넌트 【AsyncWidgetBuilder】", - "【initialData】 : 초기 데이터 【T】", - "【future】 : 비동기 작업 【Future】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_pt_PT.json deleted file mode 100644 index 3d3ae9636..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 172, - "name": "FutureBuilder", - "localName": "Construtor Assíncrono", - "info": "Pode especificar um objeto Future, que pode monitorar o estado da execução assíncrona e construir diferentes interfaces no construtor com base no estado. Observe que o objeto Future não pode ser criado ao mesmo tempo que o FutureBuilder, caso contrário, pode ocorrer uma atualização excessiva.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do FutureBuilder", - "desc": [ - "【builder】 : Componente Filho 【AsyncWidgetBuilder】", - "【initialData】 : Dados Iniciais 【T】", - "【future】 : Tarefa Assíncrona 【Future】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_ru_RU.json deleted file mode 100644 index b841a64e2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 172, - "name": "FutureBuilder", - "localName": "Асинхронный конструктор", - "info": "Можно указать объект Future, который может отслеживать состояние асинхронного выполнения и строить различные интерфейсы в конструкторе в зависимости от состояния. Обратите внимание, что объект Future не может быть создан одновременно с FutureBuilder, иначе может произойти чрезмерное обновление.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование FutureBuilder", - "desc": [ - "【builder】 : Дочерний компонент 【AsyncWidgetBuilder】", - "【initialData】 : Начальные данные 【T】", - "【future】 : Асинхронная задача 【Future】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_zh-CN.json deleted file mode 100644 index 7e59a1726..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 172, - "name": "FutureBuilder", - "localName": "异步构造器", - "info": "可指定一个Future对象,能够监听异步执行的状态,并在构造器中根据状态构建不同的界面。注意该Future对象不能和FutureBuilder同时创建,否则可能过渡刷新。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FutureBuilder基本使用", - "desc": [ - "【builder】 : 子组件 【AsyncWidgetBuilder】", - "【initialData】 : 初始数据 【T】", - "【future】 : 异步任务 【Future】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/node1_base.dart deleted file mode 100644 index 8a5afea76..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/FutureBuilder/node1_base.dart +++ /dev/null @@ -1,45 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomFutureBuilder extends StatefulWidget { - const CustomFutureBuilder({Key? key}) : super(key: key); - - @override - _CustomFutureBuilderState createState() => _CustomFutureBuilderState(); -} - -class _CustomFutureBuilderState extends State { - late Future _future; - - @override - void initState() { - _future = loadData(); - super.initState(); - } - - @override - Widget build(BuildContext context) { - return FutureBuilder( - initialData: 'Load', - future: _future, - builder: (ctx, snap) { - if (snap.connectionState == ConnectionState.done) { - return Text('${snap.data}'); - } - if (snap.connectionState == ConnectionState.waiting) { - return const CircularProgressIndicator(); - } - if (snap.hasError) { - return const Text('Error'); - } - return Container(); - }); - } - - Future loadData() async { - await Future.delayed(const Duration(seconds: 2)); - return 'LoadeSuccess'; - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_de_DE.json deleted file mode 100644 index 61cd130da..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 250, - "name": "GlowingOverscrollIndicator", - "localName": "Überlaufindikator", - "info": "Das Kind ist eine scrollbare Liste, die einen Indikatoreffekt anzeigt, wenn man oben und unten scrollt. Die Farbe kann angegeben werden, hat aber keine große Bedeutung. Es ist der Standard-Scrolleffekt für Android- und Fuchsia-Systeme.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung", - "desc": [ - "【showLeading】 : Ob der Kopf aktiv ist 【bool】", - "【showTrailing】 : Ob das Ende aktiv ist 【bool】", - "【axisDirection】 : Achsenrichtung 【AxisDirection】", - "【color】 : Farbe 【Color】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_en_US.json deleted file mode 100644 index f11284013..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 250, - "name": "GlowingOverscrollIndicator", - "localName": "Scroll Boundary Indicator", - "info": "A child is a scrollable list, with an indicator effect when scrolling to the top and bottom. The color can be specified, but it is not very useful. It is the default scrolling effect for Android and Fuchsia systems.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage", - "desc": [ - "【showLeading】: Whether the header is active 【bool】", - "【showTrailing】: Whether the footer is active 【bool】", - "【axisDirection】: Axis direction 【AxisDirection】", - "【color】: Color 【Color】", - "【child】: Child widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_es_ES.json deleted file mode 100644 index 24fa19227..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 250, - "name": "GlowingOverscrollIndicator", - "localName": "Indicador de desplazamiento fuera de límites", - "info": "El niño es una lista deslizable, el efecto indicador cuando se desliza hacia la parte superior e inferior, se puede especificar el color, no es muy útil. Es el efecto de deslizamiento predeterminado del sistema Android y Fuchsia.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico", - "desc": [ - "【showLeading】 : Si la cabeza es efectiva 【bool】", - "【showTrailing】 : Si la parte inferior es efectiva 【bool】", - "【axisDirection】 : Dirección del eje 【AxisDirection】", - "【color】 : Color 【Color】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_fr_FR.json deleted file mode 100644 index 3c75e0de2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 250, - "name": "GlowingOverscrollIndicator", - "localName": "Indicateur de dépassement de défilement", - "info": "L'enfant est une liste déroulante, l'effet indicateur lorsqu'on fait défiler vers le haut et le bas, la couleur peut être spécifiée, mais ce n'est pas très utile. C'est l'effet de défilement par défaut des systèmes Android et Fuchsia.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base", - "desc": [ - "【showLeading】 : Si la tête est active 【bool】", - "【showTrailing】 : Si le bas est actif 【bool】", - "【axisDirection】 : Direction de l'axe 【AxisDirection】", - "【color】 : Couleur 【Color】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_it_IT.json deleted file mode 100644 index 2a9d76dd7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 250, - "name": "GlowingOverscrollIndicator", - "localName": "Indicatore di scorrimento oltre i limiti", - "info": "Il bambino è una lista scorrevole, con un effetto indicatore quando si scorre verso l'alto e verso il basso, è possibile specificare il colore, ma non è molto utile. È l'effetto di scorrimento predefinito per i sistemi Android e Fuchsia.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base", - "desc": [ - "【showLeading】 : Se la parte superiore è attiva 【bool】", - "【showTrailing】 : Se la parte inferiore è attiva 【bool】", - "【axisDirection】 : Direzione dell'asse 【AxisDirection】", - "【color】 : Colore 【Color】", - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_ja_JP.json deleted file mode 100644 index 1623f5e65..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 250, - "name": "GlowingOverscrollIndicator", - "localName": "スクロールオーバーインジケーター", - "info": "子要素がスクロール可能なリストで、上部または下部にスクロールした際のインジケーター効果です。色を指定できますが、あまり役に立ちません。AndroidとFuchsiaシステムのデフォルトのスクロール効果です。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "基本使用", - "desc": [ - "【showLeading】 : ヘッダーが有効かどうか 【bool】", - "【showTrailing】 : フッターが有効かどうか 【bool】", - "【axisDirection】 : 軸方向 【AxisDirection】", - "【color】 : 色 【Color】", - "【child】 : 子ウィジェット 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_ko_KR.json deleted file mode 100644 index 66a187c62..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 250, - "name": "GlowingOverscrollIndicator", - "localName": "스크롤 오버스크롤 표시기", - "info": "자식이 스크롤 가능한 리스트일 때, 상단과 하단으로 스크롤할 때의 표시 효과. 색상을 지정할 수 있지만 큰 의미는 없습니다. Android와 Fuchsia 시스템의 기본 스크롤 효과입니다.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "기본 사용", - "desc": [ - "【showLeading】 : 헤더가 활성화되는지 여부 【bool】", - "【showTrailing】 : 하단이 활성화되는지 여부 【bool】", - "【axisDirection】 : 축 방향 【AxisDirection】", - "【color】 : 색상 【Color】", - "【child】 : 자식 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_pt_PT.json deleted file mode 100644 index c74b8ea24..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 250, - "name": "GlowingOverscrollIndicator", - "localName": "Indicador de deslizamento fora dos limites", - "info": "A criança é uma lista deslizante, o efeito indicador quando desliza para o topo e para a base, pode especificar a cor, não tem muita utilidade. É o efeito de deslizamento padrão do sistema Android e Fuchsia.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico", - "desc": [ - "【showLeading】 : Se o cabeçalho está ativo 【bool】", - "【showTrailing】 : Se a base está ativa 【bool】", - "【axisDirection】 : Direção do eixo 【AxisDirection】", - "【color】 : Cor 【Color】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_ru_RU.json deleted file mode 100644 index 62a47392d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 250, - "name": "GlowingOverscrollIndicator", - "localName": "Индикатор прокрутки за пределы", - "info": "Дети - это прокручиваемый список, индикаторный эффект при прокрутке до верха и низа, можно указать цвет, не имеет большого значения. Это эффект прокрутки по умолчанию для систем Android и Fuchsia.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование", - "desc": [ - "【showLeading】 : Действует ли на голову 【bool】", - "【showTrailing】 : Действует ли на дно 【bool】", - "【axisDirection】 : Направление оси 【AxisDirection】", - "【color】 : Цвет 【Color】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_zh-CN.json deleted file mode 100644 index 57ad2ccce..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 250, - "name": "GlowingOverscrollIndicator", - "localName": "滑动越域指示器", - "info": "孩子为可滑动列表,当滑动到顶部和底部时的指示效果,可指定颜色,没什么太大卵用。是Android和fuchsia系统默认滑动效果。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "基本使用", - "desc": [ - "【showLeading】 : 头部是否生效 【bool】", - "【showTrailing】 : 底部是否生效 【bool】", - "【axisDirection】 : 轴向 【AxisDirection】", - "【color】 : 颜色 【Color】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/node1_base.dart deleted file mode 100644 index aa2632398..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/GlowingOverscrollIndicator/node1_base.dart +++ /dev/null @@ -1,53 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class GlowingOverscrollIndicatorDemo extends StatelessWidget { - const GlowingOverscrollIndicatorDemo({super.key}); - - List get data => [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - Colors.red[50]!, - Colors.red[100]!, - Colors.red[200]!, - Colors.red[300]!, - Colors.red[400]!, - Colors.red[500]!, - Colors.red[600]!, - Colors.red[700]!, - Colors.red[800]!, - Colors.red[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: GlowingOverscrollIndicator( - color: Colors.purple, - // showLeading: false, - // showTrailing: false, - axisDirection: AxisDirection.down, - child: ListView.builder( - itemBuilder: (_, index) => Container( - margin: const EdgeInsets.all(10), - height: 60, - color: data[index], - ), - itemCount: data.length, - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_de_DE.json deleted file mode 100644 index 0ab7c519b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 171, - "name": "Hero", - "localName": "Geteilter Animationseffekt", - "info": "Es kann ein Labelname angegeben werden. Wenn zwei Schnittstellen umgeschaltet werden, führen Komponenten mit demselben Label einen gemeinsamen Animationseffekt aus. In einer Schnittstelle können nicht zwei Hero-Labels mit demselben Namen existieren.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Hero", - "desc": [ - "【tag】 : Label 【String】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_en_US.json deleted file mode 100644 index b6a0e7337..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 171, - "name": "Hero", - "localName": "Shared Animation", - "info": "You can specify a tag name, and components with the same tag will perform a shared animation when transitioning between two interfaces. There cannot be two Hero tags with the same name in one interface.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Hero", - "desc": [ - "【tag】 : tag 【String】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_es_ES.json deleted file mode 100644 index 72665027f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 171, - "name": "Hero", - "localName": "Animación compartida", - "info": "Se puede especificar un nombre de etiqueta, los componentes con la misma etiqueta realizarán una animación compartida al saltar entre dos interfaces. No pueden existir dos etiquetas Hero con el mismo nombre en una misma interfaz.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Hero", - "desc": [ - "【tag】 : etiqueta 【String】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_fr_FR.json deleted file mode 100644 index efe22337e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 171, - "name": "Hero", - "localName": "Animation partagée", - "info": "Vous pouvez spécifier un nom de tag, les composants avec le même tag effectueront une animation partagée lors du changement d'interface. Il ne peut pas y avoir deux tags Hero avec le même nom dans une même interface.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Hero", - "desc": [ - "【tag】 : étiquette 【String】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_it_IT.json deleted file mode 100644 index 4003710e3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 171, - "name": "Hero", - "localName": "Animazione condivisa", - "info": "È possibile specificare un nome di tag. Quando si passa da un'interfaccia all'altra, i componenti con lo stesso tag eseguiranno un'animazione condivisa. Non possono esistere due tag Hero con lo stesso nome in un'interfaccia.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Hero", - "desc": [ - "【tag】 : etichetta 【String】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_ja_JP.json deleted file mode 100644 index da433da69..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 171, - "name": "Hero", - "localName": "共有アニメーション", - "info": "タグ名を指定でき、2つの画面間で同じタグを持つコンポーネントが共有アニメーションを行います。1つの画面に同じ名前のHeroタグを2つ存在させることはできません。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Heroの基本的な使用", - "desc": [ - "【tag】 : タグ 【String】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_ko_KR.json deleted file mode 100644 index 3a36cd465..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 171, - "name": "Hero", - "localName": "공유 애니메이션", - "info": "태그 이름을 지정할 수 있으며, 두 인터페이스 간 전환 시 동일한 태그를 가진 구성 요소가 공유 애니메이션을 수행합니다. 하나의 인터페이스에는 동일한 이름의 Hero 태그가 두 개 존재할 수 없습니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Hero 기본 사용법", - "desc": [ - "【tag】 : 태그 【String】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_pt_PT.json deleted file mode 100644 index d8eb837e1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 171, - "name": "Hero", - "localName": "Animação Compartilhada", - "info": "Pode especificar o nome da etiqueta, os componentes com a mesma etiqueta realizarão uma animação compartilhada ao saltar entre duas interfaces. Não pode haver duas etiquetas Hero com o mesmo nome numa interface.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Hero", - "desc": [ - "【tag】 : etiqueta 【String】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_ru_RU.json deleted file mode 100644 index b88d92a6a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 171, - "name": "Hero", - "localName": "Общая анимация", - "info": "Можно указать имя тега, при переходе между двумя интерфейсами компоненты с одинаковым тегом будут выполнять общую анимацию. В одном интерфейсе не может быть двух тегов Hero с одинаковым именем.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Hero", - "desc": [ - "【tag】 : тег 【String】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_zh-CN.json deleted file mode 100644 index 6cd3ba9ec..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 171, - "name": "Hero", - "localName": "共享动画", - "info": "可指定标签名,两个界面跳转时具有相同标签的组件会进行共享动画。一个界面中不能存在两个同名的Hero标签", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Hero基本使用", - "desc": [ - "【tag】 : 标签 【String】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Hero/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Hero/node1_base.dart deleted file mode 100644 index c0224bf1a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Hero/node1_base.dart +++ /dev/null @@ -1,120 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomHero extends StatelessWidget { - const CustomHero({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Hero hero = Hero( - //----定义一个Hero,并添加tag标签,此中组件共享 - tag: 'user-head', - child: ClipRRect( - borderRadius: const BorderRadius.all(Radius.circular(30)), - child: Image.asset( - "assets/images/icon_head.webp", - width: 60, - height: 60, - fit: BoxFit.cover, - ), - ), - ); - - Widget container = Container( - alignment: const Alignment(-0.8, -0.8), - child: hero, - width: 250, - height: 250 * 0.618, - decoration: BoxDecoration( - gradient: LinearGradient(colors: [ - Colors.red.withAlpha(99), - Colors.yellow.withAlpha(189), - Colors.green.withAlpha(88), - Colors.blue.withAlpha(230) - ])), - ); - - return GestureDetector( - child: Card(elevation: 5, child: container), - onTap: () => Navigator.push( - context, - Bottom2TopRouter(child: const TargetPage(), duration: 1000), - ), - ); - } - -} - -class TargetPage extends StatelessWidget { - const TargetPage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Hero hero = const Hero( - //----定义一个Hero,为其添加标签,两个标签相同,则可以共享 - tag: 'user-head', - child: Padding( - padding: EdgeInsets.all(6.0), - child: CircleAvatar( - backgroundColor: Colors.transparent, - backgroundImage: AssetImage( - "assets/images/icon_head.webp", - ), - ), - ), - ); - - Widget touch = InkWell( - onTap: () { - Navigator.of(context).pop(); - }, - child: hero, - ); - - return Scaffold( - appBar: AppBar( - actions: [touch], - ), - body: Container( - decoration: BoxDecoration( - gradient: LinearGradient(colors: [ - Colors.red.withAlpha(99), - Colors.yellow.withAlpha(189), - Colors.green.withAlpha(88), - Colors.blue.withAlpha(230) - ])), - ), - ); - } -} - -//下--->上 -class Bottom2TopRouter extends PageRouteBuilder { - final Widget child; - final int duration; - final Curve curve; - - Bottom2TopRouter({ - required this.child, - this.duration = 500, - this.curve = Curves.fastOutSlowIn, - }) : super( - transitionDuration: Duration(milliseconds: duration), - pageBuilder: (ctx, a1, a2) { - return child; - }, - transitionsBuilder: ( - ctx, - a1, - a2, - Widget child, - ) => SlideTransition( - position: Tween( - begin: const Offset(0.0, 1.0), - end: const Offset(0.0, 0.0), - ).animate(CurvedAnimation(parent: a1, curve: curve)), - child: child)); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_de_DE.json deleted file mode 100644 index b34fed387..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_de_DE.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 38, - "name": "Image", - "localName": "Bildkomponente", - "info": "Wird verwendet, um ein Bild anzuzeigen, das aus einer Datei, dem Speicher, dem Netzwerk oder Ressourcen geladen werden kann. Kann Anpassungsmodus, Stil, Farbmischmodus, Wiederholungsmodus usw. angeben.", - "lever": 5, - "family": 1, - "linkIds": [ - 8, - 87 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Kann Bilder aus Ressourcendateien und dem Netzwerk laden", - "desc": [ - "Image.asset lädt Ressourcenbilder." - ] - }, - { - "file": "node2_fit.dart", - "name": "Anpassungsmodus des Bildes", - "desc": [ - "【fit】 : Anpassungsmodus*7 【BoxFit】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "Ausrichtungsmodus des Bildes", - "desc": [ - "【alignment】 : Farbe 【AlignmentGeometry】", - " Neun statische Konstanten der Alignment-Klasse werden häufig verwendet, aber die Position kann auch angepasst werden." - ] - }, - { - "file": "node4_colorBlendMode.dart", - "name": "Farbe und Mischmodus des Bildes", - "desc": [ - "【color】 : Farbe 【Color】", - "【colorBlendMode】: Mischmodus*29 【BlendMode】" - ] - }, - { - "file": "node5_repeat.dart", - "name": "Wiederholungsmodus des Bildes", - "desc": [ - "【repeat】 : Wiederholungsmodus*4 【ImageRepeat】" - ] - }, - { - "file": "node6_centerSlice.dart", - "name": "Lokale Vergrößerung des Bildes", - "desc": [ - "【centerSlice】 : Beibehaltener Bereich 【Rect】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_en_US.json deleted file mode 100644 index d3d10de9e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_en_US.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 38, - "name": "Image", - "localName": "Image Component", - "info": "Used to display an image, which can be loaded from a file, memory, network, or resources. You can specify the adaptation method, style, color blending mode, repeat mode, etc.", - "lever": 5, - "family": 1, - "linkIds": [ - 8, - 87 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Load images from resource files and the network", - "desc": [ - "Image.asset loads resource images," - ] - }, - { - "file": "node2_fit.dart", - "name": "Image adaptation mode", - "desc": [ - "【fit】 : Adaptation mode*7 【BoxFit】," - ] - }, - { - "file": "node3_alignment.dart", - "name": "Image alignment mode", - "desc": [ - "【alignment】 : Color 【AlignmentGeometry】", - " Common nine static constants of the Alignment class, but custom positions are also possible" - ] - }, - { - "file": "node4_colorBlendMode.dart", - "name": "Image color and blending mode", - "desc": [ - "【color】 : Color 【Color】", - "【colorBlendMode】: Blending mode*29 【BlendMode】" - ] - }, - { - "file": "node5_repeat.dart", - "name": "Image repeat mode", - "desc": [ - "【repeat】 : Repeat mode*4 【ImageRepeat】" - ] - }, - { - "file": "node6_centerSlice.dart", - "name": "Image partial zoom implementation", - "desc": [ - "【centerSlice】 : Reserved area 【Rect】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_es_ES.json deleted file mode 100644 index c259bd7fa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_es_ES.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 38, - "name": "Image", - "localName": "Componente de imagen", - "info": "Se utiliza para mostrar una imagen, que se puede cargar desde un archivo, memoria, red o recursos. Se puede especificar el modo de ajuste, estilo, modo de mezcla de colores, modo de repetición, etc.", - "lever": 5, - "family": 1, - "linkIds": [ - 8, - 87 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Cargar imágenes desde archivos de recursos y la red", - "desc": [ - "Image.asset carga imágenes de recursos." - ] - }, - { - "file": "node2_fit.dart", - "name": "Modo de ajuste de la imagen", - "desc": [ - "【fit】 : Modo de ajuste*7 【BoxFit】." - ] - }, - { - "file": "node3_alignment.dart", - "name": "Modo de alineación de la imagen", - "desc": [ - "【alignment】 : Color 【AlignmentGeometry】", - " Nueve constantes estáticas comunes de la clase Alignment, pero también se puede personalizar la posición." - ] - }, - { - "file": "node4_colorBlendMode.dart", - "name": "Color y modo de mezcla de la imagen", - "desc": [ - "【color】 : Color 【Color】", - "【colorBlendMode】: Modo de mezcla*29 【BlendMode】" - ] - }, - { - "file": "node5_repeat.dart", - "name": "Modo de repetición de la imagen", - "desc": [ - "【repeat】 : Modo de repetición*4 【ImageRepeat】" - ] - }, - { - "file": "node6_centerSlice.dart", - "name": "Ampliación local de la imagen", - "desc": [ - "【centerSlice】 : Área conservada 【Rect】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_fr_FR.json deleted file mode 100644 index c618d6d8b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_fr_FR.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 38, - "name": "Image", - "localName": "Composant d'image", - "info": "Utilisé pour afficher une image, qui peut être chargée à partir d'un fichier, de la mémoire, du réseau ou des ressources. Vous pouvez spécifier le mode d'adaptation, le style, le mode de mélange des couleurs, le mode de répétition, etc.", - "lever": 5, - "family": 1, - "linkIds": [ - 8, - 87 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Peut charger des images à partir de fichiers de ressources et du réseau", - "desc": [ - "Image.asset charge les images de ressources." - ] - }, - { - "file": "node2_fit.dart", - "name": "Mode d'adaptation de l'image", - "desc": [ - "【fit】 : Mode d'adaptation*7 【BoxFit】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "Mode d'alignement de l'image", - "desc": [ - "【alignment】 : Couleur 【AlignmentGeometry】", - " Neuf constantes statiques couramment utilisées de la classe Alignment, mais il est également possible de personnaliser la position" - ] - }, - { - "file": "node4_colorBlendMode.dart", - "name": "Couleur et mode de mélange de l'image", - "desc": [ - "【color】 : Couleur 【Color】", - "【colorBlendMode】: Mode de mélange*29 【BlendMode】" - ] - }, - { - "file": "node5_repeat.dart", - "name": "Mode de répétition de l'image", - "desc": [ - "【repeat】 : Mode de répétition*4 【ImageRepeat】" - ] - }, - { - "file": "node6_centerSlice.dart", - "name": "Agrandissement local de l'image", - "desc": [ - "【centerSlice】 : Zone conservée 【Rect】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_it_IT.json deleted file mode 100644 index 3b43a1fa8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_it_IT.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 38, - "name": "Image", - "localName": "Componente immagine", - "info": "Utilizzato per visualizzare un'immagine, può essere caricata da file, memoria, rete o risorse. È possibile specificare modalità di adattamento, stile, modalità di fusione del colore, modalità di ripetizione, ecc.", - "lever": 5, - "family": 1, - "linkIds": [ - 8, - 87 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Può caricare immagini da file di risorse e dalla rete", - "desc": [ - "Image.asset carica immagini da risorse," - ] - }, - { - "file": "node2_fit.dart", - "name": "Modalità di adattamento dell'immagine", - "desc": [ - "【fit】 : modalità di adattamento*7 【BoxFit】," - ] - }, - { - "file": "node3_alignment.dart", - "name": "Modalità di allineamento dell'immagine", - "desc": [ - "【alignment】 : colore 【AlignmentGeometry】", - " Nove costanti statiche della classe Alignment, ma è anche possibile personalizzare la posizione" - ] - }, - { - "file": "node4_colorBlendMode.dart", - "name": "Colore e modalità di fusione dell'immagine", - "desc": [ - "【color】 : colore 【Color】", - "【colorBlendMode】: modalità di fusione*29 【BlendMode】" - ] - }, - { - "file": "node5_repeat.dart", - "name": "Modalità di ripetizione dell'immagine", - "desc": [ - "【repeat】 : modalità di ripetizione*4 【ImageRepeat】" - ] - }, - { - "file": "node6_centerSlice.dart", - "name": "Ingrandimento locale dell'immagine", - "desc": [ - "【centerSlice】 : area conservata 【Rect】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_ja_JP.json deleted file mode 100644 index 608ca9add..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_ja_JP.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 38, - "name": "Image", - "localName": "画像コンポーネント", - "info": "画像を表示するために使用され、ファイル、メモリ、ネットワーク、リソースからロードできます。適応モード、スタイル、カラーブレンドモード、リピートモードなどを指定できます", - "lever": 5, - "family": 1, - "linkIds": [ - 8, - 87 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "リソースファイルとネットワークから画像をロードできます", - "desc": [ - "Image.assetでリソース画像をロードします" - ] - }, - { - "file": "node2_fit.dart", - "name": "画像の適応モード", - "desc": [ - "【fit】 : 適応モード*7 【BoxFit】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "画像の整列モード", - "desc": [ - "【alignment】 : カラー 【AlignmentGeometry】", - " 一般的にAlignmentクラスの9つの静的定数を使用しますが、位置をカスタマイズすることもできます" - ] - }, - { - "file": "node4_colorBlendMode.dart", - "name": "画像のカラー及びブレンドモード", - "desc": [ - "【color】 : カラー 【Color】", - "【colorBlendMode】: ブレンドモード*29 【BlendMode】" - ] - }, - { - "file": "node5_repeat.dart", - "name": "画像のリピートモード", - "desc": [ - "【repeat】 : リピートモード*4 【ImageRepeat】" - ] - }, - { - "file": "node6_centerSlice.dart", - "name": "画像の一部を拡大", - "desc": [ - "【centerSlice】 : 保持する領域 【Rect】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_ko_KR.json deleted file mode 100644 index ac7e3d2ea..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_ko_KR.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 38, - "name": "Image", - "localName": "이미지 컴포넌트", - "info": "이미지를 표시하는 데 사용되며, 파일, 메모리, 네트워크, 리소스에서 로드할 수 있습니다. 적응 방식, 스타일, 색상 혼합 모드, 반복 모드 등을 지정할 수 있습니다.", - "lever": 5, - "family": 1, - "linkIds": [ - 8, - 87 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "리소스 파일 및 네트워크에서 이미지 로드", - "desc": [ - "Image.asset로 리소스 이미지 로드" - ] - }, - { - "file": "node2_fit.dart", - "name": "이미지 적응 모드", - "desc": [ - "【fit】 : 적응 모드*7 【BoxFit】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "이미지 정렬 모드", - "desc": [ - "【alignment】 : 색상 【AlignmentGeometry】", - " 일반적으로 Alignment 클래스의 9개 정적 상수를 사용하지만, 위치를 사용자 정의할 수도 있음" - ] - }, - { - "file": "node4_colorBlendMode.dart", - "name": "이미지 색상 및 혼합 모드", - "desc": [ - "【color】 : 색상 【Color】", - "【colorBlendMode】: 혼합 모드*29 【BlendMode】" - ] - }, - { - "file": "node5_repeat.dart", - "name": "이미지 반복 모드", - "desc": [ - "【repeat】 : 반복 모드*4 【ImageRepeat】" - ] - }, - { - "file": "node6_centerSlice.dart", - "name": "이미지 부분 확대", - "desc": [ - "【centerSlice】 : 보존 영역 【Rect】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_pt_PT.json deleted file mode 100644 index 6b510140f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_pt_PT.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 38, - "name": "Image", - "localName": "Componente de Imagem", - "info": "Usado para exibir uma imagem, pode ser carregada a partir de arquivos, memória, rede ou recursos. Pode especificar o modo de ajuste, estilo, modo de mistura de cores, modo de repetição, etc.", - "lever": 5, - "family": 1, - "linkIds": [ - 8, - 87 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Pode carregar imagens de arquivos de recursos e da rede", - "desc": [ - "Image.asset carrega imagens de recursos," - ] - }, - { - "file": "node2_fit.dart", - "name": "Modo de ajuste da imagem", - "desc": [ - "【fit】 : modo de ajuste*7 【BoxFit】," - ] - }, - { - "file": "node3_alignment.dart", - "name": "Modo de alinhamento da imagem", - "desc": [ - "【alignment】 : cor 【AlignmentGeometry】", - " Nove constantes estáticas comuns da classe Alignment, mas também pode personalizar a posição" - ] - }, - { - "file": "node4_colorBlendMode.dart", - "name": "Cor e modo de mistura da imagem", - "desc": [ - "【color】 : cor 【Color】", - "【colorBlendMode】: modo de mistura*29 【BlendMode】" - ] - }, - { - "file": "node5_repeat.dart", - "name": "Modo de repetição da imagem", - "desc": [ - "【repeat】 : modo de repetição*4 【ImageRepeat】" - ] - }, - { - "file": "node6_centerSlice.dart", - "name": "Ampliação local da imagem", - "desc": [ - "【centerSlice】 : área retida 【Rect】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_ru_RU.json deleted file mode 100644 index 5c26b2c46..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_ru_RU.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 38, - "name": "Image", - "localName": "Компонент изображения", - "info": "Используется для отображения изображения, которое можно загрузить из файла, памяти, сети или ресурсов. Можно указать режим адаптации, стиль, режим смешивания цветов, режим повторения и т.д.", - "lever": 5, - "family": 1, - "linkIds": [ - 8, - 87 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Загрузка изображений из ресурсов и сети", - "desc": [ - "Image.asset загружает изображения из ресурсов," - ] - }, - { - "file": "node2_fit.dart", - "name": "Режим адаптации изображения", - "desc": [ - "【fit】 : режим адаптации*7 【BoxFit】," - ] - }, - { - "file": "node3_alignment.dart", - "name": "Режим выравнивания изображения", - "desc": [ - "【alignment】 : цвет 【AlignmentGeometry】", - " Девять статических констант класса Alignment, но также можно настроить положение" - ] - }, - { - "file": "node4_colorBlendMode.dart", - "name": "Цвет и режим смешивания изображения", - "desc": [ - "【color】 : цвет 【Color】", - "【colorBlendMode】: режим смешивания*29 【BlendMode】" - ] - }, - { - "file": "node5_repeat.dart", - "name": "Режим повторения изображения", - "desc": [ - "【repeat】 : режим повторения*4 【ImageRepeat】" - ] - }, - { - "file": "node6_centerSlice.dart", - "name": "Локальное увеличение изображения", - "desc": [ - "【centerSlice】 : сохраняемая область 【Rect】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_zh-CN.json deleted file mode 100644 index 1b2434ac4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/desc_zh-CN.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 38, - "name": "Image", - "localName": "图片组件", - "info": "用于显示一张图片,可以从文件、内存、网络、资源里加载。可以指定适应方式、样式、颜色混合模式、重复模式等", - "lever": 5, - "family": 1, - "linkIds": [ - 8, - 87 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "可从资源文件和网络加载图片", - "desc": [ - "Image.asset加载资源图片," - ] - }, - { - "file": "node2_fit.dart", - "name": "图片的适应模式", - "desc": [ - "【fit】 : 适应模式*7 【BoxFit】," - ] - }, - { - "file": "node3_alignment.dart", - "name": "图片对齐模式", - "desc": [ - "【alignment】 : 颜色 【AlignmentGeometry】", - " 常用Alignment类的九个静态常量,但也可定制位置" - ] - }, - { - "file": "node4_colorBlendMode.dart", - "name": "图片颜色及混合模式", - "desc": [ - "【color】 : 颜色 【Color】", - "【colorBlendMode】: 混合模式*29 【BlendMode】" - ] - }, - { - "file": "node5_repeat.dart", - "name": "图片重复模式", - "desc": [ - "【repeat】 : 重复模式*4 【ImageRepeat】" - ] - }, - { - "file": "node6_centerSlice.dart", - "name": "图片实现局部放大", - "desc": [ - "【centerSlice】 : 保留的区域 【Rect】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Image/node1_base.dart deleted file mode 100644 index 71530c45c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/node1_base.dart +++ /dev/null @@ -1,27 +0,0 @@ - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - - -class LoadImage extends StatelessWidget { - const LoadImage({Key? key}) : super(key: key); - - final String assetsImagePath = "assets/images/icon_head.webp"; - final String netImageUrl = "https://p9-juejin.byteimg.com" - "/tos-cn-i-k3u1fbpfcp/36dee4e4dceb4c41a93df4a3603439fe~" - "tplv-k3u1fbpfcp-zoom-crop-mark:1304:1304:1304:734.awebp"; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: [ - Image.asset(assetsImagePath, height: 80, width: 80), - _loadFromNet(), - ], - ); - } - - Widget _loadFromNet() => Image.network(netImageUrl, height: 80); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/node2_fit.dart b/modules/widget_system/widgets/lib/StatefulWidget/Image/node2_fit.dart deleted file mode 100644 index b61fb6375..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/node2_fit.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class FitImage extends StatefulWidget { - const FitImage({Key? key}) : super(key: key); - - @override - _FitImageState createState() => _FitImageState(); -} - -class _FitImageState extends State { - bool _smallImage = false; - - @override - Widget build(BuildContext context) { - List imageLi = BoxFit.values - .toList() - .map((mode) => Column(children:[ - Container( - margin: const EdgeInsets.all(5), - width: 100, - height: 80, - color: Colors.grey.withAlpha(88), - child: Image( - image: AssetImage(!_smallImage - ? "assets/images/wy_300x200.webp" - : "assets/images/wy_30x20.webp"), - fit: mode)), - Text(mode.toString().split(".")[1]) - ])).toList(); - - return Wrap( - children: [...imageLi, _buildSwitch()], - ); - } - - Widget _buildSwitch() { - return Container( - alignment: Alignment.center, - width: 200, - height: 100, - child: Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - const Text("使用小图"), - Switch( - value: _smallImage, - onChanged: (b) => setState(() => _smallImage = b)), - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/node3_alignment.dart b/modules/widget_system/widgets/lib/StatefulWidget/Image/node3_alignment.dart deleted file mode 100644 index a7885cee2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/node3_alignment.dart +++ /dev/null @@ -1,49 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -enum AlignmentType { - center(Alignment.center, 'center'), - centerLeft(Alignment.centerLeft, 'centerLeft'), - centerRight(Alignment.centerRight, 'centerRight'), - topCenter(Alignment.topCenter, 'topCenter'), - topLeft(Alignment.topLeft, 'topLeft'), - topRight(Alignment.topRight, 'topRight'), - bottomCenter(Alignment.bottomCenter, 'bottomCenter'), - bottomLeft(Alignment.bottomLeft, 'bottomLeft'), - bottomRight(Alignment.bottomRight, 'bottomRight'), - ; - - const AlignmentType(this.alignment, this.title); - - final Alignment alignment; - final String title; -} - -class AlignmentImage extends StatelessWidget { - const AlignmentImage({Key? key}) : super(key: key); - - //测试数组 - - @override - Widget build(BuildContext context) { - List imgLi = AlignmentType.values - .map((v) => //生成子Widget列表 - Column(children: [ - Container( - margin: const EdgeInsets.all(5), - width: 90, - height: 60, - color: Colors.grey.withAlpha(88), - child: Image( - image: const AssetImage("assets/images/wy_30x20.webp"), - alignment: v.alignment, - )), - Text(v.title), - ])) - .toList(); - var imageAlignment = Wrap(children: imgLi); - return imageAlignment; - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/node4_colorBlendMode.dart b/modules/widget_system/widgets/lib/StatefulWidget/Image/node4_colorBlendMode.dart deleted file mode 100644 index 8c2510295..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/node4_colorBlendMode.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - - -class BlendModeImage extends StatelessWidget { - const BlendModeImage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - children: BlendMode.values - .toList() - .map((mode) => Column(children:[ - Container( - margin: const EdgeInsets.all(5), - width: 60, - height: 60, - color: Colors.red, - child: Image( - image: const AssetImage("assets/images/icon_head.webp"), - color: Colors.blue.withAlpha(88), - colorBlendMode: mode)), - Text(mode.toString().split(".")[1]) - ])) - .toList(), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/node5_repeat.dart b/modules/widget_system/widgets/lib/StatefulWidget/Image/node5_repeat.dart deleted file mode 100644 index 2048dc2e9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/node5_repeat.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class RepeatImage extends StatelessWidget { - const RepeatImage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - children: ImageRepeat.values - .toList() - .map((mode) => Column(children:[ - Container( - margin: const EdgeInsets.all(5), - width: 150, - height: 60, - color: Colors.red, - child: Image( - image: const AssetImage("assets/images/wy_30x20.webp"), - repeat: mode)), - Text(mode.toString().split(".")[1]) - ])) - .toList(), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Image/node6_centerSlice.dart b/modules/widget_system/widgets/lib/StatefulWidget/Image/node6_centerSlice.dart deleted file mode 100644 index d4f4364ff..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Image/node6_centerSlice.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - - -class CenterSliceImage extends StatelessWidget { - const CenterSliceImage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 300, - height: 80, - child: Image.asset( - "assets/images/right_chat.png", - centerSlice: const Rect.fromLTRB(9, 27, 60, 27 + 1.0), - fit: BoxFit.fill, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_de_DE.json deleted file mode 100644 index 86515655a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_de_DE.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 152, - "name": "Ink", - "localName": "Wasserwelle", - "info": "Macht die Wasserwellen von InkWell und InkResponse effektiv, verwendet für das Zeichnen von Bildern oder anderen dekorativen Materialkomponenten.", - "lever": 3, - "family": 1, - "linkIds": [ - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Ink", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】", - "【decoration】 : Dekoration 【Decoration】", - "【width】 : Breite 【double】", - "【height】 : Höhe 【double】", - "【color】 : Farbe 【Color】" - ] - }, - { - "file": "node2_image.dart", - "name": "Ink.image Bildwasserwelle", - "desc": [ - "Die Eigenschaften sind identisch mit der Image-Komponente, siehe Image-Komponente für Details" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_en_US.json deleted file mode 100644 index 36b89e1f8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_en_US.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 152, - "name": "Ink", - "localName": "Ripple", - "info": "Enables the ripple effect for InkWell and InkResponse, a Material component used to draw images or other decorations.", - "lever": 3, - "family": 1, - "linkIds": [ - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Ink", - "desc": [ - "【child】: Child component 【Widget】", - "【padding】: Padding 【EdgeInsetsGeometry】", - "【decoration】: Decoration 【Decoration】", - "【width】: Width 【double】", - "【height】: Height 【double】", - "【color】: Color 【Color】" - ] - }, - { - "file": "node2_image.dart", - "name": "Ink.image Ripple with Image", - "desc": [ - "The properties are consistent with the Image component, see the Image component for details" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_es_ES.json deleted file mode 100644 index 9572e4f68..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_es_ES.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 152, - "name": "Ink", - "localName": "Onda de agua", - "info": "Hace que las ondas de agua de InkWell e InkResponse sean efectivas, utilizadas para dibujar imágenes u otros componentes decorativos de Material.", - "lever": 3, - "family": 1, - "linkIds": [ - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Ink", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】", - "【decoration】 : Decoración 【Decoration】", - "【width】 : Ancho 【double】", - "【height】 : Alto 【double】", - "【color】 : Color 【Color】" - ] - }, - { - "file": "node2_image.dart", - "name": "Onda de agua con Ink.image", - "desc": [ - "Los atributos son consistentes con el componente Image, consulte el componente Image para más detalles" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_fr_FR.json deleted file mode 100644 index 4a7cd29dd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_fr_FR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 152, - "name": "Ink", - "localName": "Onde", - "info": "Active les ondulations d'eau pour InkWell et InkResponse, utilisé pour dessiner des images ou d'autres composants de décoration Material.", - "lever": 3, - "family": 1, - "linkIds": [ - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'Ink", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】", - "【decoration】 : Décoration 【Decoration】", - "【width】 : Largeur 【double】", - "【height】 : Hauteur 【double】", - "【color】 : Couleur 【Color】" - ] - }, - { - "file": "node2_image.dart", - "name": "Onde d'image avec Ink.image", - "desc": [ - "Les propriétés sont identiques à celles du composant Image, voir le composant Image pour plus de détails" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_it_IT.json deleted file mode 100644 index 918d13deb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_it_IT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 152, - "name": "Ink", - "localName": "Onda d'acqua", - "info": "Rende efficace l'effetto ondulato dell'acqua di InkWell e InkResponse, utilizzato per disegnare immagini o altri componenti decorativi di Material.", - "lever": 3, - "family": 1, - "linkIds": [ - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Ink", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【padding】 : Spaziatura interna 【EdgeInsetsGeometry】", - "【decoration】 : Decorazione 【Decoration】", - "【width】 : Larghezza 【double】", - "【height】 : Altezza 【double】", - "【color】 : Colore 【Color】" - ] - }, - { - "file": "node2_image.dart", - "name": "Ink.image effetto ondulato dell'immagine", - "desc": [ - "Le proprietà sono coerenti con il componente Image, vedi il componente Image per i dettagli" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_ja_JP.json deleted file mode 100644 index 95241704b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_ja_JP.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 152, - "name": "Ink", - "localName": "水波", - "info": "InkWellとInkResponseの水の波紋を有効にし、画像やその他の装飾を描画するためのMaterialコンポーネントです。", - "lever": 3, - "family": 1, - "linkIds": [ - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Inkの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【padding】 : パディング 【EdgeInsetsGeometry】", - "【decoration】 : 装飾 【Decoration】", - "【width】 : 幅 【double】", - "【height】 : 高さ 【double】", - "【color】 : 色 【Color】" - ] - }, - { - "file": "node2_image.dart", - "name": "Ink.image画像の水波", - "desc": [ - "その属性はImageコンポーネントと一致し、詳細はImageコンポーネントを参照してください" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_ko_KR.json deleted file mode 100644 index c8d9d18fc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_ko_KR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 152, - "name": "Ink", - "localName": "물결", - "info": "InkWell 및 InkResponse의 물결 효과를 활성화하고, 이미지 또는 기타 장식을 그리기 위한 Material 컴포넌트입니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Ink 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【padding】 : 안쪽 여백 【EdgeInsetsGeometry】", - "【decoration】 : 장식 【Decoration】", - "【width】 : 너비 【double】", - "【height】 : 높이 【double】", - "【color】 : 색상 【Color】" - ] - }, - { - "file": "node2_image.dart", - "name": "Ink.image 이미지 물결", - "desc": [ - "속성은 Image 컴포넌트와 동일하며, 자세한 내용은 Image 컴포넌트를 참조하세요" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_pt_PT.json deleted file mode 100644 index aeb564476..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_pt_PT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 152, - "name": "Ink", - "localName": "Onda", - "info": "Torna as ondulações de água do InkWell e InkResponse eficazes, usadas para desenhar imagens ou outros componentes decorativos do Material.", - "lever": 3, - "family": 1, - "linkIds": [ - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Ink", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【padding】 : Preenchimento interno 【EdgeInsetsGeometry】", - "【decoration】 : Decoração 【Decoration】", - "【width】 : Largura 【double】", - "【height】 : Altura 【double】", - "【color】 : Cor 【Color】" - ] - }, - { - "file": "node2_image.dart", - "name": "Ondulação de água do Ink.image", - "desc": [ - "Os atributos são consistentes com o componente Image, consulte o componente Image para mais detalhes" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_ru_RU.json deleted file mode 100644 index 0f674edcf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_ru_RU.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 152, - "name": "Ink", - "localName": "Волна", - "info": "Делает водяные волны InkWell и InkResponse активными, используется для рисования изображений или других декоративных компонентов Material.", - "lever": 3, - "family": 1, - "linkIds": [ - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Ink", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【padding】 : Внутренний отступ 【EdgeInsetsGeometry】", - "【decoration】 : Декорация 【Decoration】", - "【width】 : Ширина 【double】", - "【height】 : Высота 【double】", - "【color】 : Цвет 【Color】" - ] - }, - { - "file": "node2_image.dart", - "name": "Водяные волны Ink.image", - "desc": [ - "Свойства совпадают с компонентом Image, подробнее см. компонент Image" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_zh-CN.json deleted file mode 100644 index 961f0dc92..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/desc_zh-CN.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 152, - "name": "Ink", - "localName": "水波", - "info": "使InkWell和InkResponse的水波纹有效,用于绘制图像或其他装饰的Material组件。", - "lever": 3, - "family": 1, - "linkIds": [ - 149, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Ink基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【padding】 : 内边距 【EdgeInsetsGeometry】", - "【decoration】 : 装饰 【Decoration】", - "【width】 : 宽 【double】", - "【height】 : 高 【double】", - "【color】 : 颜色 【Color】" - ] - }, - { - "file": "node2_image.dart", - "name": "Ink.image图片水波纹", - "desc": [ - "其中属性与Image组件一致,详见Image组件" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Ink/node1_base.dart deleted file mode 100644 index fdc0a1d71..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/node1_base.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class CustomInk extends StatelessWidget { - const CustomInk({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Material( - color: Colors.orangeAccent, - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Center( - child: Ink( - padding: const EdgeInsets.all(10), - decoration: const BoxDecoration( - color: Colors.yellow, - borderRadius: BorderRadius.all(Radius.circular(20))), - width: 200.0, - height: 100.0, - child: InkWell( - onTap: () {}, - child: const Center(child: Text('Hello')), - ), - ), - ), - ), - ); - } -} - diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Ink/node2_image.dart b/modules/widget_system/widgets/lib/StatefulWidget/Ink/node2_image.dart deleted file mode 100644 index aceedd2d6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Ink/node2_image.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - - -class InkImage extends StatelessWidget { - const InkImage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Material( - color: Colors.grey[800], - child: Center( - child: Ink.image( - image: const AssetImage('assets/images/sabar.webp'), - fit: BoxFit.cover, - width: 300.0, - height: 200.0, - child: InkWell( - onTap: () {}, - child: const Align( - alignment: Alignment.topLeft, - child: Padding( - padding: EdgeInsets.all(10.0), - child: Text('Chaos', - style: TextStyle( - fontWeight: FontWeight.w900, color: Colors.black)), - ), - )), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_de_DE.json deleted file mode 100644 index aca10f03e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_de_DE.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 149, - "name": "InkResponse", - "localName": "Wasserwellen-Reaktion", - "info": "Klickeffekt mit Wasserwellen, empfängt Ereignisse wie Klicken, Doppelklicken, Langdrücken, Abbrechen und Hervorhebungsänderungen. Kann Eigenschaften wie Wasserwellenfarbe, Radius, Hervorhebungsform usw. angeben.", - "lever": 1, - "family": 1, - "linkIds": [ - 150, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InkResponse grundlegende Ereignisse", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【onTap】 : Klickereignis 【Function()】", - "【onDoubleTap】 : Doppelklickereignis 【Function()】", - "【onTapCancel】 : Klick abbrechen 【Function()】", - "【onLongPress】 : Langdrückereignis 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "InkResponse andere Eigenschaften", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【onHighlightChanged】 : Hervorhebungsänderungsrückruf 【Function(bool)】", - "【highlightColor】 : Hervorhebungsfarbe 【Color】", - "【splashColor】 : Wasserwellenfarbe 【Color】", - "【radius】 : Wasserwellenradius 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_en_US.json deleted file mode 100644 index b550baae5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_en_US.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 149, - "name": "InkResponse", - "localName": "Ripple Response", - "info": "Ripple click effect, receiving click, double-click, long press, cancel, highlight change events, and can specify ripple color, radius, highlight shape and other properties.", - "lever": 1, - "family": 1, - "linkIds": [ - 150, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Events of InkResponse", - "desc": [ - "【child】 : Child component 【Widget】", - "【onTap】 : Click event 【Function()】", - "【onDoubleTap】 : Double-click event 【Function()】", - "【onTapCancel】 : Click cancel 【Function()】", - "【onLongPress】 : Long press event 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Other Properties of InkResponse", - "desc": [ - "【child】 : Child component 【Widget】", - "【onHighlightChanged】 : Highlight change callback 【Function(bool)】", - "【highlightColor】 : Highlight color 【Color】", - "【splashColor】 : Ripple color 【Color】", - "【radius】 : Ripple radius 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_es_ES.json deleted file mode 100644 index 6301b0fb5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_es_ES.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 149, - "name": "InkResponse", - "localName": "Respuesta de ondas", - "info": "Efecto de clic de ondas, recibe eventos de clic, doble clic, pulsación larga, cancelación y cambio de resaltado. Se pueden especificar propiedades como el color de las ondas, el radio, la forma de resaltado, etc.", - "lever": 1, - "family": 1, - "linkIds": [ - 150, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventos básicos de InkResponse", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【onTap】 : Evento de clic 【Function()】", - "【onDoubleTap】 : Evento de doble clic 【Function()】", - "【onTapCancel】 : Cancelación de clic 【Function()】", - "【onLongPress】 : Evento de pulsación larga 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Otras propiedades de InkResponse", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【onHighlightChanged】 : Callback de cambio de resaltado 【Function(bool)】", - "【highlightColor】 : Color de resaltado 【Color】", - "【splashColor】 : Color de las ondas 【Color】", - "【radius】 : Radio de las ondas 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_fr_FR.json deleted file mode 100644 index 7da358ce7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_fr_FR.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 149, - "name": "InkResponse", - "localName": "Réponse d'ondulation", - "info": "Effet de clic d'ondulation, reçoit les événements de clic, double-clic, appui long, annulation et changement de surbrillance. Peut spécifier la couleur de l'ondulation, le rayon, la forme de la surbrillance et d'autres propriétés.", - "lever": 1, - "family": 1, - "linkIds": [ - 150, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événements de base d'InkResponse", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【onTap】 : Événement de clic 【Function()】", - "【onDoubleTap】 : Événement de double-clic 【Function()】", - "【onTapCancel】 : Annulation de clic 【Function()】", - "【onLongPress】 : Événement d'appui long 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Autres propriétés d'InkResponse", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【onHighlightChanged】 : Rappel de changement de surbrillance 【Function(bool)】", - "【highlightColor】 : Couleur de surbrillance 【Color】", - "【splashColor】 : Couleur de l'ondulation 【Color】", - "【radius】 : Rayon de l'ondulation 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_it_IT.json deleted file mode 100644 index 9b01d305c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_it_IT.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 149, - "name": "InkResponse", - "localName": "Effetto Ripple", - "info": "Effetto di clic a ripple, riceve eventi di clic, doppio clic, pressione prolungata, annullamento e cambiamento di evidenziazione. È possibile specificare proprietà come il colore del ripple, il raggio e la forma dell'evidenziazione.", - "lever": 1, - "family": 1, - "linkIds": [ - 150, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventi di base di InkResponse", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【onTap】 : Evento di clic 【Function()】", - "【onDoubleTap】 : Evento di doppio clic 【Function()】", - "【onTapCancel】 : Annullamento clic 【Function()】", - "【onLongPress】 : Evento di pressione prolungata 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Altre proprietà di InkResponse", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【onHighlightChanged】 : Callback di cambiamento di evidenziazione 【Function(bool)】", - "【highlightColor】 : Colore di evidenziazione 【Color】", - "【splashColor】 : Colore del ripple 【Color】", - "【radius】 : Raggio del ripple 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_ja_JP.json deleted file mode 100644 index fa3339000..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_ja_JP.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 149, - "name": "InkResponse", - "localName": "リップルレスポンス", - "info": "リップルのクリック効果。クリック、ダブルクリック、長押し、キャンセル、ハイライト変更イベントを受け取り、リップルの色、半径、ハイライト形状などの属性を指定できます。", - "lever": 1, - "family": 1, - "linkIds": [ - 150, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InkResponse基本イベント", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【onTap】 : クリックイベント 【Function()】", - "【onDoubleTap】 : ダブルクリックイベント 【Function()】", - "【onTapCancel】 : クリックキャンセル 【Function()】", - "【onLongPress】 : 長押しイベント 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "InkResponseその他の属性", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【onHighlightChanged】 : ハイライト変更コールバック 【Function(bool)】", - "【highlightColor】 : ハイライト色 【Color】", - "【splashColor】 : リップル色 【Color】", - "【radius】 : リップル半径 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_ko_KR.json deleted file mode 100644 index 1b4ca2a7a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_ko_KR.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 149, - "name": "InkResponse", - "localName": "물결 반응", - "info": "물결 클릭 효과, 클릭, 더블 클릭, 길게 누르기, 취소, 하이라이트 변경 이벤트를 수신하며, 물결 색상, 반경, 하이라이트 모양 등의 속성을 지정할 수 있습니다.", - "lever": 1, - "family": 1, - "linkIds": [ - 150, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InkResponse 기본 이벤트", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【onTap】 : 클릭 이벤트 【Function()】", - "【onDoubleTap】 : 더블 클릭 이벤트 【Function()】", - "【onTapCancel】 : 클릭 취소 【Function()】", - "【onLongPress】 : 길게 누르기 이벤트 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "InkResponse 기타 속성", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【onHighlightChanged】 : 하이라이트 변경 콜백 【Function(bool)】", - "【highlightColor】 : 하이라이트 색상 【Color】", - "【splashColor】 : 물결 색상 【Color】", - "【radius】 : 물결 반경 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_pt_PT.json deleted file mode 100644 index 7f36fcd83..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_pt_PT.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 149, - "name": "InkResponse", - "localName": "Resposta de Ondulação", - "info": "Efeito de clique de ondulação, recebe eventos de clique, duplo clique, pressionamento longo, cancelamento e mudança de destaque, podendo especificar a cor da ondulação, raio, forma de destaque, entre outros atributos.", - "lever": 1, - "family": 1, - "linkIds": [ - 150, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventos Básicos do InkResponse", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【onTap】 : Evento de clique 【Function()】", - "【onDoubleTap】 : Evento de duplo clique 【Function()】", - "【onTapCancel】 : Cancelamento de clique 【Function()】", - "【onLongPress】 : Evento de pressionamento longo 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Outras Propriedades do InkResponse", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【onHighlightChanged】 : Callback de mudança de destaque 【Function(bool)】", - "【highlightColor】 : Cor de destaque 【Color】", - "【splashColor】 : Cor da ondulação 【Color】", - "【radius】 : Raio da ondulação 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_ru_RU.json deleted file mode 100644 index 255ee434f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_ru_RU.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 149, - "name": "InkResponse", - "localName": "Эффект ряби", - "info": "Эффект нажатия с рябью, принимает события нажатия, двойного нажатия, долгого нажатия, отмены и изменения выделения. Можно указать цвет ряби, радиус, форму выделения и другие свойства.", - "lever": 1, - "family": 1, - "linkIds": [ - 150, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основные события InkResponse", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【onTap】 : Событие нажатия 【Function()】", - "【onDoubleTap】 : Событие двойного нажатия 【Function()】", - "【onTapCancel】 : Отмена нажатия 【Function()】", - "【onLongPress】 : Событие долгого нажатия 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Другие свойства InkResponse", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【onHighlightChanged】 : Обратный вызов изменения выделения 【Function(bool)】", - "【highlightColor】 : Цвет выделения 【Color】", - "【splashColor】 : Цвет ряби 【Color】", - "【radius】 : Радиус ряби 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_zh-CN.json deleted file mode 100644 index 900fa0b28..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/desc_zh-CN.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 149, - "name": "InkResponse", - "localName": "水波纹响应", - "info": "水波纹的点击效果,接收点击、双击、长按、取消、高亮变化事件,可指定水波纹颜色、半径、高亮形状等属性。", - "lever": 1, - "family": 1, - "linkIds": [ - 150, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InkResponse基本事件", - "desc": [ - "【child】 : 子组件 【Widget】", - "【onTap】 : 点击事件 【Function()】", - "【onDoubleTap】 : 双击事件 【Function()】", - "【onTapCancel】 : 点击取消 【Function()】", - "【onLongPress】 : 长按事件 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "InkResponse其他属性", - "desc": [ - "【child】 : 子组件 【Widget】", - "【onHighlightChanged】 : 高亮变化回调 【Function(bool)】", - "【highlightColor】 : 高亮色 【Color】", - "【splashColor】 : 水波纹色 【Color】", - "【radius】 : 水波半径 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/node1_base.dart deleted file mode 100644 index da42a370e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/node1_base.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -class CustomInkResponse extends StatefulWidget { - const CustomInkResponse({Key? key}) : super(key: key); - - @override - _CustomInkResponseState createState() => _CustomInkResponseState(); -} - -class _CustomInkResponseState extends State { - String _info = 'Push'; - - @override - Widget build(BuildContext context) { - return InkResponse( - onTap: () => setState(() => _info = 'onTap'), - onDoubleTap: () => setState(() => _info = 'onDoubleTap'), - onLongPress: () => setState(() => _info = 'onLongPress'), - onTapCancel: () => setState(() => _info = 'onTapCancel'), - child: Container( - alignment: Alignment.center, - width: 200, - height: 100, - child: Text(_info), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/node2_color.dart b/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/node2_color.dart deleted file mode 100644 index b9f452696..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkResponse/node2_color.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -class ColorInkResponse extends StatefulWidget { - const ColorInkResponse({Key? key}) : super(key: key); - - @override - _ColorInkResponseState createState() => _ColorInkResponseState(); -} - -class _ColorInkResponseState extends State { - String _info = 'Push'; - - @override - Widget build(BuildContext context) { - return InkResponse( - onTap: () => {}, - splashColor: Colors.blueAccent, - highlightColor: Colors.orange, - onHighlightChanged: (v) => - setState(() => _info = 'onHighlightChanged:$v'), - radius: 50, - child: Container( - alignment: Alignment.center, - width: 200, - height: 100, - child: Text(_info), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_de_DE.json deleted file mode 100644 index d68bb899c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_de_DE.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 150, - "name": "InkWell", - "localName": "Wasserwelle", - "info": "Unterklasse von InkResponse, grundlegende Eigenschaften wie InkResponse. Eine rechteckige Wasserwelle, die den Radius der abgerundeten Ecken, die Form der Umrandung usw. kennt.", - "lever": 4, - "family": 1, - "linkIds": [ - 149, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Ereignisse von InkWell", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【onTap】 : Klickereignis 【Function()】", - "【onDoubleTap】 : Doppelklickereignis 【Function()】", - "【onTapCancel】 : Klick abbrechen 【Function()】", - "【onLongPress】 : Langdrücken 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Weitere Eigenschaften von InkWell", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【onHighlightChanged】 : Rückruf bei Hervorhebungsänderung 【Function(bool)】", - "【highlightColor】 : Hervorhebungsfarbe 【Color】", - "【splashColor】 : Wasserwellenfarbe 【Color】", - "【radius】 : Wasserwellenradius 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_en_US.json deleted file mode 100644 index 4de7cf5d4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_en_US.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 150, - "name": "InkWell", - "localName": "Ripple", - "info": "A subclass of InkResponse, with basic properties similar to InkResponse. A rectangular area with ripple effects, allowing customization of corner radius, border shape, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 149, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InkWell Basic Events", - "desc": [ - "【child】: Child component 【Widget】", - "【onTap】: Tap event 【Function()】", - "【onDoubleTap】: Double tap event 【Function()】", - "【onTapCancel】: Tap cancel 【Function()】", - "【onLongPress】: Long press event 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "InkWell Other Properties", - "desc": [ - "【child】: Child component 【Widget】", - "【onHighlightChanged】: Highlight change callback 【Function(bool)】", - "【highlightColor】: Highlight color 【Color】", - "【splashColor】: Ripple color 【Color】", - "【radius】: Ripple radius 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_es_ES.json deleted file mode 100644 index 8862b4a31..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_es_ES.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 150, - "name": "InkWell", - "localName": "Ondulación", - "info": "Subclase de InkResponse, con propiedades básicas similares a InkResponse. Una región rectangular de ondulación, que puede conocer el radio de las esquinas redondeadas, la forma del borde, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 149, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventos básicos de InkWell", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【onTap】 : Evento de clic 【Function()】", - "【onDoubleTap】 : Evento de doble clic 【Function()】", - "【onTapCancel】 : Cancelación de clic 【Function()】", - "【onLongPress】 : Evento de pulsación larga 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Otras propiedades de InkWell", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【onHighlightChanged】 : Callback de cambio de resaltado 【Function(bool)】", - "【highlightColor】 : Color de resaltado 【Color】", - "【splashColor】 : Color de la ondulación 【Color】", - "【radius】 : Radio de la ondulación 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_fr_FR.json deleted file mode 100644 index 8f623f9ac..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_fr_FR.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 150, - "name": "InkWell", - "localName": "Effet de vague", - "info": "Sous-classe de InkResponse, les propriétés de base sont les mêmes que InkResponse. Une zone rectangulaire avec un effet de vague, permet de connaître le rayon des coins arrondis, la forme de la bordure, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 149, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événements de base d'InkWell", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【onTap】 : Événement de clic 【Function()】", - "【onDoubleTap】 : Événement de double clic 【Function()】", - "【onTapCancel】 : Annulation de clic 【Function()】", - "【onLongPress】 : Événement de pression longue 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Autres propriétés d'InkWell", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【onHighlightChanged】 : Rappel de changement de surbrillance 【Function(bool)】", - "【highlightColor】 : Couleur de surbrillance 【Color】", - "【splashColor】 : Couleur de l'effet de vague 【Color】", - "【radius】 : Rayon de l'effet de vague 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_it_IT.json deleted file mode 100644 index 19456853c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_it_IT.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 150, - "name": "InkWell", - "localName": "Onda d'acqua", - "info": "Sottoclasse di InkResponse, le proprietà di base sono le stesse di InkResponse. Un'area rettangolare con un'effetto onda d'acqua, può conoscere il raggio degli angoli, la forma del bordo, ecc.", - "lever": 4, - "family": 1, - "linkIds": [ - 149, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventi di base di InkWell", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【onTap】 : Evento di clic 【Function()】", - "【onDoubleTap】 : Evento di doppio clic 【Function()】", - "【onTapCancel】 : Annullamento del clic 【Function()】", - "【onLongPress】 : Evento di pressione prolungata 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Altre proprietà di InkWell", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【onHighlightChanged】 : Callback di cambiamento dell'evidenziazione 【Function(bool)】", - "【highlightColor】 : Colore di evidenziazione 【Color】", - "【splashColor】 : Colore dell'onda d'acqua 【Color】", - "【radius】 : Raggio dell'onda 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_ja_JP.json deleted file mode 100644 index 32ba38c79..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_ja_JP.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 150, - "name": "InkWell", - "localName": "波紋", - "info": "InkResponseのサブクラスで、基本属性はInkResponseと同じです。矩形領域の波紋で、角丸半径や辺の形状などを知ることができます。", - "lever": 4, - "family": 1, - "linkIds": [ - 149, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InkWell基本イベント", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【onTap】 : タップイベント 【Function()】", - "【onDoubleTap】 : ダブルタップイベント 【Function()】", - "【onTapCancel】 : タップキャンセル 【Function()】", - "【onLongPress】 : 長押しイベント 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "InkWellその他の属性", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【onHighlightChanged】 : ハイライト変更コールバック 【Function(bool)】", - "【highlightColor】 : ハイライト色 【Color】", - "【splashColor】 : 波紋色 【Color】", - "【radius】 : 波紋半径 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_ko_KR.json deleted file mode 100644 index 7f5b712ca..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_ko_KR.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 150, - "name": "InkWell", - "localName": "물결무늬", - "info": "InkResponse의 하위 클래스로, 기본 속성은 InkResponse와 동일합니다. 둥근 모서리 반경, 테두리 모양 등을 알 수 있는 직사각형 영역의 물결무늬입니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 149, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InkWell 기본 이벤트", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【onTap】 : 탭 이벤트 【Function()】", - "【onDoubleTap】 : 더블 탭 이벤트 【Function()】", - "【onTapCancel】 : 탭 취소 【Function()】", - "【onLongPress】 : 롱 프레스 이벤트 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "InkWell 기타 속성", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【onHighlightChanged】 : 하이라이트 변경 콜백 【Function(bool)】", - "【highlightColor】 : 하이라이트 색상 【Color】", - "【splashColor】 : 물결무늬 색상 【Color】", - "【radius】 : 물결 반경 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_pt_PT.json deleted file mode 100644 index 2bc5f24a0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_pt_PT.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 150, - "name": "InkWell", - "localName": "Onda de Água", - "info": "Subclasse de InkResponse, com propriedades básicas semelhantes ao InkResponse. Uma área retangular de onda de água, que pode conhecer o raio de curvatura, a forma da borda, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 149, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventos Básicos do InkWell", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【onTap】 : Evento de clique 【Function()】", - "【onDoubleTap】 : Evento de duplo clique 【Function()】", - "【onTapCancel】 : Cancelamento de clique 【Function()】", - "【onLongPress】 : Evento de pressionar longo 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Outras Propriedades do InkWell", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【onHighlightChanged】 : Callback de mudança de destaque 【Function(bool)】", - "【highlightColor】 : Cor de destaque 【Color】", - "【splashColor】 : Cor da onda de água 【Color】", - "【radius】 : Raio da onda 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_ru_RU.json deleted file mode 100644 index bf0b487df..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_ru_RU.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 150, - "name": "InkWell", - "localName": "Водяные волны", - "info": "Подкласс InkResponse, основные свойства такие же, как у InkResponse. Прямоугольная область с водяными волнами, можно узнать радиус скругления, форму границы и т.д.", - "lever": 4, - "family": 1, - "linkIds": [ - 149, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основные события InkWell", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【onTap】 : Событие нажатия 【Function()】", - "【onDoubleTap】 : Событие двойного нажатия 【Function()】", - "【onTapCancel】 : Отмена нажатия 【Function()】", - "【onLongPress】 : Событие длительного нажатия 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "Другие свойства InkWell", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【onHighlightChanged】 : Обратный вызов изменения подсветки 【Function(bool)】", - "【highlightColor】 : Цвет подсветки 【Color】", - "【splashColor】 : Цвет водяных волн 【Color】", - "【radius】 : Радиус волны 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_zh-CN.json deleted file mode 100644 index 46a7480fb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/desc_zh-CN.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 150, - "name": "InkWell", - "localName": "水波纹", - "info": "InkResponse的子类,基本属性同InkResponse。一个矩形区域的水波纹,可以知道圆角半径,边线形状等。", - "lever": 4, - "family": 1, - "linkIds": [ - 149, - 152 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InkWell基本事件", - "desc": [ - "【child】 : 子组件 【Widget】", - "【onTap】 : 点击事件 【Function()】", - "【onDoubleTap】 : 双击事件 【Function()】", - "【onTapCancel】 : 点击取消 【Function()】", - "【onLongPress】 : 长按事件 【Function()】" - ] - }, - { - "file": "node2_color.dart", - "name": "InkWell其他属性", - "desc": [ - "【child】 : 子组件 【Widget】", - "【onHighlightChanged】 : 高亮变化回调 【Function(bool)】", - "【highlightColor】 : 高亮色 【Color】", - "【splashColor】 : 水波纹色 【Color】", - "【radius】 : 水波半径 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/node1_base.dart deleted file mode 100644 index 11d053a5d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/node1_base.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -class CustomInkWell extends StatefulWidget { - const CustomInkWell({Key? key}) : super(key: key); - - @override - _CustomInkWellState createState() => _CustomInkWellState(); -} - -class _CustomInkWellState extends State { - String _info = 'Push'; - - @override - Widget build(BuildContext context) { - return InkWell( - onTap: () => setState(() => _info = 'onTap'), - onDoubleTap: () => setState(() => _info = 'onDoubleTap'), - onLongPress: () => setState(() => _info = 'onLongPress'), - onTapCancel: () => setState(() => _info = 'onTapCancel'), - child: Container( - alignment: Alignment.center, - width: 120, - height: 50, - child: Text(_info), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/node2_color.dart b/modules/widget_system/widgets/lib/StatefulWidget/InkWell/node2_color.dart deleted file mode 100644 index f10b47a16..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InkWell/node2_color.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -class ColorInkWell extends StatefulWidget { - const ColorInkWell({Key? key}) : super(key: key); - - @override - _ColorInkWellState createState() => _ColorInkWellState(); -} - -class _ColorInkWellState extends State { - String _info = 'Push'; - - @override - Widget build(BuildContext context) { - return InkWell( - onTap: () => {}, - splashColor: Colors.blueAccent, - highlightColor: Colors.orange, - onHighlightChanged: (v) => - setState(() => _info = 'onHighlightChanged:$v'), - radius: 50, - child: Container( - alignment: Alignment.center, - width: 180, - height: 50, - child: Text(_info), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_de_DE.json deleted file mode 100644 index 37aa2970d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 231, - "name": "InputDecorator", - "localName": "Eingabedekor", - "info": "Eine Dekoration, die die Eingabe umhüllt, ist eine der Kernkomponenten von TextField und wird normalerweise nicht alleine verwendet.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von InputDecorator", - "desc": [ - "【decoration】: Dekorationsobjekt 【InputDecoration】", - "【textAlign】: Textausrichtung 【TextAlign】", - "【child】: Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_en_US.json deleted file mode 100644 index b627a301a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 231, - "name": "InputDecorator", - "localName": "Input Decorator", - "info": "A decorator that wraps around the input, one of the core components of TextField, generally not used alone.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of InputDecorator", - "desc": [ - "【decoration】: Decoration object 【InputDecoration】", - "【textAlign】: Text alignment 【TextAlign】", - "【child】: Child widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_es_ES.json deleted file mode 100644 index e00e64b7e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 231, - "name": "InputDecorator", - "localName": "Decorador de entrada", - "info": "Un decorador que envuelve la entrada, es uno de los componentes centrales subyacentes de TextField, generalmente no se usa por separado.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de InputDecorator", - "desc": [ - "【decoration】 : Objeto de decoración 【InputDecoration】", - "【textAlign】 : Alineación del texto 【TextAlign】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_fr_FR.json deleted file mode 100644 index 389496841..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 231, - "name": "InputDecorator", - "localName": "Décorateur d'entrée", - "info": "Un décorateur qui enveloppe l'entrée, est l'un des composants de base de TextField, généralement pas utilisé seul.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'InputDecorator", - "desc": [ - "【decoration】 : Objet de décoration 【InputDecoration】", - "【textAlign】 : Alignement du texte 【TextAlign】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_it_IT.json deleted file mode 100644 index 34a56a088..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 231, - "name": "InputDecorator", - "localName": "Decorazione di Input", - "info": "Una decorazione che avvolge l'input all'esterno, è uno dei componenti principali di TextField, generalmente non utilizzato da solo.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di Base di InputDecorator", - "desc": [ - "【decoration】 : Oggetto di decorazione 【InputDecoration】", - "【textAlign】 : Allineamento del testo 【TextAlign】", - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_ja_JP.json deleted file mode 100644 index 4e26de07a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 231, - "name": "InputDecorator", - "localName": "入力デコレータ", - "info": "入力の外側を包むデコレーションで、TextFieldのコアコンポーネントの一つです。通常は単独で使用しません。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InputDecoratorの基本使用", - "desc": [ - "【decoration】 : デコレーションオブジェクト 【InputDecoration】", - "【textAlign】 : テキストの配置 【TextAlign】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_ko_KR.json deleted file mode 100644 index 94d452bf4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 231, - "name": "InputDecorator", - "localName": "입력 장식", - "info": "입력을 감싸는 외부 장식으로, TextField의 핵심 구성 요소 중 하나이며 일반적으로 단독으로 사용되지 않습니다.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InputDecorator 기본 사용", - "desc": [ - "【decoration】 : 장식 객체 【InputDecoration】", - "【textAlign】 : 텍스트 정렬 방식 【TextAlign】", - "【child】 : 자식 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_pt_PT.json deleted file mode 100644 index f5f0cfcff..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 231, - "name": "InputDecorator", - "localName": "Decoração de Entrada", - "info": "Decoração que envolve a entrada, é um dos componentes principais do TextField, geralmente não é usado sozinho.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do InputDecorator", - "desc": [ - "【decoration】 : Objeto de decoração 【InputDecoration】", - "【textAlign】 : Alinhamento do texto 【TextAlign】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_ru_RU.json deleted file mode 100644 index ce8ef0995..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 231, - "name": "InputDecorator", - "localName": "Декоратор ввода", - "info": "Декоратор, оборачивающий ввод, является одним из основных компонентов TextField и обычно не используется отдельно.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование InputDecorator", - "desc": [ - "【decoration】 : Объект декорации 【InputDecoration】", - "【textAlign】 : Выравнивание текста 【TextAlign】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_zh-CN.json deleted file mode 100644 index 629ece4a0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 231, - "name": "InputDecorator", - "localName": "输入装饰", - "info": "在外层包裹输入的装饰,是TextField的底层核心组件之一,一般不单独使用。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InputDecorator基本使用", - "desc": [ - "【decoration】 : 装饰对象 【InputDecoration】", - "【textAlign】 : 文字对齐方式 【TextAlign】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/node1_base.dart deleted file mode 100644 index 8bac27f06..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InputDecorator/node1_base.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class InputDecoratorDemo extends StatelessWidget { - const InputDecoratorDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.all(8.0), - child: InputDecorator( - decoration: const InputDecoration(), - child: EditableText( - controller: TextEditingController(text:'hello'), - focusNode: FocusNode(), - style: const TextStyle(fontSize: 12,color: Colors.black), - cursorColor: Colors.blue, - backgroundCursorColor: Colors.orange, - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_de_DE.json deleted file mode 100644 index 90c0b174f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_de_DE.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 351, - "name": "InteractiveViewer", - "localName": "Interaktiver Viewer", - "info": "Kapselt hauptsächlich Gesteninteraktionen wie Verschieben und Zoomen, vereinfacht die Verwendung und ermöglicht die Angabe von Verschiebegrenzen, Zoomverhältnissen, Gestenerkennung usw.", - "lever": 4, - "family": 1, - "linkIds": [ - 147, - 146, - 78 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von InteractiveViewer", - "desc": [ - "【alignPanAxis】 : Entlang der Achse ziehen 【bool】", - "【boundaryMargin】 : Randabstand 【EdgeInsets】", - "【panEnabled】 : Verschiebung aktiviert 【bool】", - "【scaleEnabled】 : Skalierung aktiviert 【bool】", - "【maxScale】 : Maximale Vergrößerung 【double】", - "【minScale】 : Minimale Verkleinerung 【double】", - "【onInteractionEnd】 : Rückruf bei Interaktionsende 【GestureScaleEndCallback】", - "【onInteractionStart】 : Rückruf bei Interaktionsstart 【GestureScaleStartCallback】", - "【onInteractionUpdate】 : Rückruf bei Interaktionsaktualisierung 【GestureScaleUpdateCallback】", - "【child】 : Cursorfarbe 【Widget】" - ] - }, - { - "file": "node2_constrained.dart", - "name": "Test der constrained-Eigenschaft", - "desc": [ - "【constrained】 : Eingeschränkt 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Verwendung des Transformationscontrollers", - "desc": [ - "【transformationController】 : Transformationscontroller 【TransformationController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_en_US.json deleted file mode 100644 index d02fcc098..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_en_US.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 351, - "name": "InteractiveViewer", - "localName": "Interactive Viewer", - "info": "Mainly encapsulates gesture interactions such as moving and zooming, simplifies usage, and allows specifying movement boundaries, zoom ratios, gesture monitoring, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 147, - 146, - 78 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of InteractiveViewer", - "desc": [ - "【alignPanAxis】: Drag along the axis 【bool】", - "【boundaryMargin】: Boundary margin 【EdgeInsets】", - "【panEnabled】: Whether panning is enabled 【bool】", - "【scaleEnabled】: Whether scaling is enabled 【bool】", - "【maxScale】: Maximum zoom scale 【double】", - "【minScale】: Minimum zoom scale 【double】", - "【onInteractionEnd】: Interaction end callback 【GestureScaleEndCallback】", - "【onInteractionStart】: Interaction start callback 【GestureScaleStartCallback】", - "【onInteractionUpdate】: Interaction update callback 【GestureScaleUpdateCallback】", - "【child】: Cursor color 【Widget】" - ] - }, - { - "file": "node2_constrained.dart", - "name": "Constrained Property Test", - "desc": [ - "【constrained】: Constrained 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Usage of Transformation Controller", - "desc": [ - "【transformationController】: Transformation controller 【TransformationController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_es_ES.json deleted file mode 100644 index 4c309f36c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_es_ES.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 351, - "name": "InteractiveViewer", - "localName": "Visor Interactivo", - "info": "Principalmente encapsula interacciones gestuales como mover y hacer zoom, simplificando su uso. Puede especificar límites de movimiento, proporciones de zoom, escucha de gestos, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 147, - 146, - 78 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de InteractiveViewer", - "desc": [ - "【alignPanAxis】 : Arrastrar a lo largo del eje 【bool】", - "【boundaryMargin】 : Margen del borde 【EdgeInsets】", - "【panEnabled】 : Si se puede desplazar 【bool】", - "【scaleEnabled】 : Si se puede hacer zoom 【bool】", - "【maxScale】 : Máximo aumento 【double】", - "【minScale】 : Mínima reducción 【double】", - "【onInteractionEnd】 : Callback al finalizar la interacción 【GestureScaleEndCallback】", - "【onInteractionStart】 : Callback al iniciar la interacción 【GestureScaleStartCallback】", - "【onInteractionUpdate】 : Callback al actualizar la interacción 【GestureScaleUpdateCallback】", - "【child】 : Color del cursor 【Widget】" - ] - }, - { - "file": "node2_constrained.dart", - "name": "Prueba de la propiedad constrained", - "desc": [ - "【constrained】 : Restringido 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Uso del controlador de transformación", - "desc": [ - "【transformationController】 : Controlador de transformación 【TransformationController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_fr_FR.json deleted file mode 100644 index eb4de3052..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_fr_FR.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 351, - "name": "InteractiveViewer", - "localName": "Vue interactive", - "info": "Principalement pour encapsuler les interactions gestuelles telles que le déplacement et le zoom, simplifier l'utilisation, et permettre de spécifier les limites de déplacement, les ratios de zoom, l'écoute des gestes, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 147, - 146, - 78 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'InteractiveViewer", - "desc": [ - "【alignPanAxis】 : Glisser le long de l'axe 【bool】", - "【boundaryMargin】 : Marge de la limite 【EdgeInsets】", - "【panEnabled】 : Peut être déplacé 【bool】", - "【scaleEnabled】 : Peut être zoomé 【bool】", - "【maxScale】 : Facteur de zoom maximum 【double】", - "【minScale】 : Facteur de zoom minimum 【double】", - "【onInteractionEnd】 : Rappel de fin d'interaction 【GestureScaleEndCallback】", - "【onInteractionStart】 : Rappel de début d'interaction 【GestureScaleStartCallback】", - "【onInteractionUpdate】 : Rappel de mise à jour d'interaction 【GestureScaleUpdateCallback】", - "【child】 : Couleur du curseur 【Widget】" - ] - }, - { - "file": "node2_constrained.dart", - "name": "Test de la propriété constrained", - "desc": [ - "【constrained】 : Contraint 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Utilisation du contrôleur de transformation", - "desc": [ - "【transformationController】 : Contrôleur de transformation 【TransformationController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_it_IT.json deleted file mode 100644 index b182913ef..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_it_IT.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 351, - "name": "InteractiveViewer", - "localName": "Visualizzatore Interattivo", - "info": "Principalmente incapsula le interazioni gestuali come lo spostamento e lo zoom, semplificando l'uso, è possibile specificare i limiti di movimento, la scala di zoom, il monitoraggio dei gesti, ecc.", - "lever": 4, - "family": 1, - "linkIds": [ - 147, - 146, - 78 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di InteractiveViewer", - "desc": [ - "【alignPanAxis】 : Trascina lungo l'asse 【bool】", - "【boundaryMargin】 : Margine del bordo 【EdgeInsets】", - "【panEnabled】 : Se è possibile traslare 【bool】", - "【scaleEnabled】 : Se è possibile ridimensionare 【bool】", - "【maxScale】 : Fattore di ingrandimento massimo 【double】", - "【minScale】 : Fattore di riduzione minimo 【double】", - "【onInteractionEnd】 : Callback di fine interazione 【GestureScaleEndCallback】", - "【onInteractionStart】 : Callback di inizio interazione 【GestureScaleStartCallback】", - "【onInteractionUpdate】 : Callback di aggiornamento interazione 【GestureScaleUpdateCallback】", - "【child】 : Colore del cursore 【Widget】" - ] - }, - { - "file": "node2_constrained.dart", - "name": "Test della proprietà constrained", - "desc": [ - "【constrained】 : Vincolato 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Uso del controller di trasformazione", - "desc": [ - "【transformationController】 : Controller di trasformazione 【TransformationController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_ja_JP.json deleted file mode 100644 index 3028d848e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_ja_JP.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 351, - "name": "InteractiveViewer", - "localName": "インタラクティブビュー", - "info": "主に移動、ズームなどのジェスチャー操作をカプセル化し、使用を簡素化します。移動の境界、ズーム比率、ジェスチャーリスナーなどを指定できます。", - "lever": 4, - "family": 1, - "linkIds": [ - 147, - 146, - 78 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InteractiveViewerの基本使用", - "desc": [ - "【alignPanAxis】 : 軸に沿ってドラッグ 【bool】", - "【boundaryMargin】 : 境界マージン 【EdgeInsets】", - "【panEnabled】 : 平行移動可能かどうか 【bool】", - "【scaleEnabled】 : ズーム可能かどうか 【bool】", - "【maxScale】 : 最大ズーム倍率 【double】", - "【minScale】 : 最小ズーム倍率 【double】", - "【onInteractionEnd】 : インタラクション終了コールバック 【GestureScaleEndCallback】", - "【onInteractionStart】 : インタラクション開始コールバック 【GestureScaleStartCallback】", - "【onInteractionUpdate】 : インタラクション更新コールバック 【GestureScaleUpdateCallback】", - "【child】 : カーソルカラー 【Widget】" - ] - }, - { - "file": "node2_constrained.dart", - "name": "constrained属性のテスト", - "desc": [ - "【constrained】 : 制約付き 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "変換コントローラーの使用", - "desc": [ - "【transformationController】 : 変換コントローラー 【TransformationController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_ko_KR.json deleted file mode 100644 index 76bf8581e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_ko_KR.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 351, - "name": "InteractiveViewer", - "localName": "인터랙티브 뷰어", - "info": "주로 이동, 확대/축소 등의 제스처 인터랙션을 캡슐화하여 사용을 단순화하며, 이동 경계, 확대/축소 비율, 제스처 리스너 등을 지정할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 147, - 146, - 78 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InteractiveViewer 기본 사용", - "desc": [ - "【alignPanAxis】 : 축을 따라 드래그 【bool】", - "【boundaryMargin】 : 경계 여백 【EdgeInsets】", - "【panEnabled】 : 이동 가능 여부 【bool】", - "【scaleEnabled】 : 확대/축소 가능 여부 【bool】", - "【maxScale】 : 최대 확대 배율 【double】", - "【minScale】 : 최소 축소 배율 【double】", - "【onInteractionEnd】 : 인터랙션 종료 콜백 【GestureScaleEndCallback】", - "【onInteractionStart】 : 인터랙션 시작 콜백 【GestureScaleStartCallback】", - "【onInteractionUpdate】 : 인터랙션 업데이트 콜백 【GestureScaleUpdateCallback】", - "【child】 : 커서 색상 【Widget】" - ] - }, - { - "file": "node2_constrained.dart", - "name": "constrained 속성 테스트", - "desc": [ - "【constrained】 : 제약이 있는 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "변환 컨트롤러 사용", - "desc": [ - "【transformationController】 : 변환 컨트롤러 【TransformationController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_pt_PT.json deleted file mode 100644 index be7b44f3e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_pt_PT.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 351, - "name": "InteractiveViewer", - "localName": "Visualizador Interativo", - "info": "Principalmente encapsula interações gestuais como movimento e zoom, simplificando o uso. Pode especificar limites de movimento, proporção de zoom, monitorização de gestos, etc.", - "lever": 4, - "family": 1, - "linkIds": [ - 147, - 146, - 78 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do InteractiveViewer", - "desc": [ - "【alignPanAxis】 : Arrastar ao longo do eixo 【bool】", - "【boundaryMargin】 : Margem da fronteira 【EdgeInsets】", - "【panEnabled】 : Se pode ser movido 【bool】", - "【scaleEnabled】 : Se pode ser ampliado 【bool】", - "【maxScale】 : Fator de ampliação máximo 【double】", - "【minScale】 : Fator de redução mínimo 【double】", - "【onInteractionEnd】 : Callback de fim de interação 【GestureScaleEndCallback】", - "【onInteractionStart】 : Callback de início de interação 【GestureScaleStartCallback】", - "【onInteractionUpdate】 : Callback de atualização de interação 【GestureScaleUpdateCallback】", - "【child】 : Cor do cursor 【Widget】" - ] - }, - { - "file": "node2_constrained.dart", - "name": "Teste da Propriedade Constrained", - "desc": [ - "【constrained】 : Restrito 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Uso do Controlador de Transformação", - "desc": [ - "【transformationController】 : Controlador de transformação 【TransformationController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_ru_RU.json deleted file mode 100644 index cf059b7b0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_ru_RU.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 351, - "name": "InteractiveViewer", - "localName": "Интерактивное представление", - "info": "Основная цель - инкапсуляция жестов, таких как перемещение и масштабирование, упрощение использования, возможность указания границ перемещения, масштабирования, прослушивания жестов и т.д.", - "lever": 4, - "family": 1, - "linkIds": [ - 147, - 146, - 78 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование InteractiveViewer", - "desc": [ - "【alignPanAxis】 : Перетаскивание по оси 【bool】", - "【boundaryMargin】 : Отступ границы 【EdgeInsets】", - "【panEnabled】 : Возможность панорамирования 【bool】", - "【scaleEnabled】 : Возможность масштабирования 【bool】", - "【maxScale】 : Максимальный коэффициент увеличения 【double】", - "【minScale】 : Минимальный коэффициент уменьшения 【double】", - "【onInteractionEnd】 : Обратный вызов завершения взаимодействия 【GestureScaleEndCallback】", - "【onInteractionStart】 : Обратный вызов начала взаимодействия 【GestureScaleStartCallback】", - "【onInteractionUpdate】 : Обратный вызов обновления взаимодействия 【GestureScaleUpdateCallback】", - "【child】 : Цвет курсора 【Widget】" - ] - }, - { - "file": "node2_constrained.dart", - "name": "Тестирование свойства constrained", - "desc": [ - "【constrained】 : Ограниченный 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Использование контроллера преобразования", - "desc": [ - "【transformationController】 : Контроллер преобразования 【TransformationController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_zh-CN.json deleted file mode 100644 index 13775de26..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/desc_zh-CN.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 351, - "name": "InteractiveViewer", - "localName": "交互视图", - "info": "主要对移动、缩放等手势交互进行封装,简化使用,可指定移动边界、缩放比例、手势监听等。", - "lever": 4, - "family": 1, - "linkIds": [ - 147, - 146, - 78 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "InteractiveViewer基本使用", - "desc": [ - "【alignPanAxis】 : 沿轴拖动 【bool】", - "【boundaryMargin】 : 边界边距 【EdgeInsets】", - "【panEnabled】 : 是否可平移 【bool】", - "【scaleEnabled】 : 是否可缩放 【bool】", - "【maxScale】 : 最大放大倍数 【double】", - "【minScale】 : 最小缩小倍数 【double】", - "【onInteractionEnd】 : 交互结束回调 【GestureScaleEndCallback】", - "【onInteractionStart】 : 交互开始回调 【GestureScaleStartCallback】", - "【onInteractionUpdate】 : 交互更新回调 【GestureScaleUpdateCallback】", - "【child】 : 游标颜色 【Widget】" - ] - }, - { - "file": "node2_constrained.dart", - "name": "constrained属性测试", - "desc": [ - "【constrained】 : 受约束的 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "变换控制器的使用", - "desc": [ - "【transformationController】 : 变换控制器 【TransformationController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/node1_base.dart deleted file mode 100644 index 1a2bb7955..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/node1_base.dart +++ /dev/null @@ -1,41 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class InteractiveViewerDemo extends StatelessWidget { - const InteractiveViewerDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - height: 150, - color: Colors.grey.withAlpha(33), - child: InteractiveViewer( - boundaryMargin: const EdgeInsets.all(40.0), - maxScale: 2.5, - minScale: 0.3, - panEnabled: true, - scaleEnabled: true, - child: Image.asset('assets/images/caver.webp'), - onInteractionStart: _onInteractionStart, - onInteractionUpdate: _onInteractionUpdate, - onInteractionEnd: _onInteractionEnd, - ), - ); - } - - void _onInteractionStart(ScaleStartDetails details) { - print('onInteractionStart----' + details.toString()); - } - - void _onInteractionUpdate(ScaleUpdateDetails details) { - print('onInteractionUpdate----' + details.toString()); - } - - void _onInteractionEnd(ScaleEndDetails details) { - print('onInteractionEnd----' + details.toString()); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/node2_constrained.dart b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/node2_constrained.dart deleted file mode 100644 index 75c856055..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/node2_constrained.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class InteractiveViewerDemo2 extends StatelessWidget { - const InteractiveViewerDemo2({Key? key}) : super(key: key); - - final List colors = const [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green - ]; - - final List colors2 = const [ - Colors.yellow, - Colors.blue, - Colors.green, - Colors.red - ]; - - @override - Widget build(BuildContext context) { - int _rowCount = 20; - int _columnCount = 4; - - return SizedBox( - width: 300, - height: 200, - child: InteractiveViewer( - constrained: false, - scaleEnabled: false, - child: Table( - columnWidths: { - for (int column = 0; column < _columnCount; column += 1) - column: const FixedColumnWidth(150.0), - }, - children: buildRows(_rowCount, _columnCount), - ), - ), - ); - } - - List buildRows(int rowCount, int columnCount) { - return [ - for (int row = 0; row < rowCount; row += 1) - TableRow( - children: [ - for (int column = 0; column < columnCount; column += 1) - Container( - margin: const EdgeInsets.all(2), - height: 50, - alignment: Alignment.center, - color: _colorful(row, column), - child: Text( - '($row,$column)', - style: const TextStyle(fontSize: 20, color: Colors.white), - ), - ), - ], - ), - ]; - } - - Color _colorful(int row, int column) => - row % 2 == 0 ? colors[column] : colors2[column]; -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/node3_controller.dart b/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/node3_controller.dart deleted file mode 100644 index b6631fac6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/InteractiveViewer/node3_controller.dart +++ /dev/null @@ -1,146 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class InteractiveViewerDemo3 extends StatefulWidget { - const InteractiveViewerDemo3({Key? key}) : super(key: key); - - @override - _InteractiveViewerDemo3State createState() => _InteractiveViewerDemo3State(); -} - -class _InteractiveViewerDemo3State extends State - with SingleTickerProviderStateMixin { - final TransformationController _transformationController = - TransformationController(); - late Animation _animationReset; - late AnimationController _controllerReset; - - void _onAnimateReset() { - _transformationController.value = _animationReset.value; - if (!_controllerReset.isAnimating) { - _animationReset.removeListener(_onAnimateReset); - _controllerReset.reset(); - } - } - - void _animateResetInitialize() { - _controllerReset.reset(); - _animationReset = Matrix4Tween( - begin: _transformationController.value, - end: Matrix4.identity(), - ).animate(_controllerReset); - _animationReset.addListener(_onAnimateReset); - _controllerReset.forward(); - } - - void _animateResetStop() { - _controllerReset.stop(); - _animationReset.removeListener(_onAnimateReset); - _controllerReset.reset(); - } - - void _onInteractionStart(ScaleStartDetails details) { - if (_controllerReset.status == AnimationStatus.forward) { - _animateResetStop(); - } - } - - @override - void initState() { - super.initState(); - _controllerReset = AnimationController( - vsync: this, - duration: const Duration(milliseconds: 400), - ); - } - - @override - void dispose() { - _controllerReset.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Wrap( - direction: Axis.vertical, - spacing: 10, - crossAxisAlignment: WrapCrossAlignment.center, - alignment: WrapAlignment.center, - children: [ - Container( - height: 150, - color: Colors.grey.withAlpha(33), - child: InteractiveViewer( - boundaryMargin: const EdgeInsets.all(40), - transformationController: _transformationController, - minScale: 0.1, - maxScale: 1.8, - onInteractionStart: _onInteractionStart, - child: Image.asset('assets/images/caver.webp'), - ), - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - _buildButton(), - _buildButton2(), - _buildButton3(), - ], - ) - ], - ); - } - - Widget _buildButton() { - return MaterialButton( - child: const Icon( - Icons.refresh, - color: Colors.white, - ), - color: Colors.green, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - onPressed: _animateResetInitialize); - } - - final double _x = 0.0; - - Widget _buildButton2() { - return MaterialButton( - child: const Icon( - Icons.navigate_before, - color: Colors.white, - ), - color: Colors.green, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - onPressed: () { - var temp = _transformationController.value.clone(); - temp.translate(_x - 4); - _transformationController.value = temp; - }); - } - - Widget _buildButton3() { - return MaterialButton( - child: const Icon( - Icons.navigate_next, - color: Colors.white, - ), - color: Colors.green, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - onPressed: () { - var temp = _transformationController.value.clone(); - temp.translate(_x + 4); - _transformationController.value = temp; - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_de_DE.json deleted file mode 100644 index dd140ea9d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 284, - "name": "KeyboardListener", - "localName": "Tastatur-Listener", - "info": "Nachdem der Fokus erhalten wurde, wird über onKeyEvent das Tastaturereignis überwacht.", - "lever": 5, - "family": 1, - "linkIds": [ - 282, - 283 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Tastaturereignisse überwachen", - "desc": [ - "Im Beispiel erhält der Bereich durch Klicken den Fokus, und durch Drücken der Tastatur können die ausgelösten Ereignisse angezeigt werden.", - "【focusNode】 : Fokus 【FocusNode】", - "【autofocus】 : Automatischer Fokus 【bool】", - "【includeSemantics】 : Semantik einschließen 【bool】", - "【onKeyEvent】 : Tastaturrückrufereignis 【ValueChanged?】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_en_US.json deleted file mode 100644 index 7edfce716..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 284, - "name": "KeyboardListener", - "localName": "Keyboard Listener", - "info": "After gaining focus, listen to keyboard key events through onKeyEvent.", - "lever": 5, - "family": 1, - "linkIds": [ - 282, - 283 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Listen to Keyboard Events", - "desc": [ - "In the example, click the area to gain focus, and then press the keyboard to see the event trigger information.", - "【focusNode】 : Focus 【FocusNode】", - "【autofocus】 : Whether to auto-focus 【bool】", - "【includeSemantics】 : Include semantics 【bool】", - "【onKeyEvent】 : Key callback event 【ValueChanged?】", - "【child】 : Child widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_es_ES.json deleted file mode 100644 index 4a4e92502..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 284, - "name": "KeyboardListener", - "localName": "Escuchador de teclado", - "info": "Después de obtener el foco, escucha los eventos de teclado a través de onKeyEvent.", - "lever": 5, - "family": 1, - "linkIds": [ - 282, - 283 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Escuchar eventos de teclado", - "desc": [ - "En el ejemplo, al hacer clic en el área se obtiene el foco, y luego al presionar el teclado se pueden ver los mensajes de eventos activados.", - "【focusNode】 : Foco 【FocusNode】", - "【autofocus】 : Si se enfoca automáticamente 【bool】", - "【includeSemantics】 : Incluir semántica 【bool】", - "【onKeyEvent】 : Evento de devolución de llamada de tecla 【ValueChanged?】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_fr_FR.json deleted file mode 100644 index 02089c3c6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 284, - "name": "KeyboardListener", - "localName": "Écouteur de clavier", - "info": "Après avoir obtenu le focus, écoute les événements de touche du clavier via onKeyEvent.", - "lever": 5, - "family": 1, - "linkIds": [ - 282, - 283 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Écouter les événements du clavier", - "desc": [ - "Dans l'exemple, cliquez sur la zone pour obtenir le focus, puis tapez sur le clavier pour voir les informations de déclenchement de l'événement.", - "【focusNode】 : Focus 【FocusNode】", - "【autofocus】 : Mise au point automatique 【bool】", - "【includeSemantics】 : Inclure la sémantique 【bool】", - "【onKeyEvent】 : Événement de rappel de touche 【ValueChanged?】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_it_IT.json deleted file mode 100644 index b8fa6f8fd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 284, - "name": "KeyboardListener", - "localName": "Ascoltatore Tastiera", - "info": "Dopo aver ottenuto il focus, ascolta gli eventi dei tasti della tastiera tramite onKeyEvent.", - "lever": 5, - "family": 1, - "linkIds": [ - 282, - 283 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Ascolta Eventi Tastiera", - "desc": [ - "Nell'esempio, clicca sull'area per ottenere il focus, quindi premi un tasto per vedere le informazioni sull'evento attivato.", - "【focusNode】 : Focus 【FocusNode】", - "【autofocus】 : Autofocus 【bool】", - "【includeSemantics】 : Includi Semantica 【bool】", - "【onKeyEvent】 : Evento di Richiamata Tasto 【ValueChanged?】", - "【child】 : Componente Figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_ja_JP.json deleted file mode 100644 index 3b3fe5431..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 284, - "name": "KeyboardListener", - "localName": "キーボードリスナー", - "info": "フォーカスを取得した後、onKeyEventを通じてキーボードのキーイベントを監視します。", - "lever": 5, - "family": 1, - "linkIds": [ - 282, - 283 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "キーボードイベントの監視", - "desc": [ - "例では、領域をクリックしてフォーカスを取得し、キーボードを叩くとイベントのトリガー情報が表示されます。", - "【focusNode】 : フォーカス 【FocusNode】", - "【autofocus】 : 自動フォーカス 【bool】", - "【includeSemantics】 : セマンティクスを含む 【bool】", - "【onKeyEvent】 : キーコールバックイベント 【ValueChanged?】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_ko_KR.json deleted file mode 100644 index b385c9172..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 284, - "name": "KeyboardListener", - "localName": "키보드 리스너", - "info": "포커스를 얻은 후, onKeyEvent를 통해 키보드의 키 이벤트를 감지합니다.", - "lever": 5, - "family": 1, - "linkIds": [ - 282, - 283 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "키보드 이벤트 감지", - "desc": [ - "예제에서 영역을 클릭하여 포커스를 얻은 후, 키보드를 누르면 이벤트 트리거 정보를 볼 수 있습니다.", - "【focusNode】 : 포커스 【FocusNode】", - "【autofocus】 : 자동 포커스 여부 【bool】", - "【includeSemantics】 : 의미 포함 여부 【bool】", - "【onKeyEvent】 : 키 이벤트 콜백 【ValueChanged?】", - "【child】 : 하위 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_pt_PT.json deleted file mode 100644 index b063905cf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 284, - "name": "KeyboardListener", - "localName": "Ouvinte de Teclado", - "info": "Após obter o foco, monitora os eventos de teclas através de onKeyEvent.", - "lever": 5, - "family": 1, - "linkIds": [ - 282, - 283 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Monitorar Eventos de Teclado", - "desc": [ - "No exemplo, clique na área para obter o foco e, em seguida, pressione as teclas para ver as informações de acionamento do evento.", - "【focusNode】 : Foco 【FocusNode】", - "【autofocus】 : Foco automático 【bool】", - "【includeSemantics】 : Incluir semântica 【bool】", - "【onKeyEvent】 : Evento de retorno de tecla 【ValueChanged?】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_ru_RU.json deleted file mode 100644 index a64b76936..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 284, - "name": "KeyboardListener", - "localName": "Слушатель клавиатуры", - "info": "После получения фокуса, прослушивает события нажатия клавиш через onKeyEvent.", - "lever": 5, - "family": 1, - "linkIds": [ - 282, - 283 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Прослушивание событий клавиатуры", - "desc": [ - "В примере область получает фокус при нажатии, затем при нажатии клавиш можно увидеть информацию о срабатывании события.", - "【focusNode】 : Фокус 【FocusNode】", - "【autofocus】 : Автоматический фокус 【bool】", - "【includeSemantics】 : Включать семантику 【bool】", - "【onKeyEvent】 : Событие обратного вызова нажатия клавиши 【ValueChanged?】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_zh-CN.json deleted file mode 100644 index 85ed93521..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 284, - "name": "KeyboardListener", - "localName": "键盘监听器", - "info": "在获取焦点后, 通过 onKeyEvent 监听键盘的按键事件。 ", - "lever": 5, - "family": 1, - "linkIds": [ - 282, - 283 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "监听键盘事件", - "desc": [ - "案例中区域点击获取焦点,然后敲击键盘可以看到事件触发信息。", - "【focusNode】 : 焦点 【FocusNode】", - "【autofocus】 : 是否自动聚焦 【bool】", - "【includeSemantics】 : 包含语义 【bool】", - "【onKeyEvent】 : 按键回调事件 【ValueChanged?】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/node1.dart deleted file mode 100644 index 602cf0bee..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/KeyboardListener/node1.dart +++ /dev/null @@ -1,133 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -class KeyboardListenerDemo1 extends StatefulWidget { - const KeyboardListenerDemo1({super.key}); - - @override - State createState() => _KeyboardListenerDemo1State(); -} - -class _KeyboardListenerDemo1State extends State { - FocusNode focusNode = FocusNode(); - List events = []; - ScrollController _ctrl = ScrollController(); - - @override - void initState() { - focusNode.addListener(_onFocusChange); - super.initState(); - } - - @override - void dispose() { - focusNode.removeListener(_onFocusChange); - focusNode.dispose(); - - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Center( - child: TapRegion( - onTapInside: (_) { - focusNode.requestFocus(); - }, - onTapOutside: (_) { - focusNode.unfocus(); - }, - child: KeyboardListener( - autofocus: true, - focusNode: focusNode, - onKeyEvent: _onKeyEvent, - child: _buildDisplay(), - ), - ), - ); - } - - void _onKeyEvent(KeyEvent value) { - events.add(value); - setState(() {}); - _scrollToEnd(); - print('${value.runtimeType}:${value.logicalKey.keyLabel}'); - } - - void _onFocusChange() { - if (!focusNode.hasFocus) { - events.clear(); - } - setState(() {}); - } - - void _scrollToEnd() async { - if (_ctrl.hasClients) { - await Future.delayed(Duration(milliseconds: 200)); - _ctrl.animateTo(_ctrl.position.maxScrollExtent, - duration: Duration(milliseconds: 100), curve: Curves.ease); - } - } - - Widget _buildDisplay() { - Color color = focusNode.hasFocus ? Colors.blue : Colors.grey; - - return Container( - decoration: BoxDecoration(border: Border.all(color: color)), - width: 460, - padding: EdgeInsets.symmetric(horizontal: 12), - alignment: Alignment.center, - height: 60, - child: events.isNotEmpty - ? SizedBox( - width: 460, - height: 60, - child: ListView.builder( - controller: _ctrl, - itemCount: events.length, - scrollDirection: Axis.horizontal, - itemBuilder: (_, index) => KeyBoardBox( - event: events[index], - )), - ) - : Text( - focusNode.hasFocus ? '键盘输入点东西吧' : '点击我获取焦点', - style: TextStyle(color: color), - ), - ); - } -} - -class KeyBoardBox extends StatelessWidget { - final KeyEvent event; - - const KeyBoardBox({super.key, required this.event}); - - @override - Widget build(BuildContext context) { - Color? color; - if (event is KeyDownEvent) { - color = Colors.blue; - } - if (event is KeyRepeatEvent) { - color = Colors.green; - } - if (event is KeyUpEvent) { - color = Colors.grey; - } - return Center( - child: Container( - margin: EdgeInsets.only(right: 4), - width: 32, - height: 32, - decoration: BoxDecoration(color: color), - alignment: Alignment.center, - child: Text( - event.logicalKey.keyLabel, - textAlign: TextAlign.center, - style: TextStyle(color: Colors.white, fontSize: 8, height: 1), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_de_DE.json deleted file mode 100644 index f002e2948..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 145, - "name": "LicensePage", - "localName": "Lizenzseite", - "info": "Die Lizenzseite der Anwendung, auf der Anwendungssymbol, Anwendungsname, Anwendungsversionsnummer usw. angegeben werden können, der Rest wird automatisch von Flutter generiert.", - "lever": 1, - "family": 1, - "linkIds": [ - 130, - 193 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung der LicensePage", - "desc": [ - "【applicationIcon】 : Symbol oben links 【Widget】", - "【applicationVersion】 : Versionsnummer 【String】", - "【applicationName】 : Anwendungsname 【String】", - "【applicationLegalese】 : Rechtliche Hinweise der Anwendung 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_en_US.json deleted file mode 100644 index 7eb9f3d3c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 145, - "name": "LicensePage", - "localName": "License Page", - "info": "The license page of the application, where you can specify information such as the application icon, application name, application version number, etc. Other details are automatically generated by Flutter.", - "lever": 1, - "family": 1, - "linkIds": [ - 130, - 193 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of LicensePage", - "desc": [ - "【applicationIcon】: Top-left icon 【Widget】", - "【applicationVersion】: Version number 【String】", - "【applicationName】: Application name 【String】", - "【applicationLegalese】: Application legalese 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_es_ES.json deleted file mode 100644 index eedee8dea..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 145, - "name": "LicensePage", - "localName": "Página de Licencia", - "info": "La página de licencia de la aplicación, donde se pueden especificar el icono de la aplicación, el nombre de la aplicación, el número de versión, etc., el resto es generado automáticamente por Flutter.", - "lever": 1, - "family": 1, - "linkIds": [ - 130, - 193 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de LicensePage", - "desc": [ - "【applicationIcon】 : Icono en la esquina superior izquierda 【Widget】", - "【applicationVersion】 : Número de versión 【String】", - "【applicationName】 : Nombre de la aplicación 【String】", - "【applicationLegalese】 : Aspectos legales de la aplicación 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_fr_FR.json deleted file mode 100644 index 47101fb52..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 145, - "name": "LicensePage", - "localName": "Page de licence", - "info": "Page de licence de l'application, permettant de spécifier l'icône de l'application, le nom de l'application, le numéro de version, etc. Le reste est généré automatiquement par Flutter.", - "lever": 1, - "family": 1, - "linkIds": [ - 130, - 193 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de LicensePage", - "desc": [ - "【applicationIcon】 : Icône en haut à gauche 【Widget】", - "【applicationVersion】 : Numéro de version 【String】", - "【applicationName】 : Nom de l'application 【String】", - "【applicationLegalese】 : Législation de l'application 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_it_IT.json deleted file mode 100644 index e0c737bbb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 145, - "name": "LicensePage", - "localName": "Pagina della Licenza", - "info": "Pagina della licenza dell'applicazione, dove è possibile specificare l'icona dell'applicazione, il nome dell'applicazione, il numero di versione dell'applicazione, ecc., il resto è generato automaticamente da Flutter.", - "lever": 1, - "family": 1, - "linkIds": [ - 130, - 193 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di LicensePage", - "desc": [ - "【applicationIcon】 : Icona in alto a sinistra 【Widget】", - "【applicationVersion】 : Numero di versione 【String】", - "【applicationName】 : Nome dell'applicazione 【String】", - "【applicationLegalese】 : Legale dell'applicazione 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_ja_JP.json deleted file mode 100644 index 16e66bc6a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 145, - "name": "LicensePage", - "localName": "ライセンスページ", - "info": "アプリのライセンスページ。アプリのアイコン、アプリ名、アプリのバージョン番号などを指定できます。その他はFlutterによって自動生成されます。", - "lever": 1, - "family": 1, - "linkIds": [ - 130, - 193 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LicensePageの基本的な使用法", - "desc": [ - "【applicationIcon】 : 左上のアイコン 【Widget】", - "【applicationVersion】 : バージョン番号 【String】", - "【applicationName】 : アプリ名 【String】", - "【applicationLegalese】 : アプリの法律文 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_ko_KR.json deleted file mode 100644 index 1fb4a7426..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 145, - "name": "LicensePage", - "localName": "라이센스 페이지", - "info": "앱의 라이센스 페이지, 앱 아이콘, 앱 이름, 앱 버전 번호 등을 지정할 수 있으며, 나머지는 Flutter에서 자동으로 생성됩니다.", - "lever": 1, - "family": 1, - "linkIds": [ - 130, - 193 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LicensePage 기본 사용", - "desc": [ - "【applicationIcon】 : 왼쪽 상단 아이콘 【Widget】", - "【applicationVersion】 : 버전 번호 【String】", - "【applicationName】 : 앱 이름 【String】", - "【applicationLegalese】 : 앱 법률 문구 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_pt_PT.json deleted file mode 100644 index fcdce6a90..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 145, - "name": "LicensePage", - "localName": "Página de Licença", - "info": "Página de licença da aplicação, onde pode especificar o ícone da aplicação, o nome da aplicação, o número da versão da aplicação, entre outras informações, geradas automaticamente pelo Flutter.", - "lever": 1, - "family": 1, - "linkIds": [ - 130, - 193 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico da LicensePage", - "desc": [ - "【applicationIcon】 : Ícone no canto superior esquerdo 【Widget】", - "【applicationVersion】 : Número da versão 【String】", - "【applicationName】 : Nome da aplicação 【String】", - "【applicationLegalese】 : Legalidade da aplicação 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_ru_RU.json deleted file mode 100644 index 069c22b45..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 145, - "name": "LicensePage", - "localName": "Страница лицензии", - "info": "Страница лицензии приложения, где можно указать значок приложения, имя приложения, версию приложения и другую информацию, остальное автоматически генерируется Flutter.", - "lever": 1, - "family": 1, - "linkIds": [ - 130, - 193 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование LicensePage", - "desc": [ - "【applicationIcon】 : Иконка в верхнем левом углу 【Widget】", - "【applicationVersion】 : Версия 【String】", - "【applicationName】 : Имя приложения 【String】", - "【applicationLegalese】 : Юридическая информация приложения 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_zh-CN.json deleted file mode 100644 index 56434b383..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 145, - "name": "LicensePage", - "localName": "证书页", - "info": "应用的证书页,可指定应用图标、应用名、应用版本号等信息,其他由Flutter自动生成。", - "lever": 1, - "family": 1, - "linkIds": [ - 130, - 193 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LicensePage基本使用", - "desc": [ - "【applicationIcon】 : 左上图标 【Widget】", - "【applicationVersion】 : 版本号 【String】", - "【applicationName】 : 应用名 【String】", - "【applicationLegalese】 : 应用律术 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/node1_base.dart deleted file mode 100644 index 90c27cc41..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LicensePage/node1_base.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomLicensePage extends StatelessWidget { - const CustomLicensePage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width, - height: 400, - child: const LicensePage( - applicationIcon: FlutterLogo(), - applicationVersion: 'v0.0.1', - applicationName: 'Flutter Unit', - applicationLegalese: 'Copyright© 2018-2024 张风捷特烈', - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_de_DE.json deleted file mode 100644 index be736cf93..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 47, - "name": "LinearProgressIndicator", - "localName": "Horizontaler Fortschritt", - "info": "Eine lineare Fortschrittsanzeige, bei der Eigenschaften wie Farbe und Fortschritt angegeben werden können. Wenn der Wert null ist, dreht sie sich ununterbrochen.", - "lever": 3, - "family": 1, - "linkIds": [ - 46, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von LinearProgressIndicator", - "desc": [ - "【value】 : Fortschritt 【double】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【valueColor】 : Fortschrittsfarbe 【Animation】", - " Wenn der Wert null ist, wird er kontinuierlich wiederholt" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_en_US.json deleted file mode 100644 index a8b734250..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 47, - "name": "LinearProgressIndicator", - "localName": "Horizontal Progress", - "info": "A linear progress display that can specify properties such as color and progress. It will keep spinning when the value is null.", - "lever": 3, - "family": 1, - "linkIds": [ - 46, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of LinearProgressIndicator", - "desc": [ - "【value】: Progress 【double】", - "【backgroundColor】: Background Color 【Color】", - "【valueColor】: Progress Color 【Animation】", - " It will keep looping when the value is null" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_es_ES.json deleted file mode 100644 index b1dc370c8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 47, - "name": "LinearProgressIndicator", - "localName": "Progreso horizontal", - "info": "Indicador de progreso lineal, se pueden especificar propiedades como el color, el progreso, etc. Si el valor es nulo, girará continuamente.", - "lever": 3, - "family": 1, - "linkIds": [ - 46, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de LinearProgressIndicator", - "desc": [ - "【value】 : Progreso 【double】", - "【backgroundColor】 : Color de fondo 【Color】", - "【valueColor】 : Color del progreso 【Animation】", - " Si el valor es nulo, girará continuamente" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_fr_FR.json deleted file mode 100644 index 931656eac..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 47, - "name": "LinearProgressIndicator", - "localName": "Progression horizontale", - "info": "Affichage de progression linéaire, peut spécifier des propriétés telles que la couleur, la progression, etc. Tourne en continu lorsque la valeur est nulle.", - "lever": 3, - "family": 1, - "linkIds": [ - 46, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de LinearProgressIndicator", - "desc": [ - "【value】 : Progression 【double】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【valueColor】 : Couleur de progression 【Animation】", - " Tourne en continu lorsque la valeur est nulle" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_it_IT.json deleted file mode 100644 index 49eb97e2a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 47, - "name": "LinearProgressIndicator", - "localName": "Progresso Orizzontale", - "info": "Visualizzazione del progresso in linea retta, è possibile specificare attributi come colore e progresso. Quando il valore è null, continua a ruotare.", - "lever": 3, - "family": 1, - "linkIds": [ - 46, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di LinearProgressIndicator", - "desc": [ - "【value】 : Progresso 【double】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【valueColor】 : Colore del progresso 【Animation】", - " Quando il valore è null, continua a ciclare" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_ja_JP.json deleted file mode 100644 index 18b7db38d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 47, - "name": "LinearProgressIndicator", - "localName": "水平プログレス", - "info": "直線型の進捗表示で、色や進捗などの属性を指定できます。valueがnullの場合は回転し続けます。", - "lever": 3, - "family": 1, - "linkIds": [ - 46, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LinearProgressIndicatorの基本使用", - "desc": [ - "【value】 : 進捗 【double】", - "【backgroundColor】 : 背景色 【Color】", - "【valueColor】 : 進捗色 【Animation】", - " valueがnullの場合はループし続けます" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_ko_KR.json deleted file mode 100644 index 51efe73c6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 47, - "name": "LinearProgressIndicator", - "localName": "수평 진행률", - "info": "직선형 진행률 표시, 색상, 진행률 등 속성을 지정할 수 있습니다. value가 null일 경우 계속 회전합니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 46, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LinearProgressIndicator 기본 사용", - "desc": [ - "【value】 : 진행률 【double】", - "【backgroundColor】 : 배경색 【Color】", - "【valueColor】 : 진행률 색상 【Animation】", - " value가 null일 경우 계속 반복" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_pt_PT.json deleted file mode 100644 index bebd5b714..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 47, - "name": "LinearProgressIndicator", - "localName": "Progresso Horizontal", - "info": "Exibição de progresso em linha reta, pode especificar atributos como cor, progresso, etc. Quando o valor for null, ele girará continuamente.", - "lever": 3, - "family": 1, - "linkIds": [ - 46, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do LinearProgressIndicator", - "desc": [ - "【value】 : Progresso 【double】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【valueColor】 : Cor do progresso 【Animation】", - " Quando o valor for null, ele girará continuamente" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_ru_RU.json deleted file mode 100644 index 8adec3c3f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 47, - "name": "LinearProgressIndicator", - "localName": "Горизонтальный прогресс", - "info": "Линейный индикатор прогресса, можно указать цвет, прогресс и другие свойства. Если значение value равно null, индикатор будет вращаться бесконечно.", - "lever": 3, - "family": 1, - "linkIds": [ - 46, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Базовое использование LinearProgressIndicator", - "desc": [ - "【value】 : Прогресс 【double】", - "【backgroundColor】 : Цвет фона 【Color】", - "【valueColor】 : Цвет прогресса 【Animation】", - " Если значение value равно null, индикатор будет вращаться бесконечно" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_zh-CN.json deleted file mode 100644 index 110a08782..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 47, - "name": "LinearProgressIndicator", - "localName": "水平进度", - "info": "直线型的进度显示,可指定颜色、进度等属性。value为null时会不停旋转。", - "lever": 3, - "family": 1, - "linkIds": [ - 46, - 48 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LinearProgressIndicator基本使用", - "desc": [ - "【value】 : 进度 【double】", - "【backgroundColor】 : 背景色 【Color】", - "【valueColor】 : 进度颜色 【Animation】", - " value为null时会不停循环" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/node1_base.dart deleted file mode 100644 index c7d770f96..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LinearProgressIndicator/node1_base.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomLinearProgressIndicator extends StatefulWidget { - const CustomLinearProgressIndicator({Key? key}) : super(key: key); - - @override - _CustomLinearProgressIndicatorState createState() => - _CustomLinearProgressIndicatorState(); -} - -class _CustomLinearProgressIndicatorState - extends State { - List data = [0.2, 0.4, 0.6, 0.8, null]; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: data - .map((e) => SizedBox( - width: 50, - height: 3, - child:LinearProgressIndicator( - value: e, - backgroundColor: Colors.grey.withAlpha(33), - valueColor: const AlwaysStoppedAnimation(Colors.orange), - ), - )) - .toList(), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_de_DE.json deleted file mode 100644 index 3f8c2dd18..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 179, - "name": "ListWheelScrollView", - "localName": "Radliste", - "info": "Hochwertige zylindrische Scroll-Liste, äußerst raffiniert, ermöglicht die Angabe von Eigenschaften wie Höhe, Perspektive, Kompression usw. und empfängt Ereignisse bei der Auswahl während des Scrollens.", - "lever": 4, - "family": 1, - "linkIds": [ - 139, - 291 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ListWheelScrollView", - "desc": [ - "【children】 : Liste der Unterkomponenten 【List】", - "【perspective】 : Perspektive 【double】", - "【itemExtent】 : Höhe des Elements 【EdgeInsets】", - "【onSelectedItemChanged】 : Rückruf bei Auswahl 【ValueChanged 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_en_US.json deleted file mode 100644 index f9958d8d2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 179, - "name": "ListWheelScrollView", - "localName": "Wheel List", - "info": "A high-end cylindrical sliding list, exquisitely designed, allowing you to specify properties such as item height, perspective, and extrusion, and receive selection events during scrolling.", - "lever": 4, - "family": 1, - "linkIds": [ - 139, - 291 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ListWheelScrollView", - "desc": [ - "【children】: List of child components 【List】", - "【perspective】: Perspective 【double】", - "【itemExtent】: Item height 【EdgeInsets】", - "【onSelectedItemChanged】: Selection callback 【ValueChanged】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_es_ES.json deleted file mode 100644 index 740eaf9ae..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 179, - "name": "ListWheelScrollView", - "localName": "Lista de rueda de desplazamiento", - "info": "Una lista de desplazamiento cilíndrica de alta gama, muy ingeniosa, permite especificar propiedades como la altura del ítem, la perspectiva, la compresión, etc., y recibe eventos de selección al deslizar.", - "lever": 4, - "family": 1, - "linkIds": [ - 139, - 291 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ListWheelScrollView", - "desc": [ - "【children】 : Lista de componentes hijos 【List】", - "【perspective】 : Grado de perspectiva 【double】", - "【itemExtent】 : Altura del ítem 【EdgeInsets】", - "【onSelectedItemChanged】 : Callback de selección 【ValueChanged 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_fr_FR.json deleted file mode 100644 index db5f6631e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 179, - "name": "ListWheelScrollView", - "localName": "Liste à roulette", - "info": "Une liste de défilement cylindrique haut de gamme, très ingénieuse, permettant de spécifier des propriétés telles que la hauteur des éléments, la perspective, la compression, etc., et recevant des événements de sélection lors du défilement.", - "lever": 4, - "family": 1, - "linkIds": [ - 139, - 291 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ListWheelScrollView", - "desc": [ - "【children】 : Liste des composants enfants 【List】", - "【perspective】 : Degré de perspective 【double】", - "【itemExtent】 : Hauteur de l'élément 【EdgeInsets】", - "【onSelectedItemChanged】 : Rappel de sélection 【ValueChanged】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_it_IT.json deleted file mode 100644 index 4ba379f00..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 179, - "name": "ListWheelScrollView", - "localName": "Lista a rotella", - "info": "Una lista di scorrimento cilindrica di alto livello, molto raffinata, con la possibilità di specificare proprietà come l'altezza degli item, la prospettiva, la compressione, e di ricevere eventi di selezione durante lo scorrimento.", - "lever": 4, - "family": 1, - "linkIds": [ - 139, - 291 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ListWheelScrollView", - "desc": [ - "【children】 : Lista dei componenti figli 【List】", - "【perspective】 : Prospettiva 【double】", - "【itemExtent】 : Altezza dell'item 【EdgeInsets】", - "【onSelectedItemChanged】 : Callback di selezione 【ValueChanged 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_ja_JP.json deleted file mode 100644 index 225fb0424..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 179, - "name": "ListWheelScrollView", - "localName": "ホイールリスト", - "info": "高級感あふれる円柱状のスライドリストで、精巧な仕様です。アイテムの高さ、パースペクティブ、圧縮などの属性を指定でき、スライド時の選択イベントを受け取ります。", - "lever": 4, - "family": 1, - "linkIds": [ - 139, - 291 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListWheelScrollViewの基本使用", - "desc": [ - "【children】 : 子コンポーネントリスト 【List】", - "【perspective】 : パースペクティブ 【double】", - "【itemExtent】 : アイテムの高さ 【EdgeInsets】", - "【onSelectedItemChanged】 : 選択コールバック 【ValueChanged 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_ko_KR.json deleted file mode 100644 index 48a86a827..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 179, - "name": "ListWheelScrollView", - "localName": "휠 리스트", - "info": "고급스러운 원통형 슬라이드 리스트, 정교함이 가득하며, 아이템 높이, 원근감, 압축 등 속성을 지정할 수 있고, 슬라이드 시 선택 이벤트를 받습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 139, - 291 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListWheelScrollView 기본 사용", - "desc": [ - "【children】 : 자식 위젯 리스트 【List】", - "【perspective】 : 원근감 【double】", - "【itemExtent】 : 아이템 높이 【EdgeInsets】", - "【onSelectedItemChanged】 : 선택 콜백 【ValueChanged 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_pt_PT.json deleted file mode 100644 index 7755454f7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 179, - "name": "ListWheelScrollView", - "localName": "Lista de Rolagem de Roda", - "info": "Uma lista de rolagem cilíndrica de alta classe, cheia de sofisticação, permite especificar propriedades como altura do item, perspetiva, esmagamento, e recebe eventos de seleção durante a rolagem.", - "lever": 4, - "family": 1, - "linkIds": [ - 139, - 291 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ListWheelScrollView", - "desc": [ - "【children】 : Lista de componentes filhos 【List】", - "【perspective】 : Grau de perspetiva 【double】", - "【itemExtent】 : Altura do item 【EdgeInsets】", - "【onSelectedItemChanged】 : Callback de seleção 【ValueChanged 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_ru_RU.json deleted file mode 100644 index 204c580c4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 179, - "name": "ListWheelScrollView", - "localName": "Колесо списка", - "info": "Высококлассный цилиндрический список с прокруткой, изысканный и утонченный, позволяет задавать такие свойства, как высота элемента, перспектива, сжатие и т.д., принимает события выбора при прокрутке.", - "lever": 4, - "family": 1, - "linkIds": [ - 139, - 291 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ListWheelScrollView", - "desc": [ - "【children】 : Список дочерних компонентов 【List】", - "【perspective】 : Перспектива 【double】", - "【itemExtent】 : Высота элемента 【EdgeInsets】", - "【onSelectedItemChanged】 : Обратный вызов при выборе 【ValueChanged 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_zh-CN.json deleted file mode 100644 index 7b9117dc3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 179, - "name": "ListWheelScrollView", - "localName": "滚轮列表", - "info": "高大上的柱面滑动列表,精妙十足,可指定item高度、透视、挤压等属性,接收滑动时选中事件。", - "lever": 4, - "family": 1, - "linkIds": [ - 139, - 291 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListWheelScrollView基本使用", - "desc": [ - "【children】 : 子组件列表 【List】", - "【perspective】 : 透视度 【double】", - "【itemExtent】 : item高 【EdgeInsets】", - "【onSelectedItemChanged】 : 选中回调 【ValueChanged 】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/node1_base.dart deleted file mode 100644 index d3c253db7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ListWheelScrollView/node1_base.dart +++ /dev/null @@ -1,80 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class CustomListWheelScrollView extends StatefulWidget { - const CustomListWheelScrollView({Key? key}) : super(key: key); - - @override - _CustomListWheelScrollViewState createState() => - _CustomListWheelScrollViewState(); -} - -class _CustomListWheelScrollViewState extends State { - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - - Color _color = Colors.blue; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildCircle(), - SizedBox( - height: 150, - width: 300, - child: ListWheelScrollView( - perspective: 0.006, - itemExtent: 50, - onSelectedItemChanged: (index) { - print('onSelectedItemChanged:$index'); - setState(() => _color = data[index]); - }, - children: data.map((color) => _buildItem(color)).toList(), - ), - ), - ], - ); - } - - Widget _buildCircle() => Container( - margin: const EdgeInsets.only(bottom: 5), - width: 30, - height: 30, - decoration: BoxDecoration(color: _color, shape: BoxShape.circle), - ); - - Widget _buildItem(Color color) { - return Container( - key: ValueKey(color) , - alignment: Alignment.center, - height: 50, - color: color, - child: Text( - colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ]), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_de_DE.json deleted file mode 100644 index e76332fe8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 290, - "name": "Localizations", - "localName": "Internationalisierung", - "info": "Stellt internationalisierte Ressourcen für Teilbaumknoten bereit, basierend auf der Implementierung von InheritedWidget. MaterialApp integriert diese Komponente intern, deren locale- und delegates-Parameter letztendlich für diese Komponente verwendet werden.", - "lever": 4, - "family": 1, - "linkIds": [ - 65, - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Aktuelle Sprache abrufen", - "desc": [ - "Mit Localizations.localeOf(context) können die Locale-Dateninformationen der nächstgelegenen übergeordneten Localizations-Komponente basierend auf dem Kontext abgerufen werden." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_en_US.json deleted file mode 100644 index 6836b4789..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 290, - "name": "Localizations", - "localName": "Internationalization", - "info": "Provides internationalization resources for subtree nodes, implemented with the underlying dependency on InheritedWidget. The MaterialApp internally integrates this component, and its locale and delegates parameters are ultimately used for this component.", - "lever": 4, - "family": 1, - "linkIds": [ - 65, - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Get Current Language", - "desc": [ - "Through Localizations.localeOf(context), you can retrieve the Locale data information stored in the nearest upper-level Localizations component based on the context." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_es_ES.json deleted file mode 100644 index 60f1de634..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 290, - "name": "Localizations", - "localName": "Internacionalización", - "info": "Proporciona recursos de internacionalización para los nodos del subárbol, implementado en el fondo con InheritedWidget. MaterialApp ya integra este componente internamente, y sus parámetros locale y delegates se utilizan finalmente en este componente.", - "lever": 4, - "family": 1, - "linkIds": [ - 65, - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Obtener el idioma actual", - "desc": [ - "A través de Localizations.localeOf(context) se puede obtener la información de Locale almacenada en el componente Localizations más cercano en el contexto." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_fr_FR.json deleted file mode 100644 index ede448266..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 290, - "name": "Localizations", - "localName": "Internationalisation", - "info": "Fournit des ressources d'internationalisation pour les nœuds de sous-arbre, implémenté en s'appuyant sur InheritedWidget. MaterialApp intègre déjà ce composant en interne, ses paramètres locale et delegates sont finalement utilisés pour ce composant.", - "lever": 4, - "family": 1, - "linkIds": [ - 65, - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Obtenir la langue actuelle", - "desc": [ - "Avec Localizations.localeOf(context), vous pouvez obtenir les informations de Locale stockées dans le composant Localizations le plus proche en fonction du contexte." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_it_IT.json deleted file mode 100644 index 753b5da43..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 290, - "name": "Localizations", - "localName": "Internazionalizzazione", - "info": "Fornisce risorse di internazionalizzazione per i nodi del sottoalbero, implementato tramite InheritedWidget. Questo componente è già integrato all'interno di MaterialApp, e i parametri locale e delegates vengono utilizzati per questo componente.", - "lever": 4, - "family": 1, - "linkIds": [ - 65, - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Ottieni la lingua corrente", - "desc": [ - "Utilizzando Localizations.localeOf(context), è possibile ottenere le informazioni di Locale memorizzate nel componente Localizations più vicino in base al contesto." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_ja_JP.json deleted file mode 100644 index ab2dee74d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 290, - "name": "Localizations", - "localName": "国際化", - "info": "サブツリーノードに国際化リソースを提供し、内部では InheritedWidget に依存して実装されています。MaterialApp 内部ではこのコンポーネントが統合されており、その locale と delegates パラメータは最終的にこのコンポーネントに使用されます。", - "lever": 4, - "family": 1, - "linkIds": [ - 65, - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "現在の言語を取得", - "desc": [ - "Localizations.localeOf(context) を使用して、コンテキストに基づいて最も近い上位の Localizations コンポーネントに保存されている Locale データ情報を取得できます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_ko_KR.json deleted file mode 100644 index 046365c4d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 290, - "name": "Localizations", - "localName": "국제화", - "info": "하위 트리 노드에 국제화 리소스를 제공하며, 내부적으로 InheritedWidget에 의존하여 구현됩니다. MaterialApp 내부에 이 컴포넌트가 통합되어 있으며, locale 및 delegates 매개변수는 최종적으로 이 컴포넌트에 사용됩니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 65, - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "현재 언어 가져오기", - "desc": [ - "Localizations.localeOf(context)를 통해 컨텍스트에서 가장 가까운 상위 Localizations 컴포넌트에 저장된 Locale 데이터 정보를 가져올 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_pt_PT.json deleted file mode 100644 index dc911f179..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 290, - "name": "Localizations", - "localName": "Internacionalização", - "info": "Fornece recursos de internacionalização para os nós da subárvore, dependendo da implementação do InheritedWidget. O MaterialApp já integra este componente internamente, e os parâmetros locale e delegates são usados ​​finalmente para este componente.", - "lever": 4, - "family": 1, - "linkIds": [ - 65, - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Obter idioma atual", - "desc": [ - "Através de Localizations.localeOf(context), é possível obter as informações de Locale armazenadas no componente Localizations mais próximo com base no contexto." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_ru_RU.json deleted file mode 100644 index 2f1d22dba..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 290, - "name": "Localizations", - "localName": "Интернационализация", - "info": "Предоставляет ресурсы интернационализации для поддеревьев, реализовано на основе InheritedWidget. MaterialApp уже интегрирует этот компонент, его параметры locale и delegates в конечном итоге используются этим компонентом.", - "lever": 4, - "family": 1, - "linkIds": [ - 65, - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Получить текущий язык", - "desc": [ - "С помощью Localizations.localeOf(context) можно получить данные Locale, хранящиеся в ближайшем верхнем компоненте Localizations, на основе контекста." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_zh-CN.json deleted file mode 100644 index c61848f0e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 290, - "name": "Localizations", - "localName": "国际化", - "info": "为子树节点提供国际化资源,底层依赖 InheritedWidget 实现。 MaterialApp 内部已集成该组件,其 locale 和 delegates 参数最终用于该组件。", - "lever": 4, - "family": 1, - "linkIds": [ - 65, - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "获取当前语言", - "desc": [ - "通过 Localizations.localeOf(context) 可以根据上下文获取最近上层的 Localizations 组件存储的 Locale 数据信息。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/Localizations/node1.dart deleted file mode 100644 index 16c98c8c9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Localizations/node1.dart +++ /dev/null @@ -1,11 +0,0 @@ -import 'package:flutter/material.dart'; - -class LocalizationsDemo1 extends StatelessWidget { - const LocalizationsDemo1({super.key}); - - @override - Widget build(BuildContext context) { - Locale locale = Localizations.localeOf(context); - return Text('Locale: ${locale.toString()}'); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_de_DE.json deleted file mode 100644 index a20e742e0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_de_DE.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 105, - "name": "LongPressDraggable", - "localName": "Ziel ziehen", - "info": "Lassen Sie die Komponente bei langem Drücken auf der Oberfläche frei ziehen, und speichern Sie Daten eines generischen Typs T. Wird normalerweise in Kombination mit DragTarget verwendet, um den Zieheffekt zu erzielen.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 104 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LongPressDraggable mit DragTarget kombinieren", - "desc": [ - "【child】 : Kind 【Widget】", - "【feedback】 : Kind beim Ziehen 【Widget】", - "【axis】 : Achse ziehen 【Axis】", - "【data】 : Daten 【T】", - "【onDragStarted】 : Ziehen beginnen 【Function()】", - "【onDragEnd】 : Ziehen beenden 【Function(DraggableDetails)】", - "【onDragCompleted】 : Ziehen abgeschlossen 【Function()】", - "【onDraggableCanceled】 : Ziehen abbrechen 【Function(Velocity,Offset)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_en_US.json deleted file mode 100644 index 7119db040..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_en_US.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 105, - "name": "LongPressDraggable", - "localName": "Drag Target", - "info": "Allows the component to be dragged anywhere on the interface when long-pressed, and can store data of a generic type T. It is usually used in combination with DragTarget to achieve the drag effect.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 104 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LongPressDraggable used with DragTarget", - "desc": [ - "【child】 : child 【Widget】", - "【feedback】 : child during drag 【Widget】", - "【axis】 : axis of drag 【Axis】", - "【data】 : data 【T】", - "【onDragStarted】 : start drag 【Function()】", - "【onDragEnd】 : end drag 【Function(DraggableDetails)】", - "【onDragCompleted】 : drag completed 【Function()】", - "【onDraggableCanceled】 : drag canceled 【Function(Velocity,Offset)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_es_ES.json deleted file mode 100644 index b1d47365d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_es_ES.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 105, - "name": "LongPressDraggable", - "localName": "Objetivo de arrastre", - "info": "Permite que el componente se arrastre libremente en la interfaz cuando se mantiene presionado, y puede almacenar datos de un tipo genérico T. Generalmente se usa en combinación con DragTarget para completar el efecto de arrastre.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 104 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso combinado de LongPressDraggable y DragTarget", - "desc": [ - "【child】 : Hijo 【Widget】", - "【feedback】 : Hijo durante el arrastre 【Widget】", - "【axis】 : Eje de arrastre 【Axis】", - "【data】 : Datos 【T】", - "【onDragStarted】 : Inicio del arrastre 【Function()】", - "【onDragEnd】 : Fin del arrastre 【Function(DraggableDetails)】", - "【onDragCompleted】 : Arrastre completado 【Function()】", - "【onDraggableCanceled】 : Arrastre cancelado 【Function(Velocity,Offset)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_fr_FR.json deleted file mode 100644 index 4a4e46ad9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_fr_FR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 105, - "name": "LongPressDraggable", - "localName": "Cible de glissement", - "info": "Permet à un composant d'être glissé n'importe où sur l'interface lorsqu'il est pressé longuement, peut contenir une donnée de type générique T. Généralement utilisé en combinaison avec DragTarget pour réaliser l'effet de glissement.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 104 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation conjointe de LongPressDraggable et DragTarget", - "desc": [ - "【child】 : Enfant 【Widget】", - "【feedback】 : Enfant pendant le glissement 【Widget】", - "【axis】 : Axe de glissement 【Axis】", - "【data】 : Données 【T】", - "【onDragStarted】 : Début du glissement 【Function()】", - "【onDragEnd】 : Fin du glissement 【Function(DraggableDetails)】", - "【onDragCompleted】 : Glissement terminé 【Function()】", - "【onDraggableCanceled】 : Glissement annulé 【Function(Velocity,Offset)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_it_IT.json deleted file mode 100644 index a8a08abf9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_it_IT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 105, - "name": "LongPressDraggable", - "localName": "Obiettivo trascinabile", - "info": "Permette di trascinare il componente sull'interfaccia quando viene premuto a lungo, può contenere un dato di tipo generico T. Solitamente utilizzato in combinazione con DragTarget per completare l'effetto di trascinamento.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 104 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso combinato di LongPressDraggable e DragTarget", - "desc": [ - "【child】 : figlio 【Widget】", - "【feedback】 : figlio durante il trascinamento 【Widget】", - "【axis】 : asse di trascinamento 【Axis】", - "【data】 : dati 【T】", - "【onDragStarted】 : inizio trascinamento 【Function()】", - "【onDragEnd】 : fine trascinamento 【Function(DraggableDetails)】", - "【onDragCompleted】 : trascinamento completato 【Function()】", - "【onDraggableCanceled】 : trascinamento annullato 【Function(Velocity,Offset)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_ja_JP.json deleted file mode 100644 index facd28a22..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_ja_JP.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 105, - "name": "LongPressDraggable", - "localName": "ドラッグターゲット", - "info": "長押しでコンポーネントをインターフェース上で自由にドラッグできるようにし、ジェネリック型Tのデータを格納できます。通常、DragTargetと組み合わせてドラッグ効果を実現します。", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 104 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LongPressDraggableとDragTargetの連携", - "desc": [ - "【child】 : 子 【Widget】", - "【feedback】 : ドラッグ時の子 【Widget】", - "【axis】 : ドラッグ軸 【Axis】", - "【data】 : データ 【T】", - "【onDragStarted】 : ドラッグ開始 【Function()】", - "【onDragEnd】 : ドラッグ終了 【Function(DraggableDetails)】", - "【onDragCompleted】 : ドラッグ完了 【Function()】", - "【onDraggableCanceled】 : ドラッグキャンセル 【Function(Velocity,Offset)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_ko_KR.json deleted file mode 100644 index 4294fc42e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_ko_KR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 105, - "name": "LongPressDraggable", - "localName": "드래그 대상", - "info": "길게 누르면 컴포넌트를 화면에서 자유롭게 드래그할 수 있으며, 제네릭 T 타입의 데이터를 저장할 수 있습니다. 일반적으로 DragTarget과 조합하여 드래그 효과를 완성합니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 104 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LongPressDraggable과 DragTarget 함께 사용", - "desc": [ - "【child】 : 자식 【Widget】", - "【feedback】 : 드래그 시 자식 【Widget】", - "【axis】 : 드래그 축 【Axis】", - "【data】 : 데이터 【T】", - "【onDragStarted】 : 드래그 시작 【Function()】", - "【onDragEnd】 : 드래그 종료 【Function(DraggableDetails)】", - "【onDragCompleted】 : 드래그 완료 【Function()】", - "【onDraggableCanceled】 : 드래그 취소 【Function(Velocity,Offset)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_pt_PT.json deleted file mode 100644 index 818aee013..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_pt_PT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 105, - "name": "LongPressDraggable", - "localName": "Alvo de Arrastar", - "info": "Permite que um componente seja arrastado livremente na interface quando pressionado por um longo tempo, podendo armazenar um dado do tipo genérico T. Geralmente usado em combinação com DragTarget para completar o efeito de arrastar.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 104 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Conjunto de LongPressDraggable e DragTarget", - "desc": [ - "【child】 : Filho 【Widget】", - "【feedback】 : Filho durante o arrasto 【Widget】", - "【axis】 : Eixo de arrasto 【Axis】", - "【data】 : Dados 【T】", - "【onDragStarted】 : Início do arrasto 【Function()】", - "【onDragEnd】 : Fim do arrasto 【Function(DraggableDetails)】", - "【onDragCompleted】 : Arrasto concluído 【Function()】", - "【onDraggableCanceled】 : Arrasto cancelado 【Function(Velocity,Offset)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_ru_RU.json deleted file mode 100644 index 611d49af9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_ru_RU.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 105, - "name": "LongPressDraggable", - "localName": "Цель для перетаскивания", - "info": "Позволяет компоненту перетаскиваться по интерфейсу при длительном нажатии, может хранить данные типа T. Обычно используется в сочетании с DragTarget для достижения эффекта перетаскивания.", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 104 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование LongPressDraggable с DragTarget", - "desc": [ - "【child】 : Дочерний элемент 【Widget】", - "【feedback】 : Дочерний элемент при перетаскивании 【Widget】", - "【axis】 : Ось перетаскивания 【Axis】", - "【data】 : Данные 【T】", - "【onDragStarted】 : Начало перетаскивания 【Function()】", - "【onDragEnd】 : Конец перетаскивания 【Function(DraggableDetails)】", - "【onDragCompleted】 : Перетаскивание завершено 【Function()】", - "【onDraggableCanceled】 : Перетаскивание отменено 【Function(Velocity,Offset)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_zh-CN.json deleted file mode 100644 index 8f9210bab..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/desc_zh-CN.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 105, - "name": "LongPressDraggable", - "localName": "拖拽目标", - "info": "长按时让组件在界面上任意拖拽,可存放一个泛型T的数据。通常和DragTarget组合使用,来完成拖拽效果。", - "lever": 4, - "family": 1, - "linkIds": [ - 103, - 104 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "LongPressDraggable与DragTarget联用", - "desc": [ - "【child】 : 孩子 【Widget】", - "【feedback】 : 拖拽时的孩子 【Widget】", - "【axis】 : 拖动的轴 【Axis】", - "【data】 : 数据 【T】", - "【onDragStarted】 : 开始拖拽 【Function()】", - "【onDragEnd】 : 结束拖拽 【Function(DraggableDetails)】", - "【onDragCompleted】 : 拖拽完成 【Function()】", - "【onDraggableCanceled】 : 拖拽取消 【Function(Velocity,Offset)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/node1_base.dart deleted file mode 100644 index c969744ab..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/LongPressDraggable/node1_base.dart +++ /dev/null @@ -1,86 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class CustomLongPressDraggable extends StatefulWidget { - const CustomLongPressDraggable({Key? key}) : super(key: key); - - @override - _CustomLongPressDraggableState createState() => - _CustomLongPressDraggableState(); -} - -class _CustomLongPressDraggableState extends State { - Color _color = Colors.grey; - String _info = 'DragTarget'; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Wrap( - children: _buildColors(), - spacing: 10, - ), - const SizedBox(height: 20), - _buildDragTarget() - ], - ); - } - - final List colors = const [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green, - Colors.orange, - Colors.purple, - Colors.cyanAccent - ]; - - List _buildColors() => colors - .map( - (e) => LongPressDraggable( - onDragStarted: () => setState(() => _info = '开始拖拽'), - onDragEnd: (d) => setState(() => _info = '结束拖拽'), - onDragCompleted: () => _info = '拖拽完成', - onDraggableCanceled: (v, o) => _info = '拖拽取消', - child: Container( - width: 30, - height: 30, - alignment: Alignment.center, - child: Text( - colors.indexOf(e).toString(), - style: const TextStyle( - color: Colors.white, fontWeight: FontWeight.bold), - ), - decoration: BoxDecoration(color: e, shape: BoxShape.circle), - ), - data: e, - feedback: Container( - width: 25, - height: 25, - decoration: BoxDecoration(color: e, shape: BoxShape.circle), - )), - ) - .toList(); - - Widget _buildDragTarget() { - return DragTarget( - onAccept: (data) => setState(() { - _info='onAccept'; - _color = data; - }), - builder: (context, candidateData, rejectedData) => Container( - width: 150.0, - height: 50.0, - color: _color, - child: Center( - child: Text( - _info, - style: const TextStyle(color: Colors.white), - ), - ))); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_de_DE.json deleted file mode 100644 index c6036f689..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 160, - "name": "Material", - "localName": "Materialkomponente", - "info": "Der führende Vertreter von Material-Stil-Komponenten, das Herzstück. Kann Attribute wie Farbe, Schattentiefe, Typ, Schattenfarbe, Form usw. festlegen.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Material", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【type】 : Typ 【MaterialType】", - "【elevation】 : Schattentiefe 【double】", - "【shadowColor】 : Schattenfarbe 【Color】", - "【color】 : Farbe 【Color】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Shape-Attribut von Material", - "desc": [ - "【shape】 : Form 【ShapeBorder】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_en_US.json deleted file mode 100644 index 13bbe4f29..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 160, - "name": "Material", - "localName": "Material Component", - "info": "The leader and core of Material style components. You can specify properties such as color, elevation, type, shadow color, shape, etc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Material", - "desc": [ - "【child】 : Child Component 【Widget】", - "【type】 : Type 【MaterialType】", - "【elevation】 : Elevation 【double】", - "【shadowColor】 : Shadow Color 【Color】", - "【color】 : Color 【Color】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Shape Property of Material", - "desc": [ - "【shape】 : Shape 【ShapeBorder】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_es_ES.json deleted file mode 100644 index 06f9ae7f9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 160, - "name": "Material", - "localName": "Componente de Material", - "info": "El líder y núcleo espiritual de los componentes de estilo Material. Puede especificar atributos como color, profundidad de sombra, tipo, color de sombra, forma, etc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Material", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【type】 : Tipo 【MaterialType】", - "【elevation】 : Profundidad de sombra 【double】", - "【shadowColor】 : Color de sombra 【Color】", - "【color】 : Color 【Color】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Propiedad shape de Material", - "desc": [ - "【shape】 : Forma 【ShapeBorder】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_fr_FR.json deleted file mode 100644 index b5694ce2e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 160, - "name": "Material", - "localName": "Composant Matériel", - "info": "Le leader des composants de style Material, l'âme centrale. Peut spécifier des attributs tels que la couleur, la profondeur de l'ombre, le type, la couleur de l'ombre, la forme, etc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Material", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【type】 : Type 【MaterialType】", - "【elevation】 : Profondeur de l'ombre 【double】", - "【shadowColor】 : Couleur de l'ombre 【Color】", - "【color】 : Couleur 【Color】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Attribut de forme de Material", - "desc": [ - "【shape】 : Forme 【ShapeBorder】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_it_IT.json deleted file mode 100644 index 695b1f790..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 160, - "name": "Material", - "localName": "Componente Material", - "info": "Leader dei componenti in stile Material, cuore e anima. Puoi specificare attributi come colore, profondità dell'ombra, tipo, colore dell'ombra, forma, ecc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di Material", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【type】 : Tipo 【MaterialType】", - "【elevation】 : Profondità dell'ombra 【double】", - "【shadowColor】 : Colore dell'ombra 【Color】", - "【color】 : Colore 【Color】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Attributo shape di Material", - "desc": [ - "【shape】 : Forma 【ShapeBorder】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_ja_JP.json deleted file mode 100644 index 1e988e452..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 160, - "name": "Material", - "localName": "材料コンポーネント", - "info": "Materialスタイルコンポーネントのリーダー、コアとなる存在。色、影の深さ、タイプ、影の色、形状などの属性を指定できます。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Materialの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【type】 : タイプ 【MaterialType】", - "【elevation】 : 影の深さ 【double】", - "【shadowColor】 : 影の色 【Color】", - "【color】 : 色 【Color】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Materialのshape属性", - "desc": [ - "【shape】 : 形状 【ShapeBorder】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_ko_KR.json deleted file mode 100644 index 9b9337d4f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 160, - "name": "Material", - "localName": "재료 컴포넌트", - "info": "Material 스타일 컴포넌트의 선두주자, 핵심 요소. 색상, 그림자 깊이, 유형, 그림자 색상, 모양 등 속성을 지정할 수 있습니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Material 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【type】 : 유형 【MaterialType】", - "【elevation】 : 그림자 깊이 【double】", - "【shadowColor】 : 그림자 색상 【Color】", - "【color】 : 색상 【Color】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Material의 shape 속성", - "desc": [ - "【shape】 : 모양 【ShapeBorder】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_pt_PT.json deleted file mode 100644 index d4379be64..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 160, - "name": "Material", - "localName": "Componente de Material", - "info": "O líder e núcleo espiritual dos componentes de estilo Material. Pode especificar atributos como cor, profundidade de sombra, tipo, cor da sombra, forma, etc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Material", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【type】 : Tipo 【MaterialType】", - "【elevation】 : Profundidade de sombra 【double】", - "【shadowColor】 : Cor da sombra 【Color】", - "【color】 : Cor 【Color】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Propriedade shape do Material", - "desc": [ - "【shape】 : Forma 【ShapeBorder】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_ru_RU.json deleted file mode 100644 index c047f3f2f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 160, - "name": "Material", - "localName": "Компонент материала", - "info": "Лидер компонентов в стиле Material, ядро и душа. Можно указать такие атрибуты, как цвет, глубина тени, тип, цвет тени, форма и другие.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Material", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【type】 : Тип 【MaterialType】", - "【elevation】 : Глубина тени 【double】", - "【shadowColor】 : Цвет тени 【Color】", - "【color】 : Цвет 【Color】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Атрибут shape Material", - "desc": [ - "【shape】 : Форма 【ShapeBorder】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_zh-CN.json deleted file mode 100644 index 9c232cab1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 160, - "name": "Material", - "localName": "材料组件", - "info": "Material风格组件的领军人物,灵魂核心。可指定颜色、影深、类型、阴影颜色、形状等属性。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Material基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【type】 : 类型 【MaterialType】", - "【elevation】 : 影深 【double】", - "【shadowColor】 : 阴影颜色 【Color】", - "【color】 : 颜色 【Color】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Material的shape属性", - "desc": [ - "【shape】 : 形状 【ShapeBorder】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Material/node1_base.dart deleted file mode 100644 index 3dec9b671..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/node1_base.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class CustomMaterial extends StatelessWidget { - const CustomMaterial({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - runSpacing: 10, - children: MaterialType.values.map((e) => _buildMaterial(e)).toList()); - } - - Material _buildMaterial(MaterialType type) => Material( - shadowColor: Colors.blue, - type: type, - color: Colors.orange, - elevation: 3, - child: Container( - alignment: Alignment.center, - width: 100, - height: 60, - child: Text( - type.toString().split('.')[1], - style: const TextStyle(color: Colors.black), - ), - ), - ); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Material/node2_shape.dart b/modules/widget_system/widgets/lib/StatefulWidget/Material/node2_shape.dart deleted file mode 100644 index d31d3c2cb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Material/node2_shape.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class ShapeMaterial extends StatelessWidget { - const ShapeMaterial({Key? key}) : super(key: key); - - final Map shapeMap = const { - 'BorderDirectional': BorderDirectional( - top: BorderSide( - color: Colors.white, - ), - start: BorderSide(color: Colors.black, width: 15), - bottom: BorderSide( - color: Colors.white, - )), - 'Border': Border( - top: BorderSide(width: 5.0, color: Color(0xFFDFDFDF)), - left: BorderSide(width: 5.0, color: Color(0xFFDFDFDF)), - right: BorderSide(width: 5.0, color: Color(0xFF7F7F7F)), - bottom: BorderSide(width: 5.0, color: Color(0xFF7F7F7F)), - ), - 'Circle': CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - 'RoundedRectangleBorder': RoundedRectangleBorder( - side: BorderSide(width: 1.0, color: Colors.black), - borderRadius: BorderRadius.all(Radius.circular(15))), - 'ContinuousRectangleBorder': ContinuousRectangleBorder( - side: BorderSide.none, - borderRadius: BorderRadius.all(Radius.circular(40.0)), - ) - }; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - runSpacing: 10, - children: shapeMap.keys.map((e) => _buildMaterial(e)).toList(), - ); - } - - Material _buildMaterial(String type) => Material( - shadowColor: Colors.blue, - shape: shapeMap[type], - color: Colors.orange, - elevation: 3, - textStyle: const TextStyle(color: Colors.white), - child: Container( - alignment: Alignment.center, - width: 300, - height: 60, - child: Text( - type, - ), - ), - ); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_de_DE.json deleted file mode 100644 index 54c459134..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 65, - "name": "MaterialApp", - "localName": "Material-Anwendung", - "info": "Die oberste Komponente der Material-Anwendung, enthält Eigenschaften wie Routengenerator, Thema, Sprache, Startseite usw.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von MaterialApp", - "desc": [ - "【theme】 : Thema 【ThemeData】", - "【title】 : Titel in der Taskleiste 【String】", - "【debugShowCheckedModeBanner】 : Badge aktivieren 【bool】", - "【showPerformanceOverlay】 : Leistungsüberlagerung aktivieren 【bool】", - "【debugShowMaterialGrid】 : Raster aktivieren 【bool】", - "【onGenerateRoute】 : Routengenerator 【RouteFactory】", - "【home】 : Startseite 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_en_US.json deleted file mode 100644 index 94a88732b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 65, - "name": "MaterialApp", - "localName": "Material Application", - "info": "The top-level component of a Material application, including properties such as route generator, theme, language, home page, etc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of MaterialApp", - "desc": [ - "【theme】 : Theme 【ThemeData】", - "【title】 : Taskbar Title 【String】", - "【debugShowCheckedModeBanner】 : Enable Badge 【bool】", - "【showPerformanceOverlay】 : Enable Performance Overlay 【bool】", - "【debugShowMaterialGrid】 : Enable Grid 【bool】", - "【onGenerateRoute】 : Route Generator 【RouteFactory】", - "【home】 : Home Page 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_es_ES.json deleted file mode 100644 index b994d6c27..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 65, - "name": "MaterialApp", - "localName": "Aplicación Material", - "info": "Componente de nivel superior de la aplicación Material, que incluye propiedades como el generador de rutas, tema, idioma, página de inicio, etc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de MaterialApp", - "desc": [ - "【theme】 : Tema 【ThemeData】", - "【title】 : Título de la barra de tareas 【String】", - "【debugShowCheckedModeBanner】 : Activar insignia 【bool】", - "【showPerformanceOverlay】 : Activar superposición de rendimiento 【bool】", - "【debugShowMaterialGrid】 : Activar cuadrícula 【bool】", - "【onGenerateRoute】 : Generador de rutas 【RouteFactory】", - "【home】 : Página de inicio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_fr_FR.json deleted file mode 100644 index dae6e1a30..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 65, - "name": "MaterialApp", - "localName": "Application Material", - "info": "Le composant de niveau supérieur de l'application Material, incluant des propriétés telles que le générateur de routes, le thème, la langue, la page d'accueil, etc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de MaterialApp", - "desc": [ - "【theme】 : Thème 【ThemeData】", - "【title】 : Titre de la barre des tâches 【String】", - "【debugShowCheckedModeBanner】 : Activer le badge 【bool】", - "【showPerformanceOverlay】 : Activer la superposition de performance 【bool】", - "【debugShowMaterialGrid】 : Activer la grille 【bool】", - "【onGenerateRoute】 : Générateur de routes 【RouteFactory】", - "【home】 : Page d'accueil 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_it_IT.json deleted file mode 100644 index 0c824a8c8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 65, - "name": "MaterialApp", - "localName": "Applicazione Material", - "info": "Componente di primo livello per applicazioni Material, include proprietà come generatore di route, tema, lingua, homepage, ecc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di MaterialApp", - "desc": [ - "【theme】 : Tema 【ThemeData】", - "【title】 : Titolo della barra delle applicazioni 【String】", - "【debugShowCheckedModeBanner】 : Attiva badge 【bool】", - "【showPerformanceOverlay】 : Attiva overlay delle prestazioni 【bool】", - "【debugShowMaterialGrid】 : Attiva griglia 【bool】", - "【onGenerateRoute】 : Generatore di route 【RouteFactory】", - "【home】 : Homepage 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_ja_JP.json deleted file mode 100644 index 207e1de51..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 65, - "name": "MaterialApp", - "localName": "Materialアプリ", - "info": "Materialアプリのトップレベルのコンポーネントで、ルートジェネレータ、テーマ、言語、ホームページなどの属性を含みます。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialAppの基本使い方", - "desc": [ - "【theme】 : テーマ 【ThemeData】", - "【title】 : タスクバーのタイトル 【String】", - "【debugShowCheckedModeBanner】 : バッジを表示する 【bool】", - "【showPerformanceOverlay】 : パフォーマンスオーバーレイを表示する 【bool】", - "【debugShowMaterialGrid】 : グリッドを表示する 【bool】", - "【onGenerateRoute】 : ルートジェネレータ 【RouteFactory】", - "【home】 : ホームページ 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_ko_KR.json deleted file mode 100644 index 420abe91d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 65, - "name": "MaterialApp", - "localName": "Material 앱", - "info": "Material 앱의 최상위 컴포넌트로, 라우트 생성기, 테마, 언어, 홈페이지 등의 속성을 포함합니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialApp 기본 사용법", - "desc": [ - "【theme】 : 테마 【ThemeData】", - "【title】 : 작업 표시줄 제목 【String】", - "【debugShowCheckedModeBanner】 : 배지 활성화 【bool】", - "【showPerformanceOverlay】 : 성능 오버레이 활성화 【bool】", - "【debugShowMaterialGrid】 : 그리드 활성화 【bool】", - "【onGenerateRoute】 : 라우트 생성기 【RouteFactory】", - "【home】 : 홈페이지 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_pt_PT.json deleted file mode 100644 index faa156503..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 65, - "name": "MaterialApp", - "localName": "Aplicação Material", - "info": "Componente de topo da aplicação Material, que inclui gerador de rotas, tema, idioma, página inicial, entre outros atributos.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do MaterialApp", - "desc": [ - "【theme】 : Tema 【ThemeData】", - "【title】 : Título da barra de tarefas 【String】", - "【debugShowCheckedModeBanner】 : Ativar insígnia 【bool】", - "【showPerformanceOverlay】 : Ativar sobreposição de desempenho 【bool】", - "【debugShowMaterialGrid】 : Ativar grelha 【bool】", - "【onGenerateRoute】 : Gerador de rotas 【RouteFactory】", - "【home】 : Página inicial 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_ru_RU.json deleted file mode 100644 index 43e5975c1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 65, - "name": "MaterialApp", - "localName": "Material приложение", - "info": "Верхний компонент Material приложения, включающий генератор маршрутов, тему, язык, домашнюю страницу и другие атрибуты.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование MaterialApp", - "desc": [ - "【theme】 : Тема 【ThemeData】", - "【title】 : Заголовок в панели задач 【String】", - "【debugShowCheckedModeBanner】 : Включить значок 【bool】", - "【showPerformanceOverlay】 : Включить наложение производительности 【bool】", - "【debugShowMaterialGrid】 : Включить сетку 【bool】", - "【onGenerateRoute】 : Генератор маршрутов 【RouteFactory】", - "【home】 : Домашняя страница 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_zh-CN.json deleted file mode 100644 index 57ba7ea55..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 65, - "name": "MaterialApp", - "localName": "Material应用", - "info": "Material应用的顶级组件,包含路由生成器、主题、语言、主页等属性。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialApp基本用法", - "desc": [ - "【theme】 : 主题 【ThemeData】", - "【title】 : 任务栏标题 【String】", - "【debugShowCheckedModeBanner】 : 开启角标 【bool】", - "【showPerformanceOverlay】 : 开启性能浮层 【bool】", - "【debugShowMaterialGrid】 : 开启网格 【bool】", - "【onGenerateRoute】 : 路由生成器 【RouteFactory】", - "【home】 : 主页 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/node1_base.dart deleted file mode 100644 index c7c61e555..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MaterialApp/node1_base.dart +++ /dev/null @@ -1,118 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-17 -/// contact me by email 1981462002@qq.com - -class MaterialAppDemo extends StatefulWidget { - const MaterialAppDemo({Key? key}) : super(key: key); - - @override - _WidgetsAppDemoState createState() => _WidgetsAppDemoState(); -} - -class _WidgetsAppDemoState extends State { - bool _debugShowCheckedModeBanner = false; - bool _showPerformanceOverlay = false; - bool _debugShowMaterialGrid = false; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - _buildSwitchers(), - SizedBox( - height: 250, - child: MaterialApp( - debugShowCheckedModeBanner: _debugShowCheckedModeBanner, - showPerformanceOverlay: _showPerformanceOverlay, - debugShowMaterialGrid: _debugShowMaterialGrid, - home: const HomePage(), - ), - ), - ], - ); - } - - Widget _buildSwitchers() { - return DefaultTextStyle( - style: const TextStyle(color: Colors.blue), - child: Wrap( - spacing: 10, - children: [ - Column( - children: [ - Switch( - value: _showPerformanceOverlay, - onChanged: (v) { - setState(() { - _showPerformanceOverlay = v; - }); - }, - ), - const Text('性能浮层') - ], - ), - Column( - children: [ - Switch( - value: _debugShowCheckedModeBanner, - onChanged: (v) { - setState(() { - _debugShowCheckedModeBanner = v; - }); - }, - ), - const Text('开启角标') - ], - ), - Column( - children: [ - Switch( - value: _debugShowMaterialGrid, - onChanged: (v) { - setState(() { - _debugShowMaterialGrid = v; - }); - }, - ), - const Text('开启网格') - ], - ) - ], - ), - ); - } -} - -class HomePage extends StatefulWidget { - const HomePage({Key? key}) : super(key: key); - - @override - _HomePageState createState() => _HomePageState(); -} - -class _HomePageState extends State { - var _count = 0; - - @override - Widget build(BuildContext context) { - return Scaffold( - body: Container( - alignment: const Alignment(0, 0.7), - child: Text( - '你点击了$_count次', - style: const TextStyle(fontSize: 18, color: Colors.blue), - ), - ), - floatingActionButton: FloatingActionButton( - child: const Icon(Icons.add), - onPressed: () { - setState(() { - _count++; - }); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_de_DE.json deleted file mode 100644 index c6265925a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 261, - "name": "MergeableMaterial", - "localName": "Kombinierbares Material", - "info": "Wird verwendet, um eine Liste von MergeableMaterialItem anzuzeigen, einschließlich MaterialSlice (Hauptteil) und MaterialGap (Trennlinie).", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von MergeableMaterial", - "desc": [ - "【elevation】 : Schattentiefe 【double】", - "【hasDividers】 : Gibt es Trennlinien 【bool】", - "【dividerColor】 : Farbe der Trennlinie 【Color】", - "【mainAxis】 : Achse 【Axis】", - "【children】 : Sammlung von Unterkomponenten 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_en_US.json deleted file mode 100644 index 8c6e9e0e2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 261, - "name": "MergeableMaterial", - "localName": "Mergeable Material", - "info": "Used to display a list of MergeableMaterialItem, including MaterialSlice (main body) and MaterialGap (separator).", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of MergeableMaterial", - "desc": [ - "【elevation】 : Shadow depth 【double】", - "【hasDividers】 : Whether there are dividers 【bool】", - "【dividerColor】 : Divider color 【Color】", - "【mainAxis】 : Axis direction 【Axis】", - "【children】 : Child components collection 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_es_ES.json deleted file mode 100644 index 871630a11..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 261, - "name": "MergeableMaterial", - "localName": "Material Fusionable", - "info": "Utilizado para mostrar una lista de MergeableMaterialItem, incluyendo MaterialSlice (cuerpo) y MaterialGap (separador).", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de MergeableMaterial", - "desc": [ - "【elevation】 : Profundidad de la sombra 【double】", - "【hasDividers】 : Si tiene líneas divisorias 【bool】", - "【dividerColor】 : Color de la línea divisoria 【Color】", - "【mainAxis】 : Eje principal 【Axis】", - "【children】 : Conjunto de componentes hijos 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_fr_FR.json deleted file mode 100644 index 005e06aea..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 261, - "name": "MergeableMaterial", - "localName": "Matériau Fusionnable", - "info": "Utilisé pour afficher une liste de MergeableMaterialItem, comprenant MaterialSlice (corps principal) et MaterialGap (séparateur).", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de MergeableMaterial", - "desc": [ - "【elevation】 : Profondeur d'ombre 【double】", - "【hasDividers】 : Présence de lignes de séparation 【bool】", - "【dividerColor】 : Couleur de la ligne de séparation 【Color】", - "【mainAxis】 : Axe principal 【Axis】", - "【children】 : Ensemble de composants enfants 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_it_IT.json deleted file mode 100644 index 32e9b9d1d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 261, - "name": "MergeableMaterial", - "localName": "Materiale Unificabile", - "info": "Utilizzato per visualizzare una lista di MergeableMaterialItem, inclusi MaterialSlice (corpo) e MaterialGap (separazione).", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di MergeableMaterial", - "desc": [ - "【elevation】 : Profondità dell'ombra 【double】", - "【hasDividers】 : Presenza di linee divisorie 【bool】", - "【dividerColor】 : Colore della linea divisoria 【Color】", - "【mainAxis】 : Asse principale 【Axis】", - "【children】 : Insieme di componenti figli 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_ja_JP.json deleted file mode 100644 index d62c71e38..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 261, - "name": "MergeableMaterial", - "localName": "マージ可能な材料", - "info": "MergeableMaterialItemのリストを表示するために使用され、MaterialSlice(本体)とMaterialGap(区切り)を含みます。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MergeableMaterialの基本使用", - "desc": [ - "【elevation】 : 影の深さ 【double】", - "【hasDividers】 : 区切り線があるかどうか 【bool】", - "【dividerColor】 : 区切り線の色 【Color】", - "【mainAxis】 : 軸方向 【Axis】", - "【children】 : 子コンポーネントセット 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_ko_KR.json deleted file mode 100644 index 3a511350e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 261, - "name": "MergeableMaterial", - "localName": "병합 가능한 재료", - "info": "MergeableMaterialItem의 목록을 표시하는 데 사용되며, MaterialSlice(본체)와 MaterialGap(구분자)를 포함합니다.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MergeableMaterial 기본 사용법", - "desc": [ - "【elevation】 : 그림자 깊이 【double】", - "【hasDividers】 : 구분선 여부 【bool】", - "【dividerColor】 : 구분선 색상 【Color】", - "【mainAxis】 : 축 방향 【Axis】", - "【children】 : 하위 컴포넌트 집합 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_pt_PT.json deleted file mode 100644 index a0f50e44d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 261, - "name": "MergeableMaterial", - "localName": "Material Fundível", - "info": "Usado para exibir uma lista de MergeableMaterialItem, incluindo MaterialSlice (corpo) e MaterialGap (separador).", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do MergeableMaterial", - "desc": [ - "【elevation】 : Profundidade da sombra 【double】", - "【hasDividers】 : Se tem linhas divisórias 【bool】", - "【dividerColor】 : Cor da linha divisória 【Color】", - "【mainAxis】 : Eixo 【Axis】", - "【children】 : Conjunto de componentes filhos 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_ru_RU.json deleted file mode 100644 index 6190e65dd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 261, - "name": "MergeableMaterial", - "localName": "Объединяемый материал", - "info": "Используется для отображения списка MergeableMaterialItem, включая MaterialSlice (основная часть) и MaterialGap (разделитель).", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование MergeableMaterial", - "desc": [ - "【elevation】 : Глубина тени 【double】", - "【hasDividers】 : Наличие разделителей 【bool】", - "【dividerColor】 : Цвет разделителя 【Color】", - "【mainAxis】 : Ось 【Axis】", - "【children】 : Набор дочерних компонентов 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_zh-CN.json deleted file mode 100644 index 67f725fee..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 261, - "name": "MergeableMaterial", - "localName": "可合并材料", - "info": "用于展示 MergeableMaterialItem 的列表,包括 MaterialSlice(主体) 和 MaterialGap(分隔) 。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MergeableMaterial基本使用", - "desc": [ - "【elevation】 : 影深 【double】", - "【hasDividers】 : 是否有分隔线 【bool】", - "【dividerColor】 : 分隔线颜色 【Color】", - "【mainAxis】 : 轴向 【Axis】", - "【children】 : 子组件集 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/node1_base.dart deleted file mode 100644 index 8c51e0757..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MergeableMaterial/node1_base.dart +++ /dev/null @@ -1,72 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class MergeableMaterialDemo extends StatefulWidget { - const MergeableMaterialDemo({Key? key}) : super(key: key); - - @override - _MergeableMaterialDemoState createState() => _MergeableMaterialDemoState(); -} - -class _MergeableMaterialDemoState extends State { - List items=[]; - - @override - void initState() { - super.initState(); - _init(20); - } - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: SingleChildScrollView( - child: MergeableMaterial( - elevation: 1, - hasDividers: true, - dividerColor: Colors.red, - children: items, - ), - ), - ); - } - - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]! - ]; - - void _init(int count) { - for (int i = 0; i < count; i++) { - items.add(MaterialSlice( - key: ValueKey(i), - child: Container( - alignment: Alignment.center, - height: 60, - color: data[i % data.length], - child: Text(colorString(data[i % data.length])), - ))); - if(i!=count-1){ - items.add(MaterialGap( - key: ValueKey(i), - size: 5)); - } - } - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_de_DE.json deleted file mode 100644 index a98eb3c6c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_de_DE.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": 135, - "name": "MonthPicker", - "localName": "Monatsauswahl", - "info": "Komponente zur Auswahl eines Monats mit integrierter Überwachung für den Wechsel zwischen den Monaten. Ermöglicht die Angabe des auszuwählenden Datumsbereichs, des ausgewählten Datums usw. und empfängt Ereignisse bei der Datumsauswahl.", - "lever": 3, - "family": 1, - "deprecated": -1, - "linkIds": [ - 134, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von MonthPicker", - "desc": [ - "【selectedDate】 : Ausgewähltes Datum 【DateTime】", - "【firstDate】 : Frühestes Datum 【DateTime】", - "【lastDate】 : Spätestes Datum 【DateTime】", - "【onChanged】 : Rückruf bei Klick 【Function(DateTime)】", - " ", - "class CustomMonthPicker extends StatelessWidget{", - " const CustomMonthPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'MonthPicker, die Monatsauswahl, wurde mit Flutter 3.0 aus dem Verkehr gezogen. Der Ersatz ist der CalendarDatePicker, der Kalenderauswahl.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: MonthPicker(", - " selectedDate: _date,", - " onChanged: (date) => setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_en_US.json deleted file mode 100644 index ef72e4a6d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_en_US.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": 135, - "name": "MonthPicker", - "localName": "Month Picker", - "info": "A component for selecting months, with built-in listeners for switching between previous and next months. Allows specifying the date range, selected date, and receives date selection events.", - "lever": 3, - "family": 1, - "deprecated": -1, - "linkIds": [ - 134, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of MonthPicker", - "desc": [ - "【selectedDate】: Selected date 【DateTime】", - "【firstDate】: Earliest date limit 【DateTime】", - "【lastDate】: Latest date limit 【DateTime】", - "【onChanged】: Click callback 【Function(DateTime)】", - " ", - "class CustomMonthPicker extends StatelessWidget{", - " const CustomMonthPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'MonthPicker, the month selector, has been phased out in Flutter 3.0. It is replaced by the CalendarDatePicker, the calendar selector.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: MonthPicker(", - " selectedDate: _date,", - " onChanged: (date) => setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_es_ES.json deleted file mode 100644 index 0c2e6c0e8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_es_ES.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": 135, - "name": "MonthPicker", - "localName": "Selector de Mes", - "info": "Componente de selección de mes con escucha incorporada para cambiar entre meses. Permite especificar rangos de fechas seleccionables, fechas seleccionadas, y recibe eventos de selección de fecha.", - "lever": 3, - "family": 1, - "deprecated": -1, - "linkIds": [ - 134, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de MonthPicker", - "desc": [ - "【selectedDate】 : Fecha seleccionada 【DateTime】", - "【firstDate】 : Límite de la primera fecha 【DateTime】", - "【lastDate】 : Límite de la última fecha 【DateTime】", - "【onChanged】 : Callback al hacer clic 【Function(DateTime)】", - " ", - "class CustomMonthPicker extends StatelessWidget{", - " const CustomMonthPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'MonthPicker, el selector de mes, dejó de usarse en Flutter 3.0. Fue reemplazado por CalendarDatePicker, el selector de calendario.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: MonthPicker(", - " selectedDate: _date,", - " onChanged: (date) => setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_fr_FR.json deleted file mode 100644 index 02ed61229..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_fr_FR.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": 135, - "name": "MonthPicker", - "localName": "Sélecteur de mois", - "info": "Composant de sélection de mois avec écouteur intégré pour passer au mois précédent ou suivant. Peut spécifier la plage de dates sélectionnables, la date sélectionnée, etc., et reçoit les événements de sélection de date.", - "lever": 3, - "family": 1, - "deprecated": -1, - "linkIds": [ - 134, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de MonthPicker", - "desc": [ - "【selectedDate】 : Date sélectionnée 【DateTime】", - "【firstDate】 : Limite de la première date 【DateTime】", - "【lastDate】 : Limite de la dernière date 【DateTime】", - "【onChanged】 : Rappel au clic 【Function(DateTime)】", - " ", - "class CustomMonthPicker extends StatelessWidget{", - " const CustomMonthPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'MonthPicker, le sélecteur de mois, a quitté la scène historique avec Flutter 3.0. Il est remplacé par CalendarDatePicker, le sélecteur de calendrier.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: MonthPicker(", - " selectedDate: _date,", - " onChanged: (date) => setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_it_IT.json deleted file mode 100644 index c5d648dce..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_it_IT.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": 135, - "name": "MonthPicker", - "localName": "Selettore del mese", - "info": "Componente di selezione del mese, con monitoraggio integrato per il passaggio al mese precedente o successivo. È possibile specificare l'intervallo di date selezionabile, la data selezionata, ecc., e ricevere eventi di selezione della data.", - "lever": 3, - "family": 1, - "deprecated": -1, - "linkIds": [ - 134, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di MonthPicker", - "desc": [ - "【selectedDate】 : Data selezionata 【DateTime】", - "【firstDate】 : Limite della data più recente 【DateTime】", - "【lastDate】 : Limite della data più lontana 【DateTime】", - "【onChanged】 : Callback al click 【Function(DateTime)】", - " ", - "class CustomMonthPicker extends StatelessWidget{", - " const CustomMonthPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'MonthPicker, il selettore del mese, è stato ritirato in Flutter 3.0. Il suo sostituto è il CalendarDatePicker, il selettore del calendario.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: MonthPicker(", - " selectedDate: _date,", - " onChanged: (date) => setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_ja_JP.json deleted file mode 100644 index 46d812124..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_ja_JP.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": 135, - "name": "MonthPicker", - "localName": "月選択器", - "info": "月の選択コンポーネントで、前後の月への切り替えを監視します。選択可能な日付範囲や選択された日付を指定でき、日付選択イベントを受け取ります。", - "lever": 3, - "family": 1, - "deprecated": -1, - "linkIds": [ - 134, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MonthPickerの基本使用", - "desc": [ - "【selectedDate】 : 選択された日付 【DateTime】", - "【firstDate】 : 最初の日付制限 【DateTime】", - "【lastDate】 : 最後の日付制限 【DateTime】", - "【onChanged】 : クリックコールバック 【Function(DateTime)】", - " ", - "class CustomMonthPicker extends StatelessWidget{", - " const CustomMonthPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'MonthPicker 月選択器は Flutter3.0 で歴史の舞台から退場しました。代替として CalendarDatePicker カレンダー選択器が登場しました。';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: MonthPicker(", - " selectedDate: _date,", - " onChanged: (date) => setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_ko_KR.json deleted file mode 100644 index 9299152b3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_ko_KR.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": 135, - "name": "MonthPicker", - "localName": "월 선택기", - "info": "월을 선택하는 컴포넌트로, 상하월 전환을 자동으로 감지합니다. 선택 가능한 날짜 범위, 선택된 날짜 등을 지정할 수 있으며, 날짜 선택 이벤트를 수신합니다.", - "lever": 3, - "family": 1, - "deprecated": -1, - "linkIds": [ - 134, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MonthPicker 기본 사용법", - "desc": [ - "【selectedDate】 : 선택된 날짜 【DateTime】", - "【firstDate】 : 최초 날짜 제한 【DateTime】", - "【lastDate】 : 마지막 날짜 제한 【DateTime】", - "【onChanged】 : 클릭 콜백 【Function(DateTime)】", - " ", - "class CustomMonthPicker extends StatelessWidget{", - " const CustomMonthPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'MonthPicker 월 선택기는 Flutter3.0에서 역사 속으로 사라졌습니다. 이를 대체하는 것은 CalendarDatePicker 달력 선택기입니다.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: MonthPicker(", - " selectedDate: _date,", - " onChanged: (date) => setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_pt_PT.json deleted file mode 100644 index 0ff589c00..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_pt_PT.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": 135, - "name": "MonthPicker", - "localName": "Seletor de Mês", - "info": "Componente de seleção de mês, com monitoramento integrado para mudança de mês. Pode especificar o intervalo de datas selecionado, a data selecionada, etc., e recebe eventos de seleção de data.", - "lever": 3, - "family": 1, - "deprecated": -1, - "linkIds": [ - 134, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do MonthPicker", - "desc": [ - "【selectedDate】 : Data selecionada 【DateTime】", - "【firstDate】 : Limite da data mais antiga 【DateTime】", - "【lastDate】 : Limite da data mais recente 【DateTime】", - "【onChanged】 : Callback de clique 【Function(DateTime)】", - " ", - "class CustomMonthPicker extends StatelessWidget{", - " const CustomMonthPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'O MonthPicker, o seletor de mês, foi retirado do palco histórico no Flutter 3.0. O substituto é o CalendarDatePicker, o seletor de calendário.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: MonthPicker(", - " selectedDate: _date,", - " onChanged: (date) => setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_ru_RU.json deleted file mode 100644 index baa157397..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_ru_RU.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": 135, - "name": "MonthPicker", - "localName": "Выбор месяца", - "info": "Компонент выбора месяца с встроенным прослушиванием переключения на предыдущий и следующий месяц. Можно указать диапазон выбора дат, выбранную дату и т.д., принимает событие выбора даты.", - "lever": 3, - "family": 1, - "deprecated": -1, - "linkIds": [ - 134, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование MonthPicker", - "desc": [ - "【selectedDate】 : Выбранная дата 【DateTime】", - "【firstDate】 : Ограничение на самую раннюю дату 【DateTime】", - "【lastDate】 : Ограничение на самую позднюю дату 【DateTime】", - "【onChanged】 : Обратный вызов при клике 【Function(DateTime)】", - " ", - "class CustomMonthPicker extends StatelessWidget{", - " const CustomMonthPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'MonthPicker, компонент выбора месяца, ушел в историю с выходом Flutter 3.0. Его заменил CalendarDatePicker, компонент выбора даты.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: MonthPicker(", - " selectedDate: _date,", - " onChanged: (date) => setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_zh-CN.json deleted file mode 100644 index 816c09a77..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/desc_zh-CN.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": 135, - "name": "MonthPicker", - "localName": "月份选择器", - "info": "月份的选择组件,自带上下月切换的监听。可指定选择的日期范围、选中日期等,接收日期选中事件。", - "lever": 3, - "family": 1, - "deprecated": -1, - "linkIds": [ - 134, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MonthPicker基本使用", - "desc": [ - "【selectedDate】 : 选中日期 【DateTime】", - "【firstDate】 : 最前日期限制 【DateTime】", - "【lastDate】 : 最后日期限制 【DateTime】", - "【onChanged】 : 点击回调 【Function(DateTime)】", - " ", - "class CustomMonthPicker extends StatelessWidget{", - " const CustomMonthPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'MonthPicker 月份期选择器于 Flutter3.0 退出历史舞台。取代者为 CalendarDatePicker 日历选择器。';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: MonthPicker(", - " selectedDate: _date,", - " onChanged: (date) => setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/node1_base.dart deleted file mode 100644 index b7f9668b1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MonthPicker/node1_base.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomMonthPicker extends StatelessWidget{ - const CustomMonthPicker({Key? key}) : super(key: key); - - final String info = - 'MonthPicker 月份期选择器于 Flutter3.0 退出历史舞台。取代者为 CalendarDatePicker 日历选择器。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_de_DE.json deleted file mode 100644 index 246a4c828..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 293, - "name": "MouseRegion", - "localName": "Mausbereich", - "info": "Eine Komponente zur Überwachung von Mausereignissen, wird normalerweise für Desktop- und Webplattformen verwendet und kann Mausbewegungen, Eintritts- und Austrittsereignisse überwachen.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von MouseRegion", - "desc": [ - "【onEnter】: Eintrittsereignis 【PointerEnterEventListener】", - "【onHover】: Bewegungsereignis 【PointerHoverEventListener】", - "【onExit】: Austrittsereignis 【PointerExitEventListener】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_en_US.json deleted file mode 100644 index 858d30015..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 293, - "name": "MouseRegion", - "localName": "Mouse Region", - "info": "A component for mouse event listening, typically used on desktop and web platforms, can listen to mouse enter, exit, and move events.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of MouseRegion", - "desc": [ - "【onEnter】: Enter event 【PointerEnterEventListener】", - "【onHover】: Move event 【PointerHoverEventListener】", - "【onExit】: Exit event 【PointerExitEventListener】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_es_ES.json deleted file mode 100644 index 8aaf2d68a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 293, - "name": "MouseRegion", - "localName": "Región del Ratón", - "info": "Componente utilizado para la escucha de eventos del ratón, comúnmente utilizado en plataformas de escritorio y web, puede escuchar eventos de entrada, salida y movimiento del ratón.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de MouseRegion", - "desc": [ - "【onEnter】 : Evento de entrada 【PointerEnterEventListener】", - "【onHover】: Evento de movimiento 【PointerHoverEventListener】", - "【onExit】: Evento de salida 【PointerExitEventListener】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_fr_FR.json deleted file mode 100644 index e58a9d8f0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 293, - "name": "MouseRegion", - "localName": "Région de souris", - "info": "Composant utilisé pour la surveillance des événements de souris, généralement utilisé sur les plateformes de bureau et Web, peut surveiller les événements d'entrée, de sortie et de déplacement de la souris.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de MouseRegion", - "desc": [ - "【onEnter】 : Événement d'entrée 【PointerEnterEventListener】", - "【onHover】: Événement de déplacement 【PointerHoverEventListener】", - "【onExit】: Événement de sortie 【PointerExitEventListener】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_it_IT.json deleted file mode 100644 index 820627991..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 293, - "name": "MouseRegion", - "localName": "Area del Mouse", - "info": "Componente per il monitoraggio degli eventi del mouse, comunemente utilizzato su piattaforme desktop e web, in grado di monitorare eventi di entrata, uscita e movimento del mouse.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di MouseRegion", - "desc": [ - "【onEnter】: Evento di entrata 【PointerEnterEventListener】", - "【onHover】: Evento di movimento 【PointerHoverEventListener】", - "【onExit】: Evento di uscita 【PointerExitEventListener】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_ja_JP.json deleted file mode 100644 index 8984d5dbc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 293, - "name": "MouseRegion", - "localName": "マウス領域", - "info": "マウスイベントを監視するためのコンポーネントで、通常はデスクトップおよびWebプラットフォームで使用され、マウスの入場、退出、移動イベントを監視できます。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MouseRegionの基本使用", - "desc": [ - "【onEnter】 : 入場イベント 【PointerEnterEventListener】", - "【onHover】: 移動イベント 【PointerHoverEventListener】", - "【onExit】: 退出イベント 【PointerExitEventListener】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_ko_KR.json deleted file mode 100644 index 56709993b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 293, - "name": "MouseRegion", - "localName": "마우스 영역", - "info": "마우스 이벤트를 감지하는 컴포넌트로, 주로 데스크톱 및 웹 플랫폼에서 사용되며, 마우스 진입, 이동, 이탈 이벤트를 감지할 수 있습니다.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MouseRegion 기본 사용", - "desc": [ - "【onEnter】 : 진입 이벤트 【PointerEnterEventListener】", - "【onHover】: 이동 이벤트 【PointerHoverEventListener】", - "【onExit】: 이탈 이벤트 【PointerExitEventListener】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_pt_PT.json deleted file mode 100644 index cf3097e9e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 293, - "name": "MouseRegion", - "localName": "Região do Rato", - "info": "Componente para monitorização de eventos do rato, geralmente utilizado em plataformas de desktop e web, pode monitorizar eventos de entrada, saída e movimento do rato.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do MouseRegion", - "desc": [ - "【onEnter】 : Evento de entrada 【PointerEnterEventListener】", - "【onHover】: Evento de movimento 【PointerHoverEventListener】", - "【onExit】: Evento de saída 【PointerExitEventListener】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_ru_RU.json deleted file mode 100644 index fbde4efeb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 293, - "name": "MouseRegion", - "localName": "Область мыши", - "info": "Компонент для отслеживания событий мыши, обычно используется на платформах для настольных компьютеров и веб-платформах, может отслеживать события входа, выхода и перемещения мыши.", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование MouseRegion", - "desc": [ - "【onEnter】: Событие входа 【PointerEnterEventListener】", - "【onHover】: Событие перемещения 【PointerHoverEventListener】", - "【onExit】: Событие выхода 【PointerExitEventListener】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_zh-CN.json deleted file mode 100644 index 194a6654e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 293, - "name": "MouseRegion", - "localName": "鼠标区域", - "info": "用于鼠标事件监听的组件,通常用于桌面和Web平台,可监听鼠标的移入、移除、移动事件。", - "lever": 3, - "family": 2, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MouseRegion基本使用", - "desc": [ - "【onEnter】 : 移入事件 【PointerEnterEventListener】", - "【onHover】: 移动事件 【PointerHoverEventListener】", - "【onExit】: 移出事件 【PointerExitEventListener】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/node1_base.dart deleted file mode 100644 index 2d77a327f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/MouseRegion/node1_base.dart +++ /dev/null @@ -1,63 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class MouseRegionDemo extends StatefulWidget { - const MouseRegionDemo({Key? key}) : super(key: key); - - @override - _MouseRegionDemoState createState() => _MouseRegionDemoState(); -} - -class _MouseRegionDemoState extends State { - int _enterCounter = 0; - int _exitCounter = 0; - double x = 0.0; - double y = 0.0; - void _incrementEnter(PointerEvent details) { - setState(() { - _enterCounter++; - }); - } - void _incrementExit(PointerEvent details) { - setState(() { - _exitCounter++; - }); - } - void _updateLocation(PointerEvent details) { - setState(() { - x = details.position.dx; - y = details.position.dy; - }); - } - @override - Widget build(BuildContext context) { - return ConstrainedBox( - constraints: BoxConstraints.tight(const Size(300.0, 200.0)), - child: MouseRegion( - onEnter: _incrementEnter, - onHover: _updateLocation, - onExit: _incrementExit, - child: Container( - color: Colors.lightBlueAccent, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text('你的鼠标移入移除信息:'), - Text( - '$_enterCounter Entries\n$_exitCounter Exits', - style: Theme.of(context).textTheme.headlineMedium, - ), - Text( - 'The cursor is here: (${x.toStringAsFixed(2)}, ${y.toStringAsFixed(2)})', - ), - ], - ), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_de_DE.json deleted file mode 100644 index 74f4b8e8d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_de_DE.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": 358, - "name": "NavigationRail", - "localName": "Seitennavigation", - "info": "Seitennavigationsleiste, wird im Allgemeinen für Desktop-Navigationsmenüs verwendet. Unterstützt erweiterbare und reduzierbare Bereiche, kann Komponenten für die Anfangsposition und Endposition angeben.", - "lever": 4, - "family": 1, - "linkIds": [ - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NavigationRail Grundlegende Verwendung", - "desc": [ - "【destinations】 : Menüdatenliste 【List】", - "【selectedIndex】: Aktivierter Index 【int】", - "【labelType】: Label-Stil 【NavigationRailLabelType?】", - "【onDestinationSelected】: Menü-Klick-Ereignis 【ValueChanged?】" - ] - }, - { - "file": "node2_extend.dart", - "name": "NavigationRail Falt-Effekt", - "desc": [ - "【elevation】 : Schattentiefe 【double】", - "【leading】: Startkomponente 【Widget?】", - "【trailing】: Endkomponente 【Widget?】", - "【extended】: Ob erweitert 【bool】" - ] - }, - { - "file": "node3_dark.dart", - "name": "NavigationRail Stil", - "desc": [ - "【useIndicator】 : Ob Indikator angezeigt wird 【bool】", - "【indicatorColor】: Indikatorfarbe 【Color?】", - "【backgroundColor】: Hintergrundfarbe 【Color?】", - "【labelType】: Label-Stil 【NavigationRailLabelType?】", - "【selectedIconTheme】: Ausgewähltes Icon-Thema 【IconThemeData?】", - "【unselectedIconTheme】: Nicht ausgewähltes Icon-Thema 【IconThemeData?】", - "【selectedLabelTextStyle】: Ausgewählter Textstil 【TextStyle?】", - "【unselectedLabelTextStyle】: Nicht ausgewählter Textstil 【TextStyle?】", - "【minExtendedWidth】: Erweiterte Breite 【double?】", - "【minWidth】: Nicht erweiterte Breite 【double?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_en_US.json deleted file mode 100644 index e98539271..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_en_US.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": 358, - "name": "NavigationRail", - "localName": "Side Navigation Bar", - "info": "Side navigation bar, generally used for desktop navigation menus. Supports expanding and collapsing areas, and can specify components at the beginning and end positions.", - "lever": 4, - "family": 1, - "linkIds": [ - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of NavigationRail", - "desc": [ - "【destinations】 : Menu data list 【List】", - "【selectedIndex】: Active index 【int】", - "【labelType】: Label style 【NavigationRailLabelType?】", - "【onDestinationSelected】: Menu click event 【ValueChanged?】" - ] - }, - { - "file": "node2_extend.dart", - "name": "Collapse Effect of NavigationRail", - "desc": [ - "【elevation】 : Shadow depth 【double】", - "【leading】: Leading component 【Widget?】", - "【trailing】: Trailing component 【Widget?】", - "【extended】: Whether to expand 【bool】" - ] - }, - { - "file": "node3_dark.dart", - "name": "NavigationRail Style", - "desc": [ - "【useIndicator】 : Whether to show the indicator 【bool】", - "【indicatorColor】: Indicator color 【Color?】", - "【backgroundColor】: Background color 【Color?】", - "【labelType】: Label style 【NavigationRailLabelType?】", - "【selectedIconTheme】: Selected icon style 【IconThemeData?】", - "【unselectedIconTheme】: Unselected icon style 【IconThemeData?】", - "【selectedLabelTextStyle】: Selected text style 【TextStyle?】", - "【unselectedLabelTextStyle】: Unselected text style 【TextStyle?】", - "【minExtendedWidth】: Expanded width 【double?】", - "【minWidth】: Unexpanded width 【double?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_es_ES.json deleted file mode 100644 index ed04f6691..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_es_ES.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": 358, - "name": "NavigationRail", - "localName": "Navegación lateral", - "info": "Barra de navegación lateral, generalmente utilizada para menús de navegación de escritorio. Admite áreas expandibles y contraíbles, y permite especificar componentes en la posición inicial y final.", - "lever": 4, - "family": 1, - "linkIds": [ - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de NavigationRail", - "desc": [ - "【destinations】 : Lista de datos del menú 【List】", - "【selectedIndex】: Índice activo 【int】", - "【labelType】: Estilo de la etiqueta 【NavigationRailLabelType?】", - "【onDestinationSelected】: Evento de clic en el menú 【ValueChanged?】" - ] - }, - { - "file": "node2_extend.dart", - "name": "Efecto de plegado de NavigationRail", - "desc": [ - "【elevation】 : Profundidad de la sombra 【double】", - "【leading】: Componente inicial 【Widget?】", - "【trailing】: Componente final 【Widget?】", - "【extended】: Si está expandido 【bool】" - ] - }, - { - "file": "node3_dark.dart", - "name": "Estilo de NavigationRail", - "desc": [ - "【useIndicator】 : Si se muestra el indicador 【bool】", - "【indicatorColor】: Color del indicador 【Color?】", - "【backgroundColor】: Color de fondo 【Color?】", - "【labelType】: Estilo de la etiqueta 【NavigationRailLabelType?】", - "【selectedIconTheme】: Estilo del icono seleccionado 【IconThemeData?】", - "【unselectedIconTheme】: Estilo del icono no seleccionado 【IconThemeData?】", - "【selectedLabelTextStyle】: Estilo del texto seleccionado 【TextStyle?】", - "【unselectedLabelTextStyle】: Estilo del texto no seleccionado 【TextStyle?】", - "【minExtendedWidth】: Ancho expandido 【double?】", - "【minWidth】: Ancho no expandido 【double?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_fr_FR.json deleted file mode 100644 index 8203bb856..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_fr_FR.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": 358, - "name": "NavigationRail", - "localName": "Barre de navigation latérale", - "info": "Barre de navigation latérale, généralement utilisée pour les menus de navigation sur ordinateur. Prend en charge l'expansion et la contraction des zones, et permet de spécifier les composants en position de début et de fin.", - "lever": 4, - "family": 1, - "linkIds": [ - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de NavigationRail", - "desc": [ - "【destinations】 : Liste des données du menu 【List】", - "【selectedIndex】: Index actif 【int】", - "【labelType】: Style de l'étiquette 【NavigationRailLabelType?】", - "【onDestinationSelected】: Événement de clic sur le menu 【ValueChanged?】" - ] - }, - { - "file": "node2_extend.dart", - "name": "Effet de pliage de NavigationRail", - "desc": [ - "【elevation】 : Profondeur de l'ombre 【double】", - "【leading】: Composant de début 【Widget?】", - "【trailing】: Composant de fin 【Widget?】", - "【extended】: Est-ce étendu 【bool】" - ] - }, - { - "file": "node3_dark.dart", - "name": "Style de NavigationRail", - "desc": [ - "【useIndicator】 : Afficher l'indicateur 【bool】", - "【indicatorColor】: Couleur de l'indicateur 【Color?】", - "【backgroundColor】: Couleur de fond 【Color?】", - "【labelType】: Style de l'étiquette 【NavigationRailLabelType?】", - "【selectedIconTheme】: Style de l'icône sélectionnée 【IconThemeData?】", - "【unselectedIconTheme】: Style de l'icône non sélectionnée 【IconThemeData?】", - "【selectedLabelTextStyle】: Style du texte sélectionné 【TextStyle?】", - "【unselectedLabelTextStyle】: Style du texte non sélectionné 【TextStyle?】", - "【minExtendedWidth】: Largeur étendue 【double?】", - "【minWidth】: Largeur non étendue 【double?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_it_IT.json deleted file mode 100644 index 6e44bddfa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_it_IT.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": 358, - "name": "NavigationRail", - "localName": "Navigazione laterale", - "info": "Barra di navigazione laterale, generalmente utilizzata per il menu di navigazione desktop. Supporta l'espansione e la contrazione delle aree, e consente di specificare i componenti nelle posizioni iniziali e finali.", - "lever": 4, - "family": 1, - "linkIds": [ - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di NavigationRail", - "desc": [ - "【destinations】 : Lista dei dati del menu 【List】", - "【selectedIndex】: Indice attivo 【int】", - "【labelType】: Stile dell'etichetta 【NavigationRailLabelType?】", - "【onDestinationSelected】: Evento di clic sul menu 【ValueChanged?】" - ] - }, - { - "file": "node2_extend.dart", - "name": "Effetto di collasso di NavigationRail", - "desc": [ - "【elevation】 : Profondità dell'ombra 【double】", - "【leading】: Componente iniziale 【Widget?】", - "【trailing】: Componente finale 【Widget?】", - "【extended】: Se espanso 【bool】" - ] - }, - { - "file": "node3_dark.dart", - "name": "Stile di NavigationRail", - "desc": [ - "【useIndicator】 : Se mostrare l'indicatore 【bool】", - "【indicatorColor】: Colore dell'indicatore 【Color?】", - "【backgroundColor】: Colore di sfondo 【Color?】", - "【labelType】: Stile dell'etichetta 【NavigationRailLabelType?】", - "【selectedIconTheme】: Stile dell'icona selezionata 【IconThemeData?】", - "【unselectedIconTheme】: Stile dell'icona non selezionata 【IconThemeData?】", - "【selectedLabelTextStyle】: Stile del testo selezionato 【TextStyle?】", - "【unselectedLabelTextStyle】: Stile del testo non selezionato 【TextStyle?】", - "【minExtendedWidth】: Larghezza espansa 【double?】", - "【minWidth】: Larghezza non espansa 【double?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_ja_JP.json deleted file mode 100644 index 81addefbf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_ja_JP.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": 358, - "name": "NavigationRail", - "localName": "サイドバーナビゲーション", - "info": "サイドナビゲーションバーは、通常デスクトップのナビゲーションメニューに使用されます。展開と収縮の領域をサポートし、最初と最後の位置のコンポーネントを指定できます。", - "lever": 4, - "family": 1, - "linkIds": [ - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NavigationRail 基本使用", - "desc": [ - "【destinations】 : メニューデータリスト 【List】", - "【selectedIndex】: アクティブインデックス 【int】", - "【labelType】: ラベルスタイル 【NavigationRailLabelType?】", - "【onDestinationSelected】: メニュークリックイベント 【ValueChanged?】" - ] - }, - { - "file": "node2_extend.dart", - "name": "NavigationRail 折りたたみ効果", - "desc": [ - "【elevation】 : 影の深さ 【double】", - "【leading】: 最初のコンポーネント 【Widget?】", - "【trailing】: 最後のコンポーネント 【Widget?】", - "【extended】: 展開するかどうか 【bool】" - ] - }, - { - "file": "node3_dark.dart", - "name": "NavigationRail スタイル", - "desc": [ - "【useIndicator】 : インジケーターを表示するかどうか 【bool】", - "【indicatorColor】: インジケーターの色 【Color?】", - "【backgroundColor】: 背景色 【Color?】", - "【labelType】: ラベルスタイル 【NavigationRailLabelType?】", - "【selectedIconTheme】: 選択されたアイコンのスタイル 【IconThemeData?】", - "【unselectedIconTheme】: 選択されていないアイコンのスタイル 【IconThemeData?】", - "【selectedLabelTextStyle】: 選択されたテキストのスタイル 【TextStyle?】", - "【unselectedLabelTextStyle】: 選択されていないテキストのスタイル 【TextStyle?】", - "【minExtendedWidth】: 展開幅 【double?】", - "【minWidth】: 未展開幅 【double?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_ko_KR.json deleted file mode 100644 index 351ea2c04..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_ko_KR.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": 358, - "name": "NavigationRail", - "localName": "사이드바 내비게이션", - "info": "사이드 내비게이션 바, 일반적으로 데스크톱 내비게이션 메뉴에 사용됩니다. 확장 및 축소 영역을 지원하며, 처음과 끝 위치 컴포넌트를 지정할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NavigationRail 기본 사용법", - "desc": [ - "【destinations】 : 메뉴 데이터 리스트 【List】", - "【selectedIndex】: 활성화 인덱스 【int】", - "【labelType】: 라벨 스타일 【NavigationRailLabelType?】", - "【onDestinationSelected】: 메뉴 클릭 이벤트 【ValueChanged?】" - ] - }, - { - "file": "node2_extend.dart", - "name": "NavigationRail 접힘 효과", - "desc": [ - "【elevation】 : 그림자 깊이 【double】", - "【leading】: 처음 컴포넌트 【Widget?】", - "【trailing】: 끝 컴포넌트 【Widget?】", - "【extended】: 확장 여부 【bool】" - ] - }, - { - "file": "node3_dark.dart", - "name": "NavigationRail 스타일", - "desc": [ - "【useIndicator】 : 인디케이터 표시 여부 【bool】", - "【indicatorColor】: 인디케이터 색상 【Color?】", - "【backgroundColor】: 배경색 【Color?】", - "【labelType】: 라벨 스타일 【NavigationRailLabelType?】", - "【selectedIconTheme】: 선택된 아이콘 스타일 【IconThemeData?】", - "【unselectedIconTheme】: 선택되지 않은 아이콘 스타일 【IconThemeData?】", - "【selectedLabelTextStyle】: 선택된 텍스트 스타일 【TextStyle?】", - "【unselectedLabelTextStyle】: 선택되지 않은 텍스트 스타일 【TextStyle?】", - "【minExtendedWidth】: 확장된 너비 【double?】", - "【minWidth】: 확장되지 않은 너비 【double?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_pt_PT.json deleted file mode 100644 index ae772d91b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_pt_PT.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": 358, - "name": "NavigationRail", - "localName": "Barra de Navegação Lateral", - "info": "Barra de navegação lateral, geralmente usada para menus de navegação em desktop. Suporta áreas expansíveis e retráteis, com componentes especificáveis nas posições inicial e final.", - "lever": 4, - "family": 1, - "linkIds": [ - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do NavigationRail", - "desc": [ - "【destinations】 : Lista de dados do menu 【List】", - "【selectedIndex】: Índice ativo 【int】", - "【labelType】: Estilo da etiqueta 【NavigationRailLabelType?】", - "【onDestinationSelected】: Evento de clique no menu 【ValueChanged?】" - ] - }, - { - "file": "node2_extend.dart", - "name": "Efeito de Recolhimento do NavigationRail", - "desc": [ - "【elevation】 : Profundidade da sombra 【double】", - "【leading】: Componente inicial 【Widget?】", - "【trailing】: Componente final 【Widget?】", - "【extended】: Expandido 【bool】" - ] - }, - { - "file": "node3_dark.dart", - "name": "Estilo do NavigationRail", - "desc": [ - "【useIndicator】 : Mostrar indicador 【bool】", - "【indicatorColor】: Cor do indicador 【Color?】", - "【backgroundColor】: Cor de fundo 【Color?】", - "【labelType】: Estilo da etiqueta 【NavigationRailLabelType?】", - "【selectedIconTheme】: Estilo do ícone selecionado 【IconThemeData?】", - "【unselectedIconTheme】: Estilo do ícone não selecionado 【IconThemeData?】", - "【selectedLabelTextStyle】: Estilo do texto selecionado 【TextStyle?】", - "【unselectedLabelTextStyle】: Estilo do texto não selecionado 【TextStyle?】", - "【minExtendedWidth】: Largura expandida 【double?】", - "【minWidth】: Largura não expandida 【double?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_ru_RU.json deleted file mode 100644 index e9889ecd9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_ru_RU.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": 358, - "name": "NavigationRail", - "localName": "Боковая навигация", - "info": "Боковая панель навигации, обычно используется для навигационного меню на рабочем столе. Поддерживает расширение и сворачивание области, можно указать компоненты в начале и конце.", - "lever": 4, - "family": 1, - "linkIds": [ - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование NavigationRail", - "desc": [ - "【destinations】 : Список данных меню 【List】", - "【selectedIndex】: Активный индекс 【int】", - "【labelType】: Стиль метки 【NavigationRailLabelType?】", - "【onDestinationSelected】: Событие клика по меню 【ValueChanged?】" - ] - }, - { - "file": "node2_extend.dart", - "name": "Эффект сворачивания NavigationRail", - "desc": [ - "【elevation】 : Глубина тени 【double】", - "【leading】: Начальный компонент 【Widget?】", - "【trailing】: Конечный компонент 【Widget?】", - "【extended】: Развернуто ли 【bool】" - ] - }, - { - "file": "node3_dark.dart", - "name": "Стиль NavigationRail", - "desc": [ - "【useIndicator】 : Показывать ли индикатор 【bool】", - "【indicatorColor】: Цвет индикатора 【Color?】", - "【backgroundColor】: Цвет фона 【Color?】", - "【labelType】: Стиль метки 【NavigationRailLabelType?】", - "【selectedIconTheme】: Стиль выбранной иконки 【IconThemeData?】", - "【unselectedIconTheme】: Стиль невыбранной иконки 【IconThemeData?】", - "【selectedLabelTextStyle】: Стиль выбранного текста 【TextStyle?】", - "【unselectedLabelTextStyle】: Стиль невыбранного текста 【TextStyle?】", - "【minExtendedWidth】: Ширина в развернутом состоянии 【double?】", - "【minWidth】: Ширина в свернутом состоянии 【double?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_zh-CN.json deleted file mode 100644 index 92520a94e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/desc_zh-CN.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": 358, - "name": "NavigationRail", - "localName": "侧栏导航", - "info": "侧导航栏,一般用于桌面导航菜单。支持展开和收缩区域,可指定首尾位置组件。", - "lever": 4, - "family": 1, - "linkIds": [ - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NavigationRail 基本使用", - "desc": [ - "【destinations】 : 菜单数据列表 【List】", - "【selectedIndex】: 激活索引 【int】", - "【labelType】: 标签样式 【NavigationRailLabelType?】", - "【onDestinationSelected】: 菜单点击事件 【ValueChanged?】" - ] - }, - { - "file": "node2_extend.dart", - "name": "NavigationRail 折叠效果", - "desc": [ - "【elevation】 : 影深 【double】", - "【leading】: 首组件 【Widget?】", - "【trailing】: 尾组件 【Widget?】", - "【extended】: 是否展开 【bool】" - ] - }, - { - "file": "node3_dark.dart", - "name": "NavigationRail 样式", - "desc": [ - "【useIndicator】 : 是否显示指示器 【bool】", - "【indicatorColor】: 指示器颜色 【Color?】", - "【backgroundColor】: 背景色 【Color?】", - "【labelType】: 标签样式 【NavigationRailLabelType?】", - "【selectedIconTheme】: 选中图标样式 【IconThemeData?】", - "【unselectedIconTheme】: 未选中图标样式 【IconThemeData?】", - "【selectedLabelTextStyle】: 选中文字样式 【TextStyle?】", - "【unselectedLabelTextStyle】: 未选中文字样式 【TextStyle?】", - "【minExtendedWidth】: 展开宽度 【double?】", - "【minWidth】: 未展开宽度 【double?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/node1_base.dart deleted file mode 100644 index b5c732600..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/node1_base.dart +++ /dev/null @@ -1,111 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2022/7/23 -/// contact me by email 1981462002@qq.com - -class CustomNavigationRail extends StatefulWidget { - const CustomNavigationRail({Key? key}) : super(key: key); - - @override - State createState() => _CustomNavigationRailState(); -} - -class _CustomNavigationRailState extends State { - final PageController _controller = PageController(); - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar(), - body: Row( - children: [ - _NavigationRailDemo( - onDestinationSelected: _onDestinationSelected, - ), - Expanded( - child: PageView( - controller: _controller, - children: const [ - _TestContent(content: '消息'), - _TestContent(content: '视频会议'), - _TestContent(content: '通讯录'), - _TestContent(content: '云文档'), - _TestContent(content: '工作台'), - _TestContent(content: '日历'), - ], - )) - ], - ), - ); - } - - void _onDestinationSelected(int value) { - _controller.jumpToPage(value); - } - - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } -} - -class _TestContent extends StatelessWidget { - final String content; - - const _TestContent({Key? key, required this.content}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Center( - child: Text( - content, - style: const TextStyle(fontSize: 26), - )); - } -} - -class _NavigationRailDemo extends StatefulWidget { - final ValueChanged? onDestinationSelected; - - const _NavigationRailDemo({Key? key, this.onDestinationSelected}) - : super(key: key); - - @override - State<_NavigationRailDemo> createState() => _NavigationRailDemoState(); -} - -class _NavigationRailDemoState extends State<_NavigationRailDemo> { - int _selectIndex = 0; - - final List destinations = const [ - NavigationRailDestination( - icon: Icon(Icons.message_outlined), label: Text("消息")), - NavigationRailDestination( - icon: Icon(Icons.video_camera_back_outlined), label: Text("视频会议")), - NavigationRailDestination( - icon: Icon(Icons.book_outlined), label: Text("通讯录")), - NavigationRailDestination( - icon: Icon(Icons.cloud_upload_outlined), label: Text("云文档")), - NavigationRailDestination( - icon: Icon(Icons.games_sharp), label: Text("工作台")), - NavigationRailDestination( - icon: Icon(Icons.calendar_month), label: Text("日历")) - ]; - - @override - Widget build(BuildContext context) { - return NavigationRail( - onDestinationSelected: _onDestinationSelected, - labelType: NavigationRailLabelType.all, - destinations: destinations, - selectedIndex: _selectIndex, - ); - } - - void _onDestinationSelected(int value) { - _selectIndex = value; - setState(() {}); - widget.onDestinationSelected?.call(value); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/node2_extend.dart b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/node2_extend.dart deleted file mode 100644 index 0f3d350f9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/node2_extend.dart +++ /dev/null @@ -1,139 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2022/7/23 -/// contact me by email 1981462002@qq.com - -class ExtendableNavigationRail extends StatefulWidget { - const ExtendableNavigationRail({Key? key}) : super(key: key); - - @override - State createState() => - _ExtendableNavigationRailState(); -} - -class _ExtendableNavigationRailState extends State { - final PageController _controller = PageController(); - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar(), - body: Row( - children: [ - ExtendableNavigation( - onDestinationSelected: _onDestinationSelected, - ), - Expanded( - child: PageView( - controller: _controller, - children: const [ - _TestContent(content: '消息'), - _TestContent(content: '视频会议'), - _TestContent(content: '通讯录'), - _TestContent(content: '云文档'), - _TestContent(content: '工作台'), - _TestContent(content: '日历'), - ], - )) - ], - ), - ); - } - - void _onDestinationSelected(int value) { - _controller.jumpToPage(value); - } - - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } -} - -class _TestContent extends StatelessWidget { - final String content; - - const _TestContent({Key? key, required this.content}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Center( - child: Text( - content, - style: const TextStyle(fontSize: 26), - )); - } -} - -class ExtendableNavigation extends StatefulWidget { - final ValueChanged? onDestinationSelected; - - const ExtendableNavigation({Key? key, this.onDestinationSelected}) - : super(key: key); - - @override - State createState() => _ExtendableNavigationState(); -} - -class _ExtendableNavigationState extends State { - int _selectIndex = 0; - bool _extended = false; - - final List destinations = const [ - NavigationRailDestination( - icon: Icon(Icons.message_outlined), label: Text("消息")), - NavigationRailDestination( - icon: Icon(Icons.video_camera_back_outlined), label: Text("视频会议")), - NavigationRailDestination( - icon: Icon(Icons.book_outlined), label: Text("通讯录")), - NavigationRailDestination( - icon: Icon(Icons.cloud_upload_outlined), label: Text("云文档")), - NavigationRailDestination( - icon: Icon(Icons.games_sharp), label: Text("工作台")), - NavigationRailDestination( - icon: Icon(Icons.calendar_month), label: Text("日历")) - ]; - - Widget buildLeading() { - return GestureDetector( - onTap: _toggleExtended, - child: const Icon( - Icons.menu_open, - color: Colors.grey, - )); - } - - @override - Widget build(BuildContext context) { - return NavigationRail( - leading: buildLeading(), - extended: _extended, - elevation: 1, - trailing: const Expanded( - child: Align( - alignment: Alignment.bottomCenter, - child: Padding( - padding: EdgeInsets.only(bottom: 20.0), - child: FlutterLogo(), - ), - ), - ), - onDestinationSelected: _onDestinationSelected, - destinations: destinations, - selectedIndex: _selectIndex, - ); - } - - void _onDestinationSelected(int value) { - _selectIndex = value; - setState(() {}); - widget.onDestinationSelected?.call(value); - } - - void _toggleExtended() { - setState(() { - _extended = !_extended; - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/node3_dark.dart b/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/node3_dark.dart deleted file mode 100644 index fe234ed5d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NavigationRail/node3_dark.dart +++ /dev/null @@ -1,160 +0,0 @@ -import 'package:flutter/material.dart'; - -// minWidth: 72, -// minExtendedWidth: 200 , -// unselectedIconTheme: const IconThemeData(color: textColor) , -// selectedIconTheme: const IconThemeData(color: activeColor) , -// unselectedLabelTextStyle: labelStyle, -// selectedLabelTextStyle: labelStyle, - -/// create by 张风捷特烈 on 2022/7/23 -/// contact me by email 1981462002@qq.com - -class DarkNavigationRail extends StatefulWidget { - const DarkNavigationRail({Key? key}) : super(key: key); - - @override - State createState() => _DarkNavigationRailState(); -} - -class _DarkNavigationRailState extends State { - final PageController _controller = PageController(); - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar(), - body: Row( - children: [ - DarkExtendableNavigation( - onDestinationSelected: _onDestinationSelected, - ), - Expanded( - child: PageView( - controller: _controller, - children: const [ - _TestContent(content: '消息'), - _TestContent(content: '视频会议'), - _TestContent(content: '通讯录'), - _TestContent(content: '云文档'), - _TestContent(content: '工作台'), - _TestContent(content: '日历'), - ], - )) - ], - ), - ); - } - - void _onDestinationSelected(int value) { - _controller.jumpToPage(value); - } - - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } -} - -class _TestContent extends StatelessWidget { - final String content; - - const _TestContent({Key? key, required this.content}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Center( - child: Text( - content, - style: const TextStyle(fontSize: 26), - )); - } -} - -class DarkExtendableNavigation extends StatefulWidget { - final ValueChanged? onDestinationSelected; - - const DarkExtendableNavigation({Key? key, this.onDestinationSelected}) - : super(key: key); - - @override - State createState() => - _DarkExtendableNavigationState(); -} - -class _DarkExtendableNavigationState extends State { - int _selectIndex = 0; - bool _extended = false; - - final List destinations = const [ - NavigationRailDestination( - icon: Icon(Icons.message_outlined), label: Text("消息")), - NavigationRailDestination( - icon: Icon(Icons.video_camera_back_outlined), label: Text("视频会议")), - NavigationRailDestination( - icon: Icon(Icons.book_outlined), label: Text("通讯录")), - NavigationRailDestination( - icon: Icon(Icons.cloud_upload_outlined), label: Text("云文档")), - NavigationRailDestination( - icon: Icon(Icons.games_sharp), label: Text("工作台")), - NavigationRailDestination( - icon: Icon(Icons.calendar_month), label: Text("日历")) - ]; - - Widget buildLeading() { - return GestureDetector( - onTap: _toggleExtended, - child: const Icon( - Icons.menu_open, - color: Colors.grey, - )); - } - - @override - Widget build(BuildContext context) { - const Color textColor = Color(0xffcfd1d7); - const Color activeColor = Colors.white; - const TextStyle labelStyle = TextStyle(color: textColor, fontSize: 11); - - return NavigationRail( - leading: buildLeading(), - extended: _extended, - labelType: NavigationRailLabelType.none, - useIndicator: true, - indicatorColor: Colors.blue, - elevation: 1, - backgroundColor: const Color(0xff324465), - minWidth: 72, - minExtendedWidth: 200, - unselectedIconTheme: const IconThemeData(color: textColor), - selectedIconTheme: const IconThemeData(color: activeColor), - unselectedLabelTextStyle: labelStyle, - selectedLabelTextStyle: labelStyle, - trailing: const Expanded( - child: Align( - alignment: Alignment.bottomCenter, - child: Padding( - padding: EdgeInsets.only(bottom: 20.0), - child: FlutterLogo(), - ), - ), - ), - onDestinationSelected: _onDestinationSelected, - destinations: destinations, - selectedIndex: _selectIndex, - ); - } - - void _onDestinationSelected(int value) { - _selectIndex = value; - setState(() {}); - widget.onDestinationSelected?.call(value); - } - - void _toggleExtended() { - setState(() { - _extended = !_extended; - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_de_DE.json deleted file mode 100644 index 3f97142a7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 232, - "name": "Navigator", - "localName": "Navigator", - "info": "Der Navigator verwaltet eine Gruppe von Unterkomponenten nach Stack-Regeln, kann Unterkomponenten ein- und ausblenden und Ereignisse beim Ein- und Ausstapeln überwachen. Die Routenverwaltung von MaterialApp basiert auf dem Navigator.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung des Navigators", - "desc": [ - "【initialRoute】: Anfangsroute 【String】", - "【onGenerateRoute】: Routengenerator 【RouteFactory】", - "【observers】: Routenbeobachter 【List】", - "【onPopPage】: Rückruf beim Entfernen aus dem Stack 【PopPageCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_en_US.json deleted file mode 100644 index b36e3220f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 232, - "name": "Navigator", - "localName": "Navigator", - "info": "The Navigator manages a group of child components using stack rules, allowing child components to be pushed and popped, and listening to stack events. The origin of MaterialApp's route management is the use of Navigator.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Navigator", - "desc": [ - "【initialRoute】: Initial display route 【String】", - "【onGenerateRoute】: Route generator 【RouteFactory】", - "【observers】: Route observers 【List】", - "【onPopPage】: Pop page callback 【PopPageCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_es_ES.json deleted file mode 100644 index d3006b1b6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 232, - "name": "Navigator", - "localName": "Navegador", - "info": "Navigator gestiona un grupo de componentes secundarios utilizando reglas de pila, permitiendo empujar y sacar componentes secundarios, así como escuchar eventos de entrada y salida de la pila. La gestión de rutas de MaterialApp se basa en el uso de Navigator.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Navigator", - "desc": [ - "【initialRoute】 : Ruta inicial 【String】", - "【onGenerateRoute】 : Generador de rutas 【RouteFactory】", - "【observers】 : Observador de rutas 【List】", - "【onPopPage】 : Callback de salida de pila 【PopPageCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_fr_FR.json deleted file mode 100644 index 867043566..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 232, - "name": "Navigator", - "localName": "Navigateur", - "info": "Navigator gère un ensemble de composants enfants en utilisant des règles de pile, permettant de pousser et de retirer des composants enfants ainsi que d'écouter les événements d'entrée et de sortie de la pile. La gestion des routes de MaterialApp est fondamentalement basée sur l'utilisation de Navigator.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Navigator", - "desc": [ - "【initialRoute】 : Route initiale 【String】", - "【onGenerateRoute】 : Générateur de route 【RouteFactory】", - "【observers】 : Observateur de route 【List】", - "【onPopPage】 : Rappel de sortie de pile 【PopPageCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_it_IT.json deleted file mode 100644 index 713fe080b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 232, - "name": "Navigator", - "localName": "Navigatore", - "info": "Navigator gestisce un gruppo di componenti figli utilizzando regole di stack, può spingere e rimuovere componenti figli e monitorare gli eventi di entrata e uscita dallo stack. La gestione delle route di MaterialApp si basa sull'uso di Navigator.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Navigator", - "desc": [ - "【initialRoute】 : Route iniziale 【String】", - "【onGenerateRoute】 : Generatore di route 【RouteFactory】", - "【observers】 : Osservatori di route 【List】", - "【onPopPage】 : Callback di rimozione dallo stack 【PopPageCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_ja_JP.json deleted file mode 100644 index 8d9747e23..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 232, - "name": "Navigator", - "localName": "ナビゲーター", - "info": "Navigatorはスタックルールを使用して一連の子コンポーネントを管理し、子コンポーネントを切り替えたり、スタックの出入りイベントを監視したりすることができます。MaterialAppのルート管理の根源はNavigatorを使用しています。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Navigatorの基本使用方法", - "desc": [ - "【initialRoute】 : 最初に表示されるルート 【String】", - "【onGenerateRoute】 : ルートジェネレーター 【RouteFactory】", - "【observers】 : ルートオブザーバー 【List】", - "【onPopPage】 : スタックから出るコールバック 【PopPageCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_ko_KR.json deleted file mode 100644 index b84707bec..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 232, - "name": "Navigator", - "localName": "네비게이터", - "info": "Navigator는 스택 규칙을 사용하여 자식 위젯 그룹을 관리하며, 자식 위젯을 푸시하고 팝하며 스택 이벤트를 수신할 수 있습니다. MaterialApp의 라우팅 관리의 근원은 Navigator를 사용한 것입니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Navigator 기본 사용법", - "desc": [ - "【initialRoute】 : 초기 표시 라우트 【String】", - "【onGenerateRoute】 : 라우트 생성기 【RouteFactory】", - "【observers】 : 라우트 리스너 【List】", - "【onPopPage】 : 팝 콜백 【PopPageCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_pt_PT.json deleted file mode 100644 index 16934999a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 232, - "name": "Navigator", - "localName": "Navegador", - "info": "O Navigator gere um grupo de componentes filhos usando regras de pilha, podendo empurrar e retirar componentes filhos, bem como monitorar eventos de entrada e saída da pilha. A gestão de rotas do MaterialApp baseia-se no uso do Navigator.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Navigator", - "desc": [ - "【initialRoute】 : Rota inicial 【String】", - "【onGenerateRoute】 : Gerador de rotas 【RouteFactory】", - "【observers】 : Observador de rotas 【List】", - "【onPopPage】 : Callback de saída da pilha 【PopPageCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_ru_RU.json deleted file mode 100644 index fcf4be64d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 232, - "name": "Navigator", - "localName": "Навигатор", - "info": "Navigator управляет группой дочерних компонентов по правилам стека, может добавлять и удалять дочерние компоненты, а также отслеживать события входа и выхода из стека. Источник управления маршрутами MaterialApp использует Navigator.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Navigator", - "desc": [ - "【initialRoute】 : Первоначальный маршрут отображения 【String】", - "【onGenerateRoute】 : Генератор маршрутов 【RouteFactory】", - "【observers】 : Наблюдатели маршрутов 【List】", - "【onPopPage】 : Обратный вызов выхода из стека 【PopPageCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_zh-CN.json deleted file mode 100644 index f350eeb22..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 232, - "name": "Navigator", - "localName": "导航器", - "info": "Navigator用堆栈规则管理一组子组件,可以将子组件切入弹出及监听出入栈事件。MaterialApp路由管理的本源就是使用了Navigator。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Navigator基本用法", - "desc": [ - "【initialRoute】 : 最初显示路由 【String】", - "【onGenerateRoute】 : 路由生成器 【RouteFactory】", - "【observers】 : 路由监听器 【List】", - "【onPopPage】 : 出栈回调 【PopPageCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Navigator/node1_base.dart deleted file mode 100644 index eb000b4a0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Navigator/node1_base.dart +++ /dev/null @@ -1,185 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/19 -/// contact me by email 1981462002@qq.com - -class NavigatorDemo extends StatelessWidget { - const NavigatorDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - width: 300, - child: Navigator( - onPopPage: _onPopPage, - initialRoute: '/home-content', - onGenerateRoute: _onGenerateRoute, - observers: [TolyNavigatorObservers()], - ), - ); - } - - Route _onGenerateRoute(RouteSettings settings) { - switch (settings.name) { - case '/home-content': - return MaterialPageRoute( - builder: (_) => const HomeContent(), settings: settings); - case "/red": - return MaterialPageRoute(builder: (_) => const RedPage(), settings: settings); - case "/yellow": - return MaterialPageRoute( - builder: (_) => const YellowPage(), settings: settings); - case "/green": - return MaterialPageRoute( - builder: (_) => const GreenPage(), settings: settings); - default: - return MaterialPageRoute( - builder: (_) => const HomeContent(), settings: settings); - } - } - - bool _onPopPage(Route route, result) { - print('----_onPopPage-----'); - return true; - } -} - -//路由监听器 -class TolyNavigatorObservers extends NavigatorObserver { - @override - void didPush(Route route, Route? previousRoute) { - print( - '--didPush:--route:--${route.settings}--previousRoute:--${previousRoute?.settings}'); - } - - @override - void didStopUserGesture() { - print('--didStopUserGesture:--'); - } - - @override - void didStartUserGesture(Route route, Route? previousRoute) { - print( - '--didStartUserGesture:--route:--${route.settings}--previousRoute:--${previousRoute?.settings}'); - } - - @override - void didReplace({Route? newRoute, Route? oldRoute}) { - print( - '--didReplace:--newRoute:--${newRoute?.settings}--oldRoute:--${oldRoute?.settings}'); - } - - @override - void didRemove(Route? route, Route? previousRoute) { - print( - '--didRemove:--route:--${route?.settings}--previousRoute:--${previousRoute?.settings}'); - } - - @override - void didPop(Route route, Route? previousRoute) { - print( - '--didPop:--route:--${route.settings}--previousRoute:--${previousRoute?.settings}'); - } -} - -class HomeContent extends StatelessWidget { - const HomeContent({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.red, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - ), - child: const Text('to red'), - onPressed: () { - Navigator.pushNamed(context, '/red'); - }, - ), - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.yellow, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - ), - child: const Text('to yellow'), - onPressed: () { - Navigator.pushNamed(context, '/yellow'); - }, - ), - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.green, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - ), - child: const Text('to yellow'), - onPressed: () { - Navigator.pushNamed(context, '/green'); - }, - ) - ], - ), - ], - ); - } -} - -class RedPage extends StatelessWidget { - const RedPage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text("RedPage"), - ), - body: Container( - color: Colors.red, - ), - ); - } -} - -class YellowPage extends StatelessWidget { - const YellowPage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text("YellowPage"), - ), - body: Container( - color: Colors.yellow, - ), - ); - } -} - -class GreenPage extends StatelessWidget { - const GreenPage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text("GreenPage"), - ), - body: Container( - color: Colors.green, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_de_DE.json deleted file mode 100644 index d0a10392b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 251, - "name": "NestedScrollView", - "localName": "Verschachtelte Scrollansicht", - "info": "Wird zur Behandlung des verschachtelten Scrollens mehrerer Ansichten verwendet. Es können Kopf, Scroll-Controller, Scrollrichtung usw. angegeben werden. Dabei muss der Körper eine scrollbare Komponente sein.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 344 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von NestedScrollView", - "desc": [ - "【controller】 : Scroll-Controller 【ScrollController】", - "【scrollDirection】 : Scrollrichtung 【Axis】", - "【reverse】 : Umgekehrt 【bool】", - "【physics】 : Scrollstil 【ScrollPhysics】", - "【dragStartBehavior】 : Startverhalten beim Ziehen 【DragStartBehavior】", - "【headerSliverBuilder】 : *Kopfkonstruktor 【NestedScrollViewHeaderSliversBuilder】", - "【body】 : *Inhalt 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_en_US.json deleted file mode 100644 index e2f92a4bf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 251, - "name": "NestedScrollView", - "localName": "Nested Scroll View", - "info": "Used for handling nested scrolling of multiple views, can specify the header, scroll controller, scroll direction, etc., where the body must be a scrollable type of component.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 344 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of NestedScrollView", - "desc": [ - "【controller】 : Scroll Controller 【ScrollController】", - "【scrollDirection】 : Scroll Direction 【Axis】", - "【reverse】 : Whether to Reverse 【bool】", - "【physics】 : Scroll Physics 【ScrollPhysics】", - "【dragStartBehavior】 : Drag Start Behavior 【DragStartBehavior】", - "【headerSliverBuilder】 : *Header Builder 【NestedScrollViewHeaderSliversBuilder】", - "【body】 : *Content 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_es_ES.json deleted file mode 100644 index 3650d9638..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 251, - "name": "NestedScrollView", - "localName": "Vista de desplazamiento anidada", - "info": "Utilizado para manejar el desplazamiento anidado de múltiples vistas, se puede especificar la cabecera, el controlador de desplazamiento, la dirección de desplazamiento, etc., donde el cuerpo debe ser un componente de tipo desplazable.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 344 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de NestedScrollView", - "desc": [ - "【controller】 : Controlador de desplazamiento 【ScrollController】", - "【scrollDirection】 : Dirección de desplazamiento 【Axis】", - "【reverse】 : Invertir 【bool】", - "【physics】 : Estilo de desplazamiento 【ScrollPhysics】", - "【dragStartBehavior】 : Comportamiento de inicio de arrastre 【DragStartBehavior】", - "【headerSliverBuilder】 : *Constructor de cabecera 【NestedScrollViewHeaderSliversBuilder】", - "【body】 : *Contenido 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_fr_FR.json deleted file mode 100644 index b2956b13a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 251, - "name": "NestedScrollView", - "localName": "Vue de défilement imbriquée", - "info": "Utilisé pour gérer le défilement imbriqué de plusieurs vues, peut spécifier l'en-tête, le contrôleur de défilement, la direction de défilement, etc., où le corps doit être un composant de type défilable.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 344 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de NestedScrollView", - "desc": [ - "【controller】 : Contrôleur de défilement 【ScrollController】", - "【scrollDirection】 : Direction de défilement 【Axis】", - "【reverse】 : Inverser 【bool】", - "【physics】 : Style de défilement 【ScrollPhysics】", - "【dragStartBehavior】 : Comportement de début de glissement 【DragStartBehavior】", - "【headerSliverBuilder】 : *Constructeur d'en-tête 【NestedScrollViewHeaderSliversBuilder】", - "【body】 : *Contenu 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_it_IT.json deleted file mode 100644 index ad1bc771b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 251, - "name": "NestedScrollView", - "localName": "Vista di scorrimento annidata", - "info": "Utilizzato per gestire lo scorrimento annidato di più viste, è possibile specificare l'intestazione, il controller di scorrimento, la direzione di scorrimento, ecc., dove il corpo deve essere un componente di tipo scorrevole.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 344 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di NestedScrollView", - "desc": [ - "【controller】 : Controller di scorrimento 【ScrollController】", - "【scrollDirection】 : Direzione di scorrimento 【Axis】", - "【reverse】 : Se invertire 【bool】", - "【physics】 : Stile di scorrimento 【ScrollPhysics】", - "【dragStartBehavior】 : Comportamento di inizio trascinamento 【DragStartBehavior】", - "【headerSliverBuilder】 : *Costruttore di intestazione 【NestedScrollViewHeaderSliversBuilder】", - "【body】 : *Contenuto 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_ja_JP.json deleted file mode 100644 index 73f25d989..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 251, - "name": "NestedScrollView", - "localName": "ネストされたスクロールビュー", - "info": "複数のビューのスクロールネスト処理に使用されます。ヘッダー、スクロールコントローラー、スクロール方向などを指定できます。bodyはスクロール可能なタイプのコンポーネントでなければなりません。", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 344 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NestedScrollViewの基本使い方", - "desc": [ - "【controller】 : スクロールコントローラー 【ScrollController】", - "【scrollDirection】 : スクロール方向 【Axis】", - "【reverse】 : 逆方向かどうか 【bool】", - "【physics】 : スクロールスタイル 【ScrollPhysics】", - "【dragStartBehavior】 : ドラッグ開始動作 【DragStartBehavior】", - "【headerSliverBuilder】 : *ヘッダービルダー 【NestedScrollViewHeaderSliversBuilder】", - "【body】 : *コンテンツ 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_ko_KR.json deleted file mode 100644 index de4bdc44a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 251, - "name": "NestedScrollView", - "localName": "중첩 스크롤 뷰", - "info": "여러 뷰의 스크롤 중첩 처리를 위해 사용되며, 헤더, 스크롤 컨트롤러, 스크롤 방향 등을 지정할 수 있습니다. 이때 body는 반드시 스크롤 가능한 타입의 컴포넌트여야 합니다.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 344 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NestedScrollView 기본 사용법", - "desc": [ - "【controller】 : 스크롤 컨트롤러 【ScrollController】", - "【scrollDirection】 : 스크롤 방향 【Axis】", - "【reverse】 : 역방향 여부 【bool】", - "【physics】 : 스크롤 스타일 【ScrollPhysics】", - "【dragStartBehavior】 : 드래그 시작 동작 【DragStartBehavior】", - "【headerSliverBuilder】 : *헤더 빌더 【NestedScrollViewHeaderSliversBuilder】", - "【body】 : *내용 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_pt_PT.json deleted file mode 100644 index 183b33074..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 251, - "name": "NestedScrollView", - "localName": "Visão de Rolagem Aninhada", - "info": "Usado para o tratamento de rolagem aninhada de várias visualizações, pode especificar o cabeçalho, controlador de rolagem, direção de rolagem, etc., onde o corpo deve ser um componente do tipo rolável.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 344 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do NestedScrollView", - "desc": [ - "【controller】 : Controlador de Rolagem 【ScrollController】", - "【scrollDirection】 : Direção de Rolagem 【Axis】", - "【reverse】 : Inverter 【bool】", - "【physics】 : Estilo de Rolagem 【ScrollPhysics】", - "【dragStartBehavior】 : Comportamento de Início de Arrasto 【DragStartBehavior】", - "【headerSliverBuilder】 : *Construtor de Cabeçalho 【NestedScrollViewHeaderSliversBuilder】", - "【body】 : *Conteúdo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_ru_RU.json deleted file mode 100644 index 10f3aa2ed..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 251, - "name": "NestedScrollView", - "localName": "Вложенное прокручиваемое представление", - "info": "Используется для обработки вложенной прокрутки нескольких представлений, можно указать заголовок, контроллер прокрутки, направление прокрутки и т.д., где тело должно быть компонентом с возможностью прокрутки.", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 344 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование NestedScrollView", - "desc": [ - "【controller】 : Контроллер прокрутки 【ScrollController】", - "【scrollDirection】 : Направление прокрутки 【Axis】", - "【reverse】 : Обратное направление 【bool】", - "【physics】 : Стиль прокрутки 【ScrollPhysics】", - "【dragStartBehavior】 : Поведение начала перетаскивания 【DragStartBehavior】", - "【headerSliverBuilder】 : *Конструктор заголовка 【NestedScrollViewHeaderSliversBuilder】", - "【body】 : *Содержимое 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_zh-CN.json deleted file mode 100644 index 30e70e894..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 251, - "name": "NestedScrollView", - "localName": "嵌套滑动视图", - "info": "用于多个视图滑动嵌套处理,可以指定头部、滑动控制器、滑动方向等,其中body必须是可滑动类型的组件。", - "lever": 4, - "family": 4, - "linkIds": [ - 183, - 344 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NestedScrollView基本用法", - "desc": [ - "【controller】 : 滑动控制器 【ScrollController】", - "【scrollDirection】 : 滑动方向 【Axis】", - "【reverse】 : 是否反向 【bool】", - "【physics】 : 滑顶样式 【ScrollPhysics】", - "【dragStartBehavior】 : 开始拖动行为 【DragStartBehavior】", - "【headerSliverBuilder】 : *头部构造器 【NestedScrollViewHeaderSliversBuilder】", - "【body】 : *内容 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/node1_base.dart deleted file mode 100644 index d49d94cae..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/NestedScrollView/node1_base.dart +++ /dev/null @@ -1,89 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/6/16 -/// contact me by email 1981462002@qq.com - - -class NestedScrollViewDemo extends StatelessWidget { - final List _tabs = const ['风神传', '封妖志', "幻将录", "永恒传说"]; - - const NestedScrollViewDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height - 200, - child: Scaffold( - body: DefaultTabController( - length: _tabs.length, - child: NestedScrollView( - headerSliverBuilder: - (BuildContext context, bool innerBoxIsScrolled) { - return [ - SliverOverlapAbsorber( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), - sliver: SliverAppBar( - title: const Text('旷古奇书'), - pinned: true, - elevation: 6, //影深 - expandedHeight: 220.0, - forceElevated: innerBoxIsScrolled, //为true时展开有阴影 - flexibleSpace: FlexibleSpaceBar( - background: Image.asset( - "assets/images/wy_300x200_filter.webp", - fit: BoxFit.cover, - ), - ), - bottom: TabBar( - tabs: _tabs - .map((String name) => Tab(text: name,)) - .toList(), - ), - ), - ), - ]; - }, - body: _buildTabBarView(), - ), - ), - )); - } - - Widget _buildTabBarView() { - return TabBarView( - children: _tabs.map((String name) { - return SafeArea( - top: false, - bottom: false, - child: Builder( - builder: (BuildContext context) { - return CustomScrollView( - key: PageStorageKey(name), - slivers: [ - SliverOverlapInjector( - handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), - ), - SliverPadding( - padding: const EdgeInsets.all(8.0), - sliver: SliverFixedExtentList( - itemExtent: 48.0, - delegate: SliverChildBuilderDelegate( - (BuildContext context, int index) { - return ListTile( - title: Text('《$name》 第 $index章'), - ); - }, - childCount: 50, - ), - ), - ), - ], - ); - }, - ), - ); - }).toList(), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_de_DE.json deleted file mode 100644 index 26c0e4a63..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_de_DE.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 355, - "name": "OutlinedButton", - "localName": "Umrandeter Button", - "info": "Material-stilisiertes Schaltflächenelement mit Rahmen, ähnlich wie OutlineButton. Attribute wie Rahmen, Farbe, Schatten usw. können über Stile geändert werden.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 27, - 354 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von OutlinedButton", - "desc": [ - "【child】 : Schaltflächeninhalt 【Widget】", - "【onPressed】 : Klickereignis 【VoidCallback】", - "【onLongPress】 : Langdrückereignis 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Stil von OutlinedButton", - "desc": [ - "【style】 : Schaltflächenstil 【ButtonStyle】", - "【focusNode】 : Fokus 【FocusNode】", - "【clipBehavior】 : Zuschneideverhalten 【Clip】", - "【autofocus】 : Autofokus 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_en_US.json deleted file mode 100644 index 01a2b1ec7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_en_US.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 355, - "name": "OutlinedButton", - "localName": "Outlined Button", - "info": "A Material-style outlined button, similar in behavior to OutlineButton. Properties such as border, color, and shadow can be changed through styling.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 27, - 354 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of OutlinedButton", - "desc": [ - "【child】: Button content 【Widget】", - "【onPressed】: Click event 【VoidCallback】", - "【onLongPress】: Long press event 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "OutlinedButton Style", - "desc": [ - "【style】: Button style 【ButtonStyle】", - "【focusNode】: Focus 【FocusNode】", - "【clipBehavior】: Clip behavior 【Clip】", - "【autofocus】: Autofocus 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_es_ES.json deleted file mode 100644 index 567b7f319..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_es_ES.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 355, - "name": "OutlinedButton", - "localName": "Botón con borde", - "info": "Botón de estilo Material con borde, similar a OutlineButton. Se pueden cambiar propiedades como el borde, el color, la sombra, etc., mediante estilos.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 27, - 354 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de OutlinedButton", - "desc": [ - "【child】 : Contenido del botón 【Widget】", - "【onPressed】 : Evento de clic 【VoidCallback】", - "【onLongPress】 : Evento de pulsación prolongada 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Estilo de OutlinedButton", - "desc": [ - "【style】 : Estilo del botón 【ButtonStyle】", - "【focusNode】 : Foco 【FocusNode】", - "【clipBehavior】 : Comportamiento de recorte 【Clip】", - "【autofocus】 : Enfoque automático 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_fr_FR.json deleted file mode 100644 index 143ee767f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_fr_FR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 355, - "name": "OutlinedButton", - "localName": "Bouton bordé", - "info": "Bouton de style Material avec bordure, similaire à OutlineButton. Les propriétés telles que la bordure, la couleur, l'ombre, etc., peuvent être modifiées via le style.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 27, - 354 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de OutlinedButton", - "desc": [ - "【child】 : Contenu du bouton 【Widget】", - "【onPressed】 : Événement de clic 【VoidCallback】", - "【onLongPress】 : Événement de pression longue 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Style de OutlinedButton", - "desc": [ - "【style】 : Style du bouton 【ButtonStyle】", - "【focusNode】 : Focus 【FocusNode】", - "【clipBehavior】 : Comportement de découpage 【Clip】", - "【autofocus】 : Mise au point automatique 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_it_IT.json deleted file mode 100644 index e0e9e9751..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_it_IT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 355, - "name": "OutlinedButton", - "localName": "Pulsante con bordo", - "info": "Pulsante in stile Material con bordo, simile a OutlineButton. È possibile modificare proprietà come il bordo, il colore, l'ombra, ecc. tramite lo stile.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 27, - 354 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di OutlinedButton", - "desc": [ - "【child】 : Contenuto del pulsante 【Widget】", - "【onPressed】 : Evento di clic 【VoidCallback】", - "【onLongPress】 : Evento di pressione prolungata 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Stile di OutlinedButton", - "desc": [ - "【style】 : Stile del pulsante 【ButtonStyle】", - "【focusNode】 : Fuoco 【FocusNode】", - "【clipBehavior】 : Comportamento di ritaglio 【Clip】", - "【autofocus】 : Autofocus 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_ja_JP.json deleted file mode 100644 index 04a4e01da..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_ja_JP.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 355, - "name": "OutlinedButton", - "localName": "枠線ボタン", - "info": "Materialスタイルの枠線ボタンで、OutlineButtonと同様の動作をします。スタイルを変更して、枠線、色、影などのプロパティを変更できます。", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 27, - 354 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OutlinedButtonの基本使用", - "desc": [ - "【child】 : ボタンの内容 【Widget】", - "【onPressed】 : クリックイベント 【VoidCallback】", - "【onLongPress】 : 長押しイベント 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "OutlinedButtonのスタイル", - "desc": [ - "【style】 : ボタンのスタイル 【ButtonStyle】", - "【focusNode】 : フォーカス 【FocusNode】", - "【clipBehavior】 : クリップ動作 【Clip】", - "【autofocus】 : 自動フォーカス 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_ko_KR.json deleted file mode 100644 index 08ef6379e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_ko_KR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 355, - "name": "OutlinedButton", - "localName": "테두리 버튼", - "info": "Material 스타일의 테두리 버튼으로, OutlineButton과 유사하게 동작합니다. 스타일을 통해 테두리, 색상, 그림자 등의 속성을 변경할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 27, - 354 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OutlinedButton 기본 사용법", - "desc": [ - "【child】 : 버튼 내용 【Widget】", - "【onPressed】 : 클릭 이벤트 【VoidCallback】", - "【onLongPress】 : 길게 누르기 이벤트 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "OutlinedButton 스타일", - "desc": [ - "【style】 : 버튼 스타일 【ButtonStyle】", - "【focusNode】 : 포커스 【FocusNode】", - "【clipBehavior】 : 클리핑 동작 【Clip】", - "【autofocus】 : 자동 포커스 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_pt_PT.json deleted file mode 100644 index c744c26f2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_pt_PT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 355, - "name": "OutlinedButton", - "localName": "Botão com Contorno", - "info": "Botão com contorno no estilo Material, semelhante ao OutlineButton. Pode alterar propriedades como contorno, cor, sombra, etc., através de estilos.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 27, - 354 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do OutlinedButton", - "desc": [ - "【child】 : Conteúdo do botão 【Widget】", - "【onPressed】 : Evento de clique 【VoidCallback】", - "【onLongPress】 : Evento de pressionar longo 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Estilo do OutlinedButton", - "desc": [ - "【style】 : Estilo do botão 【ButtonStyle】", - "【focusNode】 : Foco 【FocusNode】", - "【clipBehavior】 : Comportamento de corte 【Clip】", - "【autofocus】 : Foco automático 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_ru_RU.json deleted file mode 100644 index c6dbfa19c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_ru_RU.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 355, - "name": "OutlinedButton", - "localName": "Кнопка с контуром", - "info": "Кнопка в стиле Material с контуром, аналогичная OutlineButton. Свойства, такие как контур, цвет, тень, могут быть изменены через стили.", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 27, - 354 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование OutlinedButton", - "desc": [ - "【child】 : Содержимое кнопки 【Widget】", - "【onPressed】 : Событие нажатия 【VoidCallback】", - "【onLongPress】 : Событие длительного нажатия 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Стиль OutlinedButton", - "desc": [ - "【style】 : Стиль кнопки 【ButtonStyle】", - "【focusNode】 : Фокус 【FocusNode】", - "【clipBehavior】 : Поведение обрезки 【Clip】", - "【autofocus】 : Автофокус 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_zh-CN.json deleted file mode 100644 index 6c10b7c3c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/desc_zh-CN.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 355, - "name": "OutlinedButton", - "localName": "边框按钮", - "info": "Material风格的边线按钮,表现和 OutlineButton 类似。可通过样式更改边框、颜色、阴影等属性。", - "lever": 3, - "family": 1, - "linkIds": [ - 353, - 27, - 354 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OutlinedButton基本使用", - "desc": [ - "【child】 : 按钮内容 【Widget】", - "【onPressed】 : 点击事件 【VoidCallback】", - "【onLongPress】 : 长按事件 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "OutlinedButton样式", - "desc": [ - "【style】 : 按钮样式 【ButtonStyle】", - "【focusNode】 : 焦点 【FocusNode】", - "【clipBehavior】 : 裁剪行为 【Clip】", - "【autofocus】 : 自动聚焦 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/node1_base.dart deleted file mode 100644 index 01e46cec0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/node1_base.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class OutlinedButtonDemo extends StatelessWidget { - const OutlinedButtonDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.center, - height: 60, - child: Wrap( - spacing: 20, - children: [ - OutlinedButton( - child: const Text('OutlinedButton'), - onPressed: _onPressed, - onLongPress: _onLongPress, - ), - const OutlinedButton( - child: Text('禁用按钮'), - onPressed: null, - onLongPress: null, - ), - ], - )); - } - - void _onPressed() {} - - void _onLongPress() {} -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/node2_style.dart b/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/node2_style.dart deleted file mode 100644 index 3564a741f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/OutlinedButton/node2_style.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class OutlinedButtonStyleDemo extends StatelessWidget { - const OutlinedButtonStyleDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.center, - child: Wrap( - spacing: 10, - children: [ - OutlinedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.orange, - foregroundColor: Colors.white, - elevation: 2, - shadowColor: Colors.orangeAccent), - child: const Text('ElevatedButton样式'), - onPressed: _onPressed, - onLongPress: _onLongPress, - ), - OutlinedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.white, - foregroundColor: Colors.black, - side: const BorderSide(color: Colors.blue,width: 1), - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10)) - ), - // elevation: 2, - shadowColor: Colors.orangeAccent), - child: const Text('ElevatedButton边线'), - autofocus: false, - onPressed: _onPressed, - onLongPress: _onLongPress, - ), - ], - ), - ); - } - - void _onPressed() {} - - void _onLongPress() {} -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_de_DE.json deleted file mode 100644 index 4a34c1f33..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 182, - "name": "Overlay", - "localName": "Schwebende Komponente", - "info": "Ermöglicht die schwebende Anzeige von Komponenten in der gesamten Anwendung, Komponenten können hinzugefügt oder entfernt werden, sie haben einen unabhängig verwalteten Stack.", - "lever": 5, - "family": 1, - "linkIds": [ - 265, - 266 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Overlay", - "desc": [ - "Overlay.of(context).insert fügt eine globale Komponente ein" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_en_US.json deleted file mode 100644 index 57430ba3c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 182, - "name": "Overlay", - "localName": "Floating Component", - "info": "Can display components in a floating manner across the entire application, allowing components to be added or removed, with an independently managed stack.", - "lever": 5, - "family": 1, - "linkIds": [ - 265, - 266 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Overlay", - "desc": [ - "Overlay.of(context).insert inserts a global component" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_es_ES.json deleted file mode 100644 index 61645ccc9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 182, - "name": "Overlay", - "localName": "Componente Flotante", - "info": "Permite mostrar componentes de forma flotante en toda la aplicación, se pueden agregar o eliminar componentes, tienen una pila gestionada de forma independiente.", - "lever": 5, - "family": 1, - "linkIds": [ - 265, - 266 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de Overlay", - "desc": [ - "Overlay.of(context).insert inserta un componente global" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_fr_FR.json deleted file mode 100644 index 811e9797f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 182, - "name": "Overlay", - "localName": "Composant flottant", - "info": "Permet d'afficher un composant en mode flottant dans toute l'application, peut ajouter ou supprimer des composants, ils ont une pile gérée indépendamment.", - "lever": 5, - "family": 1, - "linkIds": [ - 265, - 266 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'Overlay", - "desc": [ - "Overlay.of(context).insert insère un composant global" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_it_IT.json deleted file mode 100644 index 8cd793adc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 182, - "name": "Overlay", - "localName": "Componente Sovrapposto", - "info": "Consente di visualizzare i componenti in sovrapposizione su tutta l'applicazione, aggiungere o rimuovere componenti, che hanno una pila gestita in modo indipendente.", - "lever": 5, - "family": 1, - "linkIds": [ - 265, - 266 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di Overlay", - "desc": [ - "Overlay.of(context).insert inserisce un componente globale" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_ja_JP.json deleted file mode 100644 index 8aa728b4a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 182, - "name": "Overlay", - "localName": "フローティングコンポーネント", - "info": "コンポーネントをアプリ全体でフローティング表示することができ、コンポーネントを追加または削除することができます。これらは独立して管理されるスタックを持っています。", - "lever": 5, - "family": 1, - "linkIds": [ - 265, - 266 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Overlayの基本使用", - "desc": [ - "Overlay.of(context).insertでグローバルコンポーネントを挿入" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_ko_KR.json deleted file mode 100644 index 9fd065af9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 182, - "name": "Overlay", - "localName": "플로팅 컴포넌트", - "info": "컴포넌트를 전체 애플리케이션에서 플로팅으로 표시할 수 있으며, 컴포넌트를 추가하거나 제거할 수 있고, 독립적으로 관리되는 스택을 가집니다.", - "lever": 5, - "family": 1, - "linkIds": [ - 265, - 266 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Overlay 기본 사용법", - "desc": [ - "Overlay.of(context).insert로 전역 컴포넌트 삽입" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_pt_PT.json deleted file mode 100644 index 0c59436be..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 182, - "name": "Overlay", - "localName": "Componente Flutuante", - "info": "Permite exibir componentes de forma flutuante em toda a aplicação, podendo adicionar ou remover componentes, eles têm uma pilha de gerenciamento independente.", - "lever": 5, - "family": 1, - "linkIds": [ - 265, - 266 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Overlay", - "desc": [ - "Overlay.of(context).insert insere um componente global" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_ru_RU.json deleted file mode 100644 index 6e3895e9d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 182, - "name": "Overlay", - "localName": "Плавающий компонент", - "info": "Позволяет отображать компоненты поверх всего приложения, добавлять или удалять компоненты, они имеют независимо управляемый стек.", - "lever": 5, - "family": 1, - "linkIds": [ - 265, - 266 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Overlay", - "desc": [ - "Overlay.of(context).insert вставляет глобальный компонент" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_zh-CN.json deleted file mode 100644 index a582e71e3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 182, - "name": "Overlay", - "localName": "悬浮组件", - "info": "可以将组件在全应用中进行悬浮显示,能够添加或移除组件,它们有独立管理的栈。", - "lever": 5, - "family": 1, - "linkIds": [ - 265, - 266 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Overlay基本使用", - "desc": [ - "Overlay.of(context).insert插入全局组件" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Overlay/node1_base.dart deleted file mode 100644 index 54d8d481d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Overlay/node1_base.dart +++ /dev/null @@ -1,100 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - - -class CustomOverlay extends StatelessWidget { - const CustomOverlay({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - children: [ - SizedBox( - height: 50, - child: RawMaterialButton( - elevation: 2, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - fillColor: Colors.blue, - splashColor: Colors.orange, - textStyle: const TextStyle(color: Colors.white), - child: const Icon(Icons.add), - onPressed: ()=>showFloating(context), - ), - ), - const SizedBox( - height: 50, - child: RawMaterialButton( - elevation: 2, - shape: CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - fillColor: Colors.red, - splashColor: Colors.orange, - textStyle: TextStyle(color: Colors.white), - child: Icon(Icons.remove), - onPressed: hideFloating, - ), - ), - ], - ); - } -} - -bool show = false; -Offset offset = const Offset(200, 200); - -const double radius = 60; - -var entry = OverlayEntry( - builder: (context) => Stack( - children: [ - Positioned( - left: offset.dx, - top: offset.dy, - child: _buildFloating(), - ), - ], - )); - -///绘制悬浮控件 -_buildFloating() => GestureDetector( - onPanDown: (details) { - offset = details.globalPosition - const Offset(radius / 2, radius / 2); - entry.markNeedsBuild(); - }, - onPanUpdate: (DragUpdateDetails details) { - offset = offset + details.delta; - entry.markNeedsBuild(); - }, - onLongPress: hideFloating, - child: Material( - color: Colors.transparent, - child: Container( - height: radius, - width: radius, - alignment: Alignment.center, - decoration: const BoxDecoration( - shape: BoxShape.circle, - image: DecorationImage( - image: AssetImage('assets/images/icon_head.webp')), - ), - ), - )); - -showFloating(BuildContext context) { - if (!show) { - Overlay.of(context)?.insert(entry); - show = true; - } -} - -hideFloating() { - if (show) { - entry.remove(); - show = false; - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_de_DE.json deleted file mode 100644 index 3199650a8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_de_DE.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 165, - "name": "PageView", - "localName": "Swipe-Seite", - "info": "Enthält mehrere Komponentenseiten, zwischen denen durch Wischen gewechselt werden kann. Es können Attribute wie Wischrichtung, ob umgekehrt, Wischcontroller usw. angegeben werden.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von PageView", - "desc": [ - "【children】 : Liste der Unterkomponenten 【List】", - "【onPageChanged】 : Klickereignis 【ValueChanged】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Wischrichtung von PageView", - "desc": [ - "【scrollDirection】 : Wischrichtung 【Axis】", - "【reverse】 : Ob umgekehrt 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Einfache Verwendung des PageView-Controllers", - "desc": [ - "【controller】 : Seitencontroller 【PageController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_en_US.json deleted file mode 100644 index f886e9db1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_en_US.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 165, - "name": "PageView", - "localName": "Swipe Page", - "info": "It can accommodate multiple component pages, and you can swipe to switch between them. You can specify properties such as the direction of the swipe, whether it is reversed, and the swipe controller.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of PageView", - "desc": [ - "【children】 : List of child components 【List】", - "【onPageChanged】 : Click event 【ValueChanged】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Swipe Direction of PageView", - "desc": [ - "【scrollDirection】 : Swipe direction 【Axis】", - "【reverse】 : Whether to reverse 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Simple Use of PageView Controller", - "desc": [ - "【controller】 : Page controller 【PageController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_es_ES.json deleted file mode 100644 index a1c218402..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_es_ES.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 165, - "name": "PageView", - "localName": "Deslizar página", - "info": "Contiene múltiples páginas de componentes, permite cambiar entre ellas deslizando, y se pueden especificar propiedades como la dirección del deslizamiento, si es inverso, el controlador de deslizamiento, etc.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de PageView", - "desc": [ - "【children】 : Lista de componentes hijos 【List】", - "【onPageChanged】 : Evento de clic 【ValueChanged】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Dirección de deslizamiento de PageView", - "desc": [ - "【scrollDirection】 : Dirección de deslizamiento 【Axis】", - "【reverse】 : Si es inverso 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Uso simple del controlador de PageView", - "desc": [ - "【controller】 : Controlador de página 【PageController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_fr_FR.json deleted file mode 100644 index 3463d157f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_fr_FR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 165, - "name": "PageView", - "localName": "Glissement de page", - "info": "Contient plusieurs pages de composants, permet de les faire glisser pour les changer, et permet de spécifier la direction du glissement, l'inversion, le contrôleur de glissement, etc.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de PageView", - "desc": [ - "【children】 : Liste des composants enfants 【List】", - "【onPageChanged】 : Événement de clic 【ValueChanged】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direction de glissement de PageView", - "desc": [ - "【scrollDirection】 : Direction de glissement 【Axis】", - "【reverse】 : Inversion 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Utilisation simple du contrôleur de PageView", - "desc": [ - "【controller】 : Contrôleur de page 【PageController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_it_IT.json deleted file mode 100644 index 385a3183e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_it_IT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 165, - "name": "PageView", - "localName": "Scorrimento Pagina", - "info": "Contiene più componenti di pagina, consente di scorrere tra di essi, è possibile specificare la direzione di scorrimento, se invertire, il controller di scorrimento e altre proprietà.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di PageView", - "desc": [ - "【children】 : Lista dei componenti figli 【List】", - "【onPageChanged】 : Evento di clic 【ValueChanged】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direzione di scorrimento di PageView", - "desc": [ - "【scrollDirection】 : Direzione di scorrimento 【Axis】", - "【reverse】 : Se invertire 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Uso semplice del controller di PageView", - "desc": [ - "【controller】 : Controller della pagina 【PageController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_ja_JP.json deleted file mode 100644 index 7741210a4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_ja_JP.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 165, - "name": "PageView", - "localName": "スワイプページ", - "info": "複数のコンポーネントページを収容し、それらをスワイプして切り替えることができます。スワイプの方向、逆方向にするかどうか、スワイプコントローラーなどの属性を指定できます。", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PageViewの基本使用", - "desc": [ - "【children】 : 子コンポーネントリスト 【List】", - "【onPageChanged】 : クリックイベント 【ValueChanged】" - ] - }, - { - "file": "node2_direction.dart", - "name": "PageViewのスワイプ方向", - "desc": [ - "【scrollDirection】 : スワイプ方向 【Axis】", - "【reverse】 : 逆方向にするかどうか 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "PageViewコントローラーの簡単な使用", - "desc": [ - "【controller】 : ページコントローラー 【PageController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_ko_KR.json deleted file mode 100644 index 345c08edd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_ko_KR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 165, - "name": "PageView", - "localName": "스와이프 페이지", - "info": "여러 컴포넌트 페이지를 수용하며, 슬라이딩 전환을 할 수 있습니다. 슬라이딩 방향, 역방향 여부, 슬라이딩 컨트롤러 등의 속성을 지정할 수 있습니다.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PageView 기본 사용법", - "desc": [ - "【children】 : 자식 컴포넌트 리스트 【List】", - "【onPageChanged】 : 클릭 이벤트 【ValueChanged】" - ] - }, - { - "file": "node2_direction.dart", - "name": "PageView 슬라이딩 방향", - "desc": [ - "【scrollDirection】 : 슬라이딩 방향 【Axis】", - "【reverse】 : 역방향 여부 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "PageView 컨트롤러 간단 사용법", - "desc": [ - "【controller】 : 페이지 컨트롤러 【PageController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_pt_PT.json deleted file mode 100644 index e9da0fde7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_pt_PT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 165, - "name": "PageView", - "localName": "Deslizar Página", - "info": "Acomoda várias páginas de componentes, permite alternar entre elas deslizando, pode especificar a direção do deslize, se é reverso, controlador de deslize e outras propriedades.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do PageView", - "desc": [ - "【children】 : Lista de componentes filhos 【List】", - "【onPageChanged】 : Evento de clique 【ValueChanged】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direção de deslize do PageView", - "desc": [ - "【scrollDirection】 : Direção de deslize 【Axis】", - "【reverse】 : Se é reverso 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Uso simples do controlador do PageView", - "desc": [ - "【controller】 : Controlador de página 【PageController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_ru_RU.json deleted file mode 100644 index 521e3d14e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_ru_RU.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 165, - "name": "PageView", - "localName": "Скользящая страница", - "info": "Содержит несколько компонентов страниц, позволяет переключаться между ними с помощью скольжения, можно указать направление скольжения, обратное направление, контроллер скольжения и другие свойства.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование PageView", - "desc": [ - "【children】 : Список дочерних компонентов 【List】", - "【onPageChanged】 : Событие клика 【ValueChanged】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Направление скольжения PageView", - "desc": [ - "【scrollDirection】 : Направление скольжения 【Axis】", - "【reverse】 : Обратное направление 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "Простое использование контроллера PageView", - "desc": [ - "【controller】 : Контроллер страницы 【PageController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_zh-CN.json deleted file mode 100644 index de89d037a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/desc_zh-CN.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 165, - "name": "PageView", - "localName": "滑页", - "info": "容纳多个组件页面,可对它们进行滑动切换,可指定滑动的方向、是否反向、滑动控制器等属性。", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PageView基本使用", - "desc": [ - "【children】 : 子组件列表 【List】", - "【onPageChanged】 : 点击事件 【ValueChanged】" - ] - }, - { - "file": "node2_direction.dart", - "name": "PageView滑动方向", - "desc": [ - "【scrollDirection】 : 滑动方向 【Axis】", - "【reverse】 : 是否反向 【bool】" - ] - }, - { - "file": "node3_controller.dart", - "name": "PageView控制器简单实用", - "desc": [ - "【controller】 : 页面控制器 【PageController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/PageView/node1_base.dart deleted file mode 100644 index 8d046efa1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/node1_base.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-28 -/// contact me by email 1981462002@qq.com - -class CustomPageView extends StatelessWidget { - const CustomPageView({super.key}); - - List get data => [ - Colors.green[50]!, - Colors.green[100]!, - Colors.green[200]!, - Colors.green[300]!, - Colors.green[400]!, - Colors.green[500]!, - Colors.green[600]!, - Colors.green[700]!, - Colors.green[800]!, - Colors.green[900]!, - ]; - - TextStyle get textStyle => - const TextStyle(color: Colors.white, fontSize: 24, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ), - ]); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 150, - child: PageView( - onPageChanged: (position) => print(position), - children: data - .map((color) => Container( - alignment: Alignment.center, - width: 90, - color: color, - child: Text( - colorString(color), - style: textStyle, - ), - )) - .toList(), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/node2_direction.dart b/modules/widget_system/widgets/lib/StatefulWidget/PageView/node2_direction.dart deleted file mode 100644 index 95139a7dd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/node2_direction.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-28 -/// contact me by email 1981462002@qq.com - -class DirectionPageView extends StatelessWidget { - const DirectionPageView({super.key}); - - List get data => [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - - TextStyle get textStyle => - const TextStyle(color: Colors.white, fontSize: 24, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ), - ]); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 150, - child: PageView( - scrollDirection: Axis.vertical, - reverse: true, - onPageChanged: (position) { - print(position); - }, - children: data - .map((color) => Container( - alignment: Alignment.center, - width: 90, - color: color, - child: Text( - colorString(color), - style: textStyle, - ), - )) - .toList(), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PageView/node3_controller.dart b/modules/widget_system/widgets/lib/StatefulWidget/PageView/node3_controller.dart deleted file mode 100644 index c7e0d62a0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PageView/node3_controller.dart +++ /dev/null @@ -1,78 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-28 -/// contact me by email 1981462002@qq.com - -class CtrlPageView extends StatefulWidget { - const CtrlPageView({Key? key}) : super(key: key); - - @override - _CtrlPageViewState createState() => _CtrlPageViewState(); -} - -class _CtrlPageViewState extends State { - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - ]; - - late PageController _controller; - - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } - - @override - void initState() { - super.initState(); - _controller=PageController( - viewportFraction: 0.8, - initialPage: (data.length/2).round() - ); - } - TextStyle get textStyle => - const TextStyle(color: Colors.white, fontSize: 24, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ), - ]); - @override - Widget build(BuildContext context) { - return SizedBox( - height: 150, - child: PageView( - controller: _controller, - onPageChanged: (position) { - print(position); - }, - children: data - .map((color) => - Container( - alignment: Alignment.center, - width: 90, - color: color, - child: Text( - colorString(color), - style: textStyle, - ), - )) - .toList(), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_de_DE.json deleted file mode 100644 index 9f7f1ee81..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_de_DE.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 235, - "name": "PaginatedDataTable", - "localName": "Seitenweise Tabelle", - "info": "Eine funktionsreiche, seitenweise Tabellenkomponente, die die Seitenzahl, Sortierung und das Wechseln zwischen den Seiten ermöglicht.", - "lever": 4, - "family": 1, - "linkIds": [ - 110, - 102 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Verwendung von PaginatedDataTable", - "desc": [ - "【header】 : Tabellenname 【Widget】", - "【rowsPerPage】 : Anzahl der Datensätze pro Seite 【int】", - "【actions】 : Aktionskomponenten 【List】", - "【columns】 : Datenspalten 【List】", - "【sortColumnIndex】 : Index der Sortierspalte 【int】", - "【sortAscending】 : Aufsteigend sortieren 【bool】", - "【onSelectAll】 : Rückruf für Alle auswählen 【ValueSetter】", - "【onRowsPerPageChanged】 : Listener für Seitenänderungen 【ValueChanged】", - "【availableRowsPerPage】 : Verfügbare Seitenlisten 【List】", - "【source】 : Datenquelle 【DataTableSource】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_en_US.json deleted file mode 100644 index add383634..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_en_US.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 235, - "name": "PaginatedDataTable", - "localName": "Paginated Table", - "info": "A feature-rich paginated table component that allows specifying the number of pages, sorting, and switching between pages.", - "lever": 4, - "family": 1, - "linkIds": [ - 110, - 102 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PaginatedDataTable Usage", - "desc": [ - "【header】 : Table Name 【Widget】", - "【rowsPerPage】 : Number of records per page 【int】", - "【actions】 : Action components 【List】", - "【columns】 : Data columns 【List】", - "【sortColumnIndex】 : Sort column index 【int】", - "【sortAscending】 : Whether ascending 【bool】", - "【onSelectAll】 : Select all callback 【ValueSetter】", - "【onRowsPerPageChanged】 : Page change listener 【ValueChanged】", - "【availableRowsPerPage】 : Available page list 【List】", - "【source】 : Data source 【DataTableSource】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_es_ES.json deleted file mode 100644 index 96607e25f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_es_ES.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 235, - "name": "PaginatedDataTable", - "localName": "Tabla Paginada", - "info": "Un componente de tabla paginada rico en funciones, que permite especificar el número de páginas, el orden, y la navegación entre páginas.", - "lever": 4, - "family": 1, - "linkIds": [ - 110, - 102 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de PaginatedDataTable", - "desc": [ - "【header】 : Nombre de la tabla 【Widget】", - "【rowsPerPage】 : Número de registros por página 【int】", - "【actions】 : Componentes de acción 【List】", - "【columns】 : Columnas de datos 【List】", - "【sortColumnIndex】 : Índice de la columna de ordenación 【int】", - "【sortAscending】 : Orden ascendente 【bool】", - "【onSelectAll】 : Callback de selección total 【ValueSetter】", - "【onRowsPerPageChanged】 : Listener de cambio de paginación 【ValueChanged】", - "【availableRowsPerPage】 : Lista de paginación disponible 【List】", - "【source】 : Fuente de datos 【DataTableSource】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_fr_FR.json deleted file mode 100644 index 43e77c18d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_fr_FR.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 235, - "name": "PaginatedDataTable", - "localName": "Tableau paginé", - "info": "Un composant de tableau paginé riche en fonctionnalités, permettant de spécifier le nombre de pages, le tri, et la navigation entre les pages.", - "lever": 4, - "family": 1, - "linkIds": [ - 110, - 102 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de PaginatedDataTable", - "desc": [ - "【header】 : Nom du tableau 【Widget】", - "【rowsPerPage】 : Nombre d'enregistrements par page 【int】", - "【actions】 : Composants d'action 【List】", - "【columns】 : Colonnes de données 【List】", - "【sortColumnIndex】 : Index de la colonne de tri 【int】", - "【sortAscending】 : Ordre croissant 【bool】", - "【onSelectAll】 : Rappel de sélection totale 【ValueSetter】", - "【onRowsPerPageChanged】 : Écouteur de changement de pagination 【ValueChanged】", - "【availableRowsPerPage】 : Liste des paginations disponibles 【List】", - "【source】 : Source de données 【DataTableSource】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_it_IT.json deleted file mode 100644 index 47a368e5e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_it_IT.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 235, - "name": "PaginatedDataTable", - "localName": "Tabella Paginabile", - "info": "Un componente di tabella ricco di funzionalità, con paginazione, ordinamento e navigazione tra le pagine.", - "lever": 4, - "family": 1, - "linkIds": [ - 110, - 102 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di PaginatedDataTable", - "desc": [ - "【header】 : Nome della tabella 【Widget】", - "【rowsPerPage】 : Numero di record per pagina 【int】", - "【actions】 : Componenti di azione 【List】", - "【columns】 : Colonne dei dati 【List】", - "【sortColumnIndex】 : Indice della colonna di ordinamento 【int】", - "【sortAscending】 : Ordinamento crescente 【bool】", - "【onSelectAll】 : Callback per la selezione di tutti 【ValueSetter】", - "【onRowsPerPageChanged】 : Listener per il cambio della paginazione 【ValueChanged】", - "【availableRowsPerPage】 : Lista delle paginazioni disponibili 【List】", - "【source】 : Fonte dei dati 【DataTableSource】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_ja_JP.json deleted file mode 100644 index 4485ba4d4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_ja_JP.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 235, - "name": "PaginatedDataTable", - "localName": "ページネーション可能なテーブル", - "info": "ページネーション数、並び替え、ページの前後切り替えを指定できる機能豊富なページネーション可能なテーブルコンポーネント。", - "lever": 4, - "family": 1, - "linkIds": [ - 110, - 102 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PaginatedDataTable の使用", - "desc": [ - "【header】 : テーブル名 【Widget】", - "【rowsPerPage】 : 1ページあたりのレコード数 【int】", - "【actions】 : 操作コンポーネント 【List】", - "【columns】 : データ列 【List】", - "【sortColumnIndex】 : 並び替え列のインデックス 【int】", - "【sortAscending】 : 昇順かどうか 【bool】", - "【onSelectAll】 : 全選択コールバック 【ValueSetter】", - "【onRowsPerPageChanged】 : ページネーション変更リスナー 【ValueChanged】", - "【availableRowsPerPage】 : 利用可能なページネーションリスト 【List】", - "【source】 : データソース 【DataTableSource】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_ko_KR.json deleted file mode 100644 index ce3edafc4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_ko_KR.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 235, - "name": "PaginatedDataTable", - "localName": "페이지네이션 테이블", - "info": "기능이 풍부한 페이지네이션 테이블 컴포넌트로, 페이지 수, 정렬, 페이지 전환 등을 지정할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 110, - 102 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PaginatedDataTable 사용", - "desc": [ - "【header】 : 테이블 이름 【Widget】", - "【rowsPerPage】 : 페이지당 레코드 수 【int】", - "【actions】 : 액션 컴포넌트 【List】", - "【columns】 : 데이터 열 【List】", - "【sortColumnIndex】 : 정렬 열 인덱스 【int】", - "【sortAscending】 : 오름차순 여부 【bool】", - "【onSelectAll】 : 전체 선택 콜백 【ValueSetter】", - "【onRowsPerPageChanged】 : 페이지 변경 리스너 【ValueChanged】", - "【availableRowsPerPage】 : 사용 가능한 페이지 목록 【List】", - "【source】 : 데이터 소스 【DataTableSource】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_pt_PT.json deleted file mode 100644 index a3d105d80..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_pt_PT.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 235, - "name": "PaginatedDataTable", - "localName": "Tabela Paginada", - "info": "Um componente de tabela paginada rico em funcionalidades, que permite especificar o número de páginas, ordenação, e navegação entre páginas.", - "lever": 4, - "family": 1, - "linkIds": [ - 110, - 102 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do PaginatedDataTable", - "desc": [ - "【header】 : Nome da tabela 【Widget】", - "【rowsPerPage】 : Número de registros por página 【int】", - "【actions】 : Componentes de ação 【List】", - "【columns】 : Colunas de dados 【List】", - "【sortColumnIndex】 : Índice da coluna de ordenação 【int】", - "【sortAscending】 : Ordenação ascendente 【bool】", - "【onSelectAll】 : Callback de seleção total 【ValueSetter】", - "【onRowsPerPageChanged】 : Listener de mudança de paginação 【ValueChanged】", - "【availableRowsPerPage】 : Lista de paginação disponível 【List】", - "【source】 : Fonte de dados 【DataTableSource】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_ru_RU.json deleted file mode 100644 index c64937f4c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_ru_RU.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 235, - "name": "PaginatedDataTable", - "localName": "Таблица с постраничной навигацией", - "info": "Многофункциональный компонент таблицы с постраничной навигацией, позволяющий указать количество страниц, сортировку и переключение между страницами.", - "lever": 4, - "family": 1, - "linkIds": [ - 110, - 102 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование PaginatedDataTable", - "desc": [ - "【header】 : Название таблицы 【Widget】", - "【rowsPerPage】 : Количество записей на странице 【int】", - "【actions】 : Компоненты действий 【List】", - "【columns】 : Столбцы данных 【List】", - "【sortColumnIndex】 : Индекс столбца сортировки 【int】", - "【sortAscending】 : Сортировка по возрастанию 【bool】", - "【onSelectAll】 : Обратный вызов для выбора всех 【ValueSetter】", - "【onRowsPerPageChanged】 : Слушатель изменения страницы 【ValueChanged】", - "【availableRowsPerPage】 : Список доступных страниц 【List】", - "【source】 : Источник данных 【DataTableSource】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_zh-CN.json deleted file mode 100644 index 2eeb0cf84..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/desc_zh-CN.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 235, - "name": "PaginatedDataTable", - "localName": "可分页表格", - "info": "一个功能丰富的可分页表格组件,可指定分页数、排列、页码前后切换。", - "lever": 4, - "family": 1, - "linkIds": [ - 110, - 102 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PaginatedDataTable 使用", - "desc": [ - "【header】 : 表名 【Widget】", - "【rowsPerPage】 : 每页记录数 【int】", - "【actions】 : 操作组件 【List】", - "【columns】 : 数据列 【List】", - "【sortColumnIndex】 : 排序列索引 【int】", - "【sortAscending】 : 是否升序 【bool】", - "【onSelectAll】 : 全选回调 【ValueSetter】", - "【onRowsPerPageChanged】 : 分页改变监听 【ValueChanged】", - "【availableRowsPerPage】 : 可用分页列表 【List】", - "【source】 : 数据源 【DataTableSource】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/node1_base.dart deleted file mode 100644 index 622c38e35..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PaginatedDataTable/node1_base.dart +++ /dev/null @@ -1,207 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - -class PaginatedDataTableDemo extends StatefulWidget { - const PaginatedDataTableDemo({Key? key}) : super(key: key); - - @override - State createState() => _PaginatedDataTableDemoState(); -} - -class _PaginatedDataTableDemoState extends State { - int _rowsPerPage = 5; - - int _sortColumnIndex = 0; - bool _sortAscending = true; - - final DessertDataSource _dessertsDataSource = DessertDataSource(); - - void sort( - Comparable Function(HeroInfo d) getField, - int columnIndex, - bool ascending, - ) { - _dessertsDataSource.sort(getField, ascending); - setState(() { - _sortColumnIndex = columnIndex; - _sortAscending = ascending; - }); - } - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - width: 350, - child: SingleChildScrollView( - child: PaginatedDataTable( - actions: const [ - IconButton(icon: Icon(Icons.add), onPressed: null), - ], - header: const Text( - '《旷古奇书》-角色预设', - style: TextStyle(color: Colors.blue), - ), - rowsPerPage: _rowsPerPage, - availableRowsPerPage: const [5, 8, 10, 15], - onRowsPerPageChanged: (int? value) { - setState(() { - _rowsPerPage = value ?? 0; - }); - }, - sortColumnIndex: _sortColumnIndex, - sortAscending: _sortAscending, - onSelectAll: _dessertsDataSource._selectAll, - columns: [ - DataColumn( - label: const Text('角色名称'), - onSort: (int columnIndex, bool ascending) => sort( - (HeroInfo d) => d.name, columnIndex, ascending)), - DataColumn( - label: const Text('主场卷部'), - tooltip: '人物主要出场的作品.', - numeric: true, - onSort: (int columnIndex, bool ascending) => sort( - (HeroInfo d) => d.calories, columnIndex, ascending)), - DataColumn( - label: const Text('种族'), - numeric: true, - onSort: (int columnIndex, bool ascending) => sort( - (HeroInfo d) => d.fat, columnIndex, ascending)), - DataColumn( - label: const Text('性别'), - numeric: true, - onSort: (int columnIndex, bool ascending) => sort( - (HeroInfo d) => d.carbs, columnIndex, ascending)), - ], - source: _dessertsDataSource), - )); - } -} - -class HeroInfo { - HeroInfo(this.name, this.calories, this.fat, this.carbs); - - final String name; - final String calories; - final String fat; - final String carbs; - bool selected = false; -} - -class DessertDataSource extends DataTableSource { - final List _desserts = [ - HeroInfo('捷特', '《幻将录》', "人族", "男"), - HeroInfo('龙少', '《幻将录》', "人族", "男"), - HeroInfo('巫缨', '《幻将录》', "人族", "女"), - HeroInfo('林兮', '《幻将录》', "人族", "男"), - HeroInfo('九方玄玉', '《风神传》', "神族", "男"), - HeroInfo('七日洪荒', '《风神传》', "魔族", "男"), - HeroInfo('林昔瑶', '《封妖志》', "鬼族", "女"), - HeroInfo('林兮鬼帝', '《封妖志》', "鬼族", "男"), - HeroInfo('艾隆', '《封妖志》', "鬼族", "男"), - HeroInfo('语熙华', '《风神传》', "道族", "男"), - HeroInfo('雪玉宛如', '《幻将录》', "人族", "女"), - HeroInfo('破千', '《幻将录》', "人族", "男"), - HeroInfo('浪封', '《幻将录》', "人族", "男"), - HeroInfo('虎翼穷奇', '《封妖志》', "妖族", "男"), - HeroInfo('凯', '《幻将录》', "人族", "男"), - HeroInfo('荆棘', '《幻将录》', "人族", "女"), - HeroInfo('龙右', '《幻将录》', "人族", "男"), - HeroInfo('梦千', '《幻将录》', "人族", "男"), - HeroInfo('梦小梦', '《幻将录》', "人族", "女"), - HeroInfo('梦瞳', '《幻将录》', "人族", "男"), - HeroInfo('十戈', '《幻将录》', "人族", "男"), - HeroInfo('计画天', '《幻将录》', "人族", "女"), - HeroInfo('士方', '《幻将录》', "人族", "男"), - HeroInfo('巫妻孋', '《幻将录》', "人族", "女"), - HeroInfo('木时黎', '《永恒传说》', "人族", "男"), - HeroInfo('木艾奇', '《永恒传说》', "人族", "男"), - HeroInfo('张风', '《永恒传说》', "人族", "男"), - HeroInfo('薛剑儿', '《永恒传说》', "人族", "男"), - HeroInfo('李月', '《永恒传说》', "人族", "女"), - HeroInfo('刘雪', '《永恒传说》', "人族", "女"), - HeroInfo('葛心', '《永恒传说》', "人族", "女"), - HeroInfo('步映容', '《幻将录》', "人族", "女"), - HeroInfo('莫慈良', '《幻将录》', "人族", "男"), - HeroInfo('莫向阳', '《幻将录》', "人族", "男"), - HeroInfo('莫子薇', '《永恒传说》', "人族", "女"), - HeroInfo('藏凯阳', '《永恒传说》', "人族", "男"), - HeroInfo('奇雨歆', '《永恒传说》', "人族", "女"), - HeroInfo('林天蕊', '《永恒传说》', "人族", "女"), - HeroInfo('吴灏然', '《永恒传说》', "人族", "男"), - HeroInfo('何解连', '《永恒传说》', "人族", "男"), - HeroInfo('步络尘', '《幻将录》', "人族", "男"), - HeroInfo('拓雷', '《幻将录》', "人族", "男"), - HeroInfo('炽阳骑', '《幻将录》', "人族", "男"), - HeroInfo('正构', '《幻将录》', "人族", "男"), - HeroInfo('烈', '《幻将录》', "人族", "男"), - HeroInfo('梦华君', '《幻将录》', "人族", "男"), - HeroInfo('初星', '《幻将录》', "人族", "男"), - HeroInfo('梦飞烟', '《幻将录》', "人族", "男"), - HeroInfo('武落英', '《幻将录》', "人族", "女"), - HeroInfo('古千缘', '《幻将录》', "人族", "男"), - ]; - - void sort( - Comparable Function(HeroInfo d) getField, - bool ascending, - ) { - _desserts.sort((HeroInfo a, HeroInfo b) { - if (!ascending) { - final HeroInfo c = a; - a = b; - b = c; - } - final Comparable aValue = getField(a); - final Comparable bValue = getField(b); - return Comparable.compare(aValue, bValue); - }); - notifyListeners(); - } - - int _selectedCount = 0; - - @override - DataRow? getRow(int index) { - if (index >= _desserts.length) return null; - final HeroInfo dessert = _desserts[index]; - return DataRow.byIndex( - index: index, - selected: dessert.selected, - onSelectChanged: (bool? value) { - if (dessert.selected != value && value != null) { - _selectedCount += value ? 1 : -1; - assert(_selectedCount >= 0); - dessert.selected = value; - notifyListeners(); - } - }, - cells: [ - DataCell(Center(child: Text(dessert.name))), - DataCell(Center(child: Text(dessert.calories))), - DataCell(Center(child: Text(dessert.fat))), - DataCell(Center(child: Text(dessert.carbs))), - ]); - } - - @override - bool get isRowCountApproximate => false; - - @override - int get rowCount => _desserts.length; - - @override - int get selectedRowCount => _selectedCount; - - void _selectAll(bool? checked) { - if (checked == null) return; - for (HeroInfo dessert in _desserts) { - dessert.selected = checked; - } - _selectedCount = checked ? _desserts.length : 0; - notifyListeners(); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_de_DE.json deleted file mode 100644 index 27b13dcce..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 56, - "name": "PopupMenuButton", - "localName": "Menüschaltfläche", - "info": "Zeigt ein Popup-Menü an, kann Attribute wie Versatz, Farbe, Schattentiefe, Form usw. angeben. Empfängt Ereignisse für die Auswahl von Elementen und die Abwahl.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von PopupMenuButton", - "desc": [ - "【itemBuilder】 : Builder 【PopupMenuItemBuilder】", - "【offset】 : Versatz 【Offset】", - "【color】 : Hintergrundfarbe 【Color】", - "【shape】 : Form 【ShapeBorder】", - "【elevation】 : Schattentiefe 【double】", - "【onCanceled】 : Abwahlereignis 【Function()】", - "【onSelected】 : Auswahlereignis 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_en_US.json deleted file mode 100644 index 9946a4c75..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 56, - "name": "PopupMenuButton", - "localName": "Menu Button", - "info": "A pop-up menu bar that can specify attributes such as offset, color, elevation, and shape. Receives item selection and deselection events.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of PopupMenuButton", - "desc": [ - "【itemBuilder】: Constructor 【PopupMenuItemBuilder】", - "【offset】: Offset 【Offset】", - "【color】: Background Color 【Color】", - "【shape】: Shape 【ShapeBorder】", - "【elevation】: Elevation 【double】", - "【onCanceled】: Cancel Event 【Function()】", - "【onSelected】: Selection Event 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_es_ES.json deleted file mode 100644 index 4ea4d72da..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 56, - "name": "PopupMenuButton", - "localName": "Botón de menú", - "info": "Menú emergente, se pueden especificar propiedades como desplazamiento, color, profundidad de sombra, forma, etc. Recibe eventos de selección de ítem y eventos de cancelación.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de PopupMenuButton", - "desc": [ - "【itemBuilder】 : Constructor 【PopupMenuItemBuilder】", - "【offset】 : Desplazamiento 【Offset】", - "【color】 : Color de fondo 【Color】", - "【shape】 : Forma 【ShapeBorder】", - "【elevation】 : Profundidad de sombra 【double】", - "【onCanceled】 : Evento de cancelación 【Function()】", - "【onSelected】 : Evento de selección 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_fr_FR.json deleted file mode 100644 index b7aac68c0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 56, - "name": "PopupMenuButton", - "localName": "Bouton de menu", - "info": "Affiche un menu contextuel, permettant de spécifier des propriétés telles que le décalage, la couleur, la profondeur d'ombre, la forme, etc. Reçoit les événements de sélection et de désélection des éléments.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de PopupMenuButton", - "desc": [ - "【itemBuilder】 : Constructeur 【PopupMenuItemBuilder】", - "【offset】 : Décalage 【Offset】", - "【color】 : Couleur de fond 【Color】", - "【shape】 : Forme 【ShapeBorder】", - "【elevation】 : Profondeur d'ombre 【double】", - "【onCanceled】 : Événement d'annulation 【Function()】", - "【onSelected】 : Événement de sélection 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_it_IT.json deleted file mode 100644 index 3f7896f37..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 56, - "name": "PopupMenuButton", - "localName": "Pulsante del menu", - "info": "Apre un menu a comparsa, con la possibilità di specificare proprietà come offset, colore, profondità dell'ombra, forma, ecc. Riceve eventi di selezione e annullamento degli elementi.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di PopupMenuButton", - "desc": [ - "【itemBuilder】 : Costruttore 【PopupMenuItemBuilder】", - "【offset】 : Offset 【Offset】", - "【color】 : Colore di sfondo 【Color】", - "【shape】 : Forma 【ShapeBorder】", - "【elevation】 : Profondità dell'ombra 【double】", - "【onCanceled】 : Evento di annullamento 【Function()】", - "【onSelected】 : Evento di selezione 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_ja_JP.json deleted file mode 100644 index 66ccb8300..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 56, - "name": "PopupMenuButton", - "localName": "メニューボタン", - "info": "ポップアップメニューバーを表示し、オフセット、色、影の深さ、形状などの属性を指定できます。アイテムの選択イベントと選択解除イベントを受け取ります。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PopupMenuButtonの基本使用", - "desc": [ - "【itemBuilder】 : ビルダー 【PopupMenuItemBuilder】", - "【offset】 : オフセット 【Offset】", - "【color】 : 背景色 【Color】", - "【shape】 : 形状 【ShapeBorder】", - "【elevation】 : 影の深さ 【double】", - "【onCanceled】 : キャンセルイベント 【Function()】", - "【onSelected】 : 選択イベント 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_ko_KR.json deleted file mode 100644 index 77a05c34a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 56, - "name": "PopupMenuButton", - "localName": "메뉴 버튼", - "info": "팝업 메뉴 바를 표시하며, 오프셋, 색상, 그림자 깊이, 모양 등의 속성을 지정할 수 있습니다. 아이템 선택 이벤트와 선택 취소 이벤트를 수신합니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PopupMenuButton 기본 사용", - "desc": [ - "【itemBuilder】 : 생성자 【PopupMenuItemBuilder】", - "【offset】 : 오프셋 【Offset】", - "【color】 : 배경색 【Color】", - "【shape】 : 모양 【ShapeBorder】", - "【elevation】 : 그림자 깊이 【double】", - "【onCanceled】 : 취소 이벤트 【Function()】", - "【onSelected】 : 선택 이벤트 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_pt_PT.json deleted file mode 100644 index 946e108f8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 56, - "name": "PopupMenuButton", - "localName": "Botão de Menu", - "info": "Exibe um menu pop-up, podendo especificar atributos como deslocamento, cor, profundidade de sombra, forma, etc. Recebe eventos de seleção e cancelamento de itens.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do PopupMenuButton", - "desc": [ - "【itemBuilder】 : Construtor 【PopupMenuItemBuilder】", - "【offset】 : Deslocamento 【Offset】", - "【color】 : Cor de fundo 【Color】", - "【shape】 : Forma 【ShapeBorder】", - "【elevation】 : Profundidade de sombra 【double】", - "【onCanceled】 : Evento de cancelamento 【Function()】", - "【onSelected】 : Evento de seleção 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_ru_RU.json deleted file mode 100644 index 58a6e396f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 56, - "name": "PopupMenuButton", - "localName": "Кнопка меню", - "info": "Всплывающее меню, можно указать смещение, цвет, глубину тени, форму и другие атрибуты. Принимает события выбора элемента и отмены выбора.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование PopupMenuButton", - "desc": [ - "【itemBuilder】 : Конструктор 【PopupMenuItemBuilder】", - "【offset】 : Смещение 【Offset】", - "【color】 : Цвет фона 【Color】", - "【shape】 : Форма 【ShapeBorder】", - "【elevation】 : Глубина тени 【double】", - "【onCanceled】 : Событие отмены 【Function()】", - "【onSelected】 : Событие выбора 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_zh-CN.json deleted file mode 100644 index d25591057..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 56, - "name": "PopupMenuButton", - "localName": "菜单按钮", - "info": "弹出菜单栏,可指定偏移、颜色、影深、形状等属性。接收item选中的事件和取消选择事件。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PopupMenuButton基本使用", - "desc": [ - "【itemBuilder】 : 构造器 【PopupMenuItemBuilder】", - "【offset】 : 偏移 【Offset】", - "【color】 : 背景颜色 【Color】", - "【shape】 : 形状 【ShapeBorder】", - "【elevation】 : 影深 【double】", - "【onCanceled】 : 取消事件 【Function()】", - "【onSelected】 : 选择事件 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/node1_base.dart deleted file mode 100644 index 03fe4f20d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuButton/node1_base.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:widgets/utils/dialog_about.dart'; - - -/// create by 张风捷特烈 on 2020-03-16 -/// contact me by email 1981462002@qq.com - -class CustomPopupMenuButton extends StatefulWidget { - const CustomPopupMenuButton({Key? key}) : super(key: key); - - @override - _CustomPopupMenuButtonState createState() => _CustomPopupMenuButtonState(); -} - -class _CustomPopupMenuButtonState extends State { - final Map map = const { - "关于": Icons.info_outline, - "帮助": Icons.help_outline, - "问题反馈": Icons.add_comment, - }; - - @override - Widget build(BuildContext context) { - return PopupMenuButton( - itemBuilder: (context) => buildItems(), - offset: const Offset(0, 50), - color: const Color(0xffF4FFFA), - elevation: 1, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(20), - bottomRight: Radius.circular(20), - topRight: Radius.circular(5), - bottomLeft: Radius.circular(5), - )), - onSelected: (e) { - print(e); - if (e == '关于') { - DialogAbout.show(context); - } - }, - onCanceled: () => print('onCanceled'), - ); - } - - List> buildItems() { - return map.keys - .toList() - .map((e) => PopupMenuItem( - value: e, - child: Wrap( - spacing: 10, - children: [ - Icon(map[e], color: Colors.blue), - Text(e), - ], - ))) - .toList(); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_de_DE.json deleted file mode 100644 index 7a5dba891..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 174, - "name": "PopupMenuDivider", - "localName": "Popup-Menü-Trennlinie", - "info": "Die Trennlinie des PopupMenuButton, wird normalerweise nicht allein verwendet und kann in der Höhe angegeben werden.", - "lever": 1, - "family": 1, - "linkIds": [ - 56, - 34 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von PopupMenuDivider", - "desc": [ - "【height】 : Höhe 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_en_US.json deleted file mode 100644 index 728542b5f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 174, - "name": "PopupMenuDivider", - "localName": "Popup Menu Divider", - "info": "The divider of PopupMenuButton, generally not used alone, the height can be specified.", - "lever": 1, - "family": 1, - "linkIds": [ - 56, - 34 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of PopupMenuDivider", - "desc": [ - "【height】 : height 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_es_ES.json deleted file mode 100644 index 9c1269225..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 174, - "name": "PopupMenuDivider", - "localName": "Divisor de menú emergente", - "info": "Divisor de PopupMenuButton, generalmente no se usa por separado, se puede especificar la altura.", - "lever": 1, - "family": 1, - "linkIds": [ - 56, - 34 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de PopupMenuDivider", - "desc": [ - "【height】 : altura 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_fr_FR.json deleted file mode 100644 index f928156a4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 174, - "name": "PopupMenuDivider", - "localName": "Ligne de séparation du menu contextuel", - "info": "Ligne de séparation pour PopupMenuButton, généralement pas utilisée seule, peut spécifier la hauteur.", - "lever": 1, - "family": 1, - "linkIds": [ - 56, - 34 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de PopupMenuDivider", - "desc": [ - "【height】 : hauteur 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_it_IT.json deleted file mode 100644 index 925e2b303..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 174, - "name": "PopupMenuDivider", - "localName": "Linea di divisione del menu a comparsa", - "info": "Linea di divisione per PopupMenuButton, generalmente non utilizzata da sola, può essere specificata l'altezza.", - "lever": 1, - "family": 1, - "linkIds": [ - 56, - 34 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di PopupMenuDivider", - "desc": [ - "【height】 : Altezza 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_ja_JP.json deleted file mode 100644 index 1de2e6aea..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 174, - "name": "PopupMenuDivider", - "localName": "ポップアップメニュー区切り線", - "info": "PopupMenuButtonの区切り線で、通常は単独で使用されず、高さを指定できます。", - "lever": 1, - "family": 1, - "linkIds": [ - 56, - 34 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PopupMenuDividerの基本使用", - "desc": [ - "【height】 : 高さ 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_ko_KR.json deleted file mode 100644 index 831ee3807..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 174, - "name": "PopupMenuDivider", - "localName": "팝업 메뉴 구분선", - "info": "PopupMenuButton의 구분선, 일반적으로 단독으로 사용되지 않으며, 높이를 지정할 수 있습니다.", - "lever": 1, - "family": 1, - "linkIds": [ - 56, - 34 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PopupMenuDivider 기본 사용", - "desc": [ - "【height】 : 높이 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_pt_PT.json deleted file mode 100644 index 2b66764a7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 174, - "name": "PopupMenuDivider", - "localName": "Divisor de Menu Pop-up", - "info": "Divisor do PopupMenuButton, geralmente não é usado sozinho, pode ser especificada a altura.", - "lever": 1, - "family": 1, - "linkIds": [ - 56, - 34 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do PopupMenuDivider", - "desc": [ - "【height】 : altura 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_ru_RU.json deleted file mode 100644 index 3a81af8ed..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 174, - "name": "PopupMenuDivider", - "localName": "Разделитель всплывающего меню", - "info": "Разделитель для PopupMenuButton, обычно не используется отдельно, можно указать высоту.", - "lever": 1, - "family": 1, - "linkIds": [ - 56, - 34 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование PopupMenuDivider", - "desc": [ - "【height】 : Высота 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_zh-CN.json deleted file mode 100644 index 40ed06d79..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 174, - "name": "PopupMenuDivider", - "localName": "弹出菜单分割线", - "info": "PopupMenuButton的分割线,一般不单独使用,可指定高度。", - "lever": 1, - "family": 1, - "linkIds": [ - 56, - 34 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PopupMenuDivider基本使用", - "desc": [ - "【height】 : 高度 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/node1_base.dart deleted file mode 100644 index b72d5538d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PopupMenuDivider/node1_base.dart +++ /dev/null @@ -1,68 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:widgets/utils/dialog_about.dart'; - - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomPopupMenuDivider extends StatelessWidget { - const CustomPopupMenuDivider({Key? key}) : super(key: key); - - final Map map = const { - "关于": Icons.info_outline, - "帮助": Icons.help_outline, - "问题反馈": Icons.add_comment, - }; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildPopupMenuButton(context), - const PopupMenuDivider(), - ], - ); - } - - PopupMenuButton _buildPopupMenuButton(BuildContext context) { - return PopupMenuButton( - itemBuilder: (context) => [ - ...buildItems().sublist(0, 2), - const PopupMenuDivider(), - ...buildItems().sublist(2, 3) - ], - offset: const Offset(0, 50), - color: const Color(0xffF4FFFA), - elevation: 1, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(20), - bottomRight: Radius.circular(20), - topRight: Radius.circular(5), - bottomLeft: Radius.circular(5), - )), - onSelected: (e) { - print(e); - if (e == '关于') { - DialogAbout.show(context); - } - }, - onCanceled: () => print('onCanceled'), - ); - } - - List> buildItems() { - return map.keys - .toList() - .map((e) => PopupMenuItem( - value: e, - child: Wrap( - spacing: 10, - children: [ - Icon(map[e], color: Colors.blue), - Text(e), - ], - ))) - .toList(); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_de_DE.json deleted file mode 100644 index 190ea2229..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 93, - "name": "PositionedTransition", - "localName": "Positionsübergang", - "info": "Kann nur in einem Stack verwendet werden, kann ein Kindelement enthalten und lässt es eine Positionsanimation zwischen zwei Rechtecken durchführen, erfordert einen Animator rect.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von PositionedTransition", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【rect】 : Animation 【Animation】", - " PositionedTransition-Komponente kann nur innerhalb eines Stacks funktionieren" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_en_US.json deleted file mode 100644 index c9b298bf7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 93, - "name": "PositionedTransition", - "localName": "Position Transition", - "info": "Can only be used in a Stack, can contain one child component, allowing it to animate between two rectangles, requires an animator rect.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of PositionedTransition", - "desc": [ - "【child】 : Child component 【Widget】", - "【rect】 : Animation 【Animation】", - " The PositionedTransition component only works within a Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_es_ES.json deleted file mode 100644 index af3c0d420..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 93, - "name": "PositionedTransition", - "localName": "Transición de Posición", - "info": "Solo se puede usar en Stack, puede contener un componente hijo y permite que realice una animación de posición entre dos rectángulos, se requiere proporcionar un animador rect.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de PositionedTransition", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【rect】 : Animación 【Animation】", - " El componente PositionedTransition solo funciona dentro de Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_fr_FR.json deleted file mode 100644 index aa494ce66..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 93, - "name": "PositionedTransition", - "localName": "Transition de position", - "info": "Ne peut être utilisé que dans une Stack, peut contenir un seul composant enfant, permettant une animation de position entre deux rectangles, nécessite un animateur rect.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de PositionedTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【rect】 : Animation 【Animation】", - " Le composant PositionedTransition ne fonctionne que dans une Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_it_IT.json deleted file mode 100644 index d503ee471..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 93, - "name": "PositionedTransition", - "localName": "Transizione di posizione", - "info": "Può essere utilizzato solo in uno Stack, può contenere un componente figlio e permette di animare la posizione tra due rettangoli, è necessario fornire un animatore rect.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di PositionedTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【rect】 : Animazione 【Animation】", - " Il componente PositionedTransition funziona solo all'interno di uno Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_ja_JP.json deleted file mode 100644 index a7eb3d4cf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 93, - "name": "PositionedTransition", - "localName": "位置変換", - "info": "Stack内でのみ使用可能で、1つの子コンポーネントを収容し、2つの矩形間で位置アニメーションを行わせることができます。アニメーターrectを提供する必要があります。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PositionedTransitionの基本的な使用法", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【rect】 : アニメーション 【Animation】", - " PositionedTransitionコンポーネントはStack内でのみ機能します" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_ko_KR.json deleted file mode 100644 index 1b7674db7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 93, - "name": "PositionedTransition", - "localName": "위치 변환", - "info": "Stack에서만 사용 가능하며, 하나의 자식 위젯을 포함할 수 있고, 두 사각형 사이에서 위치 애니메이션을 수행할 수 있습니다. 애니메이션 rect를 제공해야 합니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PositionedTransition 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【rect】 : 애니메이션 【Animation】", - " PositionedTransition 위젯은 Stack 내에서만 작동합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_pt_PT.json deleted file mode 100644 index 9c65910dc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 93, - "name": "PositionedTransition", - "localName": "Transição de Posição", - "info": "Só pode ser usado em uma Stack, pode conter um componente filho, permitindo que ele faça uma animação de posição entre dois retângulos, é necessário fornecer um animador rect.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do PositionedTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【rect】 : Animação 【Animation】", - " O componente PositionedTransition só funciona dentro de uma Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_ru_RU.json deleted file mode 100644 index bd5e2aa96..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 93, - "name": "PositionedTransition", - "localName": "Позиционный переход", - "info": "Может использоваться только в Stack, может содержать один дочерний компонент, позволяющий ему выполнять анимацию между двумя прямоугольниками, требуется предоставить аниматор rect.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование PositionedTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【rect】 : Анимация 【Animation】", - " Компонент PositionedTransition может работать только внутри Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_zh-CN.json deleted file mode 100644 index 5999b455f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 93, - "name": "PositionedTransition", - "localName": "位置变换", - "info": "只能用于Stack中,可容纳一个子组件,让其在两个矩形间进行位置动画,需要提供动画器rect。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PositionedTransition基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【rect】 : 动画 【Animation】", - " PositionedTransition组件只能在Stack内起作用" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/node1_base.dart deleted file mode 100644 index 6485185c5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/PositionedTransition/node1_base.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomPositionedTransition extends StatefulWidget { - const CustomPositionedTransition({Key? key}) : super(key: key); - - @override - _CustomPositionedTransitionState createState() => - _CustomPositionedTransitionState(); -} - -class _CustomPositionedTransitionState extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - - @override - void initState() { - _ctrl = AnimationController( - vsync: this, - duration: const Duration(seconds: 2), - ); - _ctrl.forward(); - super.initState(); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => _ctrl.forward(from: 0), - child: Container( - color: Colors.grey.withAlpha(33), - width: 200, - height: 100, - child: Stack( - children: [ - PositionedTransition( - rect: RelativeRectTween( - begin: const RelativeRect.fromLTRB(0, 50, 150, 100), - end: const RelativeRect.fromLTRB(60, 0, 150, -50), - ).animate(_ctrl), - child: const Icon( - Icons.android, - color: Colors.green, - size: 50, - ), - ) - ], - ), - )); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_de_DE.json deleted file mode 100644 index d7c3a2b24..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 45, - "name": "Radio", - "localName": "Auswahlknopf", - "info": "Aufgrund der runden Knöpfe für ausgewählte und nicht ausgewählte Zustände können mehrere Radios je nach Logik Einzel- oder Mehrfachauswahl ermöglichen. Farbe kann angegeben werden, und Statusänderungsrückrufe werden empfangen.", - "lever": 4, - "family": 1, - "linkIds": [19,240], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Radio", - "desc": [ - "【value】 : Auswahlknopfwert 【T】", - "【groupValue】 : Aktueller Übereinstimmungswert 【T】", - "【activeColor】 : Aktivierungsfarbe 【Color】", - "【onChanged】 : Rückruf bei Änderung 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_en_US.json deleted file mode 100644 index 9cba63c94..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 45, - "name": "Radio", - "localName": "Radio Button", - "info": "Due to the selected and unselected states of the circular button, multiple Radios can implement single or multiple selection requirements based on logic. The color can be specified, and a callback for state changes is supported.", - "lever": 4, - "family": 1, - "linkIds": [19,240], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Radio", - "desc": [ - "【value】: Radio button value 【T】", - "【groupValue】: Current matching value 【T】", - "【activeColor】: Active color 【Color】", - "【onChanged】: Callback on change 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_es_ES.json deleted file mode 100644 index 1b0024bfc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 45, - "name": "Radio", - "localName": "Botón de selección", - "info": "Debido a los botones circulares en estados seleccionados y no seleccionados, múltiples Radio pueden satisfacer necesidades de selección única o múltiple según la lógica. Se puede especificar el color y recibir una devolución de llamada para cambios de estado.", - "lever": 4, - "family": 1, - "linkIds": [19,240], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Radio", - "desc": [ - "【value】 : Valor del botón de selección 【T】", - "【groupValue】 : Valor de coincidencia actual 【T】", - "【activeColor】 : Color activo 【Color】", - "【onChanged】 : Devolución de llamada al cambiar 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_fr_FR.json deleted file mode 100644 index c4853c7c2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 45, - "name": "Radio", - "localName": "Bouton de sélection", - "info": "En raison des boutons ronds pour les états sélectionnés et non sélectionnés, plusieurs Radio peuvent répondre aux besoins de sélection unique ou multiple selon la logique. La couleur peut être spécifiée et un rappel de changement d'état peut être reçu.", - "lever": 4, - "family": 1, - "linkIds": [19,240], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Radio", - "desc": [ - "【value】 : Valeur du bouton de sélection 【T】", - "【groupValue】 : Valeur de correspondance actuelle 【T】", - "【activeColor】 : Couleur active 【Color】", - "【onChanged】 : Rappel lors du changement 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_it_IT.json deleted file mode 100644 index f1786d8da..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 45, - "name": "Radio", - "localName": "Pulsante di selezione", - "info": "A causa dei pulsanti rotondi per lo stato selezionato e non selezionato, più Radio possono realizzare la necessità di selezione singola o multipla secondo la logica. È possibile specificare il colore e ricevere un callback per i cambiamenti di stato.", - "lever": 4, - "family": 1, - "linkIds": [19,240], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Radio", - "desc": [ - "【value】 : Valore del pulsante di selezione 【T】", - "【groupValue】 : Valore di corrispondenza corrente 【T】", - "【activeColor】 : Colore attivo 【Color】", - "【onChanged】 : Callback al cambiamento 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_ja_JP.json deleted file mode 100644 index 587b57670..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 45, - "name": "Radio", - "localName": "ラジオボタン", - "info": "選択状態と未選択状態の円形ボタンであり、複数のRadioを論理的に使用することで、単一選択または複数選択の要件を実現できます。色を指定でき、状態変化のコールバックを受け取ります。", - "lever": 4, - "family": 1, - "linkIds": [19,240], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Radioの基本的な使用法", - "desc": [ - "【value】 : ラジオボタンの値 【T】", - "【groupValue】 : 現在のマッチ値 【T】", - "【activeColor】 : アクティブな色 【Color】", - "【onChanged】 : 変更時のコールバック 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_ko_KR.json deleted file mode 100644 index f28f41ce1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 45, - "name": "Radio", - "localName": "라디오 버튼", - "info": "선택 및 미선택 상태의 원형 버튼으로, 여러 개의 라디오 버튼을 통해 논리에 따라 단일 선택 또는 다중 선택이 가능합니다. 색상을 지정할 수 있으며, 상태 변화 콜백을 받을 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [19,240], - "nodes": [ - { - "file": "node1_base.dart", - "name": "라디오 버튼 기본 사용법", - "desc": [ - "【value】 : 라디오 버튼 값 【T】", - "【groupValue】 : 현재 일치 값 【T】", - "【activeColor】 : 활성화 색상 【Color】", - "【onChanged】 : 변경 시 콜백 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_pt_PT.json deleted file mode 100644 index 03a9593d0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 45, - "name": "Radio", - "localName": "Botão de seleção", - "info": "Devido aos botões circulares para estados selecionados e não selecionados, vários Radios podem atender às necessidades de seleção única ou múltipla com base na lógica. Pode-se especificar a cor e receber um retorno de chamada para mudanças de estado.", - "lever": 4, - "family": 1, - "linkIds": [19,240], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Radio", - "desc": [ - "【value】 : Valor do botão de seleção 【T】", - "【groupValue】 : Valor correspondente atual 【T】", - "【activeColor】 : Cor ativa 【Color】", - "【onChanged】 : Retorno de chamada ao mudar 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_ru_RU.json deleted file mode 100644 index 1859bd1e5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 45, - "name": "Radio", - "localName": "Кнопка выбора", - "info": "Из-за круглых кнопок в выбранном и невыбранном состоянии, несколько Radio могут реализовать потребности в выборе одного или нескольких вариантов в зависимости от логики. Можно указать цвет, получать обратные вызовы при изменении состояния.", - "lever": 4, - "family": 1, - "linkIds": [19,240], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Radio", - "desc": [ - "【value】 : Значение кнопки выбора 【T】", - "【groupValue】 : Текущее совпадающее значение 【T】", - "【activeColor】 : Активный цвет 【Color】", - "【onChanged】 : Обратный вызов при изменении 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_zh-CN.json deleted file mode 100644 index 05943372d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 45, - "name": "Radio", - "localName": "选钮", - "info": "由于选中和未选择状态的圆钮,多个Radio根据逻辑可以实现单选或多选的需求。可指定颜色,接收状态变化回调。", - "lever": 4, - "family": 1, - "linkIds": [19,240], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Radio基本使用", - "desc": [ - "【value】 : 选钮值 【T】", - "【groupValue】 : 当前匹配值 【T】", - "【activeColor】 : 激活颜色 【Color】", - "【onChanged】 : 改变时回调 【Function(T)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Radio/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Radio/node1_base.dart deleted file mode 100644 index 363a7ece5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Radio/node1_base.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomRadio extends StatefulWidget { - const CustomRadio({Key? key}) : super(key: key); - - @override - _CustomRadioState createState() => _CustomRadioState(); -} - -class _CustomRadioState extends State { - List data = [1, 2, 3, 4, 5]; - double _value = 1; - - @override - Widget build(BuildContext context) { - return Row( - mainAxisSize: MainAxisSize.min, - children: data - .map((e) => Radio( - activeColor: Colors.orangeAccent, - value: e, - groupValue: _value, - onChanged: (v) => setState(() => _value = v??0))) - .toList(), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_de_DE.json deleted file mode 100644 index b64765646..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 44, - "name": "RangeSlider", - "localName": "Bereichs-Schieberegler", - "info": "Bereichs-Schieberegler-Komponente, unterstützt das Ziehen von zwei Punkten, um den Bereich dazwischen zu erhalten. Ermöglicht die Angabe von Farbe, Anzahl der Abschnitte und angezeigte Labels, empfängt Rückrufe bei Fortschrittsänderungen.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RangeSlider", - "desc": [ - "【values】 : Werte 【RangeValues】", - "【min】 : Mindestwert 【double】", - "【max】 : Höchstwert 【double】", - "【divisions】 : Anzahl der Abschnitte 【int】", - "【label】 : Text der Hinweisblase 【String】", - "【activeColor】 : Aktive Farbe 【Color】", - "【inactiveColor】 : Inaktive Farbe 【Color】", - "【onChangeStart】 : Listener beim Start des Ziehens 【Function(RangeValues)】", - "【onChangeEnd】 : Listener beim Ende des Ziehens 【Function(RangeValues)】", - "【onChanged】 : Rückruf bei Änderung 【Function(RangeValues)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_en_US.json deleted file mode 100644 index ac404002a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 44, - "name": "RangeSlider", - "localName": "Range Slider", - "info": "The Range Slider component supports two-point dragging to get the range between them. You can specify the color, number of segments, and displayed labels, and receive progress change callbacks.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RangeSlider", - "desc": [ - "【values】 : Values 【RangeValues】", - "【min】 : Minimum value 【double】", - "【max】 : Maximum value 【double】", - "【divisions】 : Number of divisions 【int】", - "【label】 : Tooltip text 【String】", - "【activeColor】 : Active color 【Color】", - "【inactiveColor】 : Inactive color 【Color】", - "【onChangeStart】 : Listener when sliding starts 【Function(RangeValues)】", - "【onChangeEnd】 : Listener when sliding ends 【Function(RangeValues)】", - "【onChanged】 : Callback when changed 【Function(RangeValues)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_es_ES.json deleted file mode 100644 index 60d9003b5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 44, - "name": "RangeSlider", - "localName": "Control deslizante de rango", - "info": "Componente de control deslizante de rango, compatible con arrastre de dos puntos para obtener el rango entre ellos. Permite especificar colores, número de segmentos y etiquetas mostradas, y recibe una devolución de llamada para cambios de progreso.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RangeSlider", - "desc": [ - "【values】 : valores 【RangeValues】", - "【min】 : valor mínimo 【double】", - "【max】 : valor máximo 【double】", - "【divisions】 : número de divisiones 【int】", - "【label】 : texto de la burbuja de sugerencia 【String】", - "【activeColor】 : color activo 【Color】", - "【inactiveColor】 : color inactivo 【Color】", - "【onChangeStart】 : escucha al comenzar a deslizar 【Function(RangeValues)】", - "【onChangeEnd】 : escucha al finalizar el deslizamiento 【Function(RangeValues)】", - "【onChanged】 : devolución de llamada al cambiar 【Function(RangeValues)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_fr_FR.json deleted file mode 100644 index ee1de5b21..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 44, - "name": "RangeSlider", - "localName": "Curseur de plage", - "info": "Composant de curseur de plage, prend en charge le glissement à deux points pour obtenir la plage entre eux. Peut spécifier la couleur, le nombre de segments et les étiquettes affichées, reçoit un rappel de changement de progression.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RangeSlider", - "desc": [ - "【values】 : valeurs 【RangeValues】", - "【min】 : valeur minimale 【double】", - "【max】 : valeur maximale 【double】", - "【divisions】 : nombre de segments 【int】", - "【label】 : texte de la bulle d'information 【String】", - "【activeColor】 : couleur active 【Color】", - "【inactiveColor】 : couleur inactive 【Color】", - "【onChangeStart】 : écouteur au début du glissement 【Function(RangeValues)】", - "【onChangeEnd】 : écouteur à la fin du glissement 【Function(RangeValues)】", - "【onChanged】 : rappel lors du changement 【Function(RangeValues)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_it_IT.json deleted file mode 100644 index fdf083528..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 44, - "name": "RangeSlider", - "localName": "Cursore di intervallo", - "info": "Componente cursore di intervallo, supporta il trascinamento di due punti per ottenere l'intervallo tra di essi. Può specificare il colore, il numero di segmenti e le etichette visualizzate, riceve un callback per le modifiche di avanzamento.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di RangeSlider", - "desc": [ - "【values】 : Valori 【RangeValues】", - "【min】 : Valore minimo 【double】", - "【max】 : Valore massimo 【double】", - "【divisions】 : Numero di segmenti 【int】", - "【label】 : Testo del tooltip 【String】", - "【activeColor】 : Colore attivo 【Color】", - "【inactiveColor】 : Colore inattivo 【Color】", - "【onChangeStart】 : Ascolta quando inizia lo scorrimento 【Function(RangeValues)】", - "【onChangeEnd】 : Ascolta quando finisce lo scorrimento 【Function(RangeValues)】", - "【onChanged】 : Callback al cambiamento 【Function(RangeValues)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_ja_JP.json deleted file mode 100644 index d62e6d3fa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 44, - "name": "RangeSlider", - "localName": "範囲スライダー", - "info": "範囲スライダーコンポーネントは、2点のドラッグをサポートし、その間の範囲を取得します。色、セグメント数、表示されるラベルを指定でき、進捗変化のコールバックを受け取ります。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RangeSlider基本使用", - "desc": [ - "【values】 : 数値 【RangeValues】", - "【min】 : 最小値 【double】", - "【max】 : 最大値 【double】", - "【divisions】 : セグメント数 【int】", - "【label】 : ヒントバブルテキスト 【String】", - "【activeColor】 : アクティブカラー 【Color】", - "【inactiveColor】 : 非アクティブカラー 【Color】", - "【onChangeStart】 : スライド開始時のリスナー 【Function(RangeValues)】", - "【onChangeEnd】 : スライド終了時のリスナー 【Function(RangeValues)】", - "【onChanged】 : 変更時のコールバック 【Function(RangeValues)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_ko_KR.json deleted file mode 100644 index c95744b34..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 44, - "name": "RangeSlider", - "localName": "범위 슬라이더", - "info": "범위 슬라이더 컴포넌트, 두 점 드래그를 지원하여 그 사이의 범위를 얻을 수 있습니다. 색상, 분할 수 및 표시된 라벨을 지정할 수 있으며, 진행 변화 콜백을 받습니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RangeSlider 기본 사용", - "desc": [ - "【values】 : 값 【RangeValues】", - "【min】 : 최소값 【double】", - "【max】 : 최대값 【double】", - "【divisions】 : 분할 수 【int】", - "【label】 : 툴팁 텍스트 【String】", - "【activeColor】 : 활성화 색상 【Color】", - "【inactiveColor】 : 비활성화 색상 【Color】", - "【onChangeStart】 : 슬라이드 시작 시 리스너 【Function(RangeValues)】", - "【onChangeEnd】 : 슬라이드 종료 시 리스너 【Function(RangeValues)】", - "【onChanged】 : 변경 시 콜백 【Function(RangeValues)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_pt_PT.json deleted file mode 100644 index 6158ffede..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 44, - "name": "RangeSlider", - "localName": "Controlo deslizante de intervalo", - "info": "Componente de controlo deslizante de intervalo, suporta arrasto de dois pontos para obter o intervalo entre eles. Pode especificar a cor, o número de segmentos e as etiquetas exibidas, e recebe uma chamada de retorno para alterações no progresso.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do RangeSlider", - "desc": [ - "【values】 : valores 【RangeValues】", - "【min】 : valor mínimo 【double】", - "【max】 : valor máximo 【double】", - "【divisions】 : número de segmentos 【int】", - "【label】 : texto da bolha de dica 【String】", - "【activeColor】 : cor ativa 【Color】", - "【inactiveColor】 : cor inativa 【Color】", - "【onChangeStart】 : ouvinte ao iniciar o deslize 【Function(RangeValues)】", - "【onChangeEnd】 : ouvinte ao terminar o deslize 【Function(RangeValues)】", - "【onChanged】 : chamada de retorno ao alterar 【Function(RangeValues)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_ru_RU.json deleted file mode 100644 index 7475fa488..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 44, - "name": "RangeSlider", - "localName": "Ползунок диапазона", - "info": "Компонент ползунка диапазона, поддерживает перетаскивание двух точек для получения диапазона между ними. Можно указать цвет, количество сегментов и отображаемые метки, а также получать обратные вызовы при изменении прогресса.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RangeSlider", - "desc": [ - "【values】 : Значения 【RangeValues】", - "【min】 : Минимальное значение 【double】", - "【max】 : Максимальное значение 【double】", - "【divisions】 : Количество сегментов 【int】", - "【label】 : Текст подсказки 【String】", - "【activeColor】 : Активный цвет 【Color】", - "【inactiveColor】 : Неактивный цвет 【Color】", - "【onChangeStart】 : Слушатель начала перетаскивания 【Function(RangeValues)】", - "【onChangeEnd】 : Слушатель окончания перетаскивания 【Function(RangeValues)】", - "【onChanged】 : Обратный вызов при изменении 【Function(RangeValues)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_zh-CN.json deleted file mode 100644 index 815e725eb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 44, - "name": "RangeSlider", - "localName": "范围滑块", - "info": "范围滑块组件,支持两点拖动,获取之间的范围。可指定颜色、分段数及显示的标签,接收进度变化回调。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RangeSlider基本使用", - "desc": [ - "【values】 : 数值 【RangeValues】", - "【min】 : 最小值 【double】", - "【max】 : 最大值 【double】", - "【divisions】 : 分段数 【int】", - "【label】 : 提示气泡文字 【String】", - "【activeColor】 : 激活颜色 【Color】", - "【inactiveColor】 : 非激活颜色 【Color】", - "【onChangeStart】 : 开始滑动时监听 【Function(RangeValues)】", - "【onChangeEnd】 : 滑动结束时监听 【Function(RangeValues)】", - "【onChanged】 : 改变时回调 【Function(RangeValues)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/node1_base.dart deleted file mode 100644 index bb9ab74e9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RangeSlider/node1_base.dart +++ /dev/null @@ -1,38 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomRangeSlider extends StatefulWidget { - const CustomRangeSlider({Key? key}) : super(key: key); - - @override - _CustomRangeSliderState createState() => _CustomRangeSliderState(); -} - -class _CustomRangeSliderState extends State { - RangeValues _rangeValues = const RangeValues(90, 270); - - @override - Widget build(BuildContext context) { - return RangeSlider( - values: _rangeValues, - divisions: 180, - min: 0.0, - max: 360.0, - labels: RangeLabels(_rangeValues.start.toStringAsFixed(1), - _rangeValues.end.toStringAsFixed(1)), - activeColor: Colors.orangeAccent, - inactiveColor: Colors.green.withAlpha(99), - onChangeStart: (value) { - print('开始滑动:$value'); - }, - onChangeEnd: (value) { - print('滑动结束:$value'); - }, - onChanged: (value) { - setState(() { - _rangeValues = value; - }); - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_de_DE.json deleted file mode 100644 index 36e4d9cd8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_de_DE.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 153, - "name": "RawChip", - "localName": "Native Chip", - "info": "Der Vorfahr aller Chip-Komponenten, der die Fähigkeit besitzt, das Verhalten jedes Chips zu zeigen, unterstützt Ereignisse wie Auswählen, Klicken und Löschen. Weitere Informationen finden Sie unter Chip, FilterChip, ActionChip, InputChip und ChoiceChip.", - "lever": 5, - "family": 1, - "linkIds": [ - 11, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_press.dart", - "name": "RawChip Klickeffekt", - "desc": [ - "【label】: Mittlere Komponente 【Widget】", - "【padding】: Innenabstand 【EdgeInsetsGeometry】", - "【labelPadding】: Label-Abstand 【EdgeInsetsGeometry】", - "【shadowColor】: Schattenfarbe 【Color】", - "【avatar】: Linke Komponente 【Widget】", - "【elevation】: Schattentiefe 【double】", - "【pressElevation】: Schattentiefe beim Klicken 【double】", - "【onPressed】: Klickereignis 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "RawChip Auswahl- und Lösch-Effekt", - "desc": [ - "【selected】: Ist ausgewählt 【bool】", - "【deleteIconColor】: Farbe des Endsymbols 【Color】", - "【selectedColor】: Auswahlfarbe 【Color】", - "【deleteIcon】: Endkomponente 【Widget】", - "【onSelected】: Auswahlereignis 【Function(bool)】", - "【onDeleted】: Endereignis 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_en_US.json deleted file mode 100644 index cc299aa39..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_en_US.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 153, - "name": "RawChip", - "localName": "RawChip", - "info": "The ancestor of each Chip component, possessing the ability to exhibit each Chip's behavior, supporting events such as selection, click, and deletion. For details, see Chip, FilterChip, ActionChip, InputChip, ChoiceChip.", - "lever": 5, - "family": 1, - "linkIds": [ - 11, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_press.dart", - "name": "RawChip Click Effect", - "desc": [ - "【label】: Middle component 【Widget】", - "【padding】 : Padding 【EdgeInsetsGeometry】", - "【labelPadding】 : Label padding 【EdgeInsetsGeometry】", - "【shadowColor】: Shadow color 【Color】", - "【avatar】: Left component 【Widget】", - "【elevation】: Elevation 【double】", - "【pressElevation】: Elevation when pressed 【double】", - "【onPressed】 : Click event 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "RawChip Selection and Deletion Effect", - "desc": [ - "【selected】: Whether selected 【bool】", - "【deleteIconColor】: Trailing icon color 【Color】", - "【selectedColor】: Selected color 【Color】", - "【deleteIcon】: Trailing component 【Widget】", - "【onSelected】: Selection event 【Function(bool)】", - "【onDeleted】 : Trailing event 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_es_ES.json deleted file mode 100644 index 48e0eb6db..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_es_ES.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 153, - "name": "RawChip", - "localName": "Chip Nativo", - "info": "El antepasado de cada componente Chip, con la capacidad de representar cada comportamiento de Chip, soporta eventos como selección, clic, eliminación, etc. Para más detalles, consulta Chip, FilterChip, ActionChip, InputChip, ChoiceChip.", - "lever": 5, - "family": 1, - "linkIds": [ - 11, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_press.dart", - "name": "Efecto de clic en RawChip", - "desc": [ - "【label】: Componente central 【Widget】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】", - "【labelPadding】 : Relleno de la etiqueta 【EdgeInsetsGeometry】", - "【shadowColor】: Color de la sombra 【Color】", - "【avatar】: Componente izquierdo 【Widget】", - "【elevation】: Profundidad de la sombra 【double】", - "【pressElevation】: Profundidad de la sombra al hacer clic 【double】", - "【onPressed】 : Evento de clic 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Efecto de selección y eliminación en RawChip", - "desc": [ - "【selected】: Si está seleccionado 【bool】", - "【deleteIconColor】: Color del icono de eliminación 【Color】", - "【selectedColor】: Color de selección 【Color】", - "【deleteIcon】: Componente de eliminación 【Widget】", - "【onSelected】: Evento de selección 【Function(bool)】", - "【onDeleted】 : Evento de eliminación 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_fr_FR.json deleted file mode 100644 index 7c9461bc1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_fr_FR.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 153, - "name": "RawChip", - "localName": "Petite barre native", - "info": "L'ancêtre de chaque composant Chip, possédant la capacité de représenter chaque Chip, prend en charge des événements tels que la sélection, le clic, la suppression, etc. Voir Chip, FilterChip, ActionChip, InputChip, ChoiceChip pour plus de détails.", - "lever": 5, - "family": 1, - "linkIds": [ - 11, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_press.dart", - "name": "Effet de clic de RawChip", - "desc": [ - "【label】: Composant central 【Widget】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】", - "【labelPadding】 : Marge du label 【EdgeInsetsGeometry】", - "【shadowColor】: Couleur de l'ombre 【Color】", - "【avatar】: Composant gauche 【Widget】", - "【elevation】: Profondeur de l'ombre 【double】", - "【pressElevation】: Profondeur de l'ombre lors du clic 【double】", - "【onPressed】 : Événement de clic 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Effet de sélection et de suppression de RawChip", - "desc": [ - "【selected】: Est sélectionné 【bool】", - "【deleteIconColor】: Couleur de l'icône de fin 【Color】", - "【selectedColor】: Couleur de sélection 【Color】", - "【deleteIcon】: Composant de fin 【Widget】", - "【onSelected】: Événement de sélection 【Function(bool)】", - "【onDeleted】 : Événement de fin 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_it_IT.json deleted file mode 100644 index 9469f54d3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_it_IT.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 153, - "name": "RawChip", - "localName": "Chip Nativo", - "info": "L'antenato di tutti i componenti Chip, con la capacità di rappresentare ogni Chip, supporta eventi come selezione, clic, eliminazione, ecc. Vedi Chip, FilterChip, ActionChip, InputChip, ChoiceChip per maggiori dettagli.", - "lever": 5, - "family": 1, - "linkIds": [ - 11, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_press.dart", - "name": "Effetto Clic di RawChip", - "desc": [ - "【label】: Componente centrale 【Widget】", - "【padding】 : Spaziatura interna 【EdgeInsetsGeometry】", - "【labelPadding】 : Spaziatura del label 【EdgeInsetsGeometry】", - "【shadowColor】: Colore dell'ombra 【Color】", - "【avatar】: Componente sinistro 【Widget】", - "【elevation】: Profondità dell'ombra 【double】", - "【pressElevation】: Profondità dell'ombra al clic 【double】", - "【onPressed】 : Evento di clic 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Effetto Selezione ed Eliminazione di RawChip", - "desc": [ - "【selected】: Se selezionato 【bool】", - "【deleteIconColor】: Colore dell'icona di coda 【Color】", - "【selectedColor】: Colore selezionato 【Color】", - "【deleteIcon】: Componente di coda 【Widget】", - "【onSelected】: Evento di selezione 【Function(bool)】", - "【onDeleted】 : Evento di coda 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_ja_JP.json deleted file mode 100644 index 7c53a5b74..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_ja_JP.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 153, - "name": "RawChip", - "localName": "ネイティブチップ", - "info": "各Chipコンポーネントの始祖であり、各Chipの表現能力を持ち、選択、クリック、削除などのイベントをサポートします。詳細はChip、FilterChip、ActionChip、InputChip、ChoiceChipを参照してください。", - "lever": 5, - "family": 1, - "linkIds": [ - 11, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_press.dart", - "name": "RawChipクリック効果", - "desc": [ - "【label】: 中間コンポーネント 【Widget】", - "【padding】 : パディング 【EdgeInsetsGeometry】", - "【labelPadding】 : ラベルパディング 【EdgeInsetsGeometry】", - "【shadowColor】: シャドウカラー 【Color】", - "【avatar】: 左側コンポーネント 【Widget】", - "【elevation】: 影の深さ 【double】", - "【pressElevation】: クリック時の影の深さ 【double】", - "【onPressed】 : クリックイベント 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "RawChip選択と削除効果", - "desc": [ - "【selected】: 選択されているか 【bool】", - "【deleteIconColor】: 末尾アイコンカラー 【Color】", - "【selectedColor】: 選択色 【Color】", - "【deleteIcon】: 末尾コンポーネント 【Widget】", - "【onSelected】: 選択イベント 【Function(bool)】", - "【onDeleted】 : 末尾イベント 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_ko_KR.json deleted file mode 100644 index 5ee7e501a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_ko_KR.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 153, - "name": "RawChip", - "localName": "원본 칩", - "info": "각 Chip 컴포넌트의 조상으로, 각 Chip의 표현 능력을 가지고 있으며, 선택, 클릭, 삭제 등의 이벤트를 지원합니다. 자세한 내용은 Chip, FilterChip, ActionChip, InputChip, ChoiceChip을 참조하세요.", - "lever": 5, - "family": 1, - "linkIds": [ - 11, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_press.dart", - "name": "RawChip 클릭 효과", - "desc": [ - "【label】: 중간 컴포넌트 【Widget】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】", - "【labelPadding】 : 라벨 여백 【EdgeInsetsGeometry】", - "【shadowColor】: 그림자 색상 【Color】", - "【avatar】: 왼쪽 컴포넌트 【Widget】", - "【elevation】: 그림자 깊이 【double】", - "【pressElevation】: 클릭 시 그림자 깊이 【double】", - "【onPressed】 : 클릭 이벤트 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "RawChip 선택 및 삭제 효과", - "desc": [ - "【selected】: 선택 여부 【bool】", - "【deleteIconColor】: 끝 아이콘 색상 【Color】", - "【selectedColor】: 선택 색상 【Color】", - "【deleteIcon】: 끝 컴포넌트 【Widget】", - "【onSelected】: 선택 이벤트 【Function(bool)】", - "【onDeleted】 : 끝 이벤트 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_pt_PT.json deleted file mode 100644 index 972d20a3f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_pt_PT.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 153, - "name": "RawChip", - "localName": "Chip Nativo", - "info": "O ancestral de cada componente Chip, possui a capacidade de exibir cada comportamento de Chip, suportando eventos como seleção, clique, exclusão, etc. Consulte Chip, FilterChip, ActionChip, InputChip, ChoiceChip para mais detalhes.", - "lever": 5, - "family": 1, - "linkIds": [ - 11, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_press.dart", - "name": "Efeito de Clique do RawChip", - "desc": [ - "【label】: Componente central 【Widget】", - "【padding】 : Preenchimento interno 【EdgeInsetsGeometry】", - "【labelPadding】 : Preenchimento do label 【EdgeInsetsGeometry】", - "【shadowColor】: Cor da sombra 【Color】", - "【avatar】: Componente esquerdo 【Widget】", - "【elevation】: Profundidade da sombra 【double】", - "【pressElevation】: Profundidade da sombra ao clicar 【double】", - "【onPressed】 : Evento de clique 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Efeito de Seleção e Exclusão do RawChip", - "desc": [ - "【selected】: Selecionado ou não 【bool】", - "【deleteIconColor】: Cor do ícone de exclusão 【Color】", - "【selectedColor】: Cor de seleção 【Color】", - "【deleteIcon】: Componente de ícone de exclusão 【Widget】", - "【onSelected】: Evento de seleção 【Function(bool)】", - "【onDeleted】 : Evento de exclusão 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_ru_RU.json deleted file mode 100644 index 852e4ae38..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_ru_RU.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 153, - "name": "RawChip", - "localName": "Нативный чип", - "info": "Прародитель всех компонентов Chip, обладает способностью отображать различные чипы, поддерживает события выбора, клика, удаления и другие. Подробнее см. Chip, FilterChip, ActionChip, InputChip, ChoiceChip.", - "lever": 5, - "family": 1, - "linkIds": [ - 11, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_press.dart", - "name": "Эффект нажатия RawChip", - "desc": [ - "【label】: Центральный компонент 【Widget】", - "【padding】 : Внутренние отступы 【EdgeInsetsGeometry】", - "【labelPadding】 : Отступы для label 【EdgeInsetsGeometry】", - "【shadowColor】: Цвет тени 【Color】", - "【avatar】: Левый компонент 【Widget】", - "【elevation】: Глубина тени 【double】", - "【pressElevation】: Глубина тени при нажатии 【double】", - "【onPressed】 : Событие нажатия 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Эффект выбора и удаления RawChip", - "desc": [ - "【selected】: Выбрано ли 【bool】", - "【deleteIconColor】: Цвет иконки удаления 【Color】", - "【selectedColor】: Цвет выбора 【Color】", - "【deleteIcon】: Компонент в конце 【Widget】", - "【onSelected】: Событие выбора 【Function(bool)】", - "【onDeleted】 : Событие в конце 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_zh-CN.json deleted file mode 100644 index c70fd51df..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/desc_zh-CN.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 153, - "name": "RawChip", - "localName": "原生小条", - "info": "各自Chip组件的始祖,拥有各自Chip表现的能力,支持选中、点击、删除等事件。详见Chip、FilterChip、ActionChip、InputChip、ChoiceChip。", - "lever": 5, - "family": 1, - "linkIds": [ - 11, - 12, - 13, - 14, - 15 - ], - "nodes": [ - { - "file": "node1_press.dart", - "name": "RawChip点击效果", - "desc": [ - "【label】: 中间组件 【Widget】", - "【padding】 : 内边距 【EdgeInsetsGeometry】", - "【labelPadding】 : label边距 【EdgeInsetsGeometry】", - "【shadowColor】: 阴影色 【Color】", - "【avatar】: 左侧组件 【Widget】", - "【elevation】: 影深 【double】", - "【pressElevation】: 点击时影深 【double】", - "【onPressed】 : 点击事件 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "RawChip选中和删除效果", - "desc": [ - "【selected】: 是否选中 【bool】", - "【deleteIconColor】: 尾部图标色 【Color】", - "【selectedColor】: 选中色 【Color】", - "【deleteIcon】: 尾部组件 【Widget】", - "【onSelected】: 选中事件 【Function(bool)】", - "【onDeleted】 : 尾部事件 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/node1_press.dart b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/node1_press.dart deleted file mode 100644 index 39140106c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/node1_press.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class PressRawChip extends StatelessWidget { - const PressRawChip({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return RawChip( - padding: const EdgeInsets.all(5), - labelPadding: const EdgeInsets.all(3), - label: const Text('张风捷特烈'), - avatar: Image.asset("assets/images/icon_head.webp"), - elevation: 3, - pressElevation: 5, - shadowColor: Colors.orangeAccent, - onPressed: () => Navigator.of(context).pushNamed('AboutMePage'), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/node2_select.dart b/modules/widget_system/widgets/lib/StatefulWidget/RawChip/node2_select.dart deleted file mode 100644 index 2165a0d24..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawChip/node2_select.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class SelectRawChip extends StatefulWidget { - const SelectRawChip({Key? key}) : super(key: key); - - @override - _SelectRawChipState createState() => _SelectRawChipState(); -} - -class _SelectRawChipState extends State { - bool _selected = false; - @override - Widget build(BuildContext context) { - return RawChip( - selected: _selected, - padding: const EdgeInsets.all(5), - labelPadding: const EdgeInsets.all(3), - deleteIconColor: Colors.red, - selectedColor: Colors.orangeAccent.withAlpha(44), - label: const Text('张风捷特烈'), - avatar: Image.asset("assets/images/icon_head.webp"), - elevation: 3, - pressElevation: 5, - shadowColor: Colors.orangeAccent, - onSelected: (v)=> setState(() => _selected=v), - onDeleted: () => Navigator.of(context).pushNamed('AboutMePage'), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_de_DE.json deleted file mode 100644 index a9931825e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 248, - "name": "RawGestureDetector", - "localName": "Rohgestenerkennung", - "info": "Kann verwendet werden, um die durch eine gegebene Gestenfabrik beschriebenen Gesten zu erkennen, was bei der Entwicklung eigener Gestenerkenner sehr nützlich ist. Für gängige Gesten verwenden Sie GestureRecognizer.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RawGestureDetector", - "desc": [ - "【behavior】 : Erkennungsverhalten 【HitTestBehavior】", - "【gestures】 : Gestenzuordnung 【Map】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_en_US.json deleted file mode 100644 index 68828d2b9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 248, - "name": "RawGestureDetector", - "localName": "Raw Gesture Detector", - "info": "Can be used to detect gestures described by a given gesture factory, which is very useful when developing your own gesture recognizer. For common gestures, use GestureRecognizer.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RawGestureDetector", - "desc": [ - "【behavior】: Detection behavior 【HitTestBehavior】", - "【gestures】: Gesture mapping 【Map】", - "【child】: Child widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_es_ES.json deleted file mode 100644 index ac69bfcaa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 248, - "name": "RawGestureDetector", - "localName": "Detector de gestos en bruto", - "info": "Se puede utilizar para detectar gestos descritos por una fábrica de gestos dada, es muy útil al desarrollar su propio reconocedor de gestos. Para gestos comunes, use GestureRecognizer.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RawGestureDetector", - "desc": [ - "【behavior】 : Comportamiento de detección 【HitTestBehavior】", - "【gestures】 : Mapeo de gestos 【Map】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_fr_FR.json deleted file mode 100644 index 109a3ad2a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 248, - "name": "RawGestureDetector", - "localName": "Détecteur de gestes bruts", - "info": "Peut être utilisé pour détecter les gestes décrits par une usine de gestes donnée, très utile lors du développement de son propre détecteur de gestes. Pour les gestes courants, utilisez GestureRecognizer.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RawGestureDetector", - "desc": [ - "【behavior】 : Comportement de détection 【HitTestBehavior】", - "【gestures】 : Mappage des gestes 【Map】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_it_IT.json deleted file mode 100644 index 5607345e2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 248, - "name": "RawGestureDetector", - "localName": "Rilevatore di gesti grezzi", - "info": "Può essere utilizzato per rilevare i gesti descritti da una determinata fabbrica di gesti, molto utile nello sviluppo del proprio riconoscitore di gesti. Per i gesti comuni, utilizzare GestureRecognizer.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di RawGestureDetector", - "desc": [ - "【behavior】 : Comportamento di rilevamento 【HitTestBehavior】", - "【gestures】 : Mappatura dei gesti 【Map】", - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_ja_JP.json deleted file mode 100644 index 11076bb36..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 248, - "name": "RawGestureDetector", - "localName": "生のジェスチャー検出器", - "info": "指定されたジェスチャーファクトリの記述に基づいてジェスチャーを検出するために使用できます。独自のジェスチャー認識器を開発する際に非常に便利です。一般的なジェスチャーには、GestureRecognizerを使用してください。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawGestureDetectorの基本的な使用法", - "desc": [ - "【behavior】 : 検出動作 【HitTestBehavior】", - "【gestures】 : ジェスチャーマッピング 【Map】", - "【child】 : 子ウィジェット 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_ko_KR.json deleted file mode 100644 index 35c0c4e75..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 248, - "name": "RawGestureDetector", - "localName": "원 제스처 감지기", - "info": "주어진 제스처 팩토리 설명에 따라 제스처를 감지하는 데 사용할 수 있으며, 자신만의 제스처 인식기를 개발할 때 매우 유용합니다. 일반적인 제스처의 경우 GestureRecognizer를 사용하세요.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawGestureDetector 기본 사용법", - "desc": [ - "【behavior】 : 감지 행동 【HitTestBehavior】", - "【gestures】 : 제스처 매핑 【Map】", - "【child】 : 자식 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_pt_PT.json deleted file mode 100644 index cc83464e4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 248, - "name": "RawGestureDetector", - "localName": "Detetor de Gestos Bruto", - "info": "Pode ser usado para detetar gestos descritos por uma fábrica de gestos fornecida, sendo muito útil ao desenvolver o seu próprio reconhecedor de gestos. Para gestos comuns, use o GestureRecognizer.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do RawGestureDetector", - "desc": [ - "【behavior】 : Comportamento de deteção 【HitTestBehavior】", - "【gestures】 : Mapeamento de gestos 【Map】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_ru_RU.json deleted file mode 100644 index 1b1570ad6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 248, - "name": "RawGestureDetector", - "localName": "Детектор жестов", - "info": "Может использоваться для обнаружения жестов, описанных заданной фабрикой жестов. Очень полезен при разработке собственного распознавателя жестов. Для распространенных жестов используйте GestureRecognizer.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RawGestureDetector", - "desc": [ - "【behavior】 : Поведение обнаружения 【HitTestBehavior】", - "【gestures】 : Сопоставление жестов 【Map】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_zh-CN.json deleted file mode 100644 index f061068ae..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 248, - "name": "RawGestureDetector", - "localName": "原手势检测器", - "info": "可以用来检测给定手势工厂描述的手势,在开发自己的手势识别器时非常有用。对于常见的手势,使用 GestureRecognizer。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawGestureDetector基本使用", - "desc": [ - "【behavior】 : 侦测行为 【HitTestBehavior】", - "【gestures】 : 手势映射 【Map】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/node1_base.dart deleted file mode 100644 index 505f019a8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawGestureDetector/node1_base.dart +++ /dev/null @@ -1,61 +0,0 @@ - -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class RawGestureDetectorDemo extends StatefulWidget { - const RawGestureDetectorDemo({Key? key}) : super(key: key); - - @override - _RawGestureDetectorDemoState createState() => _RawGestureDetectorDemoState(); -} - -class _RawGestureDetectorDemoState extends State { - String _last = ""; - - @override - Widget build(BuildContext context) { - return RawGestureDetector( - gestures: { - TapGestureRecognizer: - GestureRecognizerFactoryWithHandlers( - () => TapGestureRecognizer(), - init, - ), - }, - child: Container( - width: 300.0, - height: 100.0, - alignment: Alignment.center, - color: Colors.yellow, - child: Text(_last)), - ); - } - - void init(TapGestureRecognizer instance) { - instance..onTapDown = (TapDownDetails details) { - setState(() { - _last = 'down'; - }); - } - ..onTapUp = (TapUpDetails details) { - setState(() { - _last = 'up'; - }); - } - ..onTap = () { - setState(() { - _last = 'tap'; - }); - } - ..onTapCancel = () { - setState(() { - _last = 'cancel'; - }); - } - ; - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_de_DE.json deleted file mode 100644 index b8923e6fc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 254, - "name": "RawKeyboardListener", - "localName": "Roh-Tastatur-Listener", - "info": "Kann verwendet werden, um Tastendruck- und Tastenloslass-Ereignisse zu erkennen. Derzeit können nur physische Tastaturen erkannt werden und kann auf Desktop-Plattformen verwendet werden.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RawGestureDetector", - "desc": [ - "【onKey】 : Tastaturereignis 【ValueChanged】", - "【focusNode】 : Fokus 【FocusNode】", - "【autofocus】 : Automatischer Fokus 【bool】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_en_US.json deleted file mode 100644 index d1dc21295..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 254, - "name": "RawKeyboardListener", - "localName": "Raw Keyboard Listener", - "info": "Can be used to detect keyboard key press and release events, currently only physical keyboards can be detected, and can be used on desktop.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RawGestureDetector", - "desc": [ - "【onKey】 : Keyboard event 【ValueChanged】", - "【focusNode】 : Focus 【FocusNode】", - "【autofocus】 : Whether to auto focus 【bool】", - "【child】 : Child widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_es_ES.json deleted file mode 100644 index a759ad93f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 254, - "name": "RawKeyboardListener", - "localName": "Escuchador de teclado en bruto", - "info": "Se puede utilizar para detectar eventos de pulsación y liberación de teclas del teclado. Actualmente solo puede detectar teclados físicos y se puede utilizar en aplicaciones de escritorio.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RawGestureDetector", - "desc": [ - "【onKey】 : Evento de teclado 【ValueChanged】", - "【focusNode】 : Nodo de enfoque 【FocusNode】", - "【autofocus】 : Enfoque automático 【bool】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_fr_FR.json deleted file mode 100644 index 6b46447fb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 254, - "name": "RawKeyboardListener", - "localName": "Écouteur de clavier brut", - "info": "Peut être utilisé pour détecter les événements de pression et de relâchement des touches du clavier. Actuellement, il ne peut détecter que les claviers physiques et peut être utilisé sur les plateformes de bureau.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RawGestureDetector", - "desc": [ - "【onKey】 : Événement de clavier 【ValueChanged】", - "【focusNode】 : Point focal 【FocusNode】", - "【autofocus】 : Mise au point automatique 【bool】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_it_IT.json deleted file mode 100644 index 114bda061..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 254, - "name": "RawKeyboardListener", - "localName": "Ascoltatore Tastiera Originale", - "info": "Può essere utilizzato per rilevare eventi di pressione e rilascio dei tasti della tastiera, attualmente può rilevare solo tastiere fisiche, può essere utilizzato su desktop.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di RawGestureDetector", - "desc": [ - "【onKey】 : Evento Tastiera 【ValueChanged】", - "【focusNode】 : Nodo Focus 【FocusNode】", - "【autofocus】 : Autofocus 【bool】", - "【child】 : Componente Figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_ja_JP.json deleted file mode 100644 index 0811d9ead..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 254, - "name": "RawKeyboardListener", - "localName": "生キーボードリスナー", - "info": "キーボードのキー押下とキーリリースのイベントを検出するために使用できます。現在は物理キーボードのみ検出可能で、デスクトップで使用できます。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawGestureDetectorの基本使用", - "desc": [ - "【onKey】 : キーボードイベント 【ValueChanged】", - "【focusNode】 : フォーカス 【FocusNode】", - "【autofocus】 : 自動フォーカス 【bool】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_ko_KR.json deleted file mode 100644 index ff8c7f9c9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 254, - "name": "RawKeyboardListener", - "localName": "원시 키보드 리스너", - "info": "키보드 키 누름 및 해제 이벤트를 감지하는 데 사용할 수 있으며, 현재는 물리적 키보드만 감지할 수 있으며 데스크톱에서 사용할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawGestureDetector 기본 사용", - "desc": [ - "【onKey】 : 키보드 이벤트 【ValueChanged】", - "【focusNode】 : 포커스 【FocusNode】", - "【autofocus】 : 자동 포커스 여부 【bool】", - "【child】 : 자식 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_pt_PT.json deleted file mode 100644 index 2bdb176e0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 254, - "name": "RawKeyboardListener", - "localName": "Ouvinte de Teclado Bruto", - "info": "Pode ser usado para detectar eventos de pressionamento e liberação de teclas do teclado, atualmente só pode detectar teclados físicos e pode ser usado em desktop.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do RawGestureDetector", - "desc": [ - "【onKey】 : Evento de teclado 【ValueChanged】", - "【focusNode】 : Foco 【FocusNode】", - "【autofocus】 : Foco automático 【bool】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_ru_RU.json deleted file mode 100644 index 8e4770dc8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 254, - "name": "RawKeyboardListener", - "localName": "Слушатель клавиатуры", - "info": "Может использоваться для обнаружения событий нажатия и отпускания клавиш на клавиатуре. В настоящее время может обнаруживать только физические клавиатуры и может использоваться на настольных устройствах.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RawGestureDetector", - "desc": [ - "【onKey】 : Событие клавиатуры 【ValueChanged】", - "【focusNode】 : Фокус 【FocusNode】", - "【autofocus】 : Автоматическая фокусировка 【bool】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_zh-CN.json deleted file mode 100644 index 44a4de06d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 254, - "name": "RawKeyboardListener", - "localName": "原键盘监听器", - "info": "可以用来检测键盘按键和松键的事件,目前只能检测到物理键盘,可在桌面端使用。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawGestureDetector基本使用", - "desc": [ - "【onKey】 : 键盘事件 【ValueChanged】", - "【focusNode】 : 焦点 【FocusNode】", - "【autofocus】 : 是否自动聚焦 【bool】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/node1_base.dart deleted file mode 100644 index 45a43cdf2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawKeyboardListener/node1_base.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class RawKeyboardListenerDemo extends StatefulWidget { - const RawKeyboardListenerDemo({Key? key}) : super(key: key); - - @override - _RawKeyboardListenerDemoState createState() => _RawKeyboardListenerDemoState(); -} - -class _RawKeyboardListenerDemoState extends State { - String _info = ""; - - final FocusNode node = FocusNode(); - - @override - Widget build(BuildContext context) { - return RawKeyboardListener( - focusNode: node, - onKey: _onKey, - child: SizedBox( - width: 300, - child: Row( - children: [ - const Expanded( - child: TextField( - decoration: InputDecoration( - border: OutlineInputBorder() - ), - ), - ), - const SizedBox(width: 20,), - Text(_info) - ], - ), - ), - ); - } - - void _onKey(RawKeyEvent value) { - print(value); - if(value is RawKeyDownEvent){ - _info = "按下: ${value.logicalKey.debugName}\nid: 0x${value.logicalKey.keyId.toRadixString(16).padLeft(9,"0")}"; - } - if(value is RawKeyUpEvent){ - _info = "抬起: ${value.logicalKey.debugName}\nid: 0x${value.logicalKey.keyId.toRadixString(16).padLeft(9,"0")}"; - } - setState(() { - - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_de_DE.json deleted file mode 100644 index c3e73fef5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_de_DE.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 175, - "name": "RawMaterialButton", - "localName": "Rohmaterialknopf", - "info": "Der ursprüngliche Material-Knopf, der große Meister hinter den Kulissen der Knopfwelt, kann Klick-, Langdruck-, Hervorhebungsänderungsereignisse akzeptieren und Farbe, Form, Schattentiefe, Innenabstand usw. angeben.", - "lever": 5, - "family": 1, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RawMaterialButton", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【elevation】 : Schattentiefe 【double】", - "【fillColor】 : Füllfarbe 【Color】", - "【splashColor】 : Wasserwellenfarbe 【Color】", - "【textStyle】 : Textstil 【TextStyle】", - "【onLongPress】 : Langdruckereignis 【Function()】", - "【onPressed】 : Klickereignis 【Function()】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Hervorhebung und Form von RawMaterialButton", - "desc": [ - "【highlightElevation】 : Hervorhebungs-Schattentiefe 【double】", - "【shape】 : Form 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_en_US.json deleted file mode 100644 index fd8cfeae3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_en_US.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 175, - "name": "RawMaterialButton", - "localName": "Raw Button", - "info": "The original Material button, the behind-the-scenes boss of the button world, can accept click, long press, and highlight change events, and can specify color, shape, shadow depth, padding, and other properties.", - "lever": 5, - "family": 1, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RawMaterialButton", - "desc": [ - "【child】: Child component 【Widget】", - "【elevation】: Shadow depth 【double】", - "【fillColor】: Fill color 【Color】", - "【splashColor】: Ripple color 【Color】", - "【textStyle】: Text style 【TextStyle】", - "【onLongPress】: Long press event 【Function()】", - "【onPressed】: Click event 【Function()】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Highlight and Shape of RawMaterialButton", - "desc": [ - "【highlightElevation】: Highlight shadow depth 【double】", - "【shape】: Shape 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_es_ES.json deleted file mode 100644 index 738ddebc6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_es_ES.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 175, - "name": "RawMaterialButton", - "localName": "Botón Original", - "info": "El botón original de Material, el gran jefe detrás de los botones, puede aceptar eventos de clic, pulsación larga, cambios de resaltado, y puede especificar color, forma, profundidad de sombra, relleno interno y otros atributos.", - "lever": 5, - "family": 1, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RawMaterialButton", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【elevation】 : Profundidad de sombra 【double】", - "【fillColor】 : Color de relleno 【Color】", - "【splashColor】 : Color de efecto de ondas 【Color】", - "【textStyle】 : Estilo de texto 【TextStyle】", - "【onLongPress】 : Evento de pulsación larga 【Function()】", - "【onPressed】 : Evento de clic 【Function()】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Resaltado y forma de RawMaterialButton", - "desc": [ - "【highlightElevation】 : Profundidad de sombra resaltada 【double】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_fr_FR.json deleted file mode 100644 index ec2bbbca9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_fr_FR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 175, - "name": "RawMaterialButton", - "localName": "Bouton Brut", - "info": "Le bouton Material original, le grand maître derrière les boutons, peut accepter des événements de clic, de pression longue et de changement de surbrillance, et peut spécifier la couleur, la forme, l'ombre, la marge intérieure et d'autres attributs.", - "lever": 5, - "family": 1, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RawMaterialButton", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【elevation】 : Profondeur de l'ombre 【double】", - "【fillColor】 : Couleur de remplissage 【Color】", - "【splashColor】 : Couleur de l'effet de vague 【Color】", - "【textStyle】 : Style du texte 【TextStyle】", - "【onLongPress】 : Événement de pression longue 【Function()】", - "【onPressed】 : Événement de clic 【Function()】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Surbrillance et forme de RawMaterialButton", - "desc": [ - "【highlightElevation】 : Profondeur de l'ombre en surbrillance 【double】", - "【shape】 : Forme 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_it_IT.json deleted file mode 100644 index 5a618dcb0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_it_IT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 175, - "name": "RawMaterialButton", - "localName": "Pulsante Originale", - "info": "Il pulsante Material originale, il grande capo dietro le quinte dei pulsanti, può accettare eventi di clic, pressione prolungata, cambiamenti di evidenziazione, e può specificare colore, forma, profondità dell'ombra, spaziatura interna e altre proprietà.", - "lever": 5, - "family": 1, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di RawMaterialButton", - "desc": [ - "【child】 : Componente Figlio 【Widget】", - "【elevation】 : Profondità dell'Ombra 【double】", - "【fillColor】 : Colore di Riempimento 【Color】", - "【splashColor】 : Colore dell'Onda 【Color】", - "【textStyle】 : Stile del Testo 【TextStyle】", - "【onLongPress】 : Evento di Pressione Prolungata 【Function()】", - "【onPressed】 : Evento di Clic 【Function()】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Evidenziazione e Forma di RawMaterialButton", - "desc": [ - "【highlightElevation】 : Profondità dell'Ombra in Evidenza 【double】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_ja_JP.json deleted file mode 100644 index 3dae08ab8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_ja_JP.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 175, - "name": "RawMaterialButton", - "localName": "オリジナルボタン", - "info": "オリジナルのMaterialボタン、ボタン界の裏の大物、クリック、長押し、ハイライト変更イベントを受け入れ、色、形状、影の深さ、内側の余白などの属性を指定できます。", - "lever": 5, - "family": 1, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawMaterialButtonの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【elevation】 : 影の深さ 【double】", - "【fillColor】 : 塗りつぶし色 【Color】", - "【splashColor】 : 波紋色 【Color】", - "【textStyle】 : テキストスタイル 【TextStyle】", - "【onLongPress】 : 長押しイベント 【Function()】", - "【onPressed】 : クリックイベント 【Function()】" - ] - }, - { - "file": "node2_shape.dart", - "name": "RawMaterialButtonのハイライトと形状", - "desc": [ - "【highlightElevation】 : ハイライトの影の深さ 【double】", - "【shape】 : 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_ko_KR.json deleted file mode 100644 index 3836fa29d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_ko_KR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 175, - "name": "RawMaterialButton", - "localName": "원시 버튼", - "info": "원시 Material 버튼, 버튼계의 숨은 거물, 클릭, 길게 누르기, 강조 변화 이벤트를 받아들일 수 있으며, 색상, 모양, 그림자 깊이, 안쪽 여백 등의 속성을 지정할 수 있습니다.", - "lever": 5, - "family": 1, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawMaterialButton 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【elevation】 : 그림자 깊이 【double】", - "【fillColor】 : 채우기 색상 【Color】", - "【splashColor】 : 물결 색상 【Color】", - "【textStyle】 : 텍스트 스타일 【TextStyle】", - "【onLongPress】 : 길게 누르기 이벤트 【Function()】", - "【onPressed】 : 클릭 이벤트 【Function()】" - ] - }, - { - "file": "node2_shape.dart", - "name": "RawMaterialButton 강조 및 모양", - "desc": [ - "【highlightElevation】 : 강조 그림자 깊이 【double】", - "【shape】 : 모양 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_pt_PT.json deleted file mode 100644 index 1cf0df63a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_pt_PT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 175, - "name": "RawMaterialButton", - "localName": "Botão Original", - "info": "O botão Material original, o grande mestre nos bastidores dos botões, pode aceitar eventos de clique, pressão longa e mudanças de destaque, e pode especificar cor, forma, profundidade de sombra, preenchimento interno e outros atributos.", - "lever": 5, - "family": 1, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do RawMaterialButton", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【elevation】 : Profundidade de sombra 【double】", - "【fillColor】 : Cor de preenchimento 【Color】", - "【splashColor】 : Cor do efeito de ondulação 【Color】", - "【textStyle】 : Estilo de texto 【TextStyle】", - "【onLongPress】 : Evento de pressão longa 【Function()】", - "【onPressed】 : Evento de clique 【Function()】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Destaque e Forma do RawMaterialButton", - "desc": [ - "【highlightElevation】 : Profundidade de sombra em destaque 【double】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_ru_RU.json deleted file mode 100644 index 728b9baaa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_ru_RU.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 175, - "name": "RawMaterialButton", - "localName": "Исходная кнопка", - "info": "Исходная кнопка Material, скрытый лидер среди кнопок, поддерживает события нажатия, долгого нажатия, изменения выделения. Можно указать цвет, форму, тень, внутренние отступы и другие атрибуты.", - "lever": 5, - "family": 1, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RawMaterialButton", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【elevation】 : Глубина тени 【double】", - "【fillColor】 : Цвет заливки 【Color】", - "【splashColor】 : Цвол эффекта ряби 【Color】", - "【textStyle】 : Стиль текста 【TextStyle】", - "【onLongPress】 : Событие долгого нажатия 【Function()】", - "【onPressed】 : Событие нажатия 【Function()】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Выделение и форма RawMaterialButton", - "desc": [ - "【highlightElevation】 : Глубина тени при выделении 【double】", - "【shape】 : Форма 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_zh-CN.json deleted file mode 100644 index 756285b84..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/desc_zh-CN.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 175, - "name": "RawMaterialButton", - "localName": "原始按钮", - "info": "原始的Material按钮,按钮界的幕后大佬,可接受点击、长按、高亮变化事件,可指定颜色、形状。影深、内边距等属性。", - "lever": 5, - "family": 1, - "linkIds": [ - 23, - 25, - 26, - 27 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawMaterialButton基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【elevation】 : 影深 【double】", - "【fillColor】 : 填充色 【Color】", - "【splashColor】 : 水波纹色 【Color】", - "【textStyle】 : 文字样式 【TextStyle】", - "【onLongPress】 : 长按事件 【Function()】", - "【onPressed】 : 点击事件 【Function()】" - ] - }, - { - "file": "node2_shape.dart", - "name": "RawMaterialButton高亮和形状", - "desc": [ - "【highlightElevation】 : 高亮影深 【double】", - "【shape】 : 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/node1_base.dart deleted file mode 100644 index 18e720465..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/node1_base.dart +++ /dev/null @@ -1,46 +0,0 @@ -import 'package:flutter/material.dart'; - - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomRawMaterialButton extends StatelessWidget { - const CustomRawMaterialButton({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - children: [ - RawMaterialButton( - elevation: 2, - fillColor: Colors.green, - splashColor: Colors.orange, - textStyle: const TextStyle(color: Colors.white), - onLongPress: ()=>print('onLongPress'), - child: const Icon(Icons.remove), - onPressed: ()=>print('onPressed'), - ), - RawMaterialButton( - elevation: 2, - fillColor: Colors.blue, - splashColor: Colors.orange, - textStyle: const TextStyle(color: Colors.white), - onLongPress: ()=>print('onLongPress'), - child: const Text('Push'), - onPressed: ()=>print('onPressed'), - ), - RawMaterialButton( - elevation: 2, - fillColor: Colors.red, - splashColor: Colors.orange, - textStyle: const TextStyle(color: Colors.white), - onLongPress: ()=>print('onLongPress'), - child: const Icon(Icons.add), - onPressed: ()=>print('onPressed'), - ), - - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/node2_shape.dart b/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/node2_shape.dart deleted file mode 100644 index b38ded03d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RawMaterialButton/node2_shape.dart +++ /dev/null @@ -1,53 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class ShapeRawMaterialButton extends StatelessWidget { - const ShapeRawMaterialButton({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - children: [ - RawMaterialButton( - elevation: 2, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - fillColor: Colors.green, - splashColor: Colors.orange, - textStyle: const TextStyle(color: Colors.white), - onLongPress: () => print('onLongPress'), - child: const Icon(Icons.remove), - onPressed: () => print('onPressed'), - ), - RawMaterialButton( - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(15))), - elevation: 0, - highlightElevation: 0, - fillColor: Colors.blue, - splashColor: Colors.orange, - textStyle: const TextStyle(color: Colors.white), - onLongPress: () => print('onLongPress'), - child: const Text('Push'), - onPressed: () => print('onPressed'), - ), - RawMaterialButton( - elevation: 2, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - fillColor: Colors.red, - splashColor: Colors.orange, - textStyle: const TextStyle(color: Colors.white), - onLongPress: () => print('onLongPress'), - child: const Icon(Icons.add), - onPressed: () => print('onPressed'), - ), - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_de_DE.json deleted file mode 100644 index c415b0c64..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 49, - "name": "RefreshIndicator", - "localName": "Aktualisierungsanzeige", - "info": "Enthält einen verschachtelten, scrollbaren Bereich, der beim Herunterziehen ein Aktualisierungssymbol anzeigt und beim Loslassen eine spezifizierte asynchrone Methode ausführt. Eigenschaften wie Farbe und Abstand zur Oberseite können angegeben werden.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RefreshIndicator", - "desc": [ - "【child】 : Kind (scrollbar) 【Widget】", - "【displacement】 : Höhe des schwebenden Indikators 【double】", - "【color】 : Farbe des Indikators 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_en_US.json deleted file mode 100644 index 614a45716..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 49, - "name": "RefreshIndicator", - "localName": "Refresh Indicator", - "info": "Internally nested scrollable area, displaying a refresh icon when pulled down, and executing a specified asynchronous method upon release. Properties such as color and distance to the top can be specified.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RefreshIndicator", - "desc": [ - "【child】 : Child (scrollable) 【Widget】", - "【displacement】 : Indicator floating height 【double】", - "【color】 : Indicator color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_es_ES.json deleted file mode 100644 index 7c6b90900..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 49, - "name": "RefreshIndicator", - "localName": "Indicador de actualización", - "info": "Área deslizante anidada internamente, muestra un ícono de actualización al deslizar hacia abajo y ejecuta un método asíncrono especificado al soltar. Se pueden especificar propiedades como el color y la distancia desde la parte superior.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RefreshIndicator", - "desc": [ - "【child】 : Hijo (deslizable) 【Widget】", - "【displacement】 : Altura flotante del indicador 【double】", - "【color】 : Color del indicador 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_fr_FR.json deleted file mode 100644 index 0259f3b70..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 49, - "name": "RefreshIndicator", - "localName": "Indicateur de rafraîchissement", - "info": "Zone coulissante interne, l'icône de rafraîchissement s'affiche lors du glissement vers le bas, et une méthode asynchrone spécifiée peut être exécutée après le relâchement. Vous pouvez spécifier des propriétés telles que la couleur, la distance par rapport au sommet, etc.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RefreshIndicator", - "desc": [ - "【child】 : Enfant (coulissant) 【Widget】", - "【displacement】 : Hauteur de flottement de l'indicateur 【double】", - "【color】 : Couleur de l'indicateur 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_it_IT.json deleted file mode 100644 index 9107a0d5c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 49, - "name": "RefreshIndicator", - "localName": "Indicatore di Aggiornamento", - "info": "Area scorrevole interna nidificata, che mostra un'icona di aggiornamento quando si scorre verso il basso e può eseguire un metodo asincrono specificato dopo il rilascio. È possibile specificare attributi come il colore e la distanza dalla parte superiore.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di RefreshIndicator", - "desc": [ - "【child】 : Figlio (scorrevole) 【Widget】", - "【displacement】 : Altezza di sospensione dell'indicatore 【double】", - "【color】 : Colore dell'indicatore 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_ja_JP.json deleted file mode 100644 index 1f504c15c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 49, - "name": "RefreshIndicator", - "localName": "リフレッシュインジケーター", - "info": "内部にスライド可能な領域をネストし、下にスライドするとリフレッシュアイコンが表示され、手を離すと指定された非同期メソッドを実行できます。色やトップまでの距離などの属性を指定できます。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RefreshIndicatorの基本使用", - "desc": [ - "【child】 : 子(スライド可能) 【Widget】", - "【displacement】 : インジケーターの浮遊高さ 【double】", - "【color】 : インジケーターの色 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_ko_KR.json deleted file mode 100644 index eb369bccb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 49, - "name": "RefreshIndicator", - "localName": "새로고침 표시기", - "info": "내부에 스크롤 가능한 영역을 포함하고 있으며, 아래로 스크롤할 때 새로고침 아이콘이 표시되고, 손을 떼면 지정된 비동기 메서드를 실행할 수 있습니다. 색상, 상단까지의 거리 등의 속성을 지정할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RefreshIndicator 기본 사용법", - "desc": [ - "【child】 : 자식(스크롤 가능) 【Widget】", - "【displacement】 : 표시기 부유 높이 【double】", - "【color】 : 표시기 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_pt_PT.json deleted file mode 100644 index 4853223d1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 49, - "name": "RefreshIndicator", - "localName": "Indicador de Atualização", - "info": "Área deslizante aninhada internamente, que exibe um ícone de atualização ao deslizar para baixo e executa um método assíncrono especificado ao soltar. Pode especificar atributos como cor, distância até o topo, etc.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do RefreshIndicator", - "desc": [ - "【child】 : Filho (deslizante) 【Widget】", - "【displacement】 : Altura de suspensão do indicador 【double】", - "【color】 : Cor do indicador 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_ru_RU.json deleted file mode 100644 index c6c4707ba..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 49, - "name": "RefreshIndicator", - "localName": "Индикатор обновления", - "info": "Внутренняя вложенная область с возможностью прокрутки, при прокрутке вниз отображается значок обновления, после отпускания можно выполнить указанный асинхронный метод. Можно указать такие свойства, как цвет, расстояние до верхнего края и т.д.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RefreshIndicator", - "desc": [ - "【child】 : Дочерний элемент (с возможностью прокрутки) 【Widget】", - "【displacement】 : Высота индикатора 【double】", - "【color】 : Цвет индикатора 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_zh-CN.json deleted file mode 100644 index f9b529a5e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 49, - "name": "RefreshIndicator", - "localName": "刷新指示器", - "info": "内部嵌套可滑动区域,下滑时会显示刷新图标,松手后可以执行指定的异步方法。可指定颜色、到顶端距离等属性。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RefreshIndicator基本使用", - "desc": [ - "【child】 : 孩子(可滑动) 【Widget】", - "【displacement】 : 指示器悬浮高度 【double】", - "【color】 : 指示器颜色 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/node1_base.dart deleted file mode 100644 index 3b0b1745d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RefreshIndicator/node1_base.dart +++ /dev/null @@ -1,44 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomRefreshIndicator extends StatefulWidget { - const CustomRefreshIndicator({Key? key}) : super(key: key); - - @override - _CustomRefreshIndicatorState createState() => _CustomRefreshIndicatorState(); -} - -class _CustomRefreshIndicatorState extends State { - int _count = 0; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - width: 200, - child: RefreshIndicator( - onRefresh: _increment, - displacement: 20, - color: Colors.orange, - backgroundColor: Colors.white, - child: SingleChildScrollView( - child: Container( - alignment: Alignment.center, - width: 200, - height: 300, - color: Colors.blue, - child: Text('$_count',style: const TextStyle(color: Colors.white,fontSize: 40)), - ), - ), - ), - ); - } - - Future _increment() async { - await Future.delayed(const Duration(seconds: 2)); - setState(() { - _count++; - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_de_DE.json deleted file mode 100644 index dca63683c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 115, - "name": "RelativePositionedTransition", - "localName": "Rechteckpositionsübergang", - "info": "Eine Unterklasse von AnimatedWidget, die einen Animator vom Typ Rect verwendet, um Übergangsanimationen zwischen zwei Rect-Objekten für die Kindkomponente zu ermöglichen.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RelativePositionedTransition", - "desc": [ - "【child】 : Kindkomponente 【Widget】", - "【size】 : Versatz von links und oben 【Size】", - "【rect】 : Animation 【Animation】", - " Die PositionedTransition-Komponente funktioniert nur innerhalb eines Stacks" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_en_US.json deleted file mode 100644 index abb6f78ef..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 115, - "name": "RelativePositionedTransition", - "localName": "Rectangle Position Transition", - "info": "A subclass of AnimatedWidget, using a Rect type animator to allow child components to transition between two Rect objects.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RelativePositionedTransition", - "desc": [ - "【child】: Child component 【Widget】", - "【size】: Left and top offset 【Size】", - "【rect】: Animation 【Animation】", - " PositionedTransition component only works within a Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_es_ES.json deleted file mode 100644 index a9cee0881..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 115, - "name": "RelativePositionedTransition", - "localName": "Transición de posición rectangular", - "info": "Subclase de AnimatedWidget, utiliza un animador de tipo Rect para realizar una animación de transición entre dos objetos Rect en los componentes hijos.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RelativePositionedTransition", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【size】 : Desplazamiento izquierdo y superior 【Size】", - "【rect】 : Animación 【Animation】", - " El componente PositionedTransition solo funciona dentro de un Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_fr_FR.json deleted file mode 100644 index f9cadaae5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 115, - "name": "RelativePositionedTransition", - "localName": "Transition de position rectangulaire", - "info": "Sous-classe de AnimatedWidget, utilise un animateur de type Rect pour permettre à un composant enfant de faire une transition animée entre deux objets Rect.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RelativePositionedTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【size】 : Décalage gauche et haut 【Size】", - "【rect】 : Animation 【Animation】", - " Le composant PositionedTransition ne fonctionne que dans une Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_it_IT.json deleted file mode 100644 index 930bfdc68..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 115, - "name": "RelativePositionedTransition", - "localName": "Transizione Posizione Rettangolo", - "info": "Sottoclasse di AnimatedWidget, utilizza un animatore di tipo Rect per far eseguire un'animazione di transizione tra due oggetti Rect ai componenti figli.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di RelativePositionedTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【size】 : Offset sinistro e superiore 【Size】", - "【rect】 : Animazione 【Animation】", - " Il componente PositionedTransition funziona solo all'interno di uno Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_ja_JP.json deleted file mode 100644 index 87051af50..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 115, - "name": "RelativePositionedTransition", - "localName": "矩形位置変換", - "info": "AnimatedWidgetのサブクラスで、Rectタイプのアニメーターを使用して子コンポーネントを2つのRectオブジェクト間でトランジションアニメーションさせます。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RelativePositionedTransitionの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【size】 : 左と上のオフセット 【Size】", - "【rect】 : アニメーション 【Animation】", - " PositionedTransitionコンポーネントはStack内でのみ機能します" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_ko_KR.json deleted file mode 100644 index 94672c446..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 115, - "name": "RelativePositionedTransition", - "localName": "사각형 위치 변환", - "info": "AnimatedWidget의 하위 클래스, Rect 타입의 애니메이터를 사용하여 자식 위젯이 두 Rect 객체 간에 전환 애니메이션을 수행하도록 합니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RelativePositionedTransition 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【size】 : 왼쪽과 위쪽의 오프셋 【Size】", - "【rect】 : 애니메이션 【Animation】", - " PositionedTransition 위젯은 Stack 내에서만 작동합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_pt_PT.json deleted file mode 100644 index da3db99f3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 115, - "name": "RelativePositionedTransition", - "localName": "Transição de Posição Retangular", - "info": "Subclasse de AnimatedWidget, usa um animador do tipo Rect para permitir que os componentes filhos façam uma animação de transição entre dois objetos Rect.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de RelativePositionedTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【size】 : Deslocamento esquerdo e superior 【Size】", - "【rect】 : Animação 【Animation】", - " O componente PositionedTransition só funciona dentro de uma Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_ru_RU.json deleted file mode 100644 index ead4f390a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 115, - "name": "RelativePositionedTransition", - "localName": "Прямоугольное позиционное преобразование", - "info": "Подкласс AnimatedWidget, использующий аниматор типа Rect для создания переходной анимации между двумя объектами Rect для дочернего компонента.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RelativePositionedTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【size】 : Смещение по левому и верхнему краю 【Size】", - "【rect】 : Анимация 【Animation】", - " Компонент PositionedTransition может работать только внутри Stack" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_zh-CN.json deleted file mode 100644 index b8b19f596..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 115, - "name": "RelativePositionedTransition", - "localName": "矩形位置变换", - "info": "AnimatedWidget的子类,使用Rect类型的动画器让子组件在两个Rect对象之间进行过渡动画。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RelativePositionedTransition基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【size】 : 左和上的偏移量 【Size】", - "【rect】 : 动画 【Animation】", - " PositionedTransition组件只能在Stack内起作用" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/node1_base.dart deleted file mode 100644 index 2fc8df004..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RelativePositionedTransition/node1_base.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomRelativePositionedTransition extends StatefulWidget { - const CustomRelativePositionedTransition({Key? key}) : super(key: key); - - @override - _CustomRelativePositionedTransitionState createState() => - _CustomRelativePositionedTransitionState(); -} - -class _CustomRelativePositionedTransitionState - extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - late Animation rectAnimation; - - @override - void initState() { - _ctrl = AnimationController( - vsync: this, - duration: const Duration(seconds: 2), - ); - rectAnimation = RectTween( - begin: const Rect.fromLTRB(0, 0, 50, 50), - end: const Rect.fromLTRB(0, 0, 50, 50).translate(100, 50), - ).animate(_ctrl); - _ctrl.forward(); - super.initState(); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => _ctrl.forward(from: 0), - child: Container( - color: Colors.grey.withAlpha(33), - width: 200, - height: 100, - child: Stack( - children: [ - RelativePositionedTransition( - size: const Size(200, 100), - rect: rectAnimation as Animation, - child: const Icon( - Icons.android, - color: Colors.green, - size: 50, - ), - ) - ], - ), - )); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_de_DE.json deleted file mode 100644 index 50fda898a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 177, - "name": "ReorderableListView", - "localName": "Sortierbare Liste", - "info": "Eine ListView, die durch langes Drücken sortiert werden kann. Es können Eigenschaften wie die Scrollrichtung, ob umgekehrt, Scroll-Controller usw. angegeben werden.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ReorderableListView", - "desc": [ - "【children】 : Liste der Unterkomponenten 【List】", - "【header】 : Kopfkomponente 【Widget】", - "【padding】 : Innenabstand 【EdgeInsets】", - "【onReorder】 : Rückruf beim Austauschen 【ReorderCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Scrollrichtung von ReorderableListView", - "desc": [ - "【scrollDirection】 : Scrollrichtung 【Axis】", - "【reverse】 : Ob umgekehrt 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_en_US.json deleted file mode 100644 index a1b043f95..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 177, - "name": "ReorderableListView", - "localName": "Reorderable List", - "info": "A ListView that can be reordered by long-pressing, with properties such as scroll direction, reverse, and scroll controller.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ReorderableListView", - "desc": [ - "【children】 : List of child components 【List】", - "【header】 : Header component 【Widget】", - "【padding】 : Padding 【EdgeInsets】", - "【onReorder】 : Callback when reordering 【ReorderCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Scroll Direction of ReorderableListView", - "desc": [ - "【scrollDirection】 : Scroll direction 【Axis】", - "【reverse】 : Whether to reverse 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_es_ES.json deleted file mode 100644 index 6a3fb8142..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 177, - "name": "ReorderableListView", - "localName": "Lista reordenable", - "info": "ListView que permite reordenar mediante pulsación larga, se pueden especificar propiedades como la dirección de deslizamiento, si es inversa, el controlador de deslizamiento, etc.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ReorderableListView", - "desc": [ - "【children】 : Lista de componentes hijos 【List】", - "【header】 : Componente de cabecera 【Widget】", - "【padding】 : Relleno interno 【EdgeInsets】", - "【onReorder】 : Callback al reordenar 【ReorderCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Dirección de deslizamiento de ReorderableListView", - "desc": [ - "【scrollDirection】 : Dirección de deslizamiento 【Axis】", - "【reverse】 : Si es inverso 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_fr_FR.json deleted file mode 100644 index 0f1b257b0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 177, - "name": "ReorderableListView", - "localName": "Liste réorganisable", - "info": "ListView qui permet de réorganiser les éléments par un appui long. Peut spécifier la direction de défilement, l'inversion, le contrôleur de défilement, etc.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ReorderableListView", - "desc": [ - "【children】 : Liste des composants enfants 【List】", - "【header】 : Composant d'en-tête 【Widget】", - "【padding】 : Marge intérieure 【EdgeInsets】", - "【onReorder】 : Rappel lors de la réorganisation 【ReorderCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direction de défilement de ReorderableListView", - "desc": [ - "【scrollDirection】 : Direction de défilement 【Axis】", - "【reverse】 : Inversion 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_it_IT.json deleted file mode 100644 index 49a293d63..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 177, - "name": "ReorderableListView", - "localName": "Lista riordinabile", - "info": "Una ListView che può essere riordinata con un lungo tocco, con la possibilità di specificare la direzione di scorrimento, se invertire, il controller di scorrimento e altre proprietà.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ReorderableListView", - "desc": [ - "【children】 : Lista dei componenti figli 【List】", - "【header】 : Componente di intestazione 【Widget】", - "【padding】 : Spaziatura interna 【EdgeInsets】", - "【onReorder】 : Callback per lo scambio 【ReorderCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direzione di scorrimento di ReorderableListView", - "desc": [ - "【scrollDirection】 : Direzione di scorrimento 【Axis】", - "【reverse】 : Se invertire 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_ja_JP.json deleted file mode 100644 index bc86df7ef..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 177, - "name": "ReorderableListView", - "localName": "並べ替え可能なリスト", - "info": "長押しで並べ替え可能なListViewで、スワイプ方向、逆方向かどうか、スワイプコントローラーなどの属性を指定できます。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ReorderableListViewの基本使用", - "desc": [ - "【children】 : 子コンポーネントリスト 【List】", - "【header】 : ヘッダーコンポーネント 【Widget】", - "【padding】 : 内側の余白 【EdgeInsets】", - "【onReorder】 : 並べ替え時のコールバック 【ReorderCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "ReorderableListViewのスワイプ方向", - "desc": [ - "【scrollDirection】 : スワイプ方向 【Axis】", - "【reverse】 : 逆方向かどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_ko_KR.json deleted file mode 100644 index 526d329be..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 177, - "name": "ReorderableListView", - "localName": "재정렬 가능한 리스트", - "info": "길게 눌러 정렬할 수 있는 ListView, 스크롤 방향, 반대 방향 여부, 스크롤 컨트롤러 등의 속성을 지정할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ReorderableListView 기본 사용법", - "desc": [ - "【children】 : 자식 위젯 리스트 【List】", - "【header】 : 헤더 위젯 【Widget】", - "【padding】 : 내부 여백 【EdgeInsets】", - "【onReorder】 : 재정렬 시 콜백 【ReorderCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "ReorderableListView 스크롤 방향", - "desc": [ - "【scrollDirection】 : 스크롤 방향 【Axis】", - "【reverse】 : 반대 방향 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_pt_PT.json deleted file mode 100644 index 098c74865..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 177, - "name": "ReorderableListView", - "localName": "Lista Reordenável", - "info": "Uma ListView que permite reordenar com um toque longo, podendo especificar a direção de deslize, se é reverso, controlador de deslize, entre outros atributos.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ReorderableListView", - "desc": [ - "【children】 : Lista de componentes filhos 【List】", - "【header】 : Componente de cabeçalho 【Widget】", - "【padding】 : Preenchimento interno 【EdgeInsets】", - "【onReorder】 : Callback ao reordenar 【ReorderCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direção de Deslize do ReorderableListView", - "desc": [ - "【scrollDirection】 : Direção de deslize 【Axis】", - "【reverse】 : Se é reverso 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_ru_RU.json deleted file mode 100644 index 09d81f1cf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 177, - "name": "ReorderableListView", - "localName": "Переупорядочиваемый список", - "info": "ListView, который можно упорядочивать с помощью длительного нажатия, можно указать направление прокрутки, обратное направление, контроллер прокрутки и другие свойства.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ReorderableListView", - "desc": [ - "【children】 : Список дочерних компонентов 【List】", - "【header】 : Верхний компонент 【Widget】", - "【padding】 : Внутренний отступ 【EdgeInsets】", - "【onReorder】 : Обратный вызов при переупорядочивании 【ReorderCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Направление прокрутки ReorderableListView", - "desc": [ - "【scrollDirection】 : Направление прокрутки 【Axis】", - "【reverse】 : Обратное направление 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_zh-CN.json deleted file mode 100644 index b67b345a5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 177, - "name": "ReorderableListView", - "localName": "可重排序列表", - "info": "可以进行长按排序的ListView,可指定滑动方向、是否反向、滑动控制器等属性。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ReorderableListView基本使用", - "desc": [ - "【children】 : 子组件列表 【List】", - "【header】 : 头部组件 【Widget】", - "【padding】 : 内边距 【EdgeInsets】", - "【onReorder】 : 调换时回调 【ReorderCallback】" - ] - }, - { - "file": "node2_direction.dart", - "name": "ReorderableListView滑动方向", - "desc": [ - "【scrollDirection】 : 滑动方向 【Axis】", - "【reverse】 : 是否反向 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/node1_base.dart deleted file mode 100644 index 153fe66ea..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/node1_base.dart +++ /dev/null @@ -1,74 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class CustomReorderableListView extends StatefulWidget { - const CustomReorderableListView({Key? key}) : super(key: key); - - @override - _CustomReorderableListViewState createState() => _CustomReorderableListViewState(); -} - -class _CustomReorderableListViewState extends State { - -final List data = [ - Colors.yellow[50]!, - Colors.yellow[100]!, - Colors.yellow[200]!, - Colors.yellow[300]!, - Colors.yellow[400]!, - Colors.yellow[500]!, - Colors.yellow[600]!, - Colors.yellow[700]!, - Colors.yellow[800]!, - Colors.yellow[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 250, - child: ReorderableListView( - padding: const EdgeInsets.all(10), - header: Container( - color: Colors.blue, - alignment: Alignment.center, - height: 50, - child: const Text('长按拖拽进行换位',style: TextStyle(color: Colors.white),)), - onReorder: _handleReorder, - children: data.map((color) => _buildItem(color)).toList(), - ), - ); - } - - void _handleReorder(int oldIndex, int newIndex) { - if (oldIndex < newIndex) { - newIndex -= 1; - } - - setState(() { - final element = data.removeAt(oldIndex); - data.insert(newIndex, element); - }); - - } - - Widget _buildItem(Color color) { - return Container( - key: ValueKey(color) , - alignment: Alignment.center, - height: 50, - color: color, - child: Text( - colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ]), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/node2_direction.dart b/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/node2_direction.dart deleted file mode 100644 index 906ba9bbd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ReorderableListView/node2_direction.dart +++ /dev/null @@ -1,74 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-30 -/// contact me by email 1981462002@qq.com - -class DirectionReorderableListView extends StatefulWidget { - const DirectionReorderableListView({Key? key}) : super(key: key); - - @override - _DirectionReorderableListViewState createState() => - _DirectionReorderableListViewState(); -} - -class _DirectionReorderableListViewState extends State { - final List data = [ - Colors.yellow[50]!, - Colors.yellow[100]!, - Colors.yellow[200]!, - Colors.yellow[300]!, - Colors.yellow[400]!, - Colors.yellow[500]!, - Colors.yellow[600]!, - Colors.yellow[700]!, - Colors.yellow[800]!, - Colors.yellow[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: ReorderableListView( - scrollDirection: Axis.horizontal, - reverse: false, - onReorder: _handleReorder, - children: data.map((color) => _buildItem(color)).toList(), - ), - ); - } - - void _handleReorder(int oldIndex, int newIndex) { - if (oldIndex < newIndex) { - newIndex -= 1; - } - - setState(() { - final element = data.removeAt(oldIndex); - data.insert(newIndex, element); - }); - - } - - Widget _buildItem(Color color) { - return Container( - key: ValueKey(color) , - alignment: Alignment.center, - width: 80, - color: color, - child: Text( - colorString(color), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ]), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_de_DE.json deleted file mode 100644 index 5d4f0f0c0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 90, - "name": "RotationTransition", - "localName": "Drehübergang", - "info": "Kann ein Kind-Widget aufnehmen und es mit einer Drehanimation versehen, erfordert einen Animator turns und verfügt über die Eigenschaft alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von RotationTransition", - "desc": [ - "【child】 : Kind-Widget 【Widget】", - "【turns】 : Ob verschwinden 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_en_US.json deleted file mode 100644 index 42eaf2aa6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 90, - "name": "RotationTransition", - "localName": "Rotation Transition", - "info": "Can accommodate a child component and make it perform a rotation animation. Requires an animator turns and has an alignment property.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of RotationTransition", - "desc": [ - "【child】 : Child component 【Widget】", - "【turns】 : Whether to disappear 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_es_ES.json deleted file mode 100644 index 2e2b439c9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 90, - "name": "RotationTransition", - "localName": "Transición de Rotación", - "info": "Puede contener un componente hijo y hacer que realice una animación de rotación. Requiere un animador turns y tiene la propiedad alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RotationTransition", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【turns】 : ¿Desaparece? 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_fr_FR.json deleted file mode 100644 index 83817b99e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 90, - "name": "RotationTransition", - "localName": "Transition de rotation", - "info": "Peut contenir un composant enfant et lui faire effectuer une animation de rotation, nécessite un animateur turns, possède une propriété alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de RotationTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【turns】 : Disparaît ou non 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_it_IT.json deleted file mode 100644 index 4eb81129c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 90, - "name": "RotationTransition", - "localName": "Transizione di rotazione", - "info": "Può contenere un componente figlio e farlo ruotare con un'animazione, richiede un animatore turns, possiede l'attributo alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di RotationTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【turns】 : Scompare 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_ja_JP.json deleted file mode 100644 index 6c2f878f0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 90, - "name": "RotationTransition", - "localName": "回転変換", - "info": "子コンポーネントを収容し、回転アニメーションを行わせることができます。アニメーターturnsを提供する必要があり、alignment属性を持っています。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RotationTransitionの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【turns】 : 消えるかどうか 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_ko_KR.json deleted file mode 100644 index fcacc7f8d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 90, - "name": "RotationTransition", - "localName": "회전 변환", - "info": "하나의 자식 위젯을 포함하고 회전 애니메이션을 적용할 수 있습니다. 애니메이터 turns를 제공해야 하며, alignment 속성을 가지고 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RotationTransition 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【turns】 : 사라짐 여부 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_pt_PT.json deleted file mode 100644 index a19b0f636..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 90, - "name": "RotationTransition", - "localName": "Transição de Rotação", - "info": "Pode conter um componente filho e fazê-lo realizar uma animação de rotação, requer um animador turns e possui a propriedade alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do RotationTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【turns】 : Desaparece ou não 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_ru_RU.json deleted file mode 100644 index 7fcc81619..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 90, - "name": "RotationTransition", - "localName": "Вращательный переход", - "info": "Может содержать один дочерний компонент и анимировать его вращение. Требуется предоставить аниматор turns, имеет свойство alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование RotationTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【turns】 : Исчезнет ли 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_zh-CN.json deleted file mode 100644 index 77a2fb32b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 90, - "name": "RotationTransition", - "localName": "旋转变换", - "info": "可容纳一个子组件,并使其进行旋转动画,需要提供动画器turns,拥有alignment属性。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RotationTransition基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【turns】 : 是否消失 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/node1_base.dart deleted file mode 100644 index 761491f04..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/RotationTransition/node1_base.dart +++ /dev/null @@ -1,55 +0,0 @@ - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomRotationTransition extends StatefulWidget { - const CustomRotationTransition({Key? key}) : super(key: key); - - @override - _CustomRotationTransitionState createState() => _CustomRotationTransitionState(); -} - -class _CustomRotationTransitionState extends State with SingleTickerProviderStateMixin{ - - late AnimationController _ctrl; - - @override - void initState() { - super.initState(); - _ctrl = AnimationController( - vsync: this, - duration: const Duration(seconds: 2), - ); - _ctrl.forward(); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => _ctrl.forward(from: 0), - child: Container( - color: Colors.grey.withAlpha(22), - width: 100, - height: 100, - child: RotationTransition( - turns: CurvedAnimation( - parent: _ctrl, - curve: Curves.linear, - ), - child: const Icon( - Icons.camera_outlined, - color: Colors.green, - size: 60, - ), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_de_DE.json deleted file mode 100644 index 96eec136f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 64, - "name": "Scaffold", - "localName": "Gerüst", - "info": "Eine allgemeine App-Struktur, die obere, untere, linke, rechte, mittlere und schwebende Button-Bereiche umfasst, in denen Komponenten platziert werden können.", - "lever": 4, - "family": 1, - "linkIds": [ - 57, - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Scaffold", - "desc": [ - "【appBar】 : Kopfkomponente 【PreferredSizeWidget】", - "【bottomNavigationBar】 : Fußkomponente 【Widget】", - "【drawer】 : Linke Schiebekomponente 【Widget】", - "【endDrawer】 : Rechte Schiebekomponente 【Widget】", - "【body】 : Inhaltkomponente 【Widget】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【floatingActionButton】 : Schwebender Button 【Widget】", - "【floatingActionButtonLocation】 : Position des schwebenden Buttons 【FloatingActionButtonLocation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_en_US.json deleted file mode 100644 index 2964c3817..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 64, - "name": "Scaffold", - "localName": "Scaffold", - "info": "A general app structure, including top, bottom, left, right, middle, and floating button parts, where components can be placed in corresponding positions.", - "lever": 4, - "family": 1, - "linkIds": [ - 57, - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Scaffold", - "desc": [ - "【appBar】: Header component 【PreferredSizeWidget】", - "【bottomNavigationBar】: Bottom component 【Widget】", - "【drawer】: Left sliding component 【Widget】", - "【endDrawer】: Right sliding component 【Widget】", - "【body】: Content component 【Widget】", - "【backgroundColor】: Background color 【Color】", - "【floatingActionButton】: Floating button 【Widget】", - "【floatingActionButtonLocation】: Floating button position 【FloatingActionButtonLocation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_es_ES.json deleted file mode 100644 index 3fbddd852..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 64, - "name": "Scaffold", - "localName": "Andamio", - "info": "Una estructura de aplicación genérica que incluye partes superior, inferior, izquierda, derecha, central y botón flotante, donde se pueden colocar componentes en las posiciones correspondientes.", - "lever": 4, - "family": 1, - "linkIds": [ - 57, - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Scaffold", - "desc": [ - "【appBar】 : Componente de la cabecera 【PreferredSizeWidget】", - "【bottomNavigationBar】 : Componente inferior 【Widget】", - "【drawer】 : Componente deslizante izquierdo 【Widget】", - "【endDrawer】 : Componente deslizante derecho 【Widget】", - "【body】 : Componente de contenido 【Widget】", - "【backgroundColor】 : Color de fondo 【Color】", - "【floatingActionButton】 : Botón flotante 【Widget】", - "【floatingActionButtonLocation】 : Ubicación del botón flotante 【FloatingActionButtonLocation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_fr_FR.json deleted file mode 100644 index 156168ecf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 64, - "name": "Scaffold", - "localName": "Échafaudage", - "info": "Une structure d'application générique comprenant des parties supérieure, inférieure, gauche, droite, centrale et un bouton flottant, où des composants peuvent être placés aux positions correspondantes.", - "lever": 4, - "family": 1, - "linkIds": [ - 57, - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Scaffold", - "desc": [ - "【appBar】 : Composant de tête 【PreferredSizeWidget】", - "【bottomNavigationBar】 : Composant de bas 【Widget】", - "【drawer】 : Composant de glissement gauche 【Widget】", - "【endDrawer】 : Composant de glissement droit 【Widget】", - "【body】 : Composant de contenu 【Widget】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【floatingActionButton】 : Bouton flottant 【Widget】", - "【floatingActionButtonLocation】 : Position du bouton flottant 【FloatingActionButtonLocation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_it_IT.json deleted file mode 100644 index 3d6852f77..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 64, - "name": "Scaffold", - "localName": "Impalcatura", - "info": "Una struttura generica per app, che include parti superiore, inferiore, sinistra, destra, centrale e un pulsante fluttuante, dove è possibile posizionare componenti nelle posizioni corrispondenti.", - "lever": 4, - "family": 1, - "linkIds": [ - 57, - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di Scaffold", - "desc": [ - "【appBar】 : Componente superiore 【PreferredSizeWidget】", - "【bottomNavigationBar】 : Componente inferiore 【Widget】", - "【drawer】 : Componente scorrevole a sinistra 【Widget】", - "【endDrawer】 : Componente scorrevole a destra 【Widget】", - "【body】 : Componente principale 【Widget】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【floatingActionButton】 : Pulsante fluttuante 【Widget】", - "【floatingActionButtonLocation】 : Posizione del pulsante fluttuante 【FloatingActionButtonLocation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_ja_JP.json deleted file mode 100644 index 966ee658b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 64, - "name": "Scaffold", - "localName": "足場", - "info": "一般的なアプリの構造で、上部、下部、左側、右側、中央、フローティングボタンの部分を含み、対応する位置にコンポーネントを配置できます。", - "lever": 4, - "family": 1, - "linkIds": [ - 57, - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scaffoldの基本的な使い方", - "desc": [ - "【appBar】 : ヘッダーコンポーネント 【PreferredSizeWidget】", - "【bottomNavigationBar】 : フッターコンポーネント 【Widget】", - "【drawer】 : 左スライドコンポーネント 【Widget】", - "【endDrawer】 : 右スライドコンポーネント 【Widget】", - "【body】 : コンテンツコンポーネント 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【floatingActionButton】 : フローティングボタン 【Widget】", - "【floatingActionButtonLocation】 : フローティングボタンの位置 【FloatingActionButtonLocation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_ko_KR.json deleted file mode 100644 index a5ac3c4c6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 64, - "name": "Scaffold", - "localName": "스캐폴드", - "info": "일반적인 앱 구조로, 상단, 하단, 좌측, 우측, 중앙, 플로팅 버튼 부분을 포함하며, 해당 위치에 컴포넌트를 배치할 수 있습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 57, - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scaffold 기본 사용법", - "desc": [ - "【appBar】 : 헤더 컴포넌트 【PreferredSizeWidget】", - "【bottomNavigationBar】 : 하단 컴포넌트 【Widget】", - "【drawer】 : 좌측 슬라이드 컴포넌트 【Widget】", - "【endDrawer】 : 우측 슬라이드 컴포넌트 【Widget】", - "【body】 : 내용 컴포넌트 【Widget】", - "【backgroundColor】 : 배경색 【Color】", - "【floatingActionButton】 : 플로팅 버튼 【Widget】", - "【floatingActionButtonLocation】 : 플로팅 버튼 위치 【FloatingActionButtonLocation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_pt_PT.json deleted file mode 100644 index 9dd00eea9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 64, - "name": "Scaffold", - "localName": "Andaime", - "info": "Uma estrutura de aplicativo genérica, incluindo partes superior, inferior, esquerda, direita, central e botão flutuante, onde os componentes podem ser colocados nas posições correspondentes.", - "lever": 4, - "family": 1, - "linkIds": [ - 57, - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Scaffold", - "desc": [ - "【appBar】 : Componente do cabeçalho 【PreferredSizeWidget】", - "【bottomNavigationBar】 : Componente inferior 【Widget】", - "【drawer】 : Componente deslizante esquerdo 【Widget】", - "【endDrawer】 : Componente deslizante direito 【Widget】", - "【body】 : Componente de conteúdo 【Widget】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【floatingActionButton】 : Botão flutuante 【Widget】", - "【floatingActionButtonLocation】 : Localização do botão flutuante 【FloatingActionButtonLocation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_ru_RU.json deleted file mode 100644 index 8d59eb995..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 64, - "name": "Scaffold", - "localName": "Леса", - "info": "Универсальная структура приложения, включающая верхнюю, нижнюю, левую, правую, центральную части и плавающую кнопку, в соответствующих местах могут размещаться компоненты.", - "lever": 4, - "family": 1, - "linkIds": [ - 57, - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Scaffold", - "desc": [ - "【appBar】 : Верхний компонент 【PreferredSizeWidget】", - "【bottomNavigationBar】 : Нижний компонент 【Widget】", - "【drawer】 : Левый выдвижной компонент 【Widget】", - "【endDrawer】 : Правый выдвижной компонент 【Widget】", - "【body】 : Основной компонент 【Widget】", - "【backgroundColor】 : Цвет фона 【Color】", - "【floatingActionButton】 : Плавающая кнопка 【Widget】", - "【floatingActionButtonLocation】 : Расположение плавающей кнопки 【FloatingActionButtonLocation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_zh-CN.json deleted file mode 100644 index 72cb719e4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 64, - "name": "Scaffold", - "localName": "脚手架", - "info": "一个通用app结构,包括上、下、左、右、中、浮动按钮部位,对应位置可盛放组件。", - "lever": 4, - "family": 1, - "linkIds": [ - 57, - 60, - 61 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scaffold基本用法", - "desc": [ - "【appBar】 : 头部组件 【PreferredSizeWidget】", - "【bottomNavigationBar】 : 底部组件 【Widget】", - "【drawer】 : 左侧滑组件 【Widget】", - "【endDrawer】 : 右侧滑组件 【Widget】", - "【body】 : 内容组件 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【floatingActionButton】 : 浮动按钮 【Widget】", - "【floatingActionButtonLocation】 : 浮动按钮位置 【FloatingActionButtonLocation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/node1_base.dart deleted file mode 100644 index 5c18db228..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scaffold/node1_base.dart +++ /dev/null @@ -1,113 +0,0 @@ -import 'package:flutter/material.dart'; -import '../PopupMenuButton/node1_base.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomScaffold extends StatefulWidget { - const CustomScaffold({Key? key}) : super(key: key); - - @override - State createState() => _CustomScaffoldState(); -} - -// AppBar 默认的实例,有状态 -class _CustomScaffoldState extends State with SingleTickerProviderStateMixin { - final List tabs = const ['风画庭', '雨韵舍', '雷鸣殿', '电疾堂', '霜寒阁', '雪月楼']; - int _position = 0; - final Map iconsMap = { - "图鉴": Icons.home, - "动态": Icons.toys, - "喜欢": Icons.favorite, - "手册": Icons.class_, - "我的": Icons.account_circle, - }; - final List _colors = [ - Colors.blue, - Colors.red, - Colors.yellow, - Colors.green, - Colors.purple, - ]; - - late TabController _tabController; - - @override - void initState() { - super.initState(); - _tabController = TabController(vsync: this, length: tabs.length); - } - - @override - void dispose() { - _tabController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height - 300, - child: Scaffold( - floatingActionButtonLocation: FloatingActionButtonLocation.endFloat, - floatingActionButton: FloatingActionButton( - child: const Icon(Icons.add), - onPressed: () {}, - ), - drawer: _buildLeftDrawer(), - endDrawer: _buildLeftDrawer(), - appBar: AppBar( - title: const Text('风雅六社'), - backgroundColor: Colors.blue, - centerTitle: true, - actions: const [Icon(Icons.star), CustomPopupMenuButton()], - bottom: _buildTabBar(), - ), - body: _buildTableBarView(), - bottomNavigationBar: _buildBottomNavigationBar(), - ), - ); - } - - Drawer _buildLeftDrawer() => Drawer( - elevation: 1, - child: Image.asset( - 'assets/images/sabar.webp', - fit: BoxFit.cover, - ), - ); - - PreferredSizeWidget _buildTabBar() => TabBar( - isScrollable: true, - controller: _tabController, - indicatorColor: Colors.orangeAccent, - tabs: tabs.map((e) => Tab(text: e)).toList(), - ); - - Widget _buildBottomNavigationBar() => BottomNavigationBar( - onTap: (position) => setState(() => _position = position), - currentIndex: _position, - elevation: 1, - backgroundColor: Colors.white, - iconSize: 25, - selectedLabelStyle: const TextStyle(fontWeight: FontWeight.bold), - showUnselectedLabels: false, - showSelectedLabels: true, - items: iconsMap.keys - .map((key) => BottomNavigationBarItem( - label: key, - icon: Icon(iconsMap[key]), - backgroundColor: _colors[_position])) - .toList(), - ); - - Widget _buildTableBarView() => TabBarView( - controller: _tabController, - children: tabs - .map((e) => Center( - child: Text( - e, - style: const TextStyle(color: Colors.blue, fontSize: 20), - ))) - .toList()); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_de_DE.json deleted file mode 100644 index 6153ce835..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 91, - "name": "ScaleTransition", - "localName": "Skalierungstransformation", - "info": "Kann ein Kindelement aufnehmen und es mit einer Skalierungsanimation versehen. Erfordert einen Animator 'scale' und besitzt das Attribut 'alignment'.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ScaleTransition", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【scale】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_en_US.json deleted file mode 100644 index 1486f2425..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 91, - "name": "ScaleTransition", - "localName": "Scale Transition", - "info": "Can contain a child component and make it perform a scaling animation. Requires providing an animator scale and has the alignment property.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ScaleTransition", - "desc": [ - "【child】: Child component 【Widget】", - "【scale】: Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_es_ES.json deleted file mode 100644 index 6bb870aea..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 91, - "name": "ScaleTransition", - "localName": "Transición de Escala", - "info": "Puede contener un componente hijo y realizar una animación de escala, requiere un animador scale, tiene la propiedad alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ScaleTransition", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【scale】 : Animación 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_fr_FR.json deleted file mode 100644 index 9a59a7918..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 91, - "name": "ScaleTransition", - "localName": "Transition de mise à l'échelle", - "info": "Peut contenir un composant enfant et lui appliquer une animation de mise à l'échelle. Nécessite un animateur scale et possède l'attribut alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ScaleTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【scale】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_it_IT.json deleted file mode 100644 index 2614f2878..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 91, - "name": "ScaleTransition", - "localName": "Transizione di Scala", - "info": "Può contenere un componente figlio e farlo animare con una transizione di scala, richiede un animatore scale, ha la proprietà alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di ScaleTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【scale】 : Animazione 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_ja_JP.json deleted file mode 100644 index 1d61966a1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 91, - "name": "ScaleTransition", - "localName": "スケールトランジション", - "info": "子コンポーネントを収容し、スケールアニメーションを行わせることができます。アニメーターscaleを提供する必要があり、alignment属性を持っています。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ScaleTransitionの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【scale】 : アニメーション 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_ko_KR.json deleted file mode 100644 index a902e389b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 91, - "name": "ScaleTransition", - "localName": "스케일 변환", - "info": "하나의 자식 위젯을 포함하고, 스케일 애니메이션을 수행할 수 있습니다. 애니메이션 스케일을 제공해야 하며, alignment 속성을 가지고 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ScaleTransition 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【scale】 : 애니메이션 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_pt_PT.json deleted file mode 100644 index 67ce554da..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 91, - "name": "ScaleTransition", - "localName": "Transição de Escala", - "info": "Pode conter um componente filho e fazer com que ele realize uma animação de escala, requer um animador scale, possui o atributo alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do ScaleTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【scale】 : Animação 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_ru_RU.json deleted file mode 100644 index a3d008386..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 91, - "name": "ScaleTransition", - "localName": "Масштабирование", - "info": "Может содержать один дочерний компонент и выполнять анимацию масштабирования. Требуется предоставить аниматор scale, имеет свойство alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ScaleTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【scale】 : Анимация 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_zh-CN.json deleted file mode 100644 index de5eae99c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 91, - "name": "ScaleTransition", - "localName": "缩放变换", - "info": "可容纳一个子组件,并使其进行缩放动画,需要提供动画器scale,拥有alignment属性。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ScaleTransition基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【scale】 : 动画 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/node1_base.dart deleted file mode 100644 index 524dbdb7e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ScaleTransition/node1_base.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomScaleTransition extends StatefulWidget { - const CustomScaleTransition({Key? key}) : super(key: key); - - @override - _CustomScaleTransitionState createState() => _CustomScaleTransitionState(); -} - -class _CustomScaleTransitionState extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - - @override - void initState() { - _ctrl = AnimationController(vsync: this, duration: const Duration(seconds: 2)); - _ctrl.forward(); - super.initState(); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => _ctrl.forward(from: 0), - child: Container( - color: Colors.grey.withAlpha(22), - width: 100, - height: 100, - child: ScaleTransition( - scale: CurvedAnimation(parent: _ctrl, curve: Curves.linear), - child: const Icon(Icons.android, color: Colors.green, size: 60), - ), - )); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_de_DE.json deleted file mode 100644 index ec33e7447..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 253, - "name": "Scrollable", - "localName": "Scrollbare Komponente", - "info": "Implementiert ein Interaktionsmodell für eine scrollbare Komponente, das die Konstruktion des Viewports durch den viewportBuilder erfordert. Es ist eine der Kernkomponenten der ScrollView-Implementierung und wird in der Regel nicht direkt verwendet.", - "lever": 4, - "family": 1, - "linkIds": [ - 340, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Scrollable", - "desc": [ - "【viewportBuilder】: Viewport-Konstruktor 【ViewportBuilder】", - "【axisDirection】: Scrollrichtung 【AxisDirection】", - "【controller】: Scroll-Controller 【ScrollController】", - "【dragStartBehavior】: Drag-Verhalten 【DragStartBehavior】", - "【physics】: Scroll-Physik 【ScrollPhysics】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_en_US.json deleted file mode 100644 index eb851f1c9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 253, - "name": "Scrollable", - "localName": "Scrollable Component", - "info": "Implements an interactive model for a scrollable component, requiring the construction of a viewport via viewportBuilder. It is one of the core implementation components of ScrollView and is generally not used directly.", - "lever": 4, - "family": 1, - "linkIds": [ - 340, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Scrollable", - "desc": [ - "【viewportBuilder】: Viewport Constructor 【ViewportBuilder】", - "【axisDirection】: Scroll Direction 【AxisDirection】", - "【controller】: Scroll Controller 【ScrollController】", - "【dragStartBehavior】: Drag Behavior 【DragStartBehavior】", - "【physics】: Scroll Physics 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_es_ES.json deleted file mode 100644 index 04ba09ed5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 253, - "name": "Scrollable", - "localName": "Componente Deslizable", - "info": "Implementa un modelo de interacción para un componente desplazable, requiere la construcción del viewport a través del viewportBuilder. Es uno de los componentes centrales de ScrollView, generalmente no se usa directamente.", - "lever": 4, - "family": 1, - "linkIds": [ - 340, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Scrollable", - "desc": [ - "【viewportBuilder】: Constructor del viewport 【ViewportBuilder】", - "【axisDirection】: Dirección de desplazamiento 【AxisDirection】", - "【controller】: Controlador de desplazamiento 【ScrollController】", - "【dragStartBehavior】: Comportamiento de arrastre 【DragStartBehavior】", - "【physics】: Fenómeno de desplazamiento 【ScrollPhysics】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_fr_FR.json deleted file mode 100644 index 5ead61272..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 253, - "name": "Scrollable", - "localName": "Composant défilable", - "info": "Implémente un modèle d'interaction pour un composant défilable, nécessitant la construction d'une fenêtre d'affichage via viewportBuilder. C'est l'un des composants de base de ScrollView, généralement pas utilisé directement.", - "lever": 4, - "family": 1, - "linkIds": [ - 340, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Scrollable", - "desc": [ - "【viewportBuilder】 : Constructeur de fenêtre d'affichage 【ViewportBuilder】", - "【axisDirection】: Direction de défilement 【AxisDirection】", - "【controller】: Contrôleur de défilement 【ScrollController】", - "【dragStartBehavior】: Comportement de glissement 【DragStartBehavior】", - "【physics】: Physique de défilement 【ScrollPhysics】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_it_IT.json deleted file mode 100644 index d2c6a6e2f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 253, - "name": "Scrollable", - "localName": "Componente Scorrevole", - "info": "Implementa un modello di interazione per un componente scorrevole, richiede la costruzione di un viewport tramite viewportBuilder. È uno dei componenti principali di ScrollView e generalmente non viene utilizzato direttamente.", - "lever": 4, - "family": 1, - "linkIds": [ - 340, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Scrollable", - "desc": [ - "【viewportBuilder】 : Costruttore del viewport 【ViewportBuilder】", - "【axisDirection】: Direzione di scorrimento 【AxisDirection】", - "【controller】: Controller di scorrimento 【ScrollController】", - "【dragStartBehavior】: Comportamento di trascinamento 【DragStartBehavior】", - "【physics】: Fisica dello scorrimento 【ScrollPhysics】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_ja_JP.json deleted file mode 100644 index f653f3c3d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 253, - "name": "Scrollable", - "localName": "スクロール可能コンポーネント", - "info": "スクロール可能なコンポーネントのインタラクションモデルを実装し、viewportBuilderを使用してビューポートを構築する必要があります。ScrollViewのコア実装コンポーネントの一つで、通常直接使用されません。", - "lever": 4, - "family": 1, - "linkIds": [ - 340, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scrollableの基本的な使用法", - "desc": [ - "【viewportBuilder】 : ビューポートビルダー 【ViewportBuilder】", - "【axisDirection】: スクロール方向 【AxisDirection】", - "【controller】: スクロールコントローラー 【ScrollController】", - "【dragStartBehavior】: ドラッグ開始動作 【DragStartBehavior】", - "【physics】: スクロール物理現象 【ScrollPhysics】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_ko_KR.json deleted file mode 100644 index cd7375312..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 253, - "name": "Scrollable", - "localName": "스크롤 가능한 컴포넌트", - "info": "스크롤 가능한 컴포넌트의 상호작용 모델을 구현하며, viewportBuilder를 통해 viewport를 구성해야 합니다. ScrollView의 핵심 구현 컴포넌트 중 하나로, 일반적으로 직접 사용되지 않습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 340, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scrollable 기본 사용법", - "desc": [ - "【viewportBuilder】 : 뷰포트 빌더 【ViewportBuilder】", - "【axisDirection】: 스크롤 방향 【AxisDirection】", - "【controller】: 스크롤 컨트롤러 【ScrollController】", - "【dragStartBehavior】: 드래그 시작 동작 【DragStartBehavior】", - "【physics】: 스크롤 물리 【ScrollPhysics】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_pt_PT.json deleted file mode 100644 index dfded8887..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 253, - "name": "Scrollable", - "localName": "Componente Deslizável", - "info": "Implementa um modelo de interação para um componente deslizável, necessitando da construção de um viewport através do viewportBuilder. É um dos componentes principais da implementação do ScrollView, geralmente não utilizado diretamente.", - "lever": 4, - "family": 1, - "linkIds": [ - 340, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Scrollable", - "desc": [ - "【viewportBuilder】 : Construtor do viewport 【ViewportBuilder】", - "【axisDirection】: Direção do deslize 【AxisDirection】", - "【controller】: Controlador de deslize 【ScrollController】", - "【dragStartBehavior】: Comportamento de arrasto 【DragStartBehavior】", - "【physics】: Fenómeno de rolagem 【ScrollPhysics】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_ru_RU.json deleted file mode 100644 index 7bc209fe1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 253, - "name": "Scrollable", - "localName": "Прокручиваемый компонент", - "info": "Реализует модель взаимодействия прокручиваемого компонента, требуется viewportBuilder для построения viewport. Это один из основных компонентов реализации ScrollView, обычно не используется напрямую.", - "lever": 4, - "family": 1, - "linkIds": [ - 340, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Scrollable", - "desc": [ - "【viewportBuilder】 : Конструктор viewport 【ViewportBuilder】", - "【axisDirection】: Направление прокрутки 【AxisDirection】", - "【controller】: Контроллер прокрутки 【ScrollController】", - "【dragStartBehavior】: Поведение при перетаскивании 【DragStartBehavior】", - "【physics】: Физика прокрутки 【ScrollPhysics】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_zh-CN.json deleted file mode 100644 index f726ea80e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 253, - "name": "Scrollable", - "localName": "可滑动组件", - "info": "实现了一个可滚动组件的交互模型,需要viewportBuilder进的viewport的构造。是ScrollView的核心实现组件之一,一般不直接使用。", - "lever": 4, - "family": 1, - "linkIds": [ - 340, - 349 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scrollable的基本使用", - "desc": [ - "【viewportBuilder】 : 视口构造器 【ViewportBuilder】", - "【axisDirection】: 滑动方向 【AxisDirection】", - "【controller】: 滑动控制器 【ScrollController】", - "【dragStartBehavior】: t拖动行为 【DragStartBehavior】", - "【physics】: 滚动现象 【ScrollPhysics】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/node1_base.dart deleted file mode 100644 index f32df2c33..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollable/node1_base.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; - -/// create by 张风捷特烈 on 2020/8/2 -/// contact me by email 1981462002@qq.com - - -class ScrollableDemo extends StatelessWidget { - const ScrollableDemo({super.key}); - - List get data => List.generate(32, (i) => Color(0xFF6600FF - 2 * i)); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 250, - child: Scrollable( - axisDirection: AxisDirection.down, - physics: const BouncingScrollPhysics(), - dragStartBehavior: DragStartBehavior.start, - viewportBuilder: (ctx, position) => Viewport( - cacheExtent: 200, - cacheExtentStyle: CacheExtentStyle.pixel, - offset: position, - slivers: [_buildSliverList()], - ), - ), - ); - } - - Widget _buildSliverList() => SliverList( - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - margin: const EdgeInsets.only(top: 1), - alignment: Alignment.center, - width: 100, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle( - color: Colors.white, - shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ], - ), - ), - ), - childCount: data.length), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_de_DE.json deleted file mode 100644 index d452345bb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 194, - "name": "Scrollbar", - "localName": "Scrollleiste", - "info": "Muss einen scrollbaren Bereich umschließen. Wenn scrollbar, wird eine Scrollleiste zur Anzeige angezeigt.", - "lever": 3, - "family": 1, - "linkIds": [ - 195, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Scrollbar", - "desc": [ - "【child】: Untergeordnete Komponente 【Widget】", - "【controller】: Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_en_US.json deleted file mode 100644 index 875f30bf9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 194, - "name": "Scrollbar", - "localName": "Scrollbar", - "info": "It needs to wrap a scrollable area. When it is scrollable, a scroll bar will be displayed for indication.", - "lever": 3, - "family": 1, - "linkIds": [ - 195, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Scrollbar", - "desc": [ - "【child】: Child widget 【Widget】", - "【controller】: Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_es_ES.json deleted file mode 100644 index cbaf503aa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 194, - "name": "Scrollbar", - "localName": "Barra de desplazamiento", - "info": "Debe envolver un área desplazable. Cuando es desplazable, se mostrará una barra de desplazamiento para indicar.", - "lever": 3, - "family": 1, - "linkIds": [ - 195, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Scrollbar", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【controller】 : Controlador 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_fr_FR.json deleted file mode 100644 index c94a78d5b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 194, - "name": "Scrollbar", - "localName": "Barre de défilement", - "info": "Doit envelopper une zone défilable. Lorsqu'elle est défilable, une barre de défilement est affichée pour l'indication.", - "lever": 3, - "family": 1, - "linkIds": [ - 195, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Scrollbar", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【controller】 : Contrôleur 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_it_IT.json deleted file mode 100644 index d06c80c1d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 194, - "name": "Scrollbar", - "localName": "Barra di scorrimento", - "info": "Deve avvolgere un'area scorrevole. Quando è scorrevole, verrà visualizzata una barra di scorrimento per indicare.", - "lever": 3, - "family": 1, - "linkIds": [ - 195, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Scrollbar", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【controller】 : Controllore 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_ja_JP.json deleted file mode 100644 index c2831c338..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 194, - "name": "Scrollbar", - "localName": "スクロールバー", - "info": "スクロール可能な領域をラップする必要があります。スクロール可能な場合、スクロールのバーが表示されて指示します。", - "lever": 3, - "family": 1, - "linkIds": [ - 195, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scrollbarの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【controller】 : コントローラー 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_ko_KR.json deleted file mode 100644 index c4a018f38..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 194, - "name": "Scrollbar", - "localName": "스크롤바", - "info": "스크롤 가능한 영역을 감싸야 하며, 스크롤이 가능할 때 스크롤 바가 표시되어 위치를 표시합니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 195, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scrollbar 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【controller】 : 컨트롤러 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_pt_PT.json deleted file mode 100644 index 4724067d9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 194, - "name": "Scrollbar", - "localName": "Barra de Rolagem", - "info": "Precisa envolver uma área rolável. Quando rolável, exibirá uma barra de rolagem para indicar.", - "lever": 3, - "family": 1, - "linkIds": [ - 195, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Scrollbar", - "desc": [ - "【child】 : Componente Filho 【Widget】", - "【controller】 : Controlador 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_ru_RU.json deleted file mode 100644 index 3f8d4a3df..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 194, - "name": "Scrollbar", - "localName": "Ползунок прокрутки", - "info": "Необходимо обернуть прокручиваемую область, при прокрутке будет отображаться ползунок для индикации.", - "lever": 3, - "family": 1, - "linkIds": [ - 195, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Scrollbar", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【controller】 : Контроллер 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_zh-CN.json deleted file mode 100644 index 7e6d02ea7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 194, - "name": "Scrollbar", - "localName": "滑动指示栏", - "info": "需要包裹一个可滑动区域,当可滑动时,会显示滑动的bar用于指示。", - "lever": 3, - "family": 1, - "linkIds": [ - 195, - 164, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Scrollbar基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【controller】 : 控制器 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/node1_base.dart deleted file mode 100644 index da07c5b34..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Scrollbar/node1_base.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class CustomScrollbar extends StatelessWidget { - const CustomScrollbar({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: Scrollbar( - child: ListView( - padding: const EdgeInsets.symmetric(horizontal: 5), - children: data - .map((color) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: color, - child: Text( - colorString(color), - style: const TextStyle( - color: Colors.white, - shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ], - ), - ), - )) - .toList(), - ), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_de_DE.json deleted file mode 100644 index 9d384d43b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_de_DE.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 53, - "name": "SelectableText", - "localName": "Auswählbarer Text", - "info": "Auswählbarer Text, der ausgewählt und kopiert werden kann. Die Farbe, Größe, Textstil, Ausrichtung usw. des Cursors können angegeben werden.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SelectableText", - "desc": [ - "【Parameter】 : Angezeigter Text 【String】", - "【style】 : Textstil 【TextStyle】", - "【cursorRadius】 : Cursorradius 【Radius】", - "【cursorColor】 : Cursorfarbe 【Color】", - "【cursorWidth】 : Cursorbreite 【double】", - "【showCursor】 : Cursor anzeigen 【bool】", - "【autofocus】 : Autofokus 【bool】" - ] - }, - { - "file": "node2_align.dart", - "name": "Ausrichtungseigenschaften von SelectableText", - "desc": [ - "【textAlign】 : Ausrichtung*6 【textAlign】", - "【textDirection】 : Textrichtung*2 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_en_US.json deleted file mode 100644 index ac2e706d1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_en_US.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 53, - "name": "SelectableText", - "localName": "Selectable Text", - "info": "Selectable text that can be selected and copied. You can specify the color, size, text style, alignment, etc. of the cursor.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SelectableText", - "desc": [ - "【Parameter】 : Display text 【String】", - "【style】 : Text style 【TextStyle】", - "【cursorRadius】 : Cursor radius 【Radius】", - "【cursorColor】 : Cursor color 【Color】", - "【cursorWidth】 : Cursor width 【double】", - "【showCursor】 : Whether to show the cursor 【bool】", - "【autofocus】 : Auto focus 【bool】" - ] - }, - { - "file": "node2_align.dart", - "name": "Alignment Properties of SelectableText", - "desc": [ - "【textAlign】 : Alignment method*6 【textAlign】", - "【textDirection】 : Text direction*2 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_es_ES.json deleted file mode 100644 index ef1aee65c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_es_ES.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 53, - "name": "SelectableText", - "localName": "Texto Seleccionable", - "info": "Texto seleccionable que se puede seleccionar y copiar. Se puede especificar el color, tamaño, estilo de texto, alineación, etc., del cursor.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SelectableText", - "desc": [ - "【Parámetro】 : Texto mostrado 【String】", - "【style】 : Estilo de texto 【TextStyle】", - "【cursorRadius】 : Radio del cursor 【Radius】", - "【cursorColor】 : Color del cursor 【Color】", - "【cursorWidth】 : Ancho del cursor 【double】", - "【showCursor】 : Mostrar cursor 【bool】", - "【autofocus】 : Enfoque automático 【bool】" - ] - }, - { - "file": "node2_align.dart", - "name": "Propiedades de alineación de SelectableText", - "desc": [ - "【textAlign】 : Alineación*6 【textAlign】", - "【textDirection】 : Dirección del texto*2 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_fr_FR.json deleted file mode 100644 index 99181eb37..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_fr_FR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 53, - "name": "SelectableText", - "localName": "Texte sélectionnable", - "info": "Texte sélectionnable, peut être sélectionné et copié. Permet de spécifier la couleur du curseur, la taille, le style du texte, l'alignement, etc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SelectableText", - "desc": [ - "【Paramètre】 : Texte affiché 【String】", - "【style】 : Style du texte 【TextStyle】", - "【cursorRadius】 : Rayon du curseur 【Radius】", - "【cursorColor】 : Couleur du curseur 【Color】", - "【cursorWidth】 : Largeur du curseur 【double】", - "【showCursor】 : Afficher le curseur 【bool】", - "【autofocus】 : Mise au point automatique 【bool】" - ] - }, - { - "file": "node2_align.dart", - "name": "Propriétés d'alignement de SelectableText", - "desc": [ - "【textAlign】 : Mode d'alignement*6 【textAlign】", - "【textDirection】 : Direction du texte*2 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_it_IT.json deleted file mode 100644 index 10e6cc53d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_it_IT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 53, - "name": "SelectableText", - "localName": "Testo selezionabile", - "info": "Testo selezionabile che può essere selezionato e copiato. È possibile specificare il colore, la dimensione, lo stile del testo, l'allineamento, ecc. del cursore.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SelectableText", - "desc": [ - "【Parametro】 : Testo da visualizzare 【String】", - "【style】 : Stile del testo 【TextStyle】", - "【cursorRadius】 : Raggio del cursore 【Radius】", - "【cursorColor】 : Colore del cursore 【Color】", - "【cursorWidth】 : Larghezza del cursore 【double】", - "【showCursor】 : Mostra il cursore 【bool】", - "【autofocus】 : Autofocus 【bool】" - ] - }, - { - "file": "node2_align.dart", - "name": "Proprietà di allineamento di SelectableText", - "desc": [ - "【textAlign】 : Allineamento*6 【textAlign】", - "【textDirection】 : Direzione del testo*2 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_ja_JP.json deleted file mode 100644 index b669bbeac..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_ja_JP.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 53, - "name": "SelectableText", - "localName": "選択可能なテキスト", - "info": "選択可能なテキストで、選択やコピーが可能です。カーソルの色、サイズ、テキストスタイル、配置などを指定できます。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SelectableTextの基本使用", - "desc": [ - "【入参】 : 表示テキスト 【String】", - "【style】 : テキストスタイル 【TextStyle】", - "【cursorRadius】 : カーソル半径 【Radius】", - "【cursorColor】 : カーソル色 【Color】", - "【cursorWidth】 : カーソル幅 【double】", - "【showCursor】 : カーソル表示の有無 【bool】", - "【autofocus】 : 自動フォーカス 【bool】" - ] - }, - { - "file": "node2_align.dart", - "name": "SelectableTextの配置属性", - "desc": [ - "【textAlign】 : 配置方法*6 【textAlign】", - "【textDirection】 : テキスト方向*2 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_ko_KR.json deleted file mode 100644 index 75baa2b45..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_ko_KR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 53, - "name": "SelectableText", - "localName": "선택 가능한 텍스트", - "info": "선택 가능한 텍스트로, 선택 및 복사가 가능합니다. 커서의 색상, 크기, 텍스트 스타일, 정렬 방식 등을 지정할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SelectableText 기본 사용법", - "desc": [ - "【입력 매개변수】 : 표시할 텍스트 【String】", - "【style】 : 텍스트 스타일 【TextStyle】", - "【cursorRadius】 : 커서 반지름 【Radius】", - "【cursorColor】 : 커서 색상 【Color】", - "【cursorWidth】 : 커서 너비 【double】", - "【showCursor】 : 커서 표시 여부 【bool】", - "【autofocus】 : 자동 포커스 【bool】" - ] - }, - { - "file": "node2_align.dart", - "name": "SelectableText 정렬 속성", - "desc": [ - "【textAlign】 : 정렬 방식*6 【textAlign】", - "【textDirection】 : 텍스트 방향*2 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_pt_PT.json deleted file mode 100644 index 571375f5d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_pt_PT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 53, - "name": "SelectableText", - "localName": "Texto Selecionável", - "info": "Texto que pode ser selecionado e copiado. Pode especificar a cor do cursor, tamanho, estilo de texto, alinhamento, etc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SelectableText", - "desc": [ - "【Parâmetro】 : Texto a ser exibido 【String】", - "【style】 : Estilo do texto 【TextStyle】", - "【cursorRadius】 : Raio do cursor 【Radius】", - "【cursorColor】 : Cor do cursor 【Color】", - "【cursorWidth】 : Largura do cursor 【double】", - "【showCursor】 : Mostrar cursor 【bool】", - "【autofocus】 : Foco automático 【bool】" - ] - }, - { - "file": "node2_align.dart", - "name": "Propriedades de Alinhamento do SelectableText", - "desc": [ - "【textAlign】 : Método de alinhamento*6 【textAlign】", - "【textDirection】 : Direção do texto*2 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_ru_RU.json deleted file mode 100644 index 6b26264f8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_ru_RU.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 53, - "name": "SelectableText", - "localName": "Выбираемый текст", - "info": "Текст, который можно выбирать и копировать. Можно указать цвет курсора, размер, стиль текста, выравнивание и т.д.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SelectableText", - "desc": [ - "【Параметр】 : Отображаемый текст 【String】", - "【style】 : Стиль текста 【TextStyle】", - "【cursorRadius】 : Радиус курсора 【Radius】", - "【cursorColor】 : Цвет курсора 【Color】", - "【cursorWidth】 : Ширина курсора 【double】", - "【showCursor】 : Показывать ли курсор 【bool】", - "【autofocus】 : Автофокус 【bool】" - ] - }, - { - "file": "node2_align.dart", - "name": "Свойства выравнивания SelectableText", - "desc": [ - "【textAlign】 : Способ выравнивания*6 【textAlign】", - "【textDirection】 : Направление текста*2 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_zh-CN.json deleted file mode 100644 index 0459ab60d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/desc_zh-CN.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 53, - "name": "SelectableText", - "localName": "可选择文字", - "info": "可选择的文字,可以选择、复制。可指定浮标的颜色、大小、文字样式、对齐方式等。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SelectableText基本使用", - "desc": [ - "【入参】 : 显示文字 【String】", - "【style】 : 文字样式 【TextStyle】", - "【cursorRadius】 : 光标半径 【Radius】", - "【cursorColor】 : 光标颜色 【Color】", - "【cursorWidth】 : 光标宽度 【double】", - "【showCursor】 : 是否显示光标 【bool】", - "【autofocus】 : 自动聚焦 【bool】" - ] - }, - { - "file": "node2_align.dart", - "name": "SelectableText对齐属性", - "desc": [ - "【textAlign】 : 对齐方式*6 【textAlign】", - "【textDirection】 : 文字方向*2 【TextDirection】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/node1_base.dart deleted file mode 100644 index a20dcd5a8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/node1_base.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class CustomSelectableText extends StatelessWidget { - const CustomSelectableText({Key? key}) : super(key: key); - - final String text = " 始臣之解牛之时,所见无非牛者。三年之后,未尝见全牛也。方今之时," - "臣以神遇而不以目视,官知止而神欲行。依乎天理,批大郤,导大窾,因其固然," - "技经肯綮之未尝,而况大軱乎!良庖岁更刀,割也;族庖月更刀,折也。" - "今臣之刀十九年矣,所解数千牛矣,而刀刃若新发于硎。彼节者有间,而刀刃者无厚;" - "以无厚入有间,恢恢乎其于游刃必有余地矣,是以十九年而刀刃若新发于硎。" - "虽然,每至于族,吾见其难为,怵然为戒,视为止,行为迟。动刀甚微,謋然已解,如土委地。" - "提刀而立,为之四顾,为之踌躇满志,善刀而藏之."; - - @override - Widget build(BuildContext context) { - return SelectableText( - text, - style: const TextStyle(fontSize: 18, color: Colors.orange), - cursorColor: Colors.green, - cursorRadius: const Radius.circular(3), - cursorWidth: 5, - showCursor: true, - autofocus: false, - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/node2_align.dart b/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/node2_align.dart deleted file mode 100644 index 53bf6c37a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SelectableText/node2_align.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class AlignSelectableText extends StatefulWidget { - const AlignSelectableText({Key? key}) : super(key: key); - - @override - _AlignSelectableTextState createState() => _AlignSelectableTextState(); -} - -class _AlignSelectableTextState extends State { - final String text = - "The [SelectableText] widget displays a string of text with a single style." - "The string might break across multiple lines or might all be displayed on" - "the same line depending on the layout constraints."; - TextAlign _textAlign = TextAlign.left; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildSelector(), - SelectableText( - text, - style: const TextStyle(fontSize: 18, color: Colors.red), - cursorColor: Colors.green, - cursorRadius: const Radius.circular(3), - cursorWidth: 5, - showCursor: true, - textAlign: _textAlign, - textDirection: TextDirection.ltr, - autofocus: false, - ), - ], - ); - } - - Widget _buildSelector() { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - const Text( - "textAlign属性选择:", - style: TextStyle( - fontSize: 16, - color: Colors.blue, - fontWeight: FontWeight.bold, - ), - ), - DropdownButton( - underline: Container(), - value: _textAlign, - items: TextAlign.values - .map((e) => DropdownMenuItem( - value: e, - child: Text(e.toString()), - )) - .toList(), - onChanged: (e) { - setState(() { - _textAlign = e??_textAlign; - }); - }), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_de_DE.json deleted file mode 100644 index d6ac3b941..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 92, - "name": "SizeTransition", - "localName": "Größenübergang", - "info": "Kann ein Kindelement aufnehmen und eine Größenanimation durchführen. Es erfordert einen Animator sizeFactor und kann die Achse und die Achsenausrichtung der Größenänderung angeben.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SizeTransition", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【axis】 : Achse*2 【Axis】", - "【sizeFactor】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_en_US.json deleted file mode 100644 index 35fe02fd9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 92, - "name": "SizeTransition", - "localName": "Size Transition", - "info": "Can accommodate a child component and animate its size. Requires an animator sizeFactor, and can specify the axis of size change and the axis alignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SizeTransition", - "desc": [ - "【child】: Child component 【Widget】", - "【axis】: Axis*2 【Axis】", - "【sizeFactor】: Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_es_ES.json deleted file mode 100644 index 7c346567e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 92, - "name": "SizeTransition", - "localName": "Transición de Tamaño", - "info": "Puede contener un componente hijo y realizar una animación de tamaño, requiere un animador sizeFactor, y se puede especificar el eje de cambio de tamaño y la alineación del eje.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SizeTransition", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【axis】 : Eje*2 【Axis】", - "【sizeFactor】 : Animación 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_fr_FR.json deleted file mode 100644 index cc72ace55..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 92, - "name": "SizeTransition", - "localName": "Transition de taille", - "info": "Peut contenir un composant enfant et lui faire subir une animation de taille. Nécessite un animateur sizeFactor, peut spécifier l'axe de changement de taille et l'alignement axial axisAlignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SizeTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【axis】 : Axe*2 【Axis】", - "【sizeFactor】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_it_IT.json deleted file mode 100644 index f4cd22911..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 92, - "name": "SizeTransition", - "localName": "Transizione Dimensionale", - "info": "Può contenere un componente figlio e fargli eseguire un'animazione di dimensione, richiede un animatore sizeFactor, è possibile specificare l'asse di cambiamento delle dimensioni e l'allineamento assiale.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di SizeTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【axis】 : Asse*2 【Axis】", - "【sizeFactor】 : Animazione 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_ja_JP.json deleted file mode 100644 index 9e63d9144..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 92, - "name": "SizeTransition", - "localName": "サイズ変更", - "info": "子コンポーネントを収容し、そのサイズアニメーションを実行します。アニメーターsizeFactorを提供する必要があり、サイズ変化の軸と軸方向のaxisAlignmentを指定できます。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SizeTransitionの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【axis】 : 軸方向*2 【Axis】", - "【sizeFactor】 : アニメーション 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_ko_KR.json deleted file mode 100644 index 4ea1cccb3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 92, - "name": "SizeTransition", - "localName": "크기 변환", - "info": "하위 컴포넌트를 수용하고 크기 애니메이션을 수행할 수 있습니다. 애니메이션 sizeFactor를 제공해야 하며, 크기 변화 축 및 축 정렬을 지정할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SizeTransition 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【axis】 : 축*2 【Axis】", - "【sizeFactor】 : 애니메이션 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_pt_PT.json deleted file mode 100644 index 849222156..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 92, - "name": "SizeTransition", - "localName": "Transição de Tamanho", - "info": "Pode conter um componente filho e fazê-lo realizar uma animação de tamanho, requer um animador sizeFactor, pode especificar o eixo de mudança de tamanho e o alinhamento axial do eixo.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SizeTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【axis】 : Eixo*2 【Axis】", - "【sizeFactor】 : Animação 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_ru_RU.json deleted file mode 100644 index 7b4cef6d8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 92, - "name": "SizeTransition", - "localName": "Изменение размера", - "info": "Может содержать один дочерний компонент и анимировать его размер. Требуется предоставить аниматор sizeFactor, можно указать ось изменения размера и выравнивание оси axisAlignment.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SizeTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【axis】 : Ось*2 【Axis】", - "【sizeFactor】 : Анимация 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_zh-CN.json deleted file mode 100644 index 8cb4f26b3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 92, - "name": "SizeTransition", - "localName": "尺寸变换", - "info": "可容纳一个子组件,并使其进行尺寸动画,需要提供动画器sizeFactor,可指定尺寸变化轴及轴向的axisAlignment。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SizeTransition基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【axis】 : 轴向*2 【Axis】", - "【sizeFactor】 : 动画 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/node1_base.dart deleted file mode 100644 index 733e9c49d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SizeTransition/node1_base.dart +++ /dev/null @@ -1,59 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class CustomSizeTransition extends StatefulWidget { - const CustomSizeTransition({Key? key}) : super(key: key); - - @override - _CustomSizeTransitionState createState() => _CustomSizeTransitionState(); -} - -class _CustomSizeTransitionState extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - - @override - void initState() { - _ctrl = - AnimationController(vsync: this, duration: const Duration(seconds: 1)); - _ctrl.forward(); - super.initState(); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => _ctrl.forward(from: 0), - child: Wrap( - runSpacing: 20, - children: [ - SizeTransition( - axis: Axis.horizontal, - sizeFactor: CurvedAnimation(parent: _ctrl, curve: Curves.linear), - child: Container( - width: MediaQuery.of(context).size.width, - color: Colors.orange, - child: - const Icon(Icons.android, color: Colors.green, size: 80)), - ), - SizeTransition( - axis: Axis.vertical, - sizeFactor: CurvedAnimation(parent: _ctrl, curve: Curves.linear), - child: Container( - width: MediaQuery.of(context).size.width, - color: Colors.orange, - child: - const Icon(Icons.android, color: Colors.green, size: 80)), - ), - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_de_DE.json deleted file mode 100644 index a3835b8c4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 112, - "name": "SlideTransition", - "localName": "Schiebeübergang", - "info": "Eine Unterklasse von AnimatedWidget, die einen Animator vom Typ Offset verwendet, um eine Übergangsanimation zwischen zwei Offset-Objekten für das Kind-Widget zu ermöglichen.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SlideTransition", - "desc": [ - "【child】 : Kind-Widget 【Widget】", - "【textDirection】 : X-Achsenrichtung 【TextDirection】", - "【position】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_en_US.json deleted file mode 100644 index b808bde8a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 112, - "name": "SlideTransition", - "localName": "Slide Transition", - "info": "A subclass of AnimatedWidget, using an animator of type Offset to allow child components to transition between two Offset objects.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SlideTransition", - "desc": [ - "【child】: Child component 【Widget】", - "【textDirection】: X-axis direction 【TextDirection】", - "【position】: Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_es_ES.json deleted file mode 100644 index da6678e9c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 112, - "name": "SlideTransition", - "localName": "Transición de deslizamiento", - "info": "Subclase de AnimatedWidget, utiliza un animador de tipo Offset para realizar una animación de transición entre dos objetos Offset en el componente hijo.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SlideTransition", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【textDirection】 : Dirección del eje x 【TextDirection】", - "【position】 : Animación 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_fr_FR.json deleted file mode 100644 index 3e24c65a6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 112, - "name": "SlideTransition", - "localName": "Transition par glissement", - "info": "Sous-classe de AnimatedWidget, utilise un animateur de type Offset pour permettre à un composant enfant de faire une animation de transition entre deux objets Offset.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SlideTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【textDirection】 : Direction de l'axe x 【TextDirection】", - "【position】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_it_IT.json deleted file mode 100644 index 067c33256..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 112, - "name": "SlideTransition", - "localName": "Transizione scorrevole", - "info": "Sottoclasse di AnimatedWidget, utilizza un animatore di tipo Offset per far sì che i componenti figli eseguano un'animazione di transizione tra due oggetti Offset.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di SlideTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【textDirection】 : Direzione dell'asse x 【TextDirection】", - "【position】 : Animazione 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_ja_JP.json deleted file mode 100644 index 06eef3ac4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 112, - "name": "SlideTransition", - "localName": "スライド遷移", - "info": "AnimatedWidgetのサブクラスで、Offsetタイプのアニメーターを使用して子コンポーネントを2つのOffsetオブジェクト間で遷移させるアニメーションを行います。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SlideTransition 基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【textDirection】 : x軸方向 【TextDirection】", - "【position】 : アニメーション 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_ko_KR.json deleted file mode 100644 index fece4f899..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 112, - "name": "SlideTransition", - "localName": "슬라이드 전환", - "info": "AnimatedWidget의 하위 클래스로, Offset 타입의 애니메이터를 사용하여 자식 위젯이 두 Offset 객체 간의 전환 애니메이션을 수행하도록 합니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SlideTransition 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【textDirection】 : x축 방향 【TextDirection】", - "【position】 : 애니메이션 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_pt_PT.json deleted file mode 100644 index 62082d061..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 112, - "name": "SlideTransition", - "localName": "Transição de Deslizamento", - "info": "Subclasse de AnimatedWidget, usa um animador do tipo Offset para fazer com que os componentes filhos realizem uma animação de transição entre dois objetos Offset.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SlideTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【textDirection】 : Direção do eixo x 【TextDirection】", - "【position】 : Animação 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_ru_RU.json deleted file mode 100644 index 70208440c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 112, - "name": "SlideTransition", - "localName": "Скользящий переход", - "info": "Подкласс AnimatedWidget, использует аниматор типа Offset для создания анимации перехода между двумя объектами Offset для дочернего компонента.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SlideTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【textDirection】 : Направление оси x 【TextDirection】", - "【position】 : Анимация 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_zh-CN.json deleted file mode 100644 index 8007c60a1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 112, - "name": "SlideTransition", - "localName": "滑动变换", - "info": "AnimatedWidget的子类,使用Offset类型的动画器让子组件在两个Offset对象之间进行过渡动画。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SlideTransition 基本使用", - "desc": [ - "【child】 : 孩子组件 【Widget】", - "【textDirection】 : x轴方向 【TextDirection】", - "【position】 : 动画 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/node1_base.dart deleted file mode 100644 index 19569425d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/SlideTransition/node1_base.dart +++ /dev/null @@ -1,67 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomSlideTransition extends StatefulWidget { - const CustomSlideTransition({Key? key}) : super(key: key); - - @override - _CustomSlideTransitionState createState() => _CustomSlideTransitionState(); -} - -class _CustomSlideTransitionState extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - late Animation animation; - - @override - void initState() { - super.initState(); - _ctrl = AnimationController( - vsync: this, - duration: const Duration(seconds: 2), - )..forward(); - - animation = Tween( - begin: Offset.zero, - end: const Offset(0.5, 0.5), - ).animate(_ctrl); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => _ctrl.forward(from: 0), - child: Container( - width: 200, - color: Colors.grey.withAlpha(33), - height: 100, - child: Stack( - fit: StackFit.expand, - children: [ - SlideTransition( - textDirection: TextDirection.ltr, - position: animation, - child: _buildChild(), - ), - SlideTransition( - textDirection: TextDirection.rtl, - position: animation, - child: _buildChild(), - ), - ], - ), - )); - } - Widget _buildChild() => const Icon( - Icons.accessible_forward_sharp, - color: Colors.green, - size: 25, - ); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_de_DE.json deleted file mode 100644 index 96f03fab1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_de_DE.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 42, - "name": "Slider", - "localName": "Schieberegler", - "info": "Schieberegler-Komponente, die es ermöglicht, zwischen einem festgelegten Minimum und Maximum zu wählen. Kann Farbe, Anzahl der Segmente und angezeigte Labels angeben und erhält einen Rückruf bei Fortschrittsänderungen.", - "lever": 4, - "family": 1, - "linkIds": [ - 43, - 44, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung des Sliders", - "desc": [ - "【value】 : Wert 【double】", - "【min】 : Mindestwert 【double】", - "【max】 : Höchstwert 【double】", - "【activeColor】 : Aktive Farbe 【Color】", - "【inactiveColor】 : Inaktive Farbe 【Color】", - "【onChanged】 : Rückruf bei Änderung 【Function(double)】" - ] - }, - { - "file": "node2_lable.dart", - "name": "Segmente und Labels des Sliders", - "desc": [ - "【divisions】 : Anzahl der Segmente 【int】", - "【label】 : Text des Hinweisblasens 【String】", - "【onChangeStart】 : Überwachung beim Start des Schiebens 【Function(double)】", - "【onChangeEnd】 : Überwachung beim Ende des Schiebens 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_en_US.json deleted file mode 100644 index 91e1a8e2b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_en_US.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 42, - "name": "Slider", - "localName": "Slider", - "info": "Slider component, allows dragging to select between a specified maximum and minimum value. Can specify color, number of segments, and displayed labels, and receives progress change callbacks.", - "lever": 4, - "family": 1, - "linkIds": [ - 43, - 44, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Slider", - "desc": [ - "【value】 : value 【double】", - "【min】 : minimum value 【double】", - "【max】 : maximum value 【double】", - "【activeColor】 : active color 【Color】", - "【inactiveColor】 : inactive color 【Color】", - "【onChanged】 : callback when changed 【Function(double)】" - ] - }, - { - "file": "node2_lable.dart", - "name": "Slider Segments and Labels", - "desc": [ - "【divisions】 : number of segments 【int】", - "【label】 : tooltip text 【String】", - "【onChangeStart】 : listener when sliding starts 【Function(double)】", - "【onChangeEnd】 : listener when sliding ends 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_es_ES.json deleted file mode 100644 index 3f9140447..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_es_ES.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 42, - "name": "Slider", - "localName": "Control deslizante", - "info": "Componente de control deslizante que permite seleccionar arrastrando entre un valor máximo y mínimo especificados. Se puede especificar el color, el número de segmentos y las etiquetas mostradas, y recibe una devolución de llamada para los cambios de progreso.", - "lever": 4, - "family": 1, - "linkIds": [ - 43, - 44, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico del Slider", - "desc": [ - "【value】 : valor 【double】", - "【min】 : valor mínimo 【double】", - "【max】 : valor máximo 【double】", - "【activeColor】 : color activo 【Color】", - "【inactiveColor】 : color inactivo 【Color】", - "【onChanged】 : devolución de llamada al cambiar 【Function(double)】" - ] - }, - { - "file": "node2_lable.dart", - "name": "Segmentos y etiquetas del Slider", - "desc": [ - "【divisions】 : número de segmentos 【int】", - "【label】 : texto de la burbuja de información 【String】", - "【onChangeStart】 : escucha al comenzar a deslizar 【Function(double)】", - "【onChangeEnd】 : escucha al finalizar el deslizamiento 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_fr_FR.json deleted file mode 100644 index 737792618..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_fr_FR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 42, - "name": "Slider", - "localName": "Curseur", - "info": "Composant curseur, permet de faire glisser pour sélectionner entre une valeur maximale et minimale spécifiées. Peut spécifier la couleur, le nombre de segments et les étiquettes affichées, reçoit un rappel de changement de progression.", - "lever": 4, - "family": 1, - "linkIds": [ - 43, - 44, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base du Slider", - "desc": [ - "【value】 : valeur 【double】", - "【min】 : valeur minimale 【double】", - "【max】 : valeur maximale 【double】", - "【activeColor】 : couleur active 【Color】", - "【inactiveColor】 : couleur inactive 【Color】", - "【onChanged】 : rappel lors du changement 【Function(double)】" - ] - }, - { - "file": "node2_lable.dart", - "name": "Segmentation et étiquettes du Slider", - "desc": [ - "【divisions】 : nombre de segments 【int】", - "【label】 : texte de la bulle d'info 【String】", - "【onChangeStart】 : écoute au début du glissement 【Function(double)】", - "【onChangeEnd】 : écoute à la fin du glissement 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_it_IT.json deleted file mode 100644 index 35fb80343..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_it_IT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 42, - "name": "Slider", - "localName": "Cursore", - "info": "Componente cursore, consente di selezionare trascinando tra un valore massimo e minimo specificato. È possibile specificare il colore, il numero di segmenti e le etichette visualizzate, e ricevere un callback per le variazioni di avanzamento.", - "lever": 4, - "family": 1, - "linkIds": [ - 43, - 44, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base del cursore", - "desc": [ - "【value】 : valore 【double】", - "【min】 : valore minimo 【double】", - "【max】 : valore massimo 【double】", - "【activeColor】 : colore attivo 【Color】", - "【inactiveColor】 : colore inattivo 【Color】", - "【onChanged】 : callback al cambiamento 【Function(double)】" - ] - }, - { - "file": "node2_lable.dart", - "name": "Segmentazione ed etichette del cursore", - "desc": [ - "【divisions】 : numero di segmenti 【int】", - "【label】 : testo della bolla di suggerimento 【String】", - "【onChangeStart】 : ascolto all'inizio dello scorrimento 【Function(double)】", - "【onChangeEnd】 : ascolto alla fine dello scorrimento 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_ja_JP.json deleted file mode 100644 index 626b39242..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_ja_JP.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 42, - "name": "Slider", - "localName": "スライダー", - "info": "スライダーコンポーネントは、指定された最大値と最小値の間でドラッグして選択することができます。色、分割数、表示されるラベルを指定でき、進捗変化のコールバックを受け取ります。", - "lever": 4, - "family": 1, - "linkIds": [ - 43, - 44, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "スライダーの基本使用", - "desc": [ - "【value】 : 数値 【double】", - "【min】 : 最小値 【double】", - "【max】 : 最大値 【double】", - "【activeColor】 : アクティブカラー 【Color】", - "【inactiveColor】 : 非アクティブカラー 【Color】", - "【onChanged】 : 変更時のコールバック 【Function(double)】" - ] - }, - { - "file": "node2_lable.dart", - "name": "スライダーの分割とラベル", - "desc": [ - "【divisions】 : 分割数 【int】", - "【label】 : ヒントバブルテキスト 【String】", - "【onChangeStart】 : スライド開始時のリスナー 【Function(double)】", - "【onChangeEnd】 : スライド終了時のリスナー 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_ko_KR.json deleted file mode 100644 index 4a82878cb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_ko_KR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 42, - "name": "Slider", - "localName": "슬라이더", - "info": "슬라이더 컴포넌트는 지정된 최대값과 최소값 사이에서 드래그하여 선택할 수 있습니다. 색상, 분할 수 및 표시된 라벨을 지정할 수 있으며, 진행률 변경 콜백을 받습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 43, - 44, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Slider 기본 사용", - "desc": [ - "【value】 : 값 【double】", - "【min】 : 최소값 【double】", - "【max】 : 최대값 【double】", - "【activeColor】 : 활성화 색상 【Color】", - "【inactiveColor】 : 비활성화 색상 【Color】", - "【onChanged】 : 변경 시 콜백 【Function(double)】" - ] - }, - { - "file": "node2_lable.dart", - "name": "Slider의 분할과 라벨", - "desc": [ - "【divisions】 : 분할 수 【int】", - "【label】 : 툴팁 텍스트 【String】", - "【onChangeStart】 : 슬라이드 시작 시 리스너 【Function(double)】", - "【onChangeEnd】 : 슬라이드 종료 시 리스너 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_pt_PT.json deleted file mode 100644 index e4a68925f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_pt_PT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 42, - "name": "Slider", - "localName": "Deslizador", - "info": "Componente deslizante que permite selecionar arrastando entre um valor máximo e mínimo especificados. Pode especificar a cor, o número de segmentos e as etiquetas exibidas, e recebe uma chamada de retorno para alterações de progresso.", - "lever": 4, - "family": 1, - "linkIds": [ - 43, - 44, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Slider", - "desc": [ - "【value】 : valor 【double】", - "【min】 : valor mínimo 【double】", - "【max】 : valor máximo 【double】", - "【activeColor】 : cor ativa 【Color】", - "【inactiveColor】 : cor inativa 【Color】", - "【onChanged】 : chamada de retorno ao alterar 【Function(double)】" - ] - }, - { - "file": "node2_lable.dart", - "name": "Segmentação e etiquetas do Slider", - "desc": [ - "【divisions】 : número de segmentos 【int】", - "【label】 : texto da bolha de dica 【String】", - "【onChangeStart】 : ouvinte ao iniciar o deslize 【Function(double)】", - "【onChangeEnd】 : ouvinte ao terminar o deslize 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_ru_RU.json deleted file mode 100644 index 64bbb857f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_ru_RU.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 42, - "name": "Slider", - "localName": "Ползунок", - "info": "Компонент ползунка, который позволяет выбирать значение, перетаскивая между указанными минимальным и максимальным значениями. Можно указать цвет, количество сегментов и отображаемые метки, а также получить обратный вызов при изменении прогресса.", - "lever": 4, - "family": 1, - "linkIds": [ - 43, - 44, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Slider", - "desc": [ - "【value】 : значение 【double】", - "【min】 : минимальное значение 【double】", - "【max】 : максимальное значение 【double】", - "【activeColor】 : активный цвет 【Color】", - "【inactiveColor】 : неактивный цвет 【Color】", - "【onChanged】 : обратный вызов при изменении 【Function(double)】" - ] - }, - { - "file": "node2_lable.dart", - "name": "Сегменты и метки Slider", - "desc": [ - "【divisions】 : количество сегментов 【int】", - "【label】 : текст подсказки 【String】", - "【onChangeStart】 : слушатель начала перетаскивания 【Function(double)】", - "【onChangeEnd】 : слушатель окончания перетаскивания 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_zh-CN.json deleted file mode 100644 index d8164d8fa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/desc_zh-CN.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 42, - "name": "Slider", - "localName": "滑块", - "info": "滑块组件,可以在指定的最大值和最小值之间拖动选择。可指定颜色、分段数及显示的标签,接收进度变化回调。", - "lever": 4, - "family": 1, - "linkIds": [ - 43, - 44, - 331 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Slider基本使用", - "desc": [ - "【value】 : 数值 【double】", - "【min】 : 最小值 【double】", - "【max】 : 最大值 【double】", - "【activeColor】 : 激活颜色 【Color】", - "【inactiveColor】 : 非激活颜色 【Color】", - "【onChanged】 : 改变时回调 【Function(double)】" - ] - }, - { - "file": "node2_lable.dart", - "name": "Slider的分段与标签", - "desc": [ - "【divisions】 : 分段数 【int】", - "【label】 : 提示气泡文字 【String】", - "【onChangeStart】 : 开始滑动时监听 【Function(double)】", - "【onChangeEnd】 : 滑动结束时监听 【Function(double)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Slider/node1_base.dart deleted file mode 100644 index 102802e02..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/node1_base.dart +++ /dev/null @@ -1,36 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class CustomSlider extends StatefulWidget { - const CustomSlider({Key? key}) : super(key: key); - - @override - _CustomSliderState createState() => _CustomSliderState(); -} - -class _CustomSliderState extends State { - double _value = 0.0; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Text('当前值:${_value.toStringAsFixed(1)}'), - Slider( - value: _value, - min: 0.0, - max: 360.0, - activeColor: Colors.orangeAccent, - inactiveColor: Colors.green.withAlpha(99), - onChanged: _onChange), - ], - ); - } - - void _onChange(value) { - setState(() { - _value = value; - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Slider/node2_lable.dart b/modules/widget_system/widgets/lib/StatefulWidget/Slider/node2_lable.dart deleted file mode 100644 index 268f5e8fe..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Slider/node2_lable.dart +++ /dev/null @@ -1,38 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-31 -/// contact me by email 1981462002@qq.com - -class DivisionsSlider extends StatefulWidget { - const DivisionsSlider({Key? key}) : super(key: key); - - @override - _DivisionsSliderState createState() => _DivisionsSliderState(); -} - -class _DivisionsSliderState extends State { - double _value = 0.0; - - @override - Widget build(BuildContext context) { - return Slider( - value: _value, - min: 0.0, - max: 360.0, - divisions: 10, - label: _value.toStringAsFixed(1), - activeColor: Colors.orangeAccent, - inactiveColor: Colors.green.withAlpha(99), - onChangeStart: (value) { - print('开始滑动:$value'); - }, - onChangeEnd: (value) { - print('滑动结束:$value'); - }, - onChanged: (value) { - setState(() { - _value = value; - }); - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_de_DE.json deleted file mode 100644 index d4526d874..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 242, - "name": "StatefulBuilder", - "localName": "Statuskonstruktor", - "info": "Es muss das builder-Attribut übergeben werden, um die Komponente zu konstruieren. Im builder kann StateSetter verwendet werden, um den Zustand der Unterkomponenten zu ändern, d.h. es ist möglich, eine lokal aktualisierte Komponente zu erstellen, ohne eine Klasse zu erstellen.", - "lever": 3, - "family": 1, - "linkIds": [ - 202, - 203, - 280, - 255 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von StatefulBuilder", - "desc": [ - "【builder】 : Komponentenkonstruktor 【StatefulWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_en_US.json deleted file mode 100644 index 7b339f1e6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 242, - "name": "StatefulBuilder", - "localName": "State Constructor", - "info": "The builder property needs to be passed to construct the component. In the builder, StateSetter can be used to change the state of the child component, which means a locally refreshed component can be implemented without creating a class.", - "lever": 3, - "family": 1, - "linkIds": [ - 202, - 203, - 280, - 255 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of StatefulBuilder", - "desc": [ - "【builder】 : Component Constructor 【StatefulWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_es_ES.json deleted file mode 100644 index f4ab980b7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 242, - "name": "StatefulBuilder", - "localName": "Constructor de Estado", - "info": "Requiere que se pase la propiedad builder para construir el componente. En el builder, se puede usar StateSetter para cambiar el estado del subcomponente, lo que permite implementar un componente con actualización local sin necesidad de crear una clase.", - "lever": 3, - "family": 1, - "linkIds": [ - 202, - 203, - 280, - 255 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de StatefulBuilder", - "desc": [ - "【builder】 : Constructor del componente 【StatefulWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_fr_FR.json deleted file mode 100644 index 56c80e8fc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 242, - "name": "StatefulBuilder", - "localName": "Constructeur d'état", - "info": "Nécessite de passer la propriété builder pour construire le composant. Dans le builder, vous pouvez utiliser StateSetter pour modifier l'état du sous-composant, ce qui permet de créer un composant à rafraîchissement local sans avoir à créer une classe.", - "lever": 3, - "family": 1, - "linkIds": [ - 202, - 203, - 280, - 255 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de StatefulBuilder", - "desc": [ - "【builder】 : Constructeur de composant 【StatefulWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_it_IT.json deleted file mode 100644 index 656f0161b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 242, - "name": "StatefulBuilder", - "localName": "Costruttore di Stato", - "info": "È necessario passare la proprietà builder per costruire il componente. Nel builder, è possibile utilizzare StateSetter per cambiare lo stato del componente figlio, il che consente di implementare un componente con aggiornamento locale senza dover creare una classe.", - "lever": 3, - "family": 1, - "linkIds": [ - 202, - 203, - 280, - 255 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di StatefulBuilder", - "desc": [ - "【builder】: Costruttore del componente 【StatefulWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_ja_JP.json deleted file mode 100644 index 8a72f81a9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 242, - "name": "StatefulBuilder", - "localName": "ステートフルビルダー", - "info": "builderプロパティを渡してコンポーネントを構築する必要があります。builder内でStateSetterを使用して子コンポーネントの状態を変更できます。つまり、クラスを作成せずに局所的な更新を行うコンポーネントを実現できます。", - "lever": 3, - "family": 1, - "linkIds": [ - 202, - 203, - 280, - 255 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "StatefulBuilderの基本使用", - "desc": [ - "【builder】 : コンポーネントビルダー 【StatefulWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_ko_KR.json deleted file mode 100644 index 12ea565a6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 242, - "name": "StatefulBuilder", - "localName": "상태 생성기", - "info": "builder 속성을 전달하여 컴포넌트를 구성해야 합니다. builder 내에서 StateSetter를 사용하여 하위 컴포넌트의 상태를 변경할 수 있습니다. 즉, 클래스를 생성하지 않고도 부분적으로 새로 고치는 컴포넌트를 구현할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 202, - 203, - 280, - 255 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "StatefulBuilder 기본 사용법", - "desc": [ - "【builder】 : 컴포넌트 생성기 【StatefulWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_pt_PT.json deleted file mode 100644 index c09e9ade2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 242, - "name": "StatefulBuilder", - "localName": "Construtor de Estado", - "info": "É necessário passar a propriedade builder para construir o componente. No builder, pode-se usar o StateSetter para alterar o estado do subcomponente, o que permite implementar um componente com atualização local sem a necessidade de criar uma classe.", - "lever": 3, - "family": 1, - "linkIds": [ - 202, - 203, - 280, - 255 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do StatefulBuilder", - "desc": [ - "【builder】: Construtor de Componentes 【StatefulWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_ru_RU.json deleted file mode 100644 index f6dd4db8e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 242, - "name": "StatefulBuilder", - "localName": "Конструктор состояния", - "info": "Необходимо передать свойство builder для создания компонента. В builder можно использовать StateSetter для изменения состояния дочернего компонента, что позволяет реализовать локальное обновление компонента без создания класса.", - "lever": 3, - "family": 1, - "linkIds": [ - 202, - 203, - 280, - 255 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование StatefulBuilder", - "desc": [ - "【builder】 : Конструктор компонента 【StatefulWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_zh-CN.json deleted file mode 100644 index 4105126d1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 242, - "name": "StatefulBuilder", - "localName": "状态构造器", - "info": "需要传入 builder 属性进行构造组件,在 builder 中可以使用 StateSetter 改变构造子组件的状态,即可以不用创建类而实现一个局部刷新的组件。", - "lever": 3, - "family": 1, - "linkIds": [ - 202, - 203, - 280, - 255 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "StatefulBuilder基本使用", - "desc": [ - "【builder】 : 组件构造器 【StatefulWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/node1_base.dart deleted file mode 100644 index 6cc0f4654..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatefulBuilder/node1_base.dart +++ /dev/null @@ -1,26 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class StatefulBuilderDemo extends StatelessWidget { - const StatefulBuilderDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - int count = 0; - - return StatefulBuilder( - builder: (ctx, setState) => ElevatedButton( - child: Text("当前数字: $count"), - onPressed: () { - setState(() { - count++; - }); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_de_DE.json deleted file mode 100644 index d00db6457..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 233, - "name": "StatusTransitionWidget", - "localName": "Statusübergangskomponente", - "info": "Abstrakte Klasse, die Aktualisierungen basierend auf den bereitgestellten Animatorstatusänderungen auslösen kann. Es gibt keine implementierten Unterklassen auf der Flutter-Framework-Ebene und keine Anwendungsfälle, daher scheint sie nicht sehr nützlich zu sein.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in StatusTransitionWidget", - "desc": [ - "【animation】 : Unterkomponente 【Animation】", - "Hier wird ein benutzerdefiniertes ColorStatusTransitionWidget verwendet, das beim Zustandswechsel des Animators verschiedene Farben erstellt." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_en_US.json deleted file mode 100644 index de7e4f032..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 233, - "name": "StatusTransitionWidget", - "localName": "Status Transition Widget", - "info": "Abstract class that can trigger refresh based on the state changes of the provided animator. There are no implemented subclasses in the Flutter framework layer, nor any usage scenarios, so it doesn't seem very useful.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to StatusTransitionWidget", - "desc": [ - "【animation】 : Child component 【Animation】", - "Here, a custom ColorStatusTransitionWidget is used to build different colors when the state of the animator changes." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_es_ES.json deleted file mode 100644 index 26137220d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 233, - "name": "StatusTransitionWidget", - "localName": "Componente de Transición de Estado", - "info": "Clase abstracta que puede desencadenar una actualización basada en los cambios de estado del animador proporcionado. No hay subclases implementadas en el nivel del framework Flutter, ni escenarios de uso, parece no ser muy útil.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a StatusTransitionWidget", - "desc": [ - "【animation】 : Componente hijo 【Animation】", - "Aquí se personaliza ColorStatusTransitionWidget para su uso, construyendo diferentes colores cuando cambia el estado del animador." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_fr_FR.json deleted file mode 100644 index 837becf1d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 233, - "name": "StatusTransitionWidget", - "localName": "Widget de transition d'état", - "info": "Classe abstraite qui peut déclencher un rafraîchissement en fonction des changements d'état de l'animateur fourni. Il n'y a pas de sous-classes implémentées au niveau du framework Flutter, ni de scénarios d'utilisation, ce qui semble peu utile.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction de StatusTransitionWidget", - "desc": [ - "【animation】 : Sous-composant 【Animation】", - "Ici, ColorStatusTransitionWidget est personnalisé pour être utilisé, construisant différentes couleurs lorsque l'état de l'animateur change." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_it_IT.json deleted file mode 100644 index 33ca6c76f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 233, - "name": "StatusTransitionWidget", - "localName": "Widget di transizione di stato", - "info": "Classe astratta che può attivare un aggiornamento in base ai cambiamenti di stato dell'animatore fornito. Non ci sono sottoclassi implementate a livello di framework Flutter, né scenari di utilizzo, sembra non essere molto utile.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a StatusTransitionWidget", - "desc": [ - "【animation】 : componente figlio 【Animation】", - "Qui viene utilizzato il ColorStatusTransitionWidget personalizzato, che costruisce colori diversi quando lo stato dell'animatore cambia." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_ja_JP.json deleted file mode 100644 index ecf6183b3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 233, - "name": "StatusTransitionWidget", - "localName": "ステータス遷移コンポーネント", - "info": "抽象クラスで、提供されたアニメーターの状態変化に基づいて更新をトリガーできます。Flutterフレームワーク層には実装されたサブクラスも使用シナリオもなく、あまり役に立たないと感じます。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "StatusTransitionWidget 紹介", - "desc": [ - "【animation】 : サブコンポーネント 【Animation】", - "ここでカスタムColorStatusTransitionWidgetを使用し、アニメーターの状態が変化したときに異なる色を構築します。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_ko_KR.json deleted file mode 100644 index d81411783..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 233, - "name": "StatusTransitionWidget", - "localName": "상태 전환 위젯", - "info": "추상 클래스로, 제공된 애니메이터 상태 변화에 따라 새로고침을 트리거할 수 있습니다. Flutter 프레임워크 레벨에서 구현된 하위 클래스도 없고, 사용 사례도 없어서 유용성이 크지 않아 보입니다.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "StatusTransitionWidget 소개", - "desc": [ - "【animation】 : 자식 위젯 【Animation】", - "여기서 사용자 정의 ColorStatusTransitionWidget을 사용하여 애니메이터의 상태가 변경될 때 다른 색상을 구성합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_pt_PT.json deleted file mode 100644 index ee2ef811c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 233, - "name": "StatusTransitionWidget", - "localName": "Componente de Transição de Estado", - "info": "Classe abstrata que pode acionar atualizações com base nas mudanças de estado do animador fornecido. Não há subclasses implementadas na camada do framework Flutter, nem cenários de uso, parece não ser muito útil.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao StatusTransitionWidget", - "desc": [ - "【animation】 : Subcomponente 【Animation】", - "Aqui, o ColorStatusTransitionWidget é personalizado para uso, construindo cores diferentes quando o estado do animador muda." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_ru_RU.json deleted file mode 100644 index 441f8cd4c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 233, - "name": "StatusTransitionWidget", - "localName": "Виджет перехода состояний", - "info": "Абстрактный класс, который может вызывать обновление при изменении состояния предоставленного аниматора. На уровне фреймворка Flutter нет реализованных подклассов, а также сценариев использования, что делает его не очень полезным.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в StatusTransitionWidget", - "desc": [ - "【animation】 : Дочерний компонент 【Animation】", - "Здесь используется пользовательский ColorStatusTransitionWidget, который строит различные цвета при изменении состояния аниматора." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_zh-CN.json deleted file mode 100644 index 523c58f62..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 233, - "name": "StatusTransitionWidget", - "localName": "状态转变组件", - "info": "抽象类,可以根据提供的动画器状态变化触发刷新。在 Flutter 框架层没有实现的子类,也没有使用的场景,感觉用处不是很大。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "StatusTransitionWidget 介绍", - "desc": [ - "【animation】 : 子组件 【Animation】", - "这里自定义 ColorStatusTransitionWidget 进行使用,在动画器的状态改变时构建不同的颜色。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/node1_base.dart deleted file mode 100644 index c431fb386..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StatusTransitionWidget/node1_base.dart +++ /dev/null @@ -1,74 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - - -class StatusTransitionWidgetDemo extends StatefulWidget { - const StatusTransitionWidgetDemo({Key? key}) : super(key: key); - - @override - _StatusTransitionWidgetDemoState createState() => - _StatusTransitionWidgetDemoState(); -} - -class _StatusTransitionWidgetDemoState extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - - @override - void initState() { - super.initState(); - _ctrl = AnimationController( - vsync: this, - duration: const Duration(seconds: 1), - )..forward(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: (){ - _ctrl.forward(from: 0); - }, - child: ColorStatusTransitionWidget( - anim: _ctrl, - ), - ); - } -} - -class ColorStatusTransitionWidget extends StatusTransitionWidget { - final Animation anim; - - const ColorStatusTransitionWidget({Key? key,required this.anim}) - : super(key: key, animation: anim); - - @override - Widget build(BuildContext context) { - Color color = Colors.blue; - switch (animation.status) { - case AnimationStatus.dismissed: - color = Colors.black; - break; - case AnimationStatus.forward: - color = Colors.blue; - break; - case AnimationStatus.reverse: - color = Colors.red; - break; - case AnimationStatus.completed: - color = Colors.green; - break; - } - - return Container( - alignment: Alignment.center, - width: 80, - height: 80, - decoration: BoxDecoration(color: color, shape: BoxShape.circle), - child: Text('${animation.status}'.split('.')[1],style: const TextStyle(color: Colors.white),), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_de_DE.json deleted file mode 100644 index 78dd51b74..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 200, - "name": "Stepper", - "localName": "Schrittkomponente", - "info": "Schrittkomponente, die schrittweise Operationen festlegen kann, kann den Inhalt der Schritte, die Bestätigungs- und Rückgängig-Buttons sowie die Ausrichtung der Schritte anpassen.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Stepper", - "desc": [ - "【steps】 : Schrittliste 【List】", - "【currentStep】 : Aktueller Schritt 【double】", - "【onStepTapped】 : Klick-Rückruf 【ValueChanged】", - "【onStepCancel】 : Rückgängig-Rückruf 【VoidCallback】", - "【controlsBuilder】 : Controller-Konstruktion 【ControlsWidgetBuilder】" - ] - }, - { - "file": "node2_type.dart", - "name": "Ausrichtung des Steppers", - "desc": [ - "【type】 : Ausrichtung 【StepperType】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_en_US.json deleted file mode 100644 index a769d9019..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 200, - "name": "Stepper", - "localName": "Step Component", - "info": "Step component, which can specify step-by-step operations, customize the content of the steps, the buttons for confirmation and return, and the direction of the step arrangement.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Stepper", - "desc": [ - "【steps】: Step list 【List】", - "【currentStep】: Current step 【double】", - "【onStepTapped】: Click callback 【ValueChanged】", - "【onStepCancel】: Previous step callback 【VoidCallback】", - "【controlsBuilder】: Controller construction 【ControlsWidgetBuilder】" - ] - }, - { - "file": "node2_type.dart", - "name": "Direction of Stepper", - "desc": [ - "【type】: Direction 【StepperType】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_es_ES.json deleted file mode 100644 index 9e71ee58c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 200, - "name": "Stepper", - "localName": "Componente de pasos", - "info": "Componente de pasos, permite especificar operaciones paso a paso, se puede personalizar el contenido de los pasos, los botones de confirmación y retroceso, así como la dirección de la secuencia de pasos.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Stepper", - "desc": [ - "【steps】 : Lista de pasos 【List】", - "【currentStep】 : Paso actual 【double】", - "【onStepTapped】 : Callback de clic 【ValueChanged】", - "【onStepCancel】 : Callback de retroceso 【VoidCallback】", - "【controlsBuilder】 : Constructor del controlador 【ControlsWidgetBuilder】" - ] - }, - { - "file": "node2_type.dart", - "name": "Dirección de Stepper", - "desc": [ - "【type】 : Dirección 【StepperType】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_fr_FR.json deleted file mode 100644 index 88f480104..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 200, - "name": "Stepper", - "localName": "Composant d'étapes", - "info": "Composant d'étapes, permet de spécifier des opérations étape par étape, peut personnaliser le contenu des étapes, les boutons de confirmation et de retour ainsi que la direction de l'arrangement des étapes.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Stepper", - "desc": [ - "【steps】 : Liste des étapes 【List】", - "【currentStep】 : Étape actuelle 【double】", - "【onStepTapped】 : Rappel de clic 【ValueChanged】", - "【onStepCancel】 : Rappel de l'étape précédente 【VoidCallback】", - "【controlsBuilder】 : Constructeur de contrôleur 【ControlsWidgetBuilder】" - ] - }, - { - "file": "node2_type.dart", - "name": "Direction de Stepper", - "desc": [ - "【type】 : Direction 【StepperType】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_it_IT.json deleted file mode 100644 index 064e5653f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 200, - "name": "Stepper", - "localName": "Componente Passaggi", - "info": "Componente passaggi, consente di specificare operazioni passo-passo, personalizzare il contenuto dei passaggi, i pulsanti di conferma e ritorno, e la direzione dell'ordinamento dei passaggi.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di Stepper", - "desc": [ - "【steps】 : Lista dei passaggi 【List】", - "【currentStep】 : Passaggio corrente 【double】", - "【onStepTapped】 : Callback al click 【ValueChanged】", - "【onStepCancel】 : Callback del passaggio precedente 【VoidCallback】", - "【controlsBuilder】 : Costruttore del controller 【ControlsWidgetBuilder】" - ] - }, - { - "file": "node2_type.dart", - "name": "Direzione di Stepper", - "desc": [ - "【type】 : Direzione 【StepperType】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_ja_JP.json deleted file mode 100644 index 9e7687943..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 200, - "name": "Stepper", - "localName": "ステップコンポーネント", - "info": "ステップコンポーネントは、ステップごとの操作を指定でき、ステップの内容、確認と戻るボタン、およびステップの並び方向をカスタマイズできます。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Stepperの基本使用", - "desc": [ - "【steps】 : ステップリスト 【List】", - "【currentStep】 : 現在のステップ 【double】", - "【onStepTapped】 : クリックコールバック 【ValueChanged】", - "【onStepCancel】 : 前のステップコールバック 【VoidCallback】", - "【controlsBuilder】 : コントローラー構築 【ControlsWidgetBuilder】" - ] - }, - { - "file": "node2_type.dart", - "name": "Stepperの方向", - "desc": [ - "【type】 : 方向 【StepperType】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_ko_KR.json deleted file mode 100644 index ea94ac5bb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 200, - "name": "Stepper", - "localName": "스텝 컴포넌트", - "info": "스텝 컴포넌트는 단계별 작업을 지정할 수 있으며, 스텝의 내용, 확인 및 뒤로 가기 버튼, 스텝 배열 방향을 사용자 정의할 수 있습니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Stepper 기본 사용", - "desc": [ - "【steps】 : 스텝 리스트 【List】", - "【currentStep】 : 현재 스텝 【double】", - "【onStepTapped】 : 클릭 콜백 【ValueChanged】", - "【onStepCancel】 : 이전 스텝 콜백 【VoidCallback】", - "【controlsBuilder】 : 컨트롤러 생성 【ControlsWidgetBuilder】" - ] - }, - { - "file": "node2_type.dart", - "name": "Stepper의 방향", - "desc": [ - "【type】 : 방향 【StepperType】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_pt_PT.json deleted file mode 100644 index 9b918a77c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 200, - "name": "Stepper", - "localName": "Componente de Passos", - "info": "Componente de passos, que permite especificar operações passo a passo, pode personalizar o conteúdo dos passos, os botões de confirmação e retorno, bem como a direção do arranjo dos passos.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Stepper", - "desc": [ - "【steps】 : Lista de passos 【List】", - "【currentStep】 : Passo atual 【double】", - "【onStepTapped】 : Callback de clique 【ValueChanged】", - "【onStepCancel】 : Callback de passo anterior 【VoidCallback】", - "【controlsBuilder】 : Construtor de controlador 【ControlsWidgetBuilder】" - ] - }, - { - "file": "node2_type.dart", - "name": "Direção do Stepper", - "desc": [ - "【type】 : Direção 【StepperType】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_ru_RU.json deleted file mode 100644 index ec410f0c1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 200, - "name": "Stepper", - "localName": "Компонент шагов", - "info": "Компонент шагов, который позволяет указать шаги выполнения операций, можно настроить содержимое шагов, кнопки подтверждения и возврата, а также направление расположения шагов.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Stepper", - "desc": [ - "【steps】 : Список шагов 【List】", - "【currentStep】 : Текущий шаг 【double】", - "【onStepTapped】 : Обратный вызов при нажатии 【ValueChanged】", - "【onStepCancel】 : Обратный вызов для предыдущего шага 【VoidCallback】", - "【controlsBuilder】 : Конструктор контроллера 【ControlsWidgetBuilder】" - ] - }, - { - "file": "node2_type.dart", - "name": "Направление Stepper", - "desc": [ - "【type】 : Направление 【StepperType】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_zh-CN.json deleted file mode 100644 index 23576b382..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 200, - "name": "Stepper", - "localName": "步骤组件", - "info": "步骤组件,可指定一步步的操作,可以自定义步骤的内容,确认和返回的按钮以及步骤排列的方向。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Stepper基本使用", - "desc": [ - "【steps】 : 步骤列表 【List】", - "【currentStep】 : 当前步骤 【double】", - "【onStepTapped】 : 点击回调 【ValueChanged】", - "【onStepCancel】 : 上一步回调 【VoidCallback】", - "【controlsBuilder】 : 控制器构造 【ControlsWidgetBuilder】" - ] - }, - { - "file": "node2_type.dart", - "name": "Stepper的方向", - "desc": [ - "【type】 : 方向 【StepperType】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/node1_base.dart deleted file mode 100644 index 6b2b2cfd1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/node1_base.dart +++ /dev/null @@ -1,104 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - -class StepperDemo extends StatefulWidget { - const StepperDemo({Key? key}) : super(key: key); - - @override - _StepperDemoState createState() => _StepperDemoState(); -} - -class _StepperDemoState extends State { - int _position = 0; - - final Map stepsData = { - "填写表单": '请按表单填写个人信息。', - "邮箱校验": '已将邮件发送至您的邮箱,请按照相关指示对您的账号进行邮箱校验。', - "注册完成": '恭喜您,注册完成!', - }; - - final List steps = const [ - Step( - title: Text("填写表单"), - content: SizedBox(height: 60, child: Text("请按表单填写个人信息")), - ), - Step(title: Text("邮箱校验"), content: Text("请对您的账号进行邮箱校验")), - Step(title: Text("注册完成"), content: Text("恭喜您,注册完成")), - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: Stepper( - type: StepperType.horizontal, - currentStep: _position, - onStepTapped: (index) { - setState(() { - _position = index; - }); - }, - onStepContinue: () { - setState(() { - if (_position < 2) { - _position++; - } - }); - }, - onStepCancel: () { - if (_position > 0) { - setState(() { - _position--; - }); - } - }, - controlsBuilder: (_, ControlsDetails details) { - return Row( - children: [ - ElevatedButton( - style: ElevatedButton.styleFrom( - backgroundColor: Colors.blue, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - )), - onPressed: details.onStepContinue, - child: const Icon( - Icons.check, - color: Colors.white, - ), - ), - ElevatedButton( - style: ElevatedButton.styleFrom( - backgroundColor: Colors.red, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - )), - onPressed: details.onStepCancel, - child: const Icon( - Icons.keyboard_backspace, - color: Colors.white, - ), - ), - ], - ); - }, - steps: stepsData.keys.map((e){ - bool isActive = stepsData.keys.toList().indexOf(e) ==_position; - return Step( - title: Text(e,style: TextStyle(color: isActive?Colors.blue:Colors.black),), - isActive: isActive, - state: _getState(stepsData.keys.toList().indexOf(e)), - content: SizedBox(height: 60, child: Text(stepsData[e]!)), - ); - }).toList()), - ); - } - - StepState _getState(index){ - if(_position==index) return StepState.editing; - if(_position>index) return StepState.complete; - return StepState.indexed; - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/node2_type.dart b/modules/widget_system/widgets/lib/StatefulWidget/Stepper/node2_type.dart deleted file mode 100644 index 0b42e6238..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Stepper/node2_type.dart +++ /dev/null @@ -1,104 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - -class VerticalStepper extends StatefulWidget { - const VerticalStepper({Key? key}) : super(key: key); - - @override - _VerticalStepperState createState() => _VerticalStepperState(); -} - -class _VerticalStepperState extends State { - int _position = 0; - - final Map stepsData = { - "填写表单": '请按表单填写个人信息。', - "邮箱校验": '已将邮件发送至您的邮箱,请按照相关指示对您的账号进行邮箱校验。', - "注册完成": '恭喜您,注册完成!', - }; - - final List steps = const[ - Step( - title: Text("填写表单"), - content: SizedBox(height: 60, child: Text("请按表单填写个人信息")), - ), - Step(title: Text("邮箱校验"), content: Text("请对您的账号进行邮箱校验")), - Step(title: Text("注册完成"), content: Text("恭喜您,注册完成")), - ]; - - @override - Widget build(BuildContext context) { - return Stepper( - type: StepperType.vertical, - currentStep: _position, - onStepTapped: (index) { - setState(() { - _position = index; - }); - }, - onStepContinue: () { - setState(() { - if (_position < 2) { - _position++; - } - }); - }, - onStepCancel: () { - if (_position > 0) { - setState(() { - _position--; - }); - } - }, - controlsBuilder: (_,ControlsDetails details) { - return Row( - children: [ - ElevatedButton( - style: ElevatedButton.styleFrom( - backgroundColor: Colors.blue, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - )), - onPressed: details.onStepContinue, - child: const Icon( - Icons.check, - color: Colors.white, - ), - ), - ElevatedButton( - style: ElevatedButton.styleFrom( - backgroundColor: Colors.red, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - )), - onPressed: details.onStepCancel, - child: const Icon( - Icons.keyboard_backspace, - color: Colors.white, - ), - ), - ], - ); - }, - steps: stepsData.keys.map((e) { - bool isActive = stepsData.keys.toList().indexOf(e) == _position; - return Step( - title: Text( - e, - style: TextStyle(color: isActive ? Colors.blue : Colors.black), - ), - isActive: isActive, - state: _getState(stepsData.keys.toList().indexOf(e)), - content: SizedBox(height: 60, child: Text(stepsData[e]!)), - ); - }).toList()); - } - - StepState _getState(index) { - if (_position == index) return StepState.editing; - if (_position > index) return StepState.complete; - return StepState.indexed; - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_de_DE.json deleted file mode 100644 index b344ba789..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 173, - "name": "StreamBuilder", - "localName": "Stream-Builder", - "info": "Kann ein Stream-Objekt angeben, kann den Status der asynchronen Ausführung überwachen und im Builder verschiedene Benutzeroberflächen basierend auf dem Status erstellen.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von StreamBuilder", - "desc": [ - "【stream】 : Unterkomponente 【Stream】", - "【initialData】 : Initiale Daten 【T】", - "【builder】 : Klickereignis 【AsyncWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_en_US.json deleted file mode 100644 index 7a9c86d23..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 173, - "name": "StreamBuilder", - "localName": "Stream Builder", - "info": "Can specify a stream object, able to listen to the state of asynchronous execution, and build different interfaces in the constructor based on the state.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of StreamBuilder", - "desc": [ - "【stream】 : Child component 【Stream】", - "【initialData】 : Initial data 【T】", - "【builder】 : Click event 【AsyncWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_es_ES.json deleted file mode 100644 index 6720b0f5e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 173, - "name": "StreamBuilder", - "localName": "Constructor de Flujo", - "info": "Puede especificar un objeto stream, capaz de escuchar el estado de ejecución asíncrona y construir diferentes interfaces en el constructor según el estado.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de StreamBuilder", - "desc": [ - "【stream】 : componente hijo 【Stream】", - "【initialData】 : datos iniciales 【T】", - "【builder】 : evento de clic 【AsyncWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_fr_FR.json deleted file mode 100644 index f61d970bc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 173, - "name": "StreamBuilder", - "localName": "Constructeur de flux", - "info": "Peut spécifier un objet stream, capable de surveiller l'état d'exécution asynchrone et de construire différentes interfaces dans le constructeur en fonction de l'état.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de StreamBuilder", - "desc": [ - "【stream】 : composant enfant 【Stream】", - "【initialData】 : données initiales 【T】", - "【builder】 : événement de clic 【AsyncWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_it_IT.json deleted file mode 100644 index 3d550c1de..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 173, - "name": "StreamBuilder", - "localName": "Costruttore di Flusso", - "info": "Può specificare un oggetto stream, in grado di monitorare lo stato dell'esecuzione asincrona e costruire diverse interfacce nel costruttore in base allo stato.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di StreamBuilder", - "desc": [ - "【stream】 : Componente figlio 【Stream】", - "【initialData】 : Dati iniziali 【T】", - "【builder】 : Evento di clic 【AsyncWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_ja_JP.json deleted file mode 100644 index bc75ba75d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 173, - "name": "StreamBuilder", - "localName": "ストリームビルダー", - "info": "ストリームオブジェクトを指定でき、非同期実行の状態を監視し、ビルダー内で状態に応じて異なるインターフェースを構築できます。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "StreamBuilderの基本使用", - "desc": [ - "【stream】 : 子コンポーネント 【Stream】", - "【initialData】 : 初期データ 【T】", - "【builder】 : クリックイベント 【AsyncWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_ko_KR.json deleted file mode 100644 index 9731100a4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 173, - "name": "StreamBuilder", - "localName": "스트림 빌더", - "info": "스트림 객체를 지정할 수 있으며, 비동기 실행 상태를 감시하고, 빌더에서 상태에 따라 다른 인터페이스를 구성할 수 있습니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "StreamBuilder 기본 사용", - "desc": [ - "【stream】 : 자식 컴포넌트 【Stream】", - "【initialData】 : 초기 데이터 【T】", - "【builder】 : 클릭 이벤트 【AsyncWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_pt_PT.json deleted file mode 100644 index e56a75c6e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 173, - "name": "StreamBuilder", - "localName": "Construtor de Fluxo", - "info": "Pode especificar um objeto stream, capaz de monitorar o estado da execução assíncrona e construir diferentes interfaces no construtor com base no estado.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do StreamBuilder", - "desc": [ - "【stream】 : Componente Filho 【Stream】", - "【initialData】 : Dados Iniciais 【T】", - "【builder】 : Evento de Clique 【AsyncWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_ru_RU.json deleted file mode 100644 index 03020df17..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 173, - "name": "StreamBuilder", - "localName": "Потоковый конструктор", - "info": "Можно указать объект stream, который может отслеживать состояние асинхронного выполнения и строить различные интерфейсы в конструкторе в зависимости от состояния.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование StreamBuilder", - "desc": [ - "【stream】 : Дочерний компонент 【Stream】", - "【initialData】 : Начальные данные 【T】", - "【builder】 : Событие клика 【AsyncWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_zh-CN.json deleted file mode 100644 index f6be1cc3d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 173, - "name": "StreamBuilder", - "localName": "流构造器", - "info": "可指定一个stream对象,能够监听异步执行的状态,并在构造器中根据状态构建不同的界面。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "StreamBuilder基本使用", - "desc": [ - "【stream】 : 子组件 【Stream】", - "【initialData】 : 初始数据 【T】", - "【builder】 : 点击事件 【AsyncWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/node1_base.dart deleted file mode 100644 index 2abad5656..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/StreamBuilder/node1_base.dart +++ /dev/null @@ -1,101 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomStreamBuilder extends StatefulWidget { - const CustomStreamBuilder({Key? key}) : super(key: key); - - @override - _CustomStreamBuilderState createState() => _CustomStreamBuilderState(); -} - -class _CustomStreamBuilderState extends State { - final CountGenerator _generator = CountGenerator()..increment(); - - @override - void dispose() { - _generator.dispose(); //关闭控制器 - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Row( - mainAxisSize: MainAxisSize.min, - children: [ - ElevatedButton( - style: ElevatedButton.styleFrom( - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - )), - child: const Icon( - Icons.add, - color: Colors.white, - ), - onPressed: () async { - await _generator.increment(); - }, - ), - _buildStreamBuilder(), - ElevatedButton( - style: ElevatedButton.styleFrom( - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - )), - child: const Icon( - Icons.remove, - color: Colors.white, - ), - onPressed: () async { - await _generator.minus(); - }, - ), - ], - ); - } - - Widget _buildStreamBuilder() => StreamBuilder( - stream: _generator.state, - builder: (BuildContext context, AsyncSnapshot snap) { - print(snap); - if (snap.connectionState == ConnectionState.done) { - return const Text('Done'); - } - if (snap.connectionState == ConnectionState.active) { - return Text( - snap.data.toString(), - style: Theme.of(context).textTheme.bodyMedium, - ); - } - if (snap.connectionState == ConnectionState.waiting) { - return const CircularProgressIndicator(); - } - if (snap.hasError) { - return const Text('Error'); - } - return Container(); - }); -} - -class CountGenerator { - int _count = 0; //计数器数据 - final StreamController _controller = StreamController(); //控制器 - - Stream get state => _controller.stream; //获取状态流 - int get count => _count; //获取计数器数据 - - void dispose() {//关闭控制器 - _controller.close(); - } - - Future increment() async {//增加记数方法 - _controller.add(++_count); - } - - Future minus() async {//增加记数方法 - _controller.add(--_count); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_de_DE.json deleted file mode 100644 index a11d67fa5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_de_DE.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 40, - "name": "Switch", - "localName": "Schalter", - "info": "Umschaltknopf, häufig für Konfigurationswechsel verwendet, kann die Farbe des kleinen Kreises, Bilder, Farbe der Gleitschiene usw. angeben, empfängt Rückrufe bei Zustandsänderungen.", - "lever": 4, - "family": 1, - "linkIds": [ - 41, - 18 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Switch", - "desc": [ - "【inactiveThumbColor】 : Farbe des nicht ausgewählten kleinen Kreises 【Color】", - "【inactiveTrackColor】 : Farbe der nicht ausgewählten Gleitschiene 【Color】", - "【activeColor】 : Farbe des ausgewählten kleinen Kreises 【Color】", - "【activeTrackColor】 : Farbe der ausgewählten Gleitschiene 【Color】", - "【onChanged】 : Umschalt-Rückruf 【Function(double)】", - "Bei onChanged werden drei Zustände zurückgerufen: true, null, false" - ] - }, - { - "file": "node2_image.dart", - "name": "Switch Bild", - "desc": [ - "【inactiveThumbImage】 : Bild des nicht ausgewählten kleinen Kreises 【ImageProvider】", - "【activeThumbImage】 : Bild des ausgewählten kleinen Kreises 【ImageProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_en_US.json deleted file mode 100644 index 224367a63..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_en_US.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 40, - "name": "Switch", - "localName": "Toggle Button", - "info": "Toggle button, commonly used for configuration switching, can specify small circle color, image, track color, etc., and receives state change callbacks.", - "lever": 4, - "family": 1, - "linkIds": [ - 41, - 18 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Switch", - "desc": [ - "【inactiveThumbColor】 : Unselected small circle color 【Color】", - "【inactiveTrackColor】 : Unselected track color 【Color】", - "【activeColor】 : Selected small circle color 【Color】", - "【activeTrackColor】 : Selected track color 【Color】", - "【onChanged】 : Toggle callback 【Function(double)】", - "When onChanged, callbacks for true, null, and false states" - ] - }, - { - "file": "node2_image.dart", - "name": "Switch Image", - "desc": [ - "【inactiveThumbImage】 : Unselected small circle image 【ImageProvider】", - "【activeThumbImage】 : Selected small circle image 【ImageProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_es_ES.json deleted file mode 100644 index f05a37f03..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_es_ES.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 40, - "name": "Switch", - "localName": "Interruptor", - "info": "Interruptor de selección, comúnmente utilizado para cambiar configuraciones, puede especificar el color del círculo pequeño, la imagen, el color de la ranura, etc., y recibe una devolución de llamada para cambios de estado.", - "lever": 4, - "family": 1, - "linkIds": [ - 41, - 18 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Switch", - "desc": [ - "【inactiveThumbColor】 : Color del círculo pequeño no seleccionado 【Color】", - "【inactiveTrackColor】 : Color de la ranura no seleccionada 【Color】", - "【activeColor】 : Color del círculo pequeño seleccionado 【Color】", - "【activeTrackColor】 : Color de la ranura seleccionada 【Color】", - "【onChanged】 : Devolución de llamada de cambio 【Function(double)】", - " En onChanged, devuelve tres estados: true, null, false" - ] - }, - { - "file": "node2_image.dart", - "name": "Imagen de Switch", - "desc": [ - "【inactiveThumbImage】 : Imagen del círculo pequeño no seleccionado 【ImageProvider】", - "【activeThumbImage】 : Imagen del círculo pequeño seleccionado 【ImageProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_fr_FR.json deleted file mode 100644 index dd1fa7bcf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_fr_FR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 40, - "name": "Switch", - "localName": "Bouton de commutation", - "info": "Bouton de commutation, souvent utilisé pour changer les configurations, peut spécifier la couleur du petit cercle, l'image, la couleur de la glissière, etc., et reçoit un rappel de changement d'état.", - "lever": 4, - "family": 1, - "linkIds": [ - 41, - 18 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Switch", - "desc": [ - "【inactiveThumbColor】 : Couleur du petit cercle non sélectionné 【Color】", - "【inactiveTrackColor】 : Couleur de la glissière non sélectionnée 【Color】", - "【activeColor】 : Couleur du petit cercle sélectionné 【Color】", - "【activeTrackColor】 : Couleur de la glissière sélectionnée 【Color】", - "【onChanged】 : Rappel de commutation 【Function(double)】", - " Lors de onChanged, rappelle trois états : true, null, false" - ] - }, - { - "file": "node2_image.dart", - "name": "Image de Switch", - "desc": [ - "【inactiveThumbImage】 : Image du petit cercle non sélectionné 【ImageProvider】", - "【activeThumbImage】 : Image du petit cercle sélectionné 【ImageProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_it_IT.json deleted file mode 100644 index 70dedac9a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_it_IT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 40, - "name": "Switch", - "localName": "Interruttore", - "info": "Interruttore per la commutazione, spesso utilizzato per il cambio di configurazione, può specificare il colore del cerchio, l'immagine, il colore della scanalatura, ecc., riceve un callback per i cambiamenti di stato.", - "lever": 4, - "family": 1, - "linkIds": [ - 41, - 18 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Switch", - "desc": [ - "【inactiveThumbColor】 : Colore del cerchio non selezionato 【Color】", - "【inactiveTrackColor】 : Colore della scanalatura non selezionata 【Color】", - "【activeColor】 : Colore del cerchio selezionato 【Color】", - "【activeTrackColor】 : Colore della scanalatura selezionata 【Color】", - "【onChanged】 : Callback di commutazione 【Function(double)】\"", - " Durante onChanged, il callback restituisce tre stati: true, null, false" - ] - }, - { - "file": "node2_image.dart", - "name": "Immagine di Switch", - "desc": [ - "【inactiveThumbImage】 : Immagine del cerchio non selezionato 【ImageProvider】", - "【activeThumbImage】 : Immagine del cerchio selezionato 【ImageProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_ja_JP.json deleted file mode 100644 index 0955a1a6e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_ja_JP.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 40, - "name": "Switch", - "localName": "スイッチ", - "info": "トグルボタンを切り替えます。設定の切り替えによく使用され、小さな円の色や画像、スライドトラックの色などを指定できます。状態変化のコールバックを受け取ります。", - "lever": 4, - "family": 1, - "linkIds": [ - 41, - 18 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Switchの基本的な使い方", - "desc": [ - "【inactiveThumbColor】 : 未選択時の小さな円の色 【Color】", - "【inactiveTrackColor】 : 未選択時のスライドトラックの色 【Color】", - "【activeColor】 : 選択時の小さな円の色 【Color】", - "【activeTrackColor】 : 選択時のスライドトラックの色 【Color】", - "【onChanged】 : 切り替えコールバック 【Function(double)】", - " onChanged時、true、null、falseの3つの状態をコールバックします" - ] - }, - { - "file": "node2_image.dart", - "name": "Switchの画像", - "desc": [ - "【inactiveThumbImage】 : 未選択時の小さな円の画像 【ImageProvider】", - "【activeThumbImage】 : 選択時の小さな円の画像 【ImageProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_ko_KR.json deleted file mode 100644 index ebaf48ab6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_ko_KR.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 40, - "name": "Switch", - "localName": "스위치", - "info": "선택 버튼 전환, 주로 설정 전환에 사용되며, 작은 원의 색상, 이미지, 슬롯 색상 등을 지정할 수 있으며, 상태 변화 콜백을 받습니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 41, - 18 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Switch 기본 사용법", - "desc": [ - "【inactiveThumbColor】 : 선택되지 않은 작은 원 색상 【Color】", - "【inactiveTrackColor】 : 선택되지 않은 슬롯 색상 【Color】", - "【activeColor】 : 선택된 작은 원 색상 【Color】", - "【activeTrackColor】 : 선택된 슬롯 색상 【Color】", - "【onChanged】 : 전환 콜백 【Function(double)】\"", - " onChanged 시, true, null, false 세 가지 상태를 콜백합니다." - ] - }, - { - "file": "node2_image.dart", - "name": "Switch 이미지", - "desc": [ - "【inactiveThumbImage】 : 선택되지 않은 작은 원 이미지 【ImageProvider】", - "【activeThumbImage】 : 선택된 작은 원 이미지 【ImageProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_pt_PT.json deleted file mode 100644 index 922b3f170..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_pt_PT.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 40, - "name": "Switch", - "localName": "Botão de Alternar", - "info": "Botão de alternar, frequentemente usado para alternar configurações, pode especificar a cor do círculo pequeno, imagem, cor da faixa deslizante, etc., e recebe uma chamada de retorno para mudanças de estado.", - "lever": 4, - "family": 1, - "linkIds": [ - 41, - 18 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Switch", - "desc": [ - "【inactiveThumbColor】 : Cor do círculo pequeno quando não selecionado 【Color】", - "【inactiveTrackColor】 : Cor da faixa deslizante quando não selecionada 【Color】", - "【activeColor】 : Cor do círculo pequeno quando selecionado 【Color】", - "【activeTrackColor】 : Cor da faixa deslizante quando selecionada 【Color】", - "【onChanged】 : Chamada de retorno para alternar 【Function(double)】\"", - " Quando onChanged, retorna três estados: true, null, false" - ] - }, - { - "file": "node2_image.dart", - "name": "Imagem do Switch", - "desc": [ - "【inactiveThumbImage】 : Imagem do círculo pequeno quando não selecionado 【ImageProvider】", - "【activeThumbImage】 : Imagem do círculo pequeno quando selecionado 【ImageProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_ru_RU.json deleted file mode 100644 index b4c01d161..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_ru_RU.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 40, - "name": "Switch", - "localName": "Переключатель", - "info": "Переключатель, часто используется для изменения настроек, можно указать цвет маленького круга, изображение, цвет дорожки и т.д., принимает обратный вызов при изменении состояния.", - "lever": 4, - "family": 1, - "linkIds": [ - 41, - 18 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Базовое использование Switch", - "desc": [ - "【inactiveThumbColor】 : Цвет маленького круга в неактивном состоянии 【Color】", - "【inactiveTrackColor】 : Цвет дорожки в неактивном состоянии 【Color】", - "【activeColor】 : Цвет маленького круга в активном состоянии 【Color】", - "【activeTrackColor】 : Цвет дорожки в активном состоянии 【Color】", - "【onChanged】 : Обратный вызов при переключении 【Function(double)】", - " При onChanged, обратный вызов возвращает три состояния: true, null, false" - ] - }, - { - "file": "node2_image.dart", - "name": "Изображение Switch", - "desc": [ - "【inactiveThumbImage】 : Изображение маленького круга в неактивном состоянии 【ImageProvider】", - "【activeThumbImage】 : Изображение маленького круга в активном состоянии 【ImageProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_zh-CN.json deleted file mode 100644 index c034cac0c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/desc_zh-CN.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id": 40, - "name": "Switch", - "localName": "切钮", - "info": "切换选钮,常用于配置的切换,可指定小圆颜色、图片,滑槽颜色等,接收状态变化回调。", - "lever": 4, - "family": 1, - "linkIds": [ - 41, - 18 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Switch基础用法", - "desc": [ - "【inactiveThumbColor】 : 未选中小圈颜色 【Color】", - "【inactiveTrackColor】 : 未选中滑槽颜色 【Color】", - "【activeColor】 : 选中时小圈颜色 【Color】", - "【activeTrackColor】 : 选中时滑槽颜色 【Color】", - "【onChanged】 : 切换回调 【Function(double)】\"", - " onChanged时,回调true、null、false三种状态" - ] - }, - { - "file": "node2_image.dart", - "name": "Switch图片", - "desc": [ - "【inactiveThumbImage】 : 未选中小圈图片 【ImageProvider】", - "【activeThumbImage】 : 选中小圈图片 【ImageProvider】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Switch/node1_base.dart deleted file mode 100644 index 7ba534a7d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/node1_base.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-14 -/// contact me by email 1981462002@qq.com - -class CustomSwitch extends StatefulWidget { - const CustomSwitch({Key? key}) : super(key: key); - - @override - _CustomSwitchState createState() => _CustomSwitchState(); -} - -class _CustomSwitchState extends State { - final List colors = const[ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green - ]; - bool _checked = false; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: colors - .map((e) => Switch( - value: _checked, - inactiveThumbColor: e, - inactiveTrackColor: Colors.grey.withAlpha(88), - activeColor: Colors.green, - activeTrackColor: Colors.orange, - onChanged: (v) { - setState(() => _checked = v); - })) - .toList(), - ); - } -} - diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Switch/node2_image.dart b/modules/widget_system/widgets/lib/StatefulWidget/Switch/node2_image.dart deleted file mode 100644 index 5487e25fe..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Switch/node2_image.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-14 -/// contact me by email 1981462002@qq.com - -class ImageSwitch extends StatefulWidget { - const ImageSwitch({Key? key}) : super(key: key); - - @override - _ImageSwitchState createState() => _ImageSwitchState(); -} - -class _ImageSwitchState extends State { - final List imgs = const [ - "assets/images/head_icon/icon_5.webp", - "assets/images/head_icon/icon_6.webp", - "assets/images/head_icon/icon_7.webp", - "assets/images/head_icon/icon_8.webp" - ]; - bool _checked = false; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: imgs - .map((e) => - Switch( - value: _checked, - inactiveThumbImage: AssetImage(e), - activeThumbImage: const AssetImage('assets/images/icon_head.webp'), - onChanged: (v) { - setState(() => _checked = v); - })) - .toList(), - ); - } -} - diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_de_DE.json deleted file mode 100644 index d3a0a2e48..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 59, - "name": "TabBarView", - "localName": "Tab", - "info": "Wird normalerweise mit TabBar verwendet, um den Slide-Effekt zu erzielen. Wird normalerweise nicht allein verwendet.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarView muss mit TabBar verwendet werden", - "desc": [ - "【controller】 : Controller 【TabController】", - "【children】 : Kinder 【Indikatorfarbe】", - "【physics】 : Verhalten 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_en_US.json deleted file mode 100644 index 3d8755bf0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 59, - "name": "TabBarView", - "localName": "Tab Page", - "info": "Usually used in conjunction with TabBar to achieve the effect of sliding pages. It is generally not used alone.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarView needs to be used in conjunction with TabBar", - "desc": [ - "【controller】 : Controller 【TabController】", - "【children】 : Children 【Indicator Color】", - "【physics】 : Behavior 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_es_ES.json deleted file mode 100644 index 4038a99d9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 59, - "name": "TabBarView", - "localName": "Pestañas", - "info": "Normalmente se usa junto con TabBar para lograr un efecto de deslizamiento de páginas. Generalmente no se usa por separado.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarView debe usarse junto con TabBar", - "desc": [ - "【controller】 : Controlador 【TabController】", - "【children】 : Hijos 【Color del indicador】", - "【physics】 : Comportamiento 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_fr_FR.json deleted file mode 100644 index 5749b4580..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 59, - "name": "TabBarView", - "localName": "Onglets", - "info": "Généralement utilisé avec TabBar pour réaliser un effet de glissement de pages. Il n'est généralement pas utilisé seul.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarView doit être utilisé avec TabBar", - "desc": [ - "【controller】 : Contrôleur 【TabController】", - "【children】 : Enfants 【Couleur de l'indicateur】", - "【physics】 : Comportement 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_it_IT.json deleted file mode 100644 index d9855ddbe..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 59, - "name": "TabBarView", - "localName": "Schede", - "info": "Generalmente utilizzato insieme a TabBar per ottenere un effetto di scorrimento delle pagine. Di solito non viene utilizzato da solo.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarView deve essere utilizzato insieme a TabBar", - "desc": [ - "【controller】 : Controller 【TabController】", - "【children】 : Figli 【Colore dell'indicatore】", - "【physics】 : Comportamento 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_ja_JP.json deleted file mode 100644 index 747d2d1ee..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 59, - "name": "TabBarView", - "localName": "タブビュー", - "info": "通常はTabBarと一緒に使用し、スライドページの効果を実現します。通常は単独で使用しません。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarViewはTabBarと一緒に使用する必要があります", - "desc": [ - "【controller】 : コントローラー 【TabController】", - "【children】 : 子供たち 【インジケーターカラー】", - "【physics】 : パフォーマンス 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_ko_KR.json deleted file mode 100644 index 1202916c6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 59, - "name": "TabBarView", - "localName": "탭 뷰", - "info": "일반적으로 TabBar와 함께 사용되어 페이지 슬라이딩 효과를 구현합니다. 일반적으로 단독으로 사용되지 않습니다.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarView는 TabBar와 함께 사용해야 합니다", - "desc": [ - "【controller】 : 컨트롤러 【TabController】", - "【children】 : 자식들 【인디케이터 색상】", - "【physics】 : 동작 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_pt_PT.json deleted file mode 100644 index 53848ce7c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 59, - "name": "TabBarView", - "localName": "Separador de Páginas", - "info": "Geralmente usado em conjunto com o TabBar para alcançar o efeito de deslizar páginas. Normalmente não é usado sozinho.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarView precisa ser usado em conjunto com o TabBar", - "desc": [ - "【controller】 : Controlador 【TabController】", - "【children】 : Crianças 【Cor do indicador】", - "【physics】 : Comportamento 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_ru_RU.json deleted file mode 100644 index 542c10f83..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 59, - "name": "TabBarView", - "localName": "Вкладки", - "info": "Обычно используется вместе с TabBar для реализации эффекта скольжения страниц. Обычно не используется отдельно.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarView должен использоваться вместе с TabBar", - "desc": [ - "【controller】 : Контроллер 【TabController】", - "【children】 : Дети 【Цвет индикатора】", - "【physics】 : Поведение 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_zh-CN.json deleted file mode 100644 index 8e7388e92..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 59, - "name": "TabBarView", - "localName": "标签页", - "info": "通常与TabBar联用,实现滑页的效果。一般不单独使用。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarView需要与TabBar联用", - "desc": [ - "【controller】 : 控制器 【TabController】", - "【children】 : 孩子们 【指示器颜色】", - "【physics】 : 表现 【ScrollPhysics】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/node1_base.dart deleted file mode 100644 index 9e5a3e7c8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TabBarView/node1_base.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomTabBarView extends StatefulWidget { - const CustomTabBarView({Key? key}) : super(key: key); - - @override - _CustomTabBarViewState createState() => _CustomTabBarViewState(); -} - -class _CustomTabBarViewState extends State with SingleTickerProviderStateMixin { - final List tabs = const [ - '风画庭', - '雨韵舍', - '雷鸣殿', - '电疾堂', - '霜寒阁', - '雪月楼', - ]; - late TabController _tabController; - - @override - void initState() { - super.initState(); - _tabController = TabController(vsync: this, length: tabs.length); - } - - @override - void dispose() { - _tabController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildTabBar(), - Container( - color: Colors.purple, - width: MediaQuery.of(context).size.width, - height: 200, - child: _buildTableBarView()) - ], - ); - } - - Widget _buildTabBar() => TabBar( - onTap: (tab) => print(tab), - labelStyle: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - unselectedLabelStyle: const TextStyle(fontSize: 16), - isScrollable: true, - controller: _tabController, - labelColor: Colors.blue, - indicatorWeight: 3, - indicatorPadding: const EdgeInsets.symmetric(horizontal: 10), - unselectedLabelColor: Colors.grey, - indicatorColor: Colors.orangeAccent, - tabs: tabs.map((e) => Tab(text: e)).toList(), - ); - - Widget _buildTableBarView() => TabBarView( - controller: _tabController, - children: tabs.map((e) => Center( - child: Text( - e, - style: const TextStyle( - color: Colors.white, - fontSize: 20, - ), - ))).toList()); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_de_DE.json deleted file mode 100644 index 7391d0cc0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 151, - "name": "TableRowInkWell", - "localName": "Tabellen-Wasserwellen", - "info": "Kann nur für Tabellen-Wasserwellen verwendet werden, empfängt Klick-, Doppelklick-, Langklick- und Hervorhebungsänderungsereignisse. Die Wasserwellen wirken auf eine Tabellenzeile.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TableRowInkWell grundlegende Ereignisse", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【onTap】 : Klickereignis 【Function()】", - "【onDoubleTap】 : Doppelklickereignis 【Function()】", - "【onLongPress】 : Langklickereignis 【Function()】", - "【onHighlightChanged】 : Hervorhebungsänderungsrückruf 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_en_US.json deleted file mode 100644 index e2d8c29c4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 151, - "name": "TableRowInkWell", - "localName": "Table Ripple", - "info": "Can only be used for Table's ripple, receives click, double-click, long-press, and highlight change events, the ripple will be applied to a row of the table.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TableRowInkWell Basic Events", - "desc": [ - "【child】 : Child component 【Widget】", - "【onTap】 : Click event 【Function()】", - "【onDoubleTap】 : Double-click event 【Function()】", - "【onLongPress】 : Long-press event 【Function()】", - "【onHighlightChanged】 : Highlight change callback 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_es_ES.json deleted file mode 100644 index cbdd77c48..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 151, - "name": "TableRowInkWell", - "localName": "Onda de tabla", - "info": "Solo se puede usar para la onda de la tabla, recibe eventos de clic, doble clic, pulsación larga y cambios de resaltado, la onda actuará en una fila de la tabla.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventos básicos de TableRowInkWell", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【onTap】 : Evento de clic 【Function()】", - "【onDoubleTap】 : Evento de doble clic 【Function()】", - "【onLongPress】 : Evento de pulsación larga 【Function()】", - "【onHighlightChanged】 : Callback de cambio de resaltado 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_fr_FR.json deleted file mode 100644 index 184c25082..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 151, - "name": "TableRowInkWell", - "localName": "Ondulation de Tableau", - "info": "Utilisé uniquement pour les ondulations dans un Tableau, reçoit les événements de clic, double-clic, appui long et changement de surbrillance, l'ondulation s'applique à une ligne du tableau.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événements de base de TableRowInkWell", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【onTap】 : Événement de clic 【Function()】", - "【onDoubleTap】 : Événement de double-clic 【Function()】", - "【onLongPress】 : Événement d'appui long 【Function()】", - "【onHighlightChanged】 : Rappel de changement de surbrillance 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_it_IT.json deleted file mode 100644 index 63bc0fdac..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 151, - "name": "TableRowInkWell", - "localName": "Effetto Riga Tabella", - "info": "Può essere utilizzato solo per l'effetto ondulato nelle tabelle, riceve eventi di clic, doppio clic, pressione prolungata e cambiamenti di evidenziazione, l'effetto ondulato agirà su una riga della tabella.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventi Base di TableRowInkWell", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【onTap】 : Evento di clic 【Function()】", - "【onDoubleTap】 : Evento di doppio clic 【Function()】", - "【onLongPress】 : Evento di pressione prolungata 【Function()】", - "【onHighlightChanged】 : Callback di cambiamento di evidenziazione 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_ja_JP.json deleted file mode 100644 index 0c36282fd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 151, - "name": "TableRowInkWell", - "localName": "テーブル波紋", - "info": "Table専用の波紋で、クリック、ダブルクリック、長押し、ハイライト変更イベントを受け取り、波紋はテーブルの一行に作用します。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TableRowInkWell基本イベント", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【onTap】 : クリックイベント 【Function()】", - "【onDoubleTap】 : ダブルクリックイベント 【Function()】", - "【onLongPress】 : 長押しイベント 【Function()】", - "【onHighlightChanged】 : ハイライト変更コールバック 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_ko_KR.json deleted file mode 100644 index 236a4c40c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 151, - "name": "TableRowInkWell", - "localName": "테이블 물결 효과", - "info": "Table에서만 사용 가능한 물결 효과로, 클릭, 더블 클릭, 롱 프레스, 하이라이트 변경 이벤트를 받습니다. 물결 효과는 테이블의 한 행에 적용됩니다.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TableRowInkWell 기본 이벤트", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【onTap】 : 클릭 이벤트 【Function()】", - "【onDoubleTap】 : 더블 클릭 이벤트 【Function()】", - "【onLongPress】 : 롱 프레스 이벤트 【Function()】", - "【onHighlightChanged】 : 하이라이트 변경 콜백 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_pt_PT.json deleted file mode 100644 index d107384fa..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 151, - "name": "TableRowInkWell", - "localName": "Onda de tinta da tabela", - "info": "Só pode ser usado para a onda de tinta da tabela, recebe eventos de clique, duplo clique, pressão longa e mudança de destaque, a onda de tinta será aplicada a uma linha da tabela.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventos básicos do TableRowInkWell", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【onTap】 : Evento de clique 【Function()】", - "【onDoubleTap】 : Evento de duplo clique 【Function()】", - "【onLongPress】 : Evento de pressão longa 【Function()】", - "【onHighlightChanged】 : Callback de mudança de destaque 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_ru_RU.json deleted file mode 100644 index 0cd39d75d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 151, - "name": "TableRowInkWell", - "localName": "Табличная волна", - "info": "Может использоваться только для волны в таблице, принимает события нажатия, двойного нажатия, длительного нажатия и изменения подсветки, волна будет применяться к строке таблицы.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основные события TableRowInkWell", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【onTap】 : Событие нажатия 【Function()】", - "【onDoubleTap】 : Событие двойного нажатия 【Function()】", - "【onLongPress】 : Событие длительного нажатия 【Function()】", - "【onHighlightChanged】 : Обратный вызов изменения подсветки 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_zh-CN.json deleted file mode 100644 index 47f41a158..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 151, - "name": "TableRowInkWell", - "localName": "表格水波纹", - "info": "只能用于Table的水波纹,接收点击、双击、长按、高亮变化事件,水波纹会作用于表格的一行。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TableRowInkWell基本事件", - "desc": [ - "【child】 : 子组件 【Widget】", - "【onTap】 : 点击事件 【Function()】", - "【onDoubleTap】 : 双击事件 【Function()】", - "【onLongPress】 : 长按事件 【Function()】", - "【onHighlightChanged】 : 高亮变化回调 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/node1_base.dart deleted file mode 100644 index ef2758b67..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TableRowInkWell/node1_base.dart +++ /dev/null @@ -1,80 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class CustomTableRowInkWell extends StatelessWidget { - const CustomTableRowInkWell({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - _ItemBean title = _ItemBean("单位称", "量纲", "单位", "单位名称", "单位符号"); - _ItemBean m = _ItemBean("长度", "L", "1m", "米", "m"); - _ItemBean kg = _ItemBean("质量", "M", "1Kg", "千克", "Kg"); - _ItemBean s = _ItemBean("时间", "T", "1s", "秒", "s"); - _ItemBean a = _ItemBean("安培", "Ι", "1A", "安培", "A"); - _ItemBean k = _ItemBean("热力学温度", "θ", "1K", "开尔文", "K"); - _ItemBean mol = _ItemBean("物质的量", "N", "1mol", "摩尔", "mol"); - _ItemBean cd = _ItemBean("发光强度", "J", "1cd", "坎德拉", "cd"); - - List<_ItemBean> data = [title, m, kg, s, a, k, mol, cd]; - - return SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: Table( - columnWidths: const { - 0: FixedColumnWidth(80.0), - 1: FixedColumnWidth(80.0), - 2: FixedColumnWidth(80.0), - 3: FixedColumnWidth(80.0), - 4: FixedColumnWidth(80.0), - }, - defaultVerticalAlignment: TableCellVerticalAlignment.middle, - border: TableBorder.all( - color: Colors.orangeAccent, width: 1.0, style: BorderStyle.solid), - children: data - .map((item) => TableRow(children: [ - TableRowInkWell( - onTap: () => print('onTap'), - onDoubleTap: () => print('onDoubleTap'), - onLongPress: () => print('onLongPress'), - onHighlightChanged: (v) => print('onHighlightChanged:$v'), - child: Center( - child: Text( - item.name, - style: const TextStyle(color: Colors.blue), - )), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: Center(child: Text(item.symbol)), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: Center(child: Text(item.unitSymbol)), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: Center(child: Text(item.unitName)), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: Center(child: Text(item.unit)), - ), - ])) - .toList(), - ), - ); - } -} - -class _ItemBean { - String name; - String symbol; - String unit; - String unitName; - String unitSymbol; - - _ItemBean(this.name, this.symbol, this.unit, this.unitName, this.unitSymbol); -} - diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_de_DE.json deleted file mode 100644 index b7714bb06..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_de_DE.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 353, - "name": "TextButton", - "localName": "Textschaltfläche", - "info": "Materialstil-Textschaltfläche, standardmäßig nur mit Text, bei Klick mit Wasserwelleneffekt. Eigenschaften wie Rahmen, Farbe, Schatten können durch Stile geändert werden.", - "lever": 3, - "family": 1, - "linkIds": [ - 354, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von TextButton", - "desc": [ - "【child】 : Hat es ein scrollbares Hauptelement 【Widget】", - "【onPressed】 : Klickereignis 【VoidCallback】", - "【onLongPress】 : Langklickereignis 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "TextButton-Stil", - "desc": [ - "【style】 : Schaltflächenstil 【ButtonStyle】", - "【focusNode】 : Fokus 【FocusNode】", - "【clipBehavior】 : Beschneidungsverhalten 【Clip】", - "【autofocus】 : Autofokus 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_en_US.json deleted file mode 100644 index 779529c74..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_en_US.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 353, - "name": "TextButton", - "localName": "Text Button", - "info": "A Material-style text button, which only has text by default, and has a ripple effect when clicked. The border, color, shadow and other properties can be changed through styles.", - "lever": 3, - "family": 1, - "linkIds": [ - 354, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of TextButton", - "desc": [ - "【child】 : Whether it has a scrollable body 【Widget】", - "【onPressed】 : Click event 【VoidCallback】", - "【onLongPress】 : Long press event 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "TextButton Style", - "desc": [ - "【style】 : Button style 【ButtonStyle】", - "【focusNode】 : Focus 【FocusNode】", - "【clipBehavior】 : Clip behavior 【Clip】", - "【autofocus】 : Auto focus 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_es_ES.json deleted file mode 100644 index b78784bb0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_es_ES.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 353, - "name": "TextButton", - "localName": "Botón de texto", - "info": "Botón de texto con estilo Material, por defecto solo tiene texto y tiene un efecto de onda al hacer clic. Se pueden cambiar propiedades como el borde, el color, la sombra, etc., a través del estilo.", - "lever": 3, - "family": 1, - "linkIds": [ - 354, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de TextButton", - "desc": [ - "【child】 : ¿Tiene un cuerpo de desplazamiento? 【Widget】", - "【onPressed】 : Evento de clic 【VoidCallback】", - "【onLongPress】 : Evento de pulsación larga 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Estilo de TextButton", - "desc": [ - "【style】 : Estilo del botón 【ButtonStyle】", - "【focusNode】 : Foco 【FocusNode】", - "【clipBehavior】 : Comportamiento de recorte 【Clip】", - "【autofocus】 : Enfoque automático 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_fr_FR.json deleted file mode 100644 index 7d96e6a73..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_fr_FR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 353, - "name": "TextButton", - "localName": "Bouton texte", - "info": "Bouton texte de style Material, par défaut uniquement du texte, avec un effet de vague lors du clic. Les propriétés telles que la bordure, la couleur, l'ombre, etc., peuvent être modifiées via le style.", - "lever": 3, - "family": 1, - "linkIds": [ - 354, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de TextButton", - "desc": [ - "【child】 : Si le corps peut défiler 【Widget】", - "【onPressed】 : Événement de clic 【VoidCallback】", - "【onLongPress】 : Événement de maintien 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Style de TextButton", - "desc": [ - "【style】 : Style du bouton 【ButtonStyle】", - "【focusNode】 : Focus 【FocusNode】", - "【clipBehavior】 : Comportement de découpage 【Clip】", - "【autofocus】 : Mise au point automatique 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_it_IT.json deleted file mode 100644 index 241b16dd7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_it_IT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 353, - "name": "TextButton", - "localName": "Pulsante di testo", - "info": "Pulsante di testo in stile Material, di default ha solo testo e un effetto onda al clic. È possibile modificare bordi, colori, ombre e altre proprietà attraverso lo stile.", - "lever": 3, - "family": 1, - "linkIds": [ - 354, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di TextButton", - "desc": [ - "【child】 : Se ha un corpo scorrevole 【Widget】", - "【onPressed】 : Evento di clic 【VoidCallback】", - "【onLongPress】 : Evento di pressione prolungata 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Stile di TextButton", - "desc": [ - "【style】 : Stile del pulsante 【ButtonStyle】", - "【focusNode】 : Fuoco 【FocusNode】", - "【clipBehavior】 : Comportamento di ritaglio 【Clip】", - "【autofocus】 : Autofocus 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_ja_JP.json deleted file mode 100644 index 70633f0db..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_ja_JP.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 353, - "name": "TextButton", - "localName": "テキストボタン", - "info": "Materialスタイルのテキストボタンで、デフォルトではテキストのみが表示され、クリック時に波紋効果があります。スタイルを変更することで、枠線、色、影などのプロパティを変更できます。", - "lever": 3, - "family": 1, - "linkIds": [ - 354, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TextButtonの基本的な使用", - "desc": [ - "【child】 : スクロール主体を持つかどうか 【Widget】", - "【onPressed】 : クリックイベント 【VoidCallback】", - "【onLongPress】 : 長押しイベント 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "TextButtonのスタイル", - "desc": [ - "【style】 : ボタンのスタイル 【ButtonStyle】", - "【focusNode】 : フォーカス 【FocusNode】", - "【clipBehavior】 : クリップ動作 【Clip】", - "【autofocus】 : 自動フォーカス 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_ko_KR.json deleted file mode 100644 index ccb144974..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_ko_KR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 353, - "name": "TextButton", - "localName": "텍스트 버튼", - "info": "Material 스타일의 텍스트 버튼으로, 기본적으로 텍스트만 있으며 클릭 시 물결 효과가 있습니다. 스타일을 통해 테두리, 색상, 그림자 등의 속성을 변경할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 354, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TextButton 기본 사용법", - "desc": [ - "【child】 : 스크롤 가능한 주체 여부 【Widget】", - "【onPressed】 : 클릭 이벤트 【VoidCallback】", - "【onLongPress】 : 길게 누르기 이벤트 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "TextButton 스타일", - "desc": [ - "【style】 : 버튼 스타일 【ButtonStyle】", - "【focusNode】 : 포커스 【FocusNode】", - "【clipBehavior】 : 클리핑 동작 【Clip】", - "【autofocus】 : 자동 포커스 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_pt_PT.json deleted file mode 100644 index 17a48bce5..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_pt_PT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 353, - "name": "TextButton", - "localName": "Botão de texto", - "info": "Botão de texto no estilo Material, por padrão só tem texto, com efeito de ondulação ao clicar. Pode alterar propriedades como borda, cor, sombra, etc., através de estilos.", - "lever": 3, - "family": 1, - "linkIds": [ - 354, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do TextButton", - "desc": [ - "【child】 : Se tem um corpo de rolagem 【Widget】", - "【onPressed】 : Evento de clique 【VoidCallback】", - "【onLongPress】 : Evento de pressionar longo 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Estilo do TextButton", - "desc": [ - "【style】 : Estilo do botão 【ButtonStyle】", - "【focusNode】 : Foco 【FocusNode】", - "【clipBehavior】 : Comportamento de corte 【Clip】", - "【autofocus】 : Foco automático 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_ru_RU.json deleted file mode 100644 index b2ae2d6ab..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_ru_RU.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 353, - "name": "TextButton", - "localName": "Текстовая кнопка", - "info": "Текстовая кнопка в стиле Material, по умолчанию имеет только текст, при нажатии появляется эффект волны. Можно изменить свойства границы, цвета, тени и другие через стили.", - "lever": 3, - "family": 1, - "linkIds": [ - 354, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование TextButton", - "desc": [ - "【child】 : Имеет ли прокручиваемое содержимое 【Widget】", - "【onPressed】 : Событие нажатия 【VoidCallback】", - "【onLongPress】 : Событие долгого нажатия 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "Стиль TextButton", - "desc": [ - "【style】 : Стиль кнопки 【ButtonStyle】", - "【focusNode】 : Фокус 【FocusNode】", - "【clipBehavior】 : Поведение обрезки 【Clip】", - "【autofocus】 : Автофокус 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_zh-CN.json deleted file mode 100644 index 73589c97a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/desc_zh-CN.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 353, - "name": "TextButton", - "localName": "文字按钮", - "info": "Material风格的文字按钮,默认只有文字,点击时有水波纹。可通过样式更改边框、颜色、阴影等属性。", - "lever": 3, - "family": 1, - "linkIds": [ - 354, - 355 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TextButton基本使用", - "desc": [ - "【child】 : 是否具有滚动主体 【Widget】", - "【onPressed】 : 点击事件 【VoidCallback】", - "【onLongPress】 : 长按事件 【VoidCallback】" - ] - }, - { - "file": "node2_style.dart", - "name": "TextButton样式", - "desc": [ - "【style】 : 按钮样式 【ButtonStyle】", - "【focusNode】 : 焦点 【FocusNode】", - "【clipBehavior】 : 裁剪行为 【Clip】", - "【autofocus】 : 自动聚焦 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/node1_base.dart deleted file mode 100644 index 0b8383a5d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/node1_base.dart +++ /dev/null @@ -1,36 +0,0 @@ -import 'package:flutter/material.dart'; - - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class TextButtonDemo extends StatelessWidget { - const TextButtonDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.center, - height: 60, - child: Wrap( - spacing: 20, - children: [ - TextButton( - child: const Text('TextButton 文字'), - onPressed: _onPressed, - onLongPress: _onLongPress, - ), - const TextButton( - child: Text('TextButton 禁用'), - onPressed: null, - onLongPress: null, - ), - ], - )); - } - - void _onPressed() {} - - void _onLongPress() {} -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/node2_style.dart b/modules/widget_system/widgets/lib/StatefulWidget/TextButton/node2_style.dart deleted file mode 100644 index d5a620047..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextButton/node2_style.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class TextButtonStyleDemo extends StatelessWidget { - const TextButtonStyleDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.center, - child: Wrap( - spacing: 10, - children: [ - TextButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - padding: const EdgeInsets.symmetric(horizontal: 8), - foregroundColor: Colors.white, - elevation: 2, - shadowColor: Colors.orangeAccent), - child: const Text('TextButton 样式'), - onPressed: _onPressed, - onLongPress: _onLongPress, - ), - TextButton( - style: TextButton.styleFrom( - backgroundColor: Colors.white, - foregroundColor: Colors.black, - side: const BorderSide(color: Colors.blue, width: 1), - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10))), - // elevation: 2, - shadowColor: Colors.orangeAccent), - child: const Text('TextButton 边线'), - autofocus: false, - onPressed: _onPressed, - onLongPress: _onLongPress, - ), - ], - ), - ); - } - - void _onPressed() {} - - void _onLongPress() {} -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_de_DE.json deleted file mode 100644 index a5be0cb36..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_de_DE.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 54, - "name": "TextField", - "localName": "Eingabefeld", - "info": "Eine Komponente zur Eingabe mit komplexen Eigenschaften. Kann Controller, Textstil, Dekorationslinien, Zeilenbeschränkungen, Cursor-Stil usw. angeben. Empfängt Ereignisse wie Eingabeänderungen und Eingabeabschluss.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von TextField", - "desc": [ - "【controller】 : Controller 【TextEditingController】", - "【style】 : Textstil 【TextStyle】", - "【decoration】 : Dekorationslinie 【InputDecoration】", - "【onEditingComplete】 : Ereignis bei Eingabeabschluss 【Function()】", - "【onSubmitted】 : Ereignis bei Übermittlung 【Function(String)】", - "【onChanged】 : Ereignis bei Eingabe 【Function(String)】" - ] - }, - { - "file": "node2_cursor.dart", - "name": "Zeilenanzahl und Cursor von TextField", - "desc": [ - "【minLines】 : Minimale Zeilenanzahl 【int】", - "【maxLines】 : Maximale Zeilenanzahl 【int】", - "【cursorRadius】 : Cursor-Radius 【Radius】", - "【cursorColor】 : Cursor-Farbe 【Color】", - "【cursorWidth】 : Cursor-Breite 【double】", - "【showCursor】 : Cursor anzeigen 【bool】", - "【autofocus】 : Automatischer Fokus 【bool】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Komplexe Dekoration von InputDecoration", - "desc": [ - "InputDecoration hat viele Dekorationspunkte, siehe Code für Details:", - "border: Bezogen auf den Rand", - "helper: Bezogen auf die Hinweise unten links", - "counter: Bezogen auf die Hinweise unten rechts", - "prefix: Ganz links innerhalb des Eingabefelds", - "suffix: Ganz rechts innerhalb des Eingabefelds", - "label: Text ohne Fokus", - "label: Text ohne Fokus", - "hint: Bezogen auf Hinweistext", - "border: Bezogen auf den Rand" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_en_US.json deleted file mode 100644 index f84e35c80..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_en_US.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 54, - "name": "TextField", - "localName": "Input Box", - "info": "A component for input, with complex properties. Can specify controller, text style, decoration, line limit, cursor style, etc. Receives input change, input completion, and other events.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of TextField", - "desc": [ - "【controller】 : Controller 【TextEditingController】", - "【style】 : Text Style 【TextStyle】", - "【decoration】 : Decoration 【InputDecoration】", - "【onEditingComplete】 : Input Completion Event 【Function()】", - "【onSubmitted】 : Submission Event 【Function(String)】", - "【onChanged】 : Input Event 【Function(String)】" - ] - }, - { - "file": "node2_cursor.dart", - "name": "Line Number and Cursor of TextField", - "desc": [ - "【minLines】 : Minimum Lines 【int】", - "【maxLines】 : Maximum Lines 【int】", - "【cursorRadius】 : Cursor Radius 【Radius】", - "【cursorColor】 : Cursor Color 【Color】", - "【cursorWidth】 : Cursor Width 【double】", - "【showCursor】 : Whether to Show Cursor 【bool】", - "【autofocus】 : Auto Focus 【bool】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Complex Decoration of Decoration", - "desc": [ - "InputDecoration has many decoration points, corresponding to the code:", - "border: Border related", - "helper: Bottom left corner related hints", - "counter: Bottom right corner related hints", - "prefix: Innermost left side of the input box", - "suffix: Innermost right side of the input box", - "label: Text when no focus", - "label: Text when no focus", - "hint: Hint text related", - "border: Border related" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_es_ES.json deleted file mode 100644 index 90168ca13..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_es_ES.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 54, - "name": "TextField", - "localName": "Campo de texto", - "info": "Componente de entrada con propiedades complejas. Puede especificar controladores, estilos de texto, decoraciones de línea, límites de líneas, estilos de cursor, etc. Recibe eventos de cambio de entrada, finalización de entrada, etc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de TextField", - "desc": [ - "【controller】 : Controlador 【TextEditingController】", - "【style】 : Estilo de texto 【TextStyle】", - "【decoration】 : Decoración de línea 【InputDecoration】", - "【onEditingComplete】 : Evento de finalización de entrada 【Function()】", - "【onSubmitted】 : Evento de envío 【Function(String)】", - "【onChanged】 : Evento de entrada 【Function(String)】" - ] - }, - { - "file": "node2_cursor.dart", - "name": "Número de líneas y cursor de TextField", - "desc": [ - "【minLines】 : Número mínimo de líneas 【int】", - "【maxLines】 : Número máximo de líneas 【int】", - "【cursorRadius】 : Radio del cursor 【Radius】", - "【cursorColor】 : Color del cursor 【Color】", - "【cursorWidth】 : Ancho del cursor 【double】", - "【showCursor】 : Mostrar cursor 【bool】", - "【autofocus】 : Enfoque automático 【bool】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Decoración compleja de decoration", - "desc": [ - "InputDecoration tiene muchos puntos de decoración, consulte el código para los detalles:", - "border: Relacionado con el borde", - "helper: Sugerencia en la esquina inferior izquierda", - "counter: Sugerencia en la esquina inferior derecha", - "prefix: Interior del campo de texto, extremo izquierdo", - "suffix: Interior del campo de texto, extremo derecho", - "label: Texto sin foco", - "label: Texto sin foco", - "hint: Relacionado con el texto de sugerencia", - "border: Relacionado con el borde" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_fr_FR.json deleted file mode 100644 index f612657ed..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_fr_FR.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 54, - "name": "TextField", - "localName": "Champ de saisie", - "info": "Composant pour la saisie, possédant des propriétés complexes. Peut spécifier un contrôleur, un style de texte, une décoration de ligne, une limite de lignes, un style de curseur, etc. Reçoit des événements de changement de saisie, de saisie terminée, etc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de TextField", - "desc": [ - "【controller】 : Contrôleur 【TextEditingController】", - "【style】 : Style de texte 【TextStyle】", - "【decoration】 : Décoration de ligne 【InputDecoration】", - "【onEditingComplete】 : Événement de saisie terminée 【Function()】", - "【onSubmitted】 : Événement de soumission 【Function(String)】", - "【onChanged】 : Événement de saisie 【Function(String)】" - ] - }, - { - "file": "node2_cursor.dart", - "name": "Nombre de lignes et curseur de TextField", - "desc": [ - "【minLines】 : Nombre minimal de lignes 【int】", - "【maxLines】 : Nombre maximal de lignes 【int】", - "【cursorRadius】 : Rayon du curseur 【Radius】", - "【cursorColor】 : Couleur du curseur 【Color】", - "【cursorWidth】 : Largeur du curseur 【double】", - "【showCursor】 : Afficher le curseur 【bool】", - "【autofocus】 : Mise au point automatique 【bool】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Décoration complexe de InputDecoration", - "desc": [ - "InputDecoration a de nombreux points de décoration, voir le code pour les détails:", - "border: Relatif à la bordure", - "helper: Indication en bas à gauche", - "counter: Indication en bas à droite", - "prefix: Partie la plus à gauche à l'intérieur du champ de saisie", - "suffix: Partie la plus à droite à l'intérieur du champ de saisie", - "label: Texte sans focus", - "label: Texte sans focus", - "hint: Relatif au texte d'indication", - "border: Relatif à la bordure" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_it_IT.json deleted file mode 100644 index 87050f769..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_it_IT.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 54, - "name": "TextField", - "localName": "Campo di testo", - "info": "Componente per l'input, con proprietà complesse. Puoi specificare il controller, lo stile del testo, la decorazione della linea, il limite di righe, lo stile del cursore, ecc. Riceve eventi di cambiamento dell'input, completamento dell'input, ecc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di TextField", - "desc": [ - "【controller】 : Controller 【TextEditingController】", - "【style】 : Stile del testo 【TextStyle】", - "【decoration】 : Decorazione della linea 【InputDecoration】", - "【onEditingComplete】 : Evento di completamento dell'input 【Function()】", - "【onSubmitted】 : Evento di invio 【Function(String)】", - "【onChanged】 : Evento di input 【Function(String)】" - ] - }, - { - "file": "node2_cursor.dart", - "name": "Numero di righe e cursore di TextField", - "desc": [ - "【minLines】 : Numero minimo di righe 【int】", - "【maxLines】 : Numero massimo di righe 【int】", - "【cursorRadius】 : Raggio del cursore 【Radius】", - "【cursorColor】 : Colore del cursore 【Color】", - "【cursorWidth】 : Larghezza del cursore 【double】", - "【showCursor】 : Mostrare il cursore 【bool】", - "【autofocus】 : Autofocus 【bool】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Decorazione complessa di decoration", - "desc": [ - "InputDecoration ha molti punti di decorazione, i dettagli sono nel codice:", - "border: Relativo al bordo", - "helper: Suggerimento nell'angolo inferiore sinistro", - "counter: Suggerimento nell'angolo inferiore destro", - "prefix: Parte più interna a sinistra del campo di input", - "suffix: Parte più interna a destra del campo di input", - "label: Testo senza focus", - "label: Testo senza focus", - "hint: Relativo al testo di suggerimento", - "border: Relativo al bordo" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_ja_JP.json deleted file mode 100644 index a77554dfc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_ja_JP.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 54, - "name": "TextField", - "localName": "入力欄", - "info": "入力用のコンポーネントで、複雑な属性を持っています。コントローラー、テキストスタイル、装飾線、行数制限、カーソルスタイルなどを指定できます。入力の変化、入力完了などのイベントを受け取ります。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TextFieldの基本使用法", - "desc": [ - "【controller】 : コントローラー 【TextEditingController】", - "【style】 : テキストスタイル 【TextStyle】", - "【decoration】 : 装飾線 【InputDecoration】", - "【onEditingComplete】 : 入力完了イベント 【Function()】", - "【onSubmitted】 : 送信イベント 【Function(String)】", - "【onChanged】 : 入力イベント 【Function(String)】" - ] - }, - { - "file": "node2_cursor.dart", - "name": "TextFieldの行数とカーソル", - "desc": [ - "【minLines】 : 最小行数 【int】", - "【maxLines】 : 最大行数 【int】", - "【cursorRadius】 : カーソルの半径 【Radius】", - "【cursorColor】 : カーソルの色 【Color】", - "【cursorWidth】 : カーソルの幅 【double】", - "【showCursor】 : カーソルを表示するかどうか 【bool】", - "【autofocus】 : 自動フォーカス 【bool】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "decorationの複雑な装飾", - "desc": [ - "InputDecorationには非常に多くの装飾ポイントがあり、コードに対応する装飾があります:", - "border: ボーダー関連", - "helper: 左下のヒント関連", - "counter: 右下のヒント関連", - "prefix: 入力欄の内部最左側", - "suffix: 入力欄の内部最右側", - "label: フォーカスがない時のテキスト", - "label: フォーカスがない時のテキスト", - "hint: ヒントテキスト関連", - "border: ボーダー関連" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_ko_KR.json deleted file mode 100644 index 0f27e08eb..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_ko_KR.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 54, - "name": "TextField", - "localName": "입력 필드", - "info": "입력을 위한 컴포넌트로, 복잡한 속성을 가지고 있습니다. 컨트롤러, 텍스트 스타일, 장식선, 줄 수 제한, 커서 스타일 등을 지정할 수 있습니다. 입력 변경, 입력 완료 등의 이벤트를 받습니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TextField 기본 사용법", - "desc": [ - "【controller】 : 컨트롤러 【TextEditingController】", - "【style】 : 텍스트 스타일 【TextStyle】", - "【decoration】 : 장식선 【InputDecoration】", - "【onEditingComplete】 : 입력 완료 이벤트 【Function()】", - "【onSubmitted】 : 제출 이벤트 【Function(String)】", - "【onChanged】 : 입력 이벤트 【Function(String)】" - ] - }, - { - "file": "node2_cursor.dart", - "name": "TextField 줄 수와 커서", - "desc": [ - "【minLines】 : 최소 줄 수 【int】", - "【maxLines】 : 최대 줄 수 【int】", - "【cursorRadius】 : 커서 반지름 【Radius】", - "【cursorColor】 : 커서 색상 【Color】", - "【cursorWidth】 : 커서 너비 【double】", - "【showCursor】 : 커서 표시 여부 【bool】", - "【autofocus】 : 자동 포커스 【bool】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "decoration의 복잡한 장식", - "desc": [ - "InputDecoration에는 매우 많은 장식점이 있으며, 해당 장식점은 코드를 참조하세요:", - "border: 테두리 관련", - "helper: 왼쪽 하단 관련 힌트", - "counter: 오른쪽 하단 관련 힌트", - "prefix: 입력 필드 내부 가장 왼쪽", - "suffix: 입력 필드 내부 가장 오른쪽", - "label: 포커스 없을 때의 텍스트", - "label: 포커스 없을 때의 텍스트", - "hint: 힌트 텍스트 관련", - "border: 테두리 관련" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_pt_PT.json deleted file mode 100644 index 76c04b016..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_pt_PT.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 54, - "name": "TextField", - "localName": "Campo de entrada", - "info": "Componente para entrada de dados, possui propriedades complexas. Pode especificar controlador, estilo de texto, decoração de linha, limite de linhas, estilo do cursor, etc. Recebe eventos de mudança de entrada, conclusão de entrada, etc.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do TextField", - "desc": [ - "【controller】 : Controlador 【TextEditingController】", - "【style】 : Estilo de texto 【TextStyle】", - "【decoration】 : Decoração de linha 【InputDecoration】", - "【onEditingComplete】 : Evento de conclusão de entrada 【Function()】", - "【onSubmitted】 : Evento de submissão 【Function(String)】", - "【onChanged】 : Evento de entrada 【Function(String)】" - ] - }, - { - "file": "node2_cursor.dart", - "name": "Número de linhas e cursor do TextField", - "desc": [ - "【minLines】 : Número mínimo de linhas 【int】", - "【maxLines】 : Número máximo de linhas 【int】", - "【cursorRadius】 : Raio do cursor 【Radius】", - "【cursorColor】 : Cor do cursor 【Color】", - "【cursorWidth】 : Largura do cursor 【double】", - "【showCursor】 : Mostrar cursor 【bool】", - "【autofocus】 : Foco automático 【bool】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Decoração complexa do decoration", - "desc": [ - "InputDecoration tem muitos pontos de decoração, correspondentes ao código:", - "border: Relacionado à borda", - "helper: Dica relacionada ao canto inferior esquerdo", - "counter: Dica relacionada ao canto inferior direito", - "prefix: Extremidade esquerda interna do campo de entrada", - "suffix: Extremidade direita interna do campo de entrada", - "label: Texto sem foco", - "label: Texto sem foco", - "hint: Texto de dica relacionado", - "border: Relacionado à borda" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_ru_RU.json deleted file mode 100644 index fc395008c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_ru_RU.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 54, - "name": "TextField", - "localName": "Поле ввода", - "info": "Компонент для ввода, обладающий сложными свойствами. Можно указать контроллер, стиль текста, декоративные линии, ограничение на количество строк, стиль курсора и т.д. Получает события изменения ввода, завершения ввода и т.д.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование TextField", - "desc": [ - "【controller】 : Контроллер 【TextEditingController】", - "【style】 : Стиль текста 【TextStyle】", - "【decoration】 : Декоративные линии 【InputDecoration】", - "【onEditingComplete】 : Событие завершения ввода 【Function()】", - "【onSubmitted】 : Событие отправки 【Function(String)】", - "【onChanged】 : Событие ввода 【Function(String)】" - ] - }, - { - "file": "node2_cursor.dart", - "name": "Количество строк и курсор в TextField", - "desc": [ - "【minLines】 : Минимальное количество строк 【int】", - "【maxLines】 : Максимальное количество строк 【int】", - "【cursorRadius】 : Радиус курсора 【Radius】", - "【cursorColor】 : Цвет курсора 【Color】", - "【cursorWidth】 : Ширина курсора 【double】", - "【showCursor】 : Показывать ли курсор 【bool】", - "【autofocus】 : Автоматическая фокусировка 【bool】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Сложные декорации в decoration", - "desc": [ - "InputDecoration имеет множество точек декорации, соответствующие элементы см. в коде:", - "border: Связано с границами", - "helper: Подсказка в нижнем левом углу", - "counter: Подсказка в нижнем правом углу", - "prefix: Самая левая часть внутри поля ввода", - "suffix: Самая правая часть внутри поля ввода", - "label: Текст без фокуса", - "label: Текст без фокуса", - "hint: Связано с подсказкой", - "border: Связано с границами" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_zh-CN.json deleted file mode 100644 index cf7ea31a3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/desc_zh-CN.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": 54, - "name": "TextField", - "localName": "输入框", - "info": "由于输入的组件,拥有复杂的属性。可指定控制器、文字样式、装饰线、行数限制、游标样式等。接收输入变化、完成输入等事件。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TextField基本用法", - "desc": [ - "【controller】 : 控制器 【TextEditingController】", - "【style】 : 文字样式 【TextStyle】", - "【decoration】 : 装饰线 【InputDecoration】", - "【onEditingComplete】 : 输入完成事件 【Function()】", - "【onSubmitted】 : 提交事件 【Function(String)】", - "【onChanged】 : 输入事件 【Function(String)】" - ] - }, - { - "file": "node2_cursor.dart", - "name": "TextField行数和cursor", - "desc": [ - "【minLines】 : 最小行数 【int】", - "【maxLines】 : 最大行数 【int】", - "【cursorRadius】 : 光标半径 【Radius】", - "【cursorColor】 : 光标颜色 【Color】", - "【cursorWidth】 : 光标宽度 【double】", - "【showCursor】 : 是否显示光标 【bool】", - "【autofocus】 : 自动聚焦 【bool】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "decoration的复杂装饰", - "desc": [ - "InputDecoration有非常多的装饰点,对应点缀见代码:", - "border: 边线相关", - "helper: 左下角相关提示", - "counter: 右下角相关提示", - "prefix: 输入框内部最左侧", - "suffix: 输入框内部最右侧", - "label: 无焦点时文字", - "label: 无焦点时文字", - "hint: 提示文字相关", - "border: 边线相关" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/TextField/node1_base.dart deleted file mode 100644 index 64a59be92..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/node1_base.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - -class CustomTextField extends StatefulWidget { - const CustomTextField({Key? key}) : super(key: key); - - @override - _CustomTextFieldState createState() => _CustomTextFieldState(); -} - -class _CustomTextFieldState extends State { - final FocusNode _focusNode = FocusNode(); - late TextEditingController _controller; - - @override - void initState() { - super.initState(); - _controller = TextEditingController(); - } - - @override - void dispose() { - _controller.dispose(); - _focusNode.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 300, - child: TextField( - controller: _controller, - style: const TextStyle(color: Colors.blue), - decoration: const InputDecoration( - border: OutlineInputBorder(), - labelText: 'username', - ), - onEditingComplete: () { - print('onEditingComplete'); - }, - onChanged: (v) { - print('onChanged:' + v); - }, - onSubmitted: (v) { - FocusScope.of(context).requestFocus(_focusNode); - print('onSubmitted:' + v); - _controller.clear(); - }, - )); - } -} - diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/node2_cursor.dart b/modules/widget_system/widgets/lib/StatefulWidget/TextField/node2_cursor.dart deleted file mode 100644 index 5efaa0cc6..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/node2_cursor.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CursorTextField extends StatefulWidget { - const CursorTextField({Key? key}) : super(key: key); - - @override - _CursorTextFieldState createState() => _CursorTextFieldState(); -} - -class _CursorTextFieldState extends State { - final FocusNode _focusNode = FocusNode(); - - @override - void dispose() { - _focusNode.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Column( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - _buildSubmitBtn(), - _buildTextField(context), - ], - ); - } - - Widget _buildTextField(BuildContext context) { - return SizedBox( - width: 300, - child: TextField( - style: const TextStyle(color: Colors.blue), - minLines: 3, - maxLines: 5, - cursorColor: Colors.green, - cursorRadius: const Radius.circular(3), - cursorWidth: 5, - showCursor: true, - decoration: const InputDecoration( - contentPadding: EdgeInsets.all(10), - hintText: "请输入...", - border: OutlineInputBorder(), - ), - onChanged: (v) {}, - ), - ); - } - - Widget _buildSubmitBtn() => ElevatedButton( - child: const Text( - "提交", - style: TextStyle(color: Colors.white, fontSize: 16), - ), - onPressed: () => FocusScope.of(context).requestFocus(_focusNode)); -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextField/node3_decoration.dart b/modules/widget_system/widgets/lib/StatefulWidget/TextField/node3_decoration.dart deleted file mode 100644 index 0a8aeb3d3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextField/node3_decoration.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class ComplexTextField extends StatelessWidget { - const ComplexTextField({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const TextField( - decoration: InputDecoration( - border: OutlineInputBorder(), - focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Colors.blue), - borderRadius: BorderRadius.only( - topLeft: Radius.circular(10), bottomLeft: Radius.circular(10))), - enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Colors.deepPurpleAccent), - borderRadius: BorderRadius.only( - topLeft: Radius.circular(10), bottomLeft: Radius.circular(10))), - labelText: 'username', - labelStyle: TextStyle(color: Colors.purple), - helperText: "help me", - helperStyle: TextStyle(color: Colors.blue), - - suffixText: "suffix", - suffixIcon: Icon(Icons.done), - suffixStyle: TextStyle(color: Colors.green), - - counterText: "counter", - counterStyle: TextStyle(color: Colors.orange), - - prefixText: "ID ", - prefixStyle: TextStyle(color: Colors.blue), - prefixIcon: Icon(Icons.language), - - fillColor: Color(0x110099ee), - filled: true, - - // errorText: "error", - // errorMaxLines: 1, - // errorStyle: TextStyle(color: Colors.red), - // errorBorder: UnderlineInputBorder(), - - hintText: "请输入用户名", - hintMaxLines: 1, - hintStyle: TextStyle(color: Colors.black38), - icon: Icon(Icons.assignment_ind), - )); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_de_DE.json deleted file mode 100644 index a44d1a43f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 199, - "name": "TextFormField", - "localName": "Textformularfeld", - "info": "Die Eigenschaften sind im Wesentlichen dieselben wie bei TextField, zusätzlich gibt es Validierungs- und Rückruffunktionen für die Felder. Der FormState-save löst den onSaved-Rückruf aus.", - "lever": 4, - "family": 1, - "linkIds": [ - 54, - 198 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von TextFormField", - "desc": [ - "Die grundlegenden Eigenschaften sind identisch mit TextField, siehe dort für Details", - "【validator】: Validierungsfunktion 【FormFieldValidator】", - "【onFieldSubmitted】: Einreichungsrückruf 【ValueChanged】", - "【onSaved】: Rückruf beim Speichern des Formulars 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_en_US.json deleted file mode 100644 index caa91b5f2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 199, - "name": "TextFormField", - "localName": "Text Form Input", - "info": "The properties are basically the same as TextField, with the addition of field validation and submission callbacks. The save of FormState will trigger the onSaved callback.", - "lever": 4, - "family": 1, - "linkIds": [ - 54, - 198 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of TextFormField", - "desc": [ - "The basic properties are the same as TextField, see details there", - "【validator】: Validation function 【FormFieldValidator】", - "【onFieldSubmitted】: Submission callback 【ValueChanged】", - "【onSaved】: Callback when the form is saved 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_es_ES.json deleted file mode 100644 index d7d1c29dd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 199, - "name": "TextFormField", - "localName": "Campo de entrada de texto", - "info": "Básicamente es igual a las propiedades de TextField, con la adición de validación de campo y devolución de llamada de envío. El save de FormState activará la devolución de llamada onSaved.", - "lever": 4, - "family": 1, - "linkIds": [ - 54, - 198 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de TextFormField", - "desc": [ - "Las propiedades básicas son las mismas que las de TextField, consulte los detalles", - "【validator】 : Función de validación 【FormFieldValidator 】", - "【onFieldSubmitted】 : Devolución de llamada de envío 【ValueChanged】", - "【onSaved】 : Devolución de llamada cuando se guarda el formulario 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_fr_FR.json deleted file mode 100644 index 100a2351b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 199, - "name": "TextFormField", - "localName": "Champ de formulaire de texte", - "info": "Les propriétés sont fondamentalement les mêmes que celles de TextField, avec en plus des validations de champ et des rappels de soumission. Le save de FormState déclenche le rappel onSaved.", - "lever": 4, - "family": 1, - "linkIds": [ - 54, - 198 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de TextFormField", - "desc": [ - "Les propriétés de base sont les mêmes que celles de TextField, voir les détails", - "【validator】 : Fonction de validation 【FormFieldValidator 】", - "【onFieldSubmitted】 : Rappel de soumission 【ValueChanged】", - "【onSaved】 : Rappel lors de la sauvegarde du formulaire 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_it_IT.json deleted file mode 100644 index 3c20c0b81..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 199, - "name": "TextFormField", - "localName": "Campo di input di testo", - "info": "Le proprietà sono fondamentalmente le stesse di TextField, con l'aggiunta di callback per la validazione e l'invio dei campi. Il save di FormState attiverà la callback onSaved.", - "lever": 4, - "family": 1, - "linkIds": [ - 54, - 198 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di TextFormField", - "desc": [ - "Le proprietà di base sono le stesse di TextField, vedi dettagli", - "【validator】 : funzione di validazione 【FormFieldValidator 】", - "【onFieldSubmitted】 : callback di invio 【ValueChanged】", - "【onSaved】 : callback quando il modulo viene salvato 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_ja_JP.json deleted file mode 100644 index d1909f133..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 199, - "name": "TextFormField", - "localName": "テキストフォーム入力", - "info": "TextFieldの属性と基本的に同じで、それに基づいてフィールドの検証と送信のコールバックが追加されています。FormStateのsaveはonSavedコールバックをトリガーします。", - "lever": 4, - "family": 1, - "linkIds": [ - 54, - 198 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TextFormFieldの基本使用", - "desc": [ - "基本属性はTextFieldと一致します。詳細はそちらをご覧ください", - "【validator】 : 検証関数 【FormFieldValidator 】", - "【onFieldSubmitted】 : 送信コールバック 【ValueChanged】", - "【onSaved】 : フォームsave時のコールバック 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_ko_KR.json deleted file mode 100644 index 01894f41d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 199, - "name": "TextFormField", - "localName": "텍스트 폼 입력", - "info": "TextField 속성과 기본적으로 동일하며, 여기에 필드 검증 및 제출 콜백이 추가되었습니다. FormState의 save는 onSaved 콜백을 트리거합니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 54, - 198 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TextFormField 기본 사용", - "desc": [ - "기본 속성은 TextField와 동일하며, 자세한 내용은 해당 항목을 참조하세요", - "【validator】 : 검증 함수 【FormFieldValidator 】", - "【onFieldSubmitted】 : 제출 콜백 【ValueChanged】", - "【onSaved】 : 폼 save 시 콜백 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_pt_PT.json deleted file mode 100644 index b70a87a65..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 199, - "name": "TextFormField", - "localName": "Campo de Entrada de Texto", - "info": "As propriedades são basicamente as mesmas que o TextField, com a adição de validação de campo e callbacks de envio. O save do FormState irá acionar o callback onSaved.", - "lever": 4, - "family": 1, - "linkIds": [ - 54, - 198 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do TextFormField", - "desc": [ - "As propriedades básicas são as mesmas que o TextField, consulte-o para mais detalhes", - "【validator】: Função de validação 【FormFieldValidator】", - "【onFieldSubmitted】: Callback de envio 【ValueChanged】", - "【onSaved】: Callback quando o formulário é salvo 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_ru_RU.json deleted file mode 100644 index 47b202b2c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 199, - "name": "TextFormField", - "localName": "Текстовое поле формы", - "info": "Свойства аналогичны TextField, с добавлением проверки поля и обратного вызова отправки. Сохранение FormState вызовет обратный вызов onSaved.", - "lever": 4, - "family": 1, - "linkIds": [ - 54, - 198 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование TextFormField", - "desc": [ - "Основные свойства аналогичны TextField, подробнее см. там", - "【validator】 : Функция проверки 【FormFieldValidator 】", - "【onFieldSubmitted】 : Обратный вызов отправки 【ValueChanged】", - "【onSaved】 : Обратный вызов при сохранении формы 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_zh-CN.json deleted file mode 100644 index 26a01201e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 199, - "name": "TextFormField", - "localName": "文字表单输入", - "info": "和TextField属性基本一致,在其基础上增加字段的校验和提交的回调,FormState的save会触发onSaved回调。", - "lever": 4, - "family": 1, - "linkIds": [ - 54, - 198 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TextFormField基本使用", - "desc": [ - "基本属性和TextField一致,详见之", - "【validator】 : 验证函数 【FormFieldValidator 】", - "【onFieldSubmitted】 : 提交回调 【ValueChanged】", - "【onSaved】 : 表单save时回调 【FormFieldSetter】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/node1_base.dart deleted file mode 100644 index 0e8dc1731..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TextFormField/node1_base.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - -class CustomTextFormField extends StatefulWidget { - const CustomTextFormField({Key? key}) : super(key: key); - - @override - _CustomTextFormFieldState createState() => _CustomTextFormFieldState(); -} - -class _CustomTextFormFieldState extends State { - final GlobalKey _formKey = GlobalKey(); - - @override - Widget build(BuildContext context) { - return Row( - children: [ - const SizedBox(width: 40), - Expanded( - child: TextFormField( - style: const TextStyle(textBaseline: TextBaseline.alphabetic), - decoration: const InputDecoration( - border: OutlineInputBorder(), - labelText: 'username', - ), - validator: _validateUsername, - onFieldSubmitted: _onFieldSubmitted, - onSaved: _onSaved, - ), - ), - _buildSubmitButton(context), - ], - ); - } - - String? _validateUsername(value) { - if (value.isEmpty) { - return '用户名不能为空'; - } - return null; - } - - void _onSaved(value) { - print('onSaved:' + value); - } - - void _onFieldSubmitted(value) { - print('onFieldSubmitted:' + value); - } - - Widget _buildSubmitButton(BuildContext context) => ElevatedButton( - style: ElevatedButton.styleFrom( - backgroundColor: Colors.blue, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - )), - onPressed: _onSubmit, - child: const Icon( - Icons.check, - color: Colors.white, - ), - ); - - void _onSubmit() { - if (_formKey.currentState == null) return; - _formKey.currentState!.save(); - if (_formKey.currentState!.validate()) { - FocusScope.of(context).requestFocus(FocusNode()); - } - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_de_DE.json deleted file mode 100644 index 36f681f19..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 246, - "name": "TickerMode", - "localName": "Timer-Modus", - "info": "Deaktiviert/Aktiviert den Timer (Ticker) des Unterbaums, der Animationscontroller basiert auf Ticker.", - "lever": 2, - "family": 1, - "linkIds": [ - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Animation einheitlich deaktivieren/aktivieren", - "desc": [ - "Das enabled von TickerMode kann die Animationseffekte des Unterbaums einheitlich aktivieren/deaktivieren." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_en_US.json deleted file mode 100644 index a1a0961e8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 246, - "name": "TickerMode", - "localName": "Timer Mode", - "info": "Enable/disable the timer (Ticker) for the subtree, the animation controller is implemented based on Ticker.", - "lever": 2, - "family": 1, - "linkIds": [ - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Unified Enable/Disable Animation", - "desc": [ - "The enabled property of TickerMode can uniformly enable/disable the animation effects of the subtree." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_es_ES.json deleted file mode 100644 index d5b3baf4f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 246, - "name": "TickerMode", - "localName": "Modo Ticker", - "info": "Deshabilitar/habilitar el Ticker del subárbol, el controlador de animación se basa en Ticker.", - "lever": 2, - "family": 1, - "linkIds": [ - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Deshabilitar/Habilitar Animación Unificada", - "desc": [ - "El enabled de TickerMode puede habilitar/deshabilitar uniformemente los efectos de animación del subárbol." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_fr_FR.json deleted file mode 100644 index 04167417d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 246, - "name": "TickerMode", - "localName": "Mode Ticker", - "info": "Activer/Désactiver le Ticker du sous-arbre, le contrôleur d'animation est basé sur Ticker.", - "lever": 2, - "family": 1, - "linkIds": [ - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Activer/Désactiver l'animation de manière uniforme", - "desc": [ - "Le paramètre enabled de TickerMode peut activer/désactiver de manière uniforme les effets d'animation du sous-arbre." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_it_IT.json deleted file mode 100644 index 1c5b23230..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 246, - "name": "TickerMode", - "localName": "Modalità Timer", - "info": "Disabilita/abilita il timer (Ticker) del sottoalbero, il controller di animazione è basato su Ticker.", - "lever": 2, - "family": 1, - "linkIds": [ - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Disabilita/Abilita Animazione Unificata", - "desc": [ - "L'attributo enabled di TickerMode può abilitare/disabilitare in modo unificato gli effetti di animazione del sottoalbero." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_ja_JP.json deleted file mode 100644 index 2cd5ca731..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 246, - "name": "TickerMode", - "localName": "タイカーモード", - "info": "サブツリーのタイマー(Ticker)を無効/有効にします。アニメーションコントローラーは Ticker に基づいて実装されています。", - "lever": 2, - "family": 1, - "linkIds": [ - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "アニメーションの一括無効/有効", - "desc": [ - "TickerMode の enabled は、サブツリーのアニメーション効果を一括して有効/無効にすることができます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_ko_KR.json deleted file mode 100644 index f65208410..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 246, - "name": "TickerMode", - "localName": "타이머 모드", - "info": "서브트리의 타이머(Ticker)를 비활성화/활성화합니다. 애니메이션 컨트롤러는 Ticker를 기반으로 구현됩니다.", - "lever": 2, - "family": 1, - "linkIds": [ - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "통합 비활성화/활성화 애니메이션", - "desc": [ - "TickerMode의 enabled는 서브트리의 애니메이션 효과를 통합적으로 활성화/비활성화할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_pt_PT.json deleted file mode 100644 index 4eae56896..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 246, - "name": "TickerMode", - "localName": "Modo de Temporizador", - "info": "Desativar/ativar o temporizador (Ticker) da subárvore, o controlador de animação é implementado com base no Ticker.", - "lever": 2, - "family": 1, - "linkIds": [ - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Desativar/Ativar Animação Uniformemente", - "desc": [ - "O enabled do TickerMode pode ativar/desativar uniformemente os efeitos de animação da subárvore." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_ru_RU.json deleted file mode 100644 index 25a8a650d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 246, - "name": "TickerMode", - "localName": "Режим таймера", - "info": "Отключить/включить таймер (Ticker) для поддерева, контроллер анимации реализован на основе Ticker.", - "lever": 2, - "family": 1, - "linkIds": [ - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Единое отключение/включение анимации", - "desc": [ - "Свойство enabled TickerMode позволяет единообразно включить/отключить анимацию для поддерева." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_zh-CN.json deleted file mode 100644 index 4cd210d03..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 246, - "name": "TickerMode", - "localName": "计时器模式", - "info": "禁用/启用子树的计时器(Ticker),动画控制器基于 Ticker 实现。", - "lever": 2, - "family": 1, - "linkIds": [ - 346 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "统一禁用/启用动画", - "desc": [ - "TickerMode 的 enabled 可以统一启用/禁用子树的动画效果。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/node1.dart deleted file mode 100644 index f602baac1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TickerMode/node1.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -class TickerModeDemo1 extends StatefulWidget { - const TickerModeDemo1({super.key}); - - @override - State createState() => _TickerModeDemo1State(); -} - -class _TickerModeDemo1State extends State { - bool _disable = false; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - buildOutSwitch(), - const SizedBox(height: 4), - TickerMode(enabled: !_disable, child: buildTestContent()), - ], - ); - } - - Widget buildOutSwitch() => Wrap( - alignment: WrapAlignment.center, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - const Text('TickerMode外的Switch:'), - Switch(value: _disable, onChanged: _onChanged) - ], - ); - - Widget buildTestContent() => Wrap( - alignment: WrapAlignment.center, - crossAxisAlignment: WrapCrossAlignment.center, - spacing: 20, - children: [ - Switch(value: _disable, onChanged: _onChanged), - const CupertinoActivityIndicator(), - const CircularProgressIndicator(), - ], - ); - - void _onChanged(bool value) { - setState(() { - _disable = value; - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_de_DE.json deleted file mode 100644 index 47c9c3c93..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_de_DE.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 50, - "name": "Tooltip", - "localName": "Hinweiswerkzeug", - "info": "Eine Komponente zur Anzeige von Hinweistexten, die bei längerem Drücken Informationen anzeigt. Kann Rand, Anzeigedauer, Textstil und Dekorationseigenschaften festlegen.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Tooltip", - "desc": [ - "【preferBelow】 : Bevorzugt unten 【bool】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】", - "【margin】 : Außenabstand 【EdgeInsetsGeometry】", - "【message】 : Nachrichteninhalt 【String】", - "【showDuration】 : Anzeigedauer 【Duration】", - "【waitDuration】 : Schwebeerscheinungszeit 【Duration】", - "【child】 : Kind 【Widget】" - ] - }, - { - "file": "node2_decoration.dart", - "name": "Dekoration von Tooltip", - "desc": [ - "【decoration】 : Dekorationsobjekt 【Decoration】", - "【textStyle】 : Textstil 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_en_US.json deleted file mode 100644 index 1d33e3c3d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_en_US.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 50, - "name": "Tooltip", - "localName": "Tooltip", - "info": "A component that displays tooltip information, showing the information when long-pressed. You can specify margins, display duration, text style, and decoration properties.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Tooltip", - "desc": [ - "【preferBelow】: Whether to prefer below 【bool】", - "【padding】: Padding 【EdgeInsetsGeometry】", - "【margin】: Margin 【EdgeInsetsGeometry】", - "【message】: Message content 【String】", - "【showDuration】: Display duration 【Duration】", - "【waitDuration】: Hover appearance time 【Duration】", - "【child】: Child 【Widget】" - ] - }, - { - "file": "node2_decoration.dart", - "name": "Decoration of Tooltip", - "desc": [ - "【decoration】: Decoration object 【Decoration】", - "【textStyle】: Text style 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_es_ES.json deleted file mode 100644 index c631b3861..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_es_ES.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 50, - "name": "Tooltip", - "localName": "Herramienta de sugerencia", - "info": "Componente para mostrar información de sugerencia, muestra información al mantener presionado. Se pueden especificar márgenes, duración de visualización, estilo de texto, propiedades de decoración.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Tooltip", - "desc": [ - "【preferBelow】 : ¿Prefiere abajo? 【bool】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】", - "【margin】 : Margen externo 【EdgeInsetsGeometry】", - "【message】 : Contenido del mensaje 【String】", - "【showDuration】 : Duración de la visualización 【Duration】", - "【waitDuration】 : Tiempo de aparición al flotar 【Duration】", - "【child】 : Hijo 【Widget】" - ] - }, - { - "file": "node2_decoration.dart", - "name": "Decoración de Tooltip", - "desc": [ - "【decoration】 : Objeto de decoración 【Decoration】", - "【textStyle】 : Estilo de texto 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_fr_FR.json deleted file mode 100644 index 6eb37d216..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_fr_FR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 50, - "name": "Tooltip", - "localName": "Info-bulle", - "info": "Composant pour afficher des informations d'aide, affiche les informations lors d'un appui long. Peut spécifier les marges, la durée d'affichage, le style du texte, les propriétés de décoration, etc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Tooltip", - "desc": [ - "【preferBelow】 : Préfère en dessous 【bool】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】", - "【margin】 : Marge extérieure 【EdgeInsetsGeometry】", - "【message】 : Contenu du message 【String】", - "【showDuration】 : Durée d'affichage 【Duration】", - "【waitDuration】 : Temps d'apparition au survol 【Duration】", - "【child】 : Enfant 【Widget】" - ] - }, - { - "file": "node2_decoration.dart", - "name": "Décoration de Tooltip", - "desc": [ - "【decoration】 : Objet de décoration 【Decoration】", - "【textStyle】 : Style du texte 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_it_IT.json deleted file mode 100644 index 6467bfe4c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_it_IT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 50, - "name": "Tooltip", - "localName": "Strumento di suggerimento", - "info": "Componente per visualizzare informazioni di suggerimento, mostra le informazioni quando viene premuto a lungo. È possibile specificare margini, durata di visualizzazione, stile del testo, proprietà delle luci decorative.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Tooltip", - "desc": [ - "【preferBelow】 : Preferenza per la posizione inferiore 【bool】", - "【padding】 : Spaziatura interna 【EdgeInsetsGeometry】", - "【margin】 : Spaziatura esterna 【EdgeInsetsGeometry】", - "【message】 : Contenuto del messaggio 【String】", - "【showDuration】 : Durata della visualizzazione 【Duration】", - "【waitDuration】 : Tempo di comparsa al passaggio del mouse 【Duration】", - "【child】 : Figlio 【Widget】" - ] - }, - { - "file": "node2_decoration.dart", - "name": "Decorazione di Tooltip", - "desc": [ - "【decoration】 : Oggetto di decorazione 【Decoration】", - "【textStyle】 : Stile del testo 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_ja_JP.json deleted file mode 100644 index 4e0713fed..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_ja_JP.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 50, - "name": "Tooltip", - "localName": "ツールチップ", - "info": "ヒント情報を表示するためのコンポーネントで、長押しすると情報が表示されます。余白、表示時間、テキストスタイル、装飾などの属性を指定できます。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Tooltipの基本使用", - "desc": [ - "【preferBelow】 : 下方を優先するか 【bool】", - "【padding】 : 内側の余白 【EdgeInsetsGeometry】", - "【margin】 : 外側の余白 【EdgeInsetsGeometry】", - "【message】 : メッセージ内容 【String】", - "【showDuration】 : 表示時間 【Duration】", - "【waitDuration】 : ホバーして表示されるまでの時間 【Duration】", - "【child】 : 子 【Widget】" - ] - }, - { - "file": "node2_decoration.dart", - "name": "Tooltipの装飾", - "desc": [ - "【decoration】 : 装飾オブジェクト 【Decoration】", - "【textStyle】 : テキストスタイル 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_ko_KR.json deleted file mode 100644 index 8b98ca5f0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_ko_KR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 50, - "name": "Tooltip", - "localName": "툴팁", - "info": "툴팁 정보를 표시하는 컴포넌트로, 길게 누를 때 정보를 표시합니다. 여백, 표시 시간, 텍스트 스타일, 장식 속성 등을 지정할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Tooltip 기본 사용", - "desc": [ - "【preferBelow】 : 아래쪽을 우선할지 여부 【bool】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】", - "【margin】 : 외부 여백 【EdgeInsetsGeometry】", - "【message】 : 메시지 내용 【String】", - "【showDuration】 : 표시 시간 【Duration】", - "【waitDuration】 : 나타나는 시간 【Duration】", - "【child】 : 자식 【Widget】" - ] - }, - { - "file": "node2_decoration.dart", - "name": "Tooltip의 장식", - "desc": [ - "【decoration】 : 장식 객체 【Decoration】", - "【textStyle】 : 텍스트 스타일 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_pt_PT.json deleted file mode 100644 index f2239a7b8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_pt_PT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 50, - "name": "Tooltip", - "localName": "Ferramenta de Dica", - "info": "Componente que exibe informações de dica, exibindo informações ao pressionar e segurar. Pode especificar margens, duração de exibição, estilo de texto, propriedades de decoração, etc.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Tooltip", - "desc": [ - "【preferBelow】 : Preferir abaixo 【bool】", - "【padding】 : Preenchimento interno 【EdgeInsetsGeometry】", - "【margin】 : Margem externa 【EdgeInsetsGeometry】", - "【message】 : Conteúdo da mensagem 【String】", - "【showDuration】 : Duração da exibição 【Duration】", - "【waitDuration】 : Tempo de aparecimento ao pairar 【Duration】", - "【child】 : Filho 【Widget】" - ] - }, - { - "file": "node2_decoration.dart", - "name": "Decoração do Tooltip", - "desc": [ - "【decoration】 : Objeto de decoração 【Decoration】", - "【textStyle】 : Estilo de texto 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_ru_RU.json deleted file mode 100644 index e535f7edd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_ru_RU.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 50, - "name": "Tooltip", - "localName": "Всплывающая подсказка", - "info": "Компонент для отображения всплывающих подсказок, информация отображается при длительном нажатии. Можно указать отступы, время отображения, стиль текста, свойства декорации.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Tooltip", - "desc": [ - "【preferBelow】 : Предпочтительно снизу 【bool】", - "【padding】 : Внутренние отступы 【EdgeInsetsGeometry】", - "【margin】 : Внешние отступы 【EdgeInsetsGeometry】", - "【message】 : Содержание сообщения 【String】", - "【showDuration】 : Время отображения 【Duration】", - "【waitDuration】 : Время появления при наведении 【Duration】", - "【child】 : Дочерний элемент 【Widget】" - ] - }, - { - "file": "node2_decoration.dart", - "name": "Декорация Tooltip", - "desc": [ - "【decoration】 : Объект декорации 【Decoration】", - "【textStyle】 : Стиль текста 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_zh-CN.json deleted file mode 100644 index 570a1548a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/desc_zh-CN.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 50, - "name": "Tooltip", - "localName": "提示工具", - "info": "由于显示提示信息的组件,长按时显示信息。可指定边距、显示时长、文字样式、装饰灯属性。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Tooltip基本使用", - "desc": [ - "【preferBelow】 : 是否首选下方 【bool】", - "【padding】 : 内边距 【EdgeInsetsGeometry】", - "【margin】 : 外边距 【EdgeInsetsGeometry】", - "【message】 : 消息内容 【String】", - "【showDuration】 : 展示时间 【Duration】", - "【waitDuration】 : 悬浮出现时间 【Duration】", - "【child】 : 孩子 【Widget】" - ] - }, - { - "file": "node2_decoration.dart", - "name": "Tooltip的装饰", - "desc": [ - "【decoration】 : 装饰对象 【Decoration】", - "【textStyle】 : 文字样式 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/node1_base.dart deleted file mode 100644 index 29953fdb9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/node1_base.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - -class CustomTooltip extends StatelessWidget { - const CustomTooltip({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const Tooltip( - preferBelow: true, - padding: EdgeInsets.all(5), - margin: EdgeInsets.all(5), - message: "天王盖地虎", - showDuration: Duration(seconds: 3), - waitDuration: Duration(milliseconds: 200), - child: Icon(Icons.info_outline), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/node2_decoration.dart b/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/node2_decoration.dart deleted file mode 100644 index c850cb18d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/Tooltip/node2_decoration.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - -class DecorationTooltip extends StatelessWidget { - const DecorationTooltip({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const Tooltip( - preferBelow: false, - padding: EdgeInsets.all(5), - margin: EdgeInsets.all(2), - message: "宝塔镇河妖", - textStyle: TextStyle( - color: Colors.red, - shadows: [Shadow(color: Colors.white, - offset: Offset(1, 1))]), - decoration: BoxDecoration(boxShadow: [ - BoxShadow( - color: Colors.orangeAccent, - offset: Offset(1, 1), blurRadius: 8) - ]), - child: Icon(Icons.info_outline)); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_de_DE.json deleted file mode 100644 index 8e819173a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 226, - "name": "TweenAnimationBuilder", - "localName": "Tween-Animation Builder", - "info": "Verwendet den Tween-Interpolator, um Animationen für verwandte Eigenschaften zu erstellen, und führt über den Builder lokale Builds durch, um den Aktualisierungsbereich zu reduzieren. Benötigt keinen benutzerdefinierten Animator, kann Animationsdauer, Kurve und Endrückruf angeben.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TweenAnimationBuilder Anwendungsbeispiel", - "desc": [ - "【tween】 : *Interpolator 【Tween】", - "【duration】 : *Dauer 【Duration】", - "【builder】 : *Builder 【ValueWidgetBuilder】", - "【curve】 : Animationskurve 【Curve】", - "【onEnd】 : Endrückruf 【VoidCallback】", - "【child】 : Kindkomponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_en_US.json deleted file mode 100644 index 0a142ac15..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 226, - "name": "TweenAnimationBuilder", - "localName": "Tween Animation Builder", - "info": "Animates related properties through the Tween, and performs partial builds through the builder to reduce the refresh scope. No need for custom animators, you can specify animation duration, curve, and end callback.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TweenAnimationBuilder Usage Example", - "desc": [ - "【tween】 : *Tween 【Tween】", - "【duration】 : *Duration 【Duration】", - "【builder】 : *Builder 【ValueWidgetBuilder】", - "【curve】 : Animation Curve 【Curve】", - "【onEnd】 : End Callback 【VoidCallback】", - "【child】 : Child Widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_es_ES.json deleted file mode 100644 index ea4cb852d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 226, - "name": "TweenAnimationBuilder", - "localName": "Constructor de animación de interpolación", - "info": "Realiza una animación de interpolación en las propiedades relacionadas a través del interpolador Tween, y construye parcialmente a través del builder para reducir el alcance de la actualización. No es necesario un animador personalizado, se puede especificar la duración de la animación, la curva y la devolución de llamada al finalizar.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Ejemplo de uso de TweenAnimationBuilder", - "desc": [ - "【tween】 : *interpolador 【Tween】", - "【duration】 : *duración 【Duration】", - "【builder】 : *constructor 【ValueWidgetBuilder】", - "【curve】 : curva de animación 【Curve】", - "【onEnd】 : devolución de llamada al finalizar 【VoidCallback】", - "【child】 : componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_fr_FR.json deleted file mode 100644 index 4fb052634..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 226, - "name": "TweenAnimationBuilder", - "localName": "Constructeur d'animation par interpolation", - "info": "Utilise un interpolateur Tween pour animer les propriétés associées, et utilise un builder pour une construction partielle, réduisant ainsi la portée du rafraîchissement. Ne nécessite pas de personnalisation de l'animateur, permet de spécifier la durée de l'animation, la courbe, et le rappel de fin.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Exemple d'utilisation de TweenAnimationBuilder", - "desc": [ - "【tween】 : *interpolateur 【Tween】", - "【duration】 : *durée 【Duration】", - "【builder】 : *constructeur 【ValueWidgetBuilder】", - "【curve】 : courbe d'animation 【Curve】", - "【onEnd】 : rappel de fin 【VoidCallback】", - "【child】 : composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_it_IT.json deleted file mode 100644 index cefd525af..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 226, - "name": "TweenAnimationBuilder", - "localName": "Costruttore di animazione a interpolazione", - "info": "Esegue un'animazione a interpolazione sulle proprietà correlate tramite l'interpolatore Tween, costruendo localmente tramite il builder per ridurre l'ambito di aggiornamento. Non è necessario un animatore personalizzato, è possibile specificare la durata dell'animazione, la curva e il callback di fine.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Esempio di utilizzo di TweenAnimationBuilder", - "desc": [ - "【tween】 : *interpolatore 【Tween】", - "【duration】 : *durata 【Duration】", - "【builder】 : *costruttore 【ValueWidgetBuilder】", - "【curve】 : curva di animazione 【Curve】", - "【onEnd】 : callback di fine 【VoidCallback】", - "【child】 : componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_ja_JP.json deleted file mode 100644 index 487e035dc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 226, - "name": "TweenAnimationBuilder", - "localName": "トゥイーンアニメーションビルダー", - "info": "トゥイーンを使用して関連するプロパティのアニメーションを行い、ビルダーを使用して部分的な構築を行い、更新範囲を減らします。カスタムアニメーターは不要で、アニメーションの時間、曲線、終了コールバックを指定できます。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TweenAnimationBuilder 使用例", - "desc": [ - "【tween】 : *トゥイーン 【Tween】", - "【duration】 : *時間 【Duration】", - "【builder】 : *ビルダー 【ValueWidgetBuilder】", - "【curve】 : アニメーション曲線 【Curve】", - "【onEnd】 : 終了コールバック 【VoidCallback】", - "【child】 : 子ウィジェット 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_ko_KR.json deleted file mode 100644 index 29440f4a7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 226, - "name": "TweenAnimationBuilder", - "localName": "트윈 애니메이션 빌더", - "info": "트윈을 사용하여 관련 속성에 대한 애니메이션을 생성하고, 빌더를 통해 부분적으로 빌드하여 새로고침 범위를 줄입니다. 사용자 정의 애니메이터가 필요 없으며, 애니메이션 지속 시간, 곡선, 종료 콜백을 지정할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TweenAnimationBuilder 사용 예제", - "desc": [ - "【tween】 : *트윈 【Tween】", - "【duration】 : *지속 시간 【Duration】", - "【builder】 : *빌더 【ValueWidgetBuilder】", - "【curve】 : 애니메이션 곡선 【Curve】", - "【onEnd】 : 종료 콜백 【VoidCallback】", - "【child】 : 자식 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_pt_PT.json deleted file mode 100644 index a459fbfdf..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 226, - "name": "TweenAnimationBuilder", - "localName": "Construtor de Animação de Interpolação", - "info": "Realiza animações de interpolação nas propriedades relacionadas através do interpolador Tween, utilizando o builder para construir localmente e reduzir o escopo de atualização. Não é necessário personalizar o animador, podendo especificar a duração da animação, a curva e o callback de término.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Exemplo de uso do TweenAnimationBuilder", - "desc": [ - "【tween】 : *Interpolador 【Tween】", - "【duration】 : *Duração 【Duration】", - "【builder】 : *Construtor 【ValueWidgetBuilder】", - "【curve】 : Curva de animação 【Curve】", - "【onEnd】 : Callback de término 【VoidCallback】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_ru_RU.json deleted file mode 100644 index f9fac07e9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 226, - "name": "TweenAnimationBuilder", - "localName": "Построитель анимации с интерполяцией", - "info": "Анимация свойств через интерполятор Tween, локальное построение через builder для уменьшения области обновления. Не требует пользовательского аниматора, позволяет указать длительность анимации, кривую и обратный вызов по завершению.", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Пример использования TweenAnimationBuilder", - "desc": [ - "【tween】 : *интерполятор 【Tween】", - "【duration】 : *длительность 【Duration】", - "【builder】 : *построитель 【ValueWidgetBuilder】", - "【curve】 : кривая анимации 【Curve】", - "【onEnd】 : обратный вызов по завершению 【VoidCallback】", - "【child】 : дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_zh-CN.json deleted file mode 100644 index 9631b0ae4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 226, - "name": "TweenAnimationBuilder", - "localName": "渐变动画构造器", - "info": "通过渐变器 Tween 对相关属性进行渐变动画,通过 builder 进行局部构建,减少刷新范围。不需要自定义动画器,可指定动画时长、曲线、结束回调。", - "lever": 3, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TweenAnimationBuilder 使用案例", - "desc": [ - "【tween】 : *渐变器 【Tween】", - "【duration】 : *时长 【Duration】", - "【builder】 : *构造器 【ValueWidgetBuilder】", - "【curve】 : 动画曲线 【Curve】", - "【onEnd】 : 结束回调 【VoidCallback】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/node1_base.dart deleted file mode 100644 index 384ed3cd7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/TweenAnimationBuilder/node1_base.dart +++ /dev/null @@ -1,58 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class TweenAnimationBuilderDemo extends StatefulWidget { - const TweenAnimationBuilderDemo({Key? key}) : super(key: key); - - @override - State createState() => - _TweenAnimationBuilderDemoState(); -} - -class _TweenAnimationBuilderDemoState extends State { - List get colors => const [ - Colors.red, - Colors.orange, - Colors.yellow, - Colors.green, - Colors.blue, - Colors.indigo, - Colors.purple - ]; - - int _activeIndex = 0; - - Color get begin => colors[_activeIndex % colors.length]; - - Color get end => colors[(_activeIndex + 1) % colors.length]; - - void nextColor(){ - _activeIndex++; - setState(() {}); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: nextColor, - child: TweenAnimationBuilder( - tween: ColorTween(begin: begin, end: end), - duration: const Duration(milliseconds: 800), - builder: (BuildContext context, Color? color, Widget? child) { - return Container( - width: 40, - height: 40, - decoration: BoxDecoration( - color: color, borderRadius: BorderRadius.circular(5)), - child: child, - ); - }, - child: const Icon(Icons.android_outlined, color: Colors.white), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_de_DE.json deleted file mode 100644 index 545a79734..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 241, - "name": "UndoHistory", - "localName": "Verlauf rückgängig machen", - "info": "Empfängt einen ValueNotifier, um den Wert zu überwachen und bietet die Funktionen Rückgängig/Wiederholen für diesen Wert; wird in der Quellcode der TextField-Komponente verwendet.", - "lever": 2, - "family": 1, - "linkIds": [ - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Verwendung von UndoHistory in TextField", - "desc": [ - "In diesem Beispiel wird die Rückgängig/Wiederholen-Funktion von TextField über eine externe Schaltfläche gesteuert. Der Parameter undoController kann ein UndoHistoryController-Objekt übernehmen, um den eingegebenen Textinhalt zu steuern und zu beeinflussen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_en_US.json deleted file mode 100644 index c50f8921c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 241, - "name": "UndoHistory", - "localName": "Undo History", - "info": "Receives ValueNotifier to listen to the value, providing undo/redo functionality for that value; used in the source code of the TextField component.", - "lever": 2, - "family": 1, - "linkIds": [ - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Using UndoHistory in TextField", - "desc": [ - "In this example, the undo/redo functionality of the TextField is controlled via an external button. The undoController parameter can be passed an UndoHistoryController object to control and influence the input text content." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_es_ES.json deleted file mode 100644 index f3138ef02..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 241, - "name": "UndoHistory", - "localName": "Historial de Deshacer", - "info": "Recibe un ValueNotifier para escuchar valores, proporcionando funcionalidad de deshacer/rehacer para ese valor; utilizado en el código fuente del componente TextField.", - "lever": 2, - "family": 1, - "linkIds": [ - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Uso de UndoHistory en TextField", - "desc": [ - "En este caso, se controla la funcionalidad de deshacer/rehacer del TextField mediante un botón externo. El parámetro undoController puede recibir un objeto UndoHistoryController, utilizado para controlar y afectar el contenido del texto ingresado." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_fr_FR.json deleted file mode 100644 index a20fcbcad..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 241, - "name": "UndoHistory", - "localName": "Historique d'annulation", - "info": "Reçoit une valeur observable ValueNotifier et fournit des fonctionnalités d'annulation/réexécution pour cette valeur ; utilisé dans le code source du composant TextField.", - "lever": 2, - "family": 1, - "linkIds": [ - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilisation d'UndoHistory dans TextField", - "desc": [ - "Dans cet exemple, un bouton externe est utilisé pour contrôler les fonctionnalités d'annulation/réexécution de TextField. Le paramètre undoController peut recevoir un objet UndoHistoryController pour contrôler et influencer le contenu du texte saisi." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_it_IT.json deleted file mode 100644 index 563747f8d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 241, - "name": "UndoHistory", - "localName": "Cronologia Annulla", - "info": "Riceve un ValueNotifier per valori osservabili, fornendo funzionalità di annullamento/ripetizione per tale valore; utilizzato nel codice sorgente del componente TextField.", - "lever": 2, - "family": 1, - "linkIds": [ - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Utilizzo di UndoHistory in TextField", - "desc": [ - "In questo caso, attraverso un pulsante esterno, si controlla la funzione di annullamento/ripetizione di TextField. Il parametro undoController può essere passato come oggetto UndoHistoryController, utilizzato per controllare e influenzare il contenuto del testo inserito." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_ja_JP.json deleted file mode 100644 index 628a2393a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 241, - "name": "UndoHistory", - "localName": "取り消し履歴", - "info": "ValueNotifierの監視可能な値を受け取り、その値に取り消し/やり直し機能を提供します;TextFieldコンポーネントのソースコードで使用されています。", - "lever": 2, - "family": 1, - "linkIds": [ - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "TextFieldでのUndoHistoryの使用", - "desc": [ - "このケースでは、外部ボタンを使用してTextFieldの取り消し/やり直し機能を制御します。undoControllerパラメータにUndoHistoryControllerオブジェクトを渡すことができ、入力テキストの内容を制御および影響を与えるために使用されます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_ko_KR.json deleted file mode 100644 index f85244782..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 241, - "name": "UndoHistory", - "localName": "실행 취소 기록", - "info": "ValueNotifier를 통해 값을 감지하고, 해당 값에 대해 실행 취소/다시 실행 기능을 제공합니다; TextField 컴포넌트 소스 코드에서 사용됩니다.", - "lever": 2, - "family": 1, - "linkIds": [ - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "TextField에서 UndoHistory 사용", - "desc": [ - "이 예제에서는 외부 버튼을 통해 TextField의 실행 취소/다시 실행 기능을 제어합니다. undoController 매개변수에 UndoHistoryController 객체를 전달하여 입력 텍스트 내용을 제어하고 영향을 줄 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_pt_PT.json deleted file mode 100644 index c1ee62f1d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 241, - "name": "UndoHistory", - "localName": "Histórico de Desfazer", - "info": "Recebe um ValueNotifier para monitorar valores, fornecendo funcionalidades de desfazer/refazer para esse valor; utilizado no código-fonte do componente TextField.", - "lever": 2, - "family": 1, - "linkIds": [ - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Usando UndoHistory no TextField", - "desc": [ - "Neste exemplo, um botão externo é usado para controlar as funcionalidades de desfazer/refazer do TextField. O parâmetro undoController pode receber um objeto UndoHistoryController, que é usado para controlar e influenciar o conteúdo do texto inserido." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_ru_RU.json deleted file mode 100644 index e1aeecc19..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 241, - "name": "UndoHistory", - "localName": "История отмены", - "info": "Принимает ValueNotifier для отслеживания значений и предоставляет функциональность отмены/повтора для этого значения; используется в исходном коде компонента TextField.", - "lever": 2, - "family": 1, - "linkIds": [ - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Использование UndoHistory в TextField", - "desc": [ - "В этом примере с помощью внешней кнопки управляется функциональность отмены/повтора в TextField. Параметр undoController может принимать объект UndoHistoryController для управления и влияния на вводимый текст." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_zh-CN.json deleted file mode 100644 index c2ae9df96..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 241, - "name": "UndoHistory", - "localName": "撤销历史", - "info": "接收 ValueNotifier 可监听值,为该值提供撤销/重做功能;被用于 TextField 组件源码中。", - "lever": 2, - "family": 1, - "linkIds": [ - 54 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "TextField 中使用 UndoHistory", - "desc": [ - "该案例中通过外界按钮,进行控制 TextField 的撤销/重做功能。其中 undoController 参数可以传入 UndoHistoryController 对象,用于控制并影响输入文本内容。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/node1.dart b/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/node1.dart deleted file mode 100644 index 85a654a46..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UndoHistory/node1.dart +++ /dev/null @@ -1,108 +0,0 @@ -import 'package:flutter/material.dart'; - -class UndoHistoryDemo1 extends StatefulWidget { - const UndoHistoryDemo1({super.key}); - - @override - State createState() => _UndoHistoryDemo1State(); -} - -class _UndoHistoryDemo1State extends State { - final UndoHistoryController _undoController = UndoHistoryController(); - - @override - void dispose() { - _undoController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - _buildToolBar(), - const Divider(height: 0.5), - Expanded( - child: TextField( - undoController: _undoController, - expands: true, - maxLines: null, - minLines: null, - decoration: InputDecoration( - filled: true, - hintText: '请输入...', - fillColor: Colors.white, - hoverColor: Colors.transparent, - border: InputBorder.none, - ), - )) - ], - ), - ); - } - - Widget _buildToolBar() { - return Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0, vertical: 4), - child: ValueListenableBuilder( - valueListenable: _undoController, - builder: (BuildContext context, UndoHistoryValue value, Widget? child) { - return Wrap( - spacing: 4, - children: [ - _IconAction( - icon: Icons.undo, - onTap: value.canUndo ? _undoController.undo : null), - _IconAction( - icon: Icons.redo, - onTap: value.canRedo ? _undoController.redo : null), - ], - ); - }, - ), - ); - } -} - -class _IconAction extends StatefulWidget { - final IconData icon; - final VoidCallback? onTap; - - const _IconAction({super.key, required this.icon, this.onTap}); - - @override - State<_IconAction> createState() => _IconActionState(); -} - -class _IconActionState extends State<_IconAction> { - bool _hover = false; - - bool get enable => widget.onTap != null; - - Color? get color => (_hover && enable) ? Colors.grey.withOpacity(0.2) : null; - - @override - Widget build(BuildContext context) { - MouseCursor cursor = (_hover && enable) ? SystemMouseCursors.click : SystemMouseCursors.basic; - return MouseRegion( - cursor: cursor , - onExit: (_) => setState(() => _hover = false), - onEnter: (_) => setState(() => _hover = true), - child: GestureDetector( - onTap: widget.onTap, - child: Container( - decoration: BoxDecoration( - color: color, borderRadius: BorderRadius.circular(4)), - padding: const EdgeInsets.all(4.0), - child: Icon( - widget.icon, - size: 20, - color: enable ? null : Colors.grey, - )), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_de_DE.json deleted file mode 100644 index fd18752fc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 243, - "name": "UniqueWidget", - "localName": "Einzigartige Komponente", - "info": "Abstrakte Klasse, muss einen GlobalKey zur Identifikation bereitstellen. Diese Art von Komponente wird nur als eine Instanz inflated und hat zu jedem Zeitpunkt nur einen Zustand, der über die currentState-Eigenschaft abgerufen werden kann.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in UniqueWidget", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_en_US.json deleted file mode 100644 index 4e81b96f8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 243, - "name": "UniqueWidget", - "localName": "Unique Component", - "info": "Abstract class, must provide a GlobalKey for identification. This type of component will only inflate one instance and will only have one state at any given time. The state can be obtained through the currentState property.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to UniqueWidget", - "desc": [ - "【child】 : Child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_es_ES.json deleted file mode 100644 index 9a4178f9c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 243, - "name": "UniqueWidget", - "localName": "Componente Único", - "info": "Clase abstracta, debe proporcionar una GlobalKey para la identificación. Este tipo de componente solo se inflará en una instancia y solo tendrá un estado en un momento dado. El estado se puede obtener a través de la propiedad currentState.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a UniqueWidget", - "desc": [ - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_fr_FR.json deleted file mode 100644 index 276b12f71..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 243, - "name": "UniqueWidget", - "localName": "Widget Unique", - "info": "Classe abstraite, doit fournir une GlobalKey pour l'identification. Ce type de widget ne sera instancié qu'une seule fois et aura un seul état à la fois. L'état peut être obtenu via la propriété currentState.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à UniqueWidget", - "desc": [ - "【child】 : Widget enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_it_IT.json deleted file mode 100644 index 705120b6c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 243, - "name": "UniqueWidget", - "localName": "Componente Unico", - "info": "Classe astratta, deve fornire una GlobalKey per l'identificazione. Questo tipo di componente verrà inflato solo una volta e avrà solo uno stato alla volta. Lo stato può essere ottenuto tramite la proprietà currentState.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a UniqueWidget", - "desc": [ - "【child】 : Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_ja_JP.json deleted file mode 100644 index 956984b07..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 243, - "name": "UniqueWidget", - "localName": "ユニークウィジェット", - "info": "抽象クラス、GlobalKeyを提供して識別する必要があります。このタイプのウィジェットは1つのインスタンスのみがinflatedされ、同時に1つの状態のみを持ちます。currentStateプロパティを通じて状態を取得できます。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "UniqueWidget 紹介", - "desc": [ - "【child】 : 子ウィジェット 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_ko_KR.json deleted file mode 100644 index 5b57d4630..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 243, - "name": "UniqueWidget", - "localName": "유니크 위젯", - "info": "추상 클래스, GlobalKey를 제공하여 식별해야 합니다. 이 유형의 위젯은 하나의 인스턴스만 inflated되며, 동시에 하나의 상태만 가질 수 있습니다. currentState 속성을 통해 상태를 가져올 수 있습니다.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "UniqueWidget 소개", - "desc": [ - "【child】 : 자식 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_pt_PT.json deleted file mode 100644 index 1e73e8cbc..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 243, - "name": "UniqueWidget", - "localName": "Componente Único", - "info": "Classe abstrata, deve fornecer uma GlobalKey para identificação, este tipo de componente só será inflated uma instância, e terá apenas um estado de cada vez, o estado pode ser obtido através da propriedade currentState.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao UniqueWidget", - "desc": [ - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_ru_RU.json deleted file mode 100644 index 77b6eb84e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 243, - "name": "UniqueWidget", - "localName": "Уникальный компонент", - "info": "Абстрактный класс, должен предоставлять GlobalKey для идентификации. Этот тип компонента будет inflated только один экземпляр, и в любой момент времени будет только одно состояние, которое можно получить через свойство currentState.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в UniqueWidget", - "desc": [ - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_zh-CN.json deleted file mode 100644 index 362d6b536..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 243, - "name": "UniqueWidget", - "localName": "唯一组件", - "info": "抽象类,必须提供一个 GlobalKey 进行身份标识,该类型组件只会 inflated 一个实例,同一时刻也只会有一个状态,可以通过 currentState 属性获取状态。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "UniqueWidget 介绍", - "desc": [ - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/node1_base.dart deleted file mode 100644 index e31fce224..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/UniqueWidget/node1_base.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class UniqueWidgetDemo extends StatelessWidget { - const UniqueWidgetDemo({Key? key}) : super(key: key); - - final String info = - '该类是抽象类,在 Flutter 框架层没有实现类,也没有其他源码使用到它,说明它基本上没啥用。' - '本质上它也非常简单,就是为组件添加一个 GlobalKey,在 Element#inflateWidget 时,会校验组件是否有 GlobalKey ,' - '如果有,则根据 key 找到之前的对应的 Element,就不会触发 Widget#createElement。为了方便获取 State,该类暴露 currentState 属性。' - '你瞄一下源码,就能看到这个组件是多么简单,简单到可以自己完成,以至于没什么大用。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_de_DE.json deleted file mode 100644 index 98e606980..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 255, - "name": "ValueListenableBuilder", - "localName": "Wertüberwachungs-Builder", - "info": "Kann einen Wert überwachen und bei Änderungen die Benutzeroberfläche über den Builder-Callback neu aufbauen, wodurch die Verwendung von setState zur Aktualisierung vermieden wird.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ValueListenableBuilder", - "desc": [ - "【builder】: Komponenten-Builder 【ValueWidgetBuilder】", - "【valueListenable】: Überwachungswert 【ValueListenable】", - "【child】: Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_en_US.json deleted file mode 100644 index 8230410da..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 255, - "name": "ValueListenableBuilder", - "localName": "Value Listener Builder", - "info": "Can listen to a value, and when it changes, the interface can be rebuilt through the builder callback, avoiding the use of setState for refreshing.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ValueListenableBuilder", - "desc": [ - "【builder】: Component builder 【ValueWidgetBuilder】", - "【valueListenable】: Listened value 【ValueListenable】", - "【child】: Child component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_es_ES.json deleted file mode 100644 index 6597d7f72..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 255, - "name": "ValueListenableBuilder", - "localName": "Constructor de Escucha de Valor", - "info": "Puede escuchar un valor y, cuando cambia, reconstruir la interfaz a través de la devolución de llamada del constructor, evitando el uso de setState para actualizar.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de ValueListenableBuilder", - "desc": [ - "【builder】: Constructor de componentes 【ValueWidgetBuilder】", - "【valueListenable】: Valor de escucha 【ValueListenable】", - "【child】: Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_fr_FR.json deleted file mode 100644 index 44726e9b9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 255, - "name": "ValueListenableBuilder", - "localName": "Constructeur de valeur écoutable", - "info": "Peut écouter une valeur, et lorsque celle-ci change, il peut reconstruire l'interface via un rappel builder, évitant ainsi l'utilisation de setState pour rafraîchir.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ValueListenableBuilder", - "desc": [ - "【builder】: Constructeur de composant 【ValueWidgetBuilder】", - "【valueListenable】: Valeur écoutée 【ValueListenable】", - "【child】: Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_it_IT.json deleted file mode 100644 index 4a4785b78..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 255, - "name": "ValueListenableBuilder", - "localName": "Costruttore di ascolto del valore", - "info": "Può ascoltare un valore e, quando cambia, ricostruire l'interfaccia attraverso il callback del builder, evitando l'uso di setState per aggiornare.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di ValueListenableBuilder", - "desc": [ - "【builder】: Costruttore del componente 【ValueWidgetBuilder】", - "【valueListenable】: Valore di ascolto 【ValueListenable】", - "【child】: Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_ja_JP.json deleted file mode 100644 index 21e7ccf6a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 255, - "name": "ValueListenableBuilder", - "localName": "値リスナービルダー", - "info": "値を監視し、その値が変化したときにbuilderコールバックを通じてUIを再構築し、setStateを使用せずに更新を避けることができます。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ValueListenableBuilderの基本使用", - "desc": [ - "【builder】: コンポーネントビルダー 【ValueWidgetBuilder】", - "【valueListenable】: 監視値 【ValueListenable】", - "【child】: 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_ko_KR.json deleted file mode 100644 index b8e33579a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 255, - "name": "ValueListenableBuilder", - "localName": "값 리스너 빌더", - "info": "값을 리스닝하고, 값이 변경될 때 builder 콜백을 통해 UI를 재구성할 수 있으며, setState를 사용하지 않고도 화면을 갱신할 수 있습니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ValueListenableBuilder 기본 사용법", - "desc": [ - "【builder】: 컴포넌트 빌더 【ValueWidgetBuilder】", - "【valueListenable】: 리스닝 값 【ValueListenable】", - "【child】: 자식 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_pt_PT.json deleted file mode 100644 index 2dfd9ab6a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 255, - "name": "ValueListenableBuilder", - "localName": "Construtor de Valor Escutável", - "info": "Pode escutar um valor e, quando ele muda, reconstruir a interface através do callback do builder, evitando o uso de setState para atualizar.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do ValueListenableBuilder", - "desc": [ - "【builder】: Construtor de Componentes 【ValueWidgetBuilder】", - "【valueListenable】: Valor Escutável 【ValueListenable】", - "【child】: Componente Filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_ru_RU.json deleted file mode 100644 index f014ac90d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 255, - "name": "ValueListenableBuilder", - "localName": "Слушатель значений", - "info": "Может отслеживать значение и перестраивать интерфейс через обратный вызов builder при его изменении, избегая использования setState для обновления.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ValueListenableBuilder", - "desc": [ - "【builder】: Конструктор компонента 【ValueWidgetBuilder】", - "【valueListenable】: Отслеживаемое значение 【ValueListenable】", - "【child】: Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_zh-CN.json deleted file mode 100644 index 190489a8f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 255, - "name": "ValueListenableBuilder", - "localName": "监听值构造器", - "info": "可以监听一个值,当其变化时通过builder回调能重建界面,避免使用setState刷新。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ValueListenableBuilder基本使用", - "desc": [ - "【builder】: 组件构造器 【ValueWidgetBuilder】", - "【valueListenable】: 监听值 【ValueListenable】", - "【child】: 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/node1_base.dart deleted file mode 100644 index 0d81ba906..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/ValueListenableBuilder/node1_base.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/21 -/// contact me by email 1981462002@qq.com - -final ValueNotifier _counter = ValueNotifier(0); - -class ValueListenableBuilderDemo extends StatelessWidget { - const ValueListenableBuilderDemo({super.key}); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: Scaffold( - appBar: AppBar(title: const Text("ValueListenableBuilder")), - body: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text('You have pushed the button this many times:'), - ValueListenableBuilder( - builder: _buildWithValue, - valueListenable: _counter, - child: const Text('I am Child!'), - ) - ], - ), - ), - floatingActionButton: FloatingActionButton( - child: const Icon(Icons.plus_one), - onPressed: () => _counter.value += 1, - ), - ), - ); - } - - Widget _buildWithValue(BuildContext context, int value, Widget? child) { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Text('$value'), - child ?? const SizedBox.shrink(), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_de_DE.json deleted file mode 100644 index a428050a4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 234, - "name": "WidgetInspector", - "localName": "Widget-Inspektor", - "info": "Diese Komponente ermöglicht es Ihnen, die Hierarchie der Unterkomponenten bequem anzuzeigen und ist eine der Funktionen des Flutter Inspector-Plugins.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung des WidgetInspectors", - "desc": [ - "【child】 : Unterkomponente 【Widget】", - "【selectButtonBuilder】: *Auswahlschalter-Builder 【InspectorSelectButtonBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_en_US.json deleted file mode 100644 index d060acd53..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 234, - "name": "WidgetInspector", - "localName": "Widget Inspector", - "info": "This component allows you to easily view the hierarchy of child components and is one of the features of the Flutter Inspector plugin.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of WidgetInspector", - "desc": [ - "【child】 : Child component 【Widget】", - "【selectButtonBuilder】: *Select button builder 【InspectorSelectButtonBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_es_ES.json deleted file mode 100644 index 9995d77f7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 234, - "name": "WidgetInspector", - "localName": "Inspector de Componentes", - "info": "Este componente te permite ver fácilmente la jerarquía de los componentes hijos, es una de las funciones del plugin Flutter Inspector.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de WidgetInspector", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【selectButtonBuilder】: *Constructor del botón de selección 【InspectorSelectButtonBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_fr_FR.json deleted file mode 100644 index 16bdc06f0..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 234, - "name": "WidgetInspector", - "localName": "Inspecteur de widgets", - "info": "Ce composant vous permet de visualiser facilement la structure hiérarchique des composants enfants, c'est l'une des fonctionnalités de l'extension Flutter Inspector.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de WidgetInspector", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【selectButtonBuilder】: *Constructeur de bouton de sélection 【InspectorSelectButtonBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_it_IT.json deleted file mode 100644 index 267ae04e7..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 234, - "name": "WidgetInspector", - "localName": "Ispezione dei componenti", - "info": "Questo componente ti permette di visualizzare facilmente la struttura gerarchica dei componenti figli, è una delle funzionalità del plugin Flutter Inspector.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di WidgetInspector", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【selectButtonBuilder】: *Costruttore del pulsante di selezione 【InspectorSelectButtonBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_ja_JP.json deleted file mode 100644 index 90ee326d8..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 234, - "name": "WidgetInspector", - "localName": "ウィジェットインスペクター", - "info": "このコンポーネントは、子コンポーネントの階層構造を簡単に確認できるようにするもので、Flutter Inspectorプラグインの機能の一つです。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WidgetInspectorの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【selectButtonBuilder】: *選択ボタンビルダー 【InspectorSelectButtonBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_ko_KR.json deleted file mode 100644 index d11114b2f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 234, - "name": "WidgetInspector", - "localName": "위젯 인스펙터", - "info": "이 컴포넌트는 하위 컴포넌트 계층 구조를 쉽게 확인할 수 있게 해주며, Flutter Inspector 플러그인의 기능 중 하나입니다.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WidgetInspector 기본 사용법", - "desc": [ - "【child】 : 하위 컴포넌트 【Widget】", - "【selectButtonBuilder】: *선택 버튼 생성기 【InspectorSelectButtonBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_pt_PT.json deleted file mode 100644 index ec01c1fe2..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 234, - "name": "WidgetInspector", - "localName": "Inspetor de Componentes", - "info": "Este componente permite visualizar facilmente a estrutura hierárquica dos componentes filhos, sendo uma das funcionalidades do plugin Flutter Inspector.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do WidgetInspector", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【selectButtonBuilder】: *Construtor do botão de seleção 【InspectorSelectButtonBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_ru_RU.json deleted file mode 100644 index e4fce6368..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 234, - "name": "WidgetInspector", - "localName": "Инспектор виджетов", - "info": "Этот компонент позволяет вам легко просматривать иерархию дочерних компонентов, что является одной из функций плагина Flutter Inspector.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование WidgetInspector", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【selectButtonBuilder】: *Конструктор кнопки выбора 【InspectorSelectButtonBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_zh-CN.json deleted file mode 100644 index 2a829b298..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 234, - "name": "WidgetInspector", - "localName": "组件检查器", - "info": "该组件可以让你很方便地查看子组件层级结构,是Flutter Inspector插件的功能之一。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WidgetInspector基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【selectButtonBuilder】: *选择按钮构造器 【InspectorSelectButtonBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/node1_base.dart deleted file mode 100644 index ed7ae3c9f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetInspector/node1_base.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/8/16 -/// contact me by email 1981462002@qq.com - -class WidgetInspectorDemo extends StatelessWidget { - const WidgetInspectorDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: WidgetInspector( - child: const HomePage(), - tapBehaviorButtonBuilder: _tapBehaviorButtonBuilder, - exitWidgetSelectionButtonBuilder: null, - moveExitWidgetSelectionButtonBuilder: _selectButtonBuilder, - ), - ); - } - - // Widget _selectButtonBuilder(BuildContext context, - // {required VoidCallback onPressed, bool? isLeftAligned}) { - // onPressed(); - // return Container(); - // } - - Widget _tapBehaviorButtonBuilder(BuildContext context, - {required VoidCallback onPressed, - required bool selectionOnTapEnabled, - required String semanticLabel}) { - return Container(); - } - - Widget _selectButtonBuilder(BuildContext context, - {bool? isLeftAligned, - required VoidCallback onPressed, - required String semanticLabel}) { - return Container(); - } -} - -class HomePage extends StatefulWidget { - const HomePage({Key? key}) : super(key: key); - - @override - _HomePageState createState() => _HomePageState(); -} - -class _HomePageState extends State { - int _count = 0; - - @override - Widget build(BuildContext context) { - return Scaffold( - body: Container( - alignment: const Alignment(0, 0.7), - child: Text( - '你点击了$_count次', - style: const TextStyle(fontSize: 18, color: Colors.blue), - ), - ), - floatingActionButton: FloatingActionButton( - child: const Icon(Icons.add), - onPressed: () { - setState(() { - _count++; - }); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_de_DE.json deleted file mode 100644 index 0386443e1..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 236, - "name": "WidgetsApp", - "localName": "Widget-Anwendung", - "info": "Sammelt die Komponenten, die eine Anwendung benötigt, wie Routing, Sprache, einige Debug-Schalter usw. Es ist auch die Kernkomponente zur Implementierung von MaterialApp und CupertinoApp.", - "lever": 2, - "family": 1, - "linkIds": [ - 65, - 156 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von WidgetsApp", - "desc": [ - "【pageRouteBuilder】 : *Routing-Konstruktor 【PageRouteFactory】", - "【color】: *Farbe 【Color】", - "【debugShowWidgetInspector】: Ob der Widget-Inspektor angezeigt werden soll 【bool】", - "Andere Eigenschaften sind im Wesentlichen dieselben wie bei MaterialApp, siehe dort für weitere Details." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_en_US.json deleted file mode 100644 index 66c99748a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 236, - "name": "WidgetsApp", - "localName": "Widget Application", - "info": "Collects the components needed for an application, such as routing, language, some debugging switches, etc. It is also the core component for implementing MaterialApp and CupertinoApp.", - "lever": 2, - "family": 1, - "linkIds": [ - 65, - 156 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of WidgetsApp", - "desc": [ - "【pageRouteBuilder】 : *Route Builder 【PageRouteFactory】", - "【color】: *Color 【Color】", - "【debugShowWidgetInspector】: Whether to display the widget inspector 【bool】", - "Other properties are basically the same as MaterialApp, see details there." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_es_ES.json deleted file mode 100644 index cd9836e8e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 236, - "name": "WidgetsApp", - "localName": "Aplicación de Componentes", - "info": "Agrupa los componentes necesarios para una aplicación, como el enrutamiento, el idioma, algunos interruptores de depuración, etc. También es el componente central para implementar MaterialApp y CupertinoApp.", - "lever": 2, - "family": 1, - "linkIds": [ - 65, - 156 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de WidgetsApp", - "desc": [ - "【pageRouteBuilder】 : *Constructor de rutas 【PageRouteFactory】", - "【color】: *Color 【Color】", - "【debugShowWidgetInspector】: Mostrar el inspector de componentes z 【bool】", - "Otras propiedades son básicamente las mismas que MaterialApp, consulte allí para más detalles." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_fr_FR.json deleted file mode 100644 index 408c12203..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 236, - "name": "WidgetsApp", - "localName": "Application de widgets", - "info": "Rassemble les composants nécessaires pour une application, tels que le routage, la langue, certains commutateurs de débogage, etc. C'est également le composant central pour la mise en œuvre de MaterialApp et CupertinoApp.", - "lever": 2, - "family": 1, - "linkIds": [ - 65, - 156 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de WidgetsApp", - "desc": [ - "【pageRouteBuilder】 : *constructeur de route 【PageRouteFactory】", - "【color】: *couleur 【Color】", - "【debugShowWidgetInspector】: afficher l'inspecteur de widgets 【bool】", - "Les autres propriétés sont essentiellement les mêmes que MaterialApp, voir cela pour plus de détails." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_it_IT.json deleted file mode 100644 index f5bc7c8f3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 236, - "name": "WidgetsApp", - "localName": "Applicazione Componenti", - "info": "Raccoglie i componenti necessari per un'applicazione, come il routing, la lingua, alcuni interruttori di debug, ecc. È anche il componente centrale per implementare MaterialApp e CupertinoApp.", - "lever": 2, - "family": 1, - "linkIds": [ - 65, - 156 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di WidgetsApp", - "desc": [ - "【pageRouteBuilder】 : *Costruttore di routing 【PageRouteFactory】", - "【color】: *Colore 【Color】", - "【debugShowWidgetInspector】: Mostra l'ispettore dei componenti 【bool】", - "Le altre proprietà sono fondamentalmente le stesse di MaterialApp, vedi dettagli." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_ja_JP.json deleted file mode 100644 index dca35af44..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 236, - "name": "WidgetsApp", - "localName": "ウィジェットアプリ", - "info": "アプリケーションに必要な部品、例えばルーティング、言語、いくつかのデバッグスイッチなどを集めたものです。また、MaterialAppとCupertinoAppを実現するためのコアコンポーネントでもあります。", - "lever": 2, - "family": 1, - "linkIds": [ - 65, - 156 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WidgetsApp基本使用", - "desc": [ - "【pageRouteBuilder】 : *ルーティングビルダー 【PageRouteFactory】", - "【color】: *色 【Color】", - "【debugShowWidgetInspector】: ウィジェットインスペクターを表示するかどうか 【bool】", - "その他の属性は基本的にMaterialAppと同じです。詳細はそちらをご覧ください。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_ko_KR.json deleted file mode 100644 index 709d0d738..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 236, - "name": "WidgetsApp", - "localName": "위젯 앱", - "info": "앱에 필요한 구성 요소, 예를 들어 라우팅, 언어, 일부 디버그 스위치 등을 모아놓은 것입니다. 또한 MaterialApp과 CupertinoApp을 구현하는 핵심 구성 요소입니다.", - "lever": 2, - "family": 1, - "linkIds": [ - 65, - 156 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WidgetsApp 기본 사용법", - "desc": [ - "【pageRouteBuilder】 : *라우트 빌더 【PageRouteFactory】", - "【color】: *색상 【Color】", - "【debugShowWidgetInspector】: 위젯 인스펙터 표시 여부 【bool】", - "기타 속성은 기본적으로 MaterialApp과 동일하므로 자세한 내용은 해당 문서를 참조하세요." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_pt_PT.json deleted file mode 100644 index 0d9c10318..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 236, - "name": "WidgetsApp", - "localName": "Aplicação de Componentes", - "info": "Agrega os componentes necessários para uma aplicação, como roteamento, idioma, alguns interruptores de depuração, etc. Também é o componente central para implementar MaterialApp e CupertinoApp.", - "lever": 2, - "family": 1, - "linkIds": [ - 65, - 156 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do WidgetsApp", - "desc": [ - "【pageRouteBuilder】 : *Construtor de Rota 【PageRouteFactory】", - "【color】: *Cor 【Color】", - "【debugShowWidgetInspector】: Mostrar o inspetor de componentes 【bool】", - "Outras propriedades são basicamente as mesmas que MaterialApp, consulte para mais detalhes." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_ru_RU.json deleted file mode 100644 index b72df5d01..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 236, - "name": "WidgetsApp", - "localName": "Приложение виджетов", - "info": "Собирает компоненты, необходимые для приложения, такие как маршрутизация, язык, некоторые отладочные переключатели и т.д. Также является основным компонентом для реализации MaterialApp и CupertinoApp.", - "lever": 2, - "family": 1, - "linkIds": [ - 65, - 156 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование WidgetsApp", - "desc": [ - "【pageRouteBuilder】 : *Конструктор маршрутов 【PageRouteFactory】", - "【color】: *Цвет 【Color】", - "【debugShowWidgetInspector】: Показывать ли инспектор виджетов 【bool】", - "Другие свойства в основном совпадают с MaterialApp, подробнее см. там." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_zh-CN.json deleted file mode 100644 index 6c4c0011a..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 236, - "name": "WidgetsApp", - "localName": "组件应用", - "info": "集合一个应用程序需要的部件,如路由、语言、一些调试开关等。也是实现MaterialApp和CupertinoApp的核心组件。", - "lever": 2, - "family": 1, - "linkIds": [ - 65, - 156 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WidgetsApp基本使用", - "desc": [ - "【pageRouteBuilder】 : *路由构造器 【PageRouteFactory】", - "【color】: *颜色 【Color】", - "【debugShowWidgetInspector】: 是否显示z组件查看器 【bool】", - "其他属性基本上同MaterialApp,详见之。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/node1_base.dart deleted file mode 100644 index 608948c7b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WidgetsApp/node1_base.dart +++ /dev/null @@ -1,123 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/8/16 -/// contact me by email 1981462002@qq.com - -class WidgetsAppDemo extends StatefulWidget { - const WidgetsAppDemo({Key? key}) : super(key: key); - - @override - _WidgetsAppDemoState createState() => _WidgetsAppDemoState(); -} - -class _WidgetsAppDemoState extends State { - bool _debugShowCheckedModeBanner = false; - bool _debugShowWidgetInspector = false; - bool _showPerformanceOverlay = false; - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - _buildSwitchers(), - SizedBox( - height: 250, - child: WidgetsApp( - color: Colors.blue, - debugShowCheckedModeBanner: _debugShowCheckedModeBanner, - showPerformanceOverlay: _showPerformanceOverlay, - debugShowWidgetInspector: _debugShowWidgetInspector, - pageRouteBuilder: - (RouteSettings settings, WidgetBuilder builder) { - return MaterialPageRoute(settings: settings, builder: builder); - }, - home: const HomePage(), - ), - ), - ], - ); - } - - Widget _buildSwitchers() { - return DefaultTextStyle( - style: const TextStyle(color: Colors.blue), - child: Wrap( - spacing: 10, - children: [ - Column( - children: [ - Switch( - value: _showPerformanceOverlay, - onChanged: (v) { - setState(() { - _showPerformanceOverlay = v; - }); - }, - ), - const Text('性能浮层') - ], - ), - Column( - children: [ - Switch( - value: _debugShowCheckedModeBanner, - onChanged: (v) { - setState(() { - _debugShowCheckedModeBanner = v; - }); - }, - ), - const Text('开启角标') - ], - ), - Column( - children: [ - Switch( - value: _debugShowWidgetInspector, - onChanged: (v) { - setState(() { - _debugShowWidgetInspector = v; - }); - }, - ), - const Text('检查器') - ], - ) - ], - ), - ); - } -} - -class HomePage extends StatefulWidget { - const HomePage({Key? key}) : super(key: key); - - @override - _HomePageState createState() => _HomePageState(); -} - -class _HomePageState extends State { - int _count = 0; - - @override - Widget build(BuildContext context) { - return Scaffold( - body: Container( - alignment: const Alignment(0, 0.7), - child: Text( - '你点击了$_count次', - style: const TextStyle(fontSize: 18, color: Colors.blue), - ), - ), - floatingActionButton: FloatingActionButton( - child: const Icon(Icons.add), - onPressed: () { - setState(() { - _count++; - }); - }, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_de_DE.json deleted file mode 100644 index 90b0bf148..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 170, - "name": "WillPopScope", - "localName": "Rückkehrblockierung", - "info": "Wenn eine Oberfläche eine WillPopScope-Komponente enthält, wird beim Zurückkehren der Seite ein Callback ausgelöst, um zu entscheiden, ob zurückgekehrt werden soll. Kann für Szenarien verwendet werden, in denen ein erneutes Bestätigen des Verlassens erforderlich ist.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WillPopScope Verwendung", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【onWillPop】 : Rückkehr-Callback 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_en_US.json deleted file mode 100644 index f1db277ef..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 170, - "name": "WillPopScope", - "localName": "Return Intercept", - "info": "When a WillPopScope component is present in an interface, a callback is triggered when the page returns, determining whether to return. It can be used for scenarios requiring secondary confirmation before exiting.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WillPopScope Usage", - "desc": [ - "【child】: Child component 【Widget】", - "【onWillPop】: Return callback 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_es_ES.json deleted file mode 100644 index 64fbbb6fd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 170, - "name": "WillPopScope", - "localName": "Intercepción de retorno", - "info": "Cuando hay un componente WillPopScope en una interfaz, se activará una devolución de llamada al regresar de la página para decidir si se debe regresar. Se puede utilizar en escenarios de confirmación secundaria para salir.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de WillPopScope", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【onWillPop】 : Devolución de llamada 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_fr_FR.json deleted file mode 100644 index 539be6bf9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 170, - "name": "WillPopScope", - "localName": "Interception de retour", - "info": "Lorsqu'un composant WillPopScope est présent dans une interface, un rappel est déclenché lors du retour à la page pour décider si le retour doit être effectué. Peut être utilisé pour des scénarios de confirmation de sortie.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de WillPopScope", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【onWillPop】 : Rappel de retour 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_it_IT.json deleted file mode 100644 index 2ab9a79c4..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 170, - "name": "WillPopScope", - "localName": "Intercettazione di ritorno", - "info": "Quando un'interfaccia contiene il componente WillPopScope, viene attivato un callback al momento del ritorno alla pagina, decidendo se tornare indietro. Può essere utilizzato per scenari di conferma di uscita secondaria.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di WillPopScope", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【onWillPop】 : Callback di ritorno 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_ja_JP.json deleted file mode 100644 index 9044470ae..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 170, - "name": "WillPopScope", - "localName": "戻り防止", - "info": "インターフェースにWillPopScopeコンポーネントがある場合、ページが戻るときにコールバックがトリガーされ、戻るかどうかを決定します。二次確認して退出するシナリオに使用できます。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WillPopScopeの使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【onWillPop】 : 戻りコールバック 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_ko_KR.json deleted file mode 100644 index 66971d92f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 170, - "name": "WillPopScope", - "localName": "뒤로 가기 차단", - "info": "인터페이스에 WillPopScope 컴포넌트가 있을 때, 페이지에서 뒤로 가기를 시도하면 콜백이 트리거되어 뒤로 갈지 여부를 결정합니다. 이는 두 번째로 종료를 확인하는 시나리오에 사용할 수 있습니다.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WillPopScope 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【onWillPop】 : 뒤로 가기 콜백 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_pt_PT.json deleted file mode 100644 index e99f89658..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 170, - "name": "WillPopScope", - "localName": "Interceptar Retorno", - "info": "Quando há um componente WillPopScope numa interface, o callback é acionado ao retornar à página, decidindo se deve retornar. Pode ser usado em cenários de confirmação secundária de saída.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do WillPopScope", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【onWillPop】 : Callback de retorno 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_ru_RU.json deleted file mode 100644 index cf2110dfd..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 170, - "name": "WillPopScope", - "localName": "Перехват возврата", - "info": "Когда на интерфейсе присутствует компонент WillPopScope, при возврате на страницу срабатывает обратный вызов, который определяет, следует ли возвращаться. Может использоваться для сценариев повторного подтверждения выхода.", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование WillPopScope", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【onWillPop】 : Обратный вызов возврата 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_zh-CN.json deleted file mode 100644 index bc4572ff9..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 170, - "name": "WillPopScope", - "localName": "返回拦截", - "info": "当一个界面中有WillPopScope组件时,在页面返回时会触发回调,决定是否返回。可用于二次确认退出的场景。", - "lever": 5, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "WillPopScope使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【onWillPop】 : 返回回调 【WillPopCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/node1_base.dart deleted file mode 100644 index 46b0e8270..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/WillPopScope/node1_base.dart +++ /dev/null @@ -1,41 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class CustomWillPopScope extends StatelessWidget { - const CustomWillPopScope({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return WillPopScope( - child: const BackButton(), - onWillPop: () => _willPop(context), - ); - } - - Future _willPop(context) async { - bool? exit = await showDialog( - context: context, - builder: (ctx) => AlertDialog( - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10))), - title: const Text('提示'), - content: const Text('你确定要离开此页吗?'), - actions: [ - ElevatedButton( - onPressed: () => Navigator.of(ctx).pop(true), - child: const Text('确定'), - ), - ElevatedButton( - onPressed: () => Navigator.of(ctx).pop(false), - child: const Text('取消'), - ), - ], - ), - ); - print('====_willPop==:$exit========'); - - return exit??false; - } -} diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_de_DE.json b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_de_DE.json deleted file mode 100644 index 6503e5cb3..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 136, - "name": "YearPicker", - "localName": "Jahresauswahl", - "info": "Komponente zur Auswahl des Jahres, sieht etwas bescheiden aus. Kann den auszuwählenden Datumsbereich, das ausgewählte Datum usw. festlegen und empfängt jedes Auswahlereignis", - "lever": 3, - "family": 1, - "linkIds": [ - 134, - 135 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von YearPicker", - "desc": [ - "【selectedDate】 : Ausgewähltes Datum 【DateTime】", - "【firstDate】 : Frühestes Datum 【DateTime】", - "【lastDate】 : Spätestes Datum 【DateTime】", - "【onChanged】 : Klick-Rückruf 【Function(DateTime)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_en_US.json b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_en_US.json deleted file mode 100644 index 429a28280..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 136, - "name": "YearPicker", - "localName": "Year Picker", - "info": "A component for selecting years, with a rather modest appearance. It allows specifying the date range for selection, selected dates, etc., and receives each selection event.", - "lever": 3, - "family": 1, - "linkIds": [ - 134, - 135 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of YearPicker", - "desc": [ - "【selectedDate】: Selected date 【DateTime】", - "【firstDate】: First date limit 【DateTime】", - "【lastDate】: Last date limit 【DateTime】", - "【onChanged】: Click callback 【Function(DateTime)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_es_ES.json b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_es_ES.json deleted file mode 100644 index 119ce9427..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 136, - "name": "YearPicker", - "localName": "Selector de año", - "info": "Componente de selección de año, de apariencia modesta. Permite especificar el rango de fechas seleccionables, la fecha seleccionada, etc., y recibe cada evento de selección.", - "lever": 3, - "family": 1, - "linkIds": [ - 134, - 135 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de YearPicker", - "desc": [ - "【selectedDate】 : Fecha seleccionada 【DateTime】", - "【firstDate】 : Límite de la primera fecha 【DateTime】", - "【lastDate】 : Límite de la última fecha 【DateTime】", - "【onChanged】 : Callback al hacer clic 【Function(DateTime)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_fr_FR.json deleted file mode 100644 index a4c3fa06c..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 136, - "name": "YearPicker", - "localName": "Sélecteur d'année", - "info": "Composant de sélection d'année, d'apparence modeste. Permet de spécifier la plage de dates sélectionnables, la date sélectionnée, etc., et reçoit chaque événement de sélection.", - "lever": 3, - "family": 1, - "linkIds": [ - 134, - 135 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de YearPicker", - "desc": [ - "【selectedDate】 : Date sélectionnée 【DateTime】", - "【firstDate】 : Limite de la première date 【DateTime】", - "【lastDate】 : Limite de la dernière date 【DateTime】", - "【onChanged】 : Rappel au clic 【Function(DateTime)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_it_IT.json b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_it_IT.json deleted file mode 100644 index 40602596b..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 136, - "name": "YearPicker", - "localName": "Selettore Anno", - "info": "Componente per la selezione dell'anno, dall'aspetto modesto. Consente di specificare l'intervallo di date selezionabili, la data selezionata, ecc., e riceve ogni evento di selezione.", - "lever": 3, - "family": 1, - "linkIds": [ - 134, - 135 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo Base di YearPicker", - "desc": [ - "【selectedDate】 : Data selezionata 【DateTime】", - "【firstDate】 : Limite data iniziale 【DateTime】", - "【lastDate】 : Limite data finale 【DateTime】", - "【onChanged】 : Callback al click 【Function(DateTime)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_ja_JP.json deleted file mode 100644 index e7ea91c28..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 136, - "name": "YearPicker", - "localName": "年ピッカー", - "info": "年の選択コンポーネントで、見た目はやや地味です。選択可能な日付範囲や選択された日付などを指定でき、選択イベントを受け取ります。", - "lever": 3, - "family": 1, - "linkIds": [ - 134, - 135 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "YearPickerの基本使用", - "desc": [ - "【selectedDate】 : 選択された日付 【DateTime】", - "【firstDate】 : 最初の日付制限 【DateTime】", - "【lastDate】 : 最後の日付制限 【DateTime】", - "【onChanged】 : クリックコールバック 【Function(DateTime)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_ko_KR.json deleted file mode 100644 index 5c0dadd5e..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 136, - "name": "YearPicker", - "localName": "연도 선택기", - "info": "연도를 선택하는 컴포넌트로, 외관이 다소 허술합니다. 선택 가능한 날짜 범위, 선택된 날짜 등을 지정할 수 있으며, 선택 이벤트를 수신합니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 134, - 135 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "YearPicker 기본 사용법", - "desc": [ - "【selectedDate】 : 선택된 날짜 【DateTime】", - "【firstDate】 : 최초 날짜 제한 【DateTime】", - "【lastDate】 : 최종 날짜 제한 【DateTime】", - "【onChanged】 : 클릭 콜백 【Function(DateTime)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_pt_PT.json deleted file mode 100644 index 939488739..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 136, - "name": "YearPicker", - "localName": "Seletor de Ano", - "info": "Componente de seleção de ano, com uma aparência bastante simples. Permite especificar o intervalo de datas, a data selecionada, entre outros, e recebe eventos de seleção.", - "lever": 3, - "family": 1, - "linkIds": [ - 134, - 135 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do YearPicker", - "desc": [ - "【selectedDate】 : Data selecionada 【DateTime】", - "【firstDate】 : Limite da data mais antiga 【DateTime】", - "【lastDate】 : Limite da data mais recente 【DateTime】", - "【onChanged】 : Callback de clique 【Function(DateTime)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_ru_RU.json deleted file mode 100644 index 3b713079f..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 136, - "name": "YearPicker", - "localName": "Выбор года", - "info": "Компонент для выбора года, выглядит довольно скромно. Можно указать диапазон дат, выбранную дату и т.д., принимает каждое событие выбора", - "lever": 3, - "family": 1, - "linkIds": [ - 134, - 135 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование YearPicker", - "desc": [ - "【selectedDate】 : Выбранная дата 【DateTime】", - "【firstDate】 : Ограничение на самую раннюю дату 【DateTime】", - "【lastDate】 : Ограничение на самую позднюю дату 【DateTime】", - "【onChanged】 : Обратный вызов при нажатии 【Function(DateTime)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_zh-CN.json deleted file mode 100644 index d83324632..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 136, - "name": "YearPicker", - "localName": "年份选择器", - "info": "年份的选择组件,长相比较寒酸。可指定选择的日期范围、选中日期等,接收每份选中事件", - "lever": 3, - "family": 1, - "linkIds": [ - 134, - 135 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "YearPicker基本使用", - "desc": [ - "【selectedDate】 : 选中日期 【DateTime】", - "【firstDate】 : 最前日期限制 【DateTime】", - "【lastDate】 : 最后日期限制 【DateTime】", - "【onChanged】 : 点击回调 【Function(DateTime)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/node1_base.dart b/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/node1_base.dart deleted file mode 100644 index a3e83334d..000000000 --- a/modules/widget_system/widgets/lib/StatefulWidget/YearPicker/node1_base.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomYearPicker extends StatefulWidget { - const CustomYearPicker({Key? key}) : super(key: key); - - @override - _CustomYearPickerState createState() => _CustomYearPickerState(); -} - -class _CustomYearPickerState extends State { - DateTime _date = DateTime.now(); - - @override - Widget build(BuildContext context) { - return SizedBox( - height:150, - child: YearPicker( - selectedDate: _date, - onChanged: (date) => setState(() => _date = date), - firstDate: DateTime(2018), - lastDate: DateTime(2030), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_de_DE.json deleted file mode 100644 index 9bd458ba8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 130, - "name": "AboutDialog", - "localName": "Über Dialog", - "info": "Ein Dialogfeld zur Anwendungsbeschreibung, in dem das Anwendungssymbol, der Anwendungsname, die Anwendungsversionsnummer und andere Informationen sowie eine Liste von internen Unterkomponenten angegeben werden können. Durch Klicken auf die Schaltfläche auf der linken Seite gelangen Sie zur Zertifikatsseite.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AboutDialog", - "desc": [ - "【applicationIcon】 : Symbol oben links 【Widget】", - "【applicationVersion】 : Versionsnummer 【String】", - "【applicationName】 : Anwendungsname 【String】", - "【applicationLegalese】 : Anwendungsrecht 【String】", - "【children】 : Liste der Unterkomponenten 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_en_US.json deleted file mode 100644 index f21a172c2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 130, - "name": "AboutDialog", - "localName": "About Dialog", - "info": "The application's introduction dialog, which can specify the application icon, application name, application version number, and other information, as well as the internal sub-component list. Clicking the button on the left can navigate to the certificate page.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AboutDialog", - "desc": [ - "【applicationIcon】: Top-left icon 【Widget】", - "【applicationVersion】: Version number 【String】", - "【applicationName】: Application name 【String】", - "【applicationLegalese】: Application legal terms 【String】", - "【children】: Sub-component list 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_es_ES.json deleted file mode 100644 index ba17fb88a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 130, - "name": "AboutDialog", - "localName": "Diálogo Acerca de", - "info": "Diálogo de introducción de la aplicación, donde se pueden especificar el icono de la aplicación, el nombre de la aplicación, el número de versión de la aplicación y otra información, así como una lista de subcomponentes internos. Al hacer clic en el botón de la izquierda, se puede acceder a la página de certificados.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AboutDialog", - "desc": [ - "【applicationIcon】 : Icono superior izquierdo 【Widget】", - "【applicationVersion】 : Número de versión 【String】", - "【applicationName】 : Nombre de la aplicación 【String】", - "【applicationLegalese】 : Legalidad de la aplicación 【String】", - "【children】 : Lista de subcomponentes 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_fr_FR.json deleted file mode 100644 index d249dda31..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 130, - "name": "AboutDialog", - "localName": "Dialogue À Propos", - "info": "La boîte de dialogue de présentation de l'application, qui peut spécifier l'icône de l'application, le nom de l'application, le numéro de version de l'application et d'autres informations ainsi que la liste des sous-composants internes. Cliquer sur le bouton de gauche permet de naviguer vers la page des licences.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AboutDialog", - "desc": [ - "【applicationIcon】 : Icône en haut à gauche 【Widget】", - "【applicationVersion】 : Numéro de version 【String】", - "【applicationName】 : Nom de l'application 【String】", - "【applicationLegalese】 : Mentions légales de l'application 【String】", - "【children】 : Liste des sous-composants 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_it_IT.json deleted file mode 100644 index cbae88eac..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 130, - "name": "AboutDialog", - "localName": "Finestra Informazioni", - "info": "La finestra di dialogo delle informazioni sull'applicazione, che consente di specificare l'icona dell'applicazione, il nome dell'applicazione, il numero di versione dell'applicazione e altre informazioni, nonché l'elenco dei componenti interni. Cliccando sul pulsante a sinistra è possibile accedere alla pagina delle licenze.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AboutDialog", - "desc": [ - "【applicationIcon】 : Icona in alto a sinistra 【Widget】", - "【applicationVersion】 : Numero di versione 【String】", - "【applicationName】 : Nome dell'applicazione 【String】", - "【applicationLegalese】 : Informazioni legali dell'applicazione 【String】", - "【children】 : Lista dei componenti figli 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_ja_JP.json deleted file mode 100644 index b0ca35053..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 130, - "name": "AboutDialog", - "localName": "ダイアログについて", - "info": "アプリケーションの概要ダイアログで、アプリケーションのアイコン、アプリケーション名、アプリケーションのバージョン番号などの情報と内部のサブコンポーネントリストを指定できます。左側のボタンをクリックすると、証明書ページにジャンプします。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AboutDialogの基本使用", - "desc": [ - "【applicationIcon】 : 左上アイコン 【Widget】", - "【applicationVersion】 : バージョン番号 【String】", - "【applicationName】 : アプリケーション名 【String】", - "【applicationLegalese】 : アプリケーションの法律 【String】", - "【children】 : サブコンポーネントリスト 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_ko_KR.json deleted file mode 100644 index 453ec3396..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 130, - "name": "AboutDialog", - "localName": "정보 대화 상자", - "info": "애플리케이션의 정보 대화 상자로, 애플리케이션 아이콘, 애플리케이션 이름, 애플리케이션 버전 번호 등의 정보와 내부의 하위 구성 요소 목록을 지정할 수 있습니다. 왼쪽 버튼을 클릭하면 인증서 페이지로 이동할 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AboutDialog 기본 사용", - "desc": [ - "【applicationIcon】 : 왼쪽 상단 아이콘 【Widget】", - "【applicationVersion】 : 버전 번호 【String】", - "【applicationName】 : 애플리케이션 이름 【String】", - "【applicationLegalese】 : 애플리케이션 법률 정보 【String】", - "【children】 : 하위 구성 요소 목록 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_pt_PT.json deleted file mode 100644 index 996e65a65..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 130, - "name": "AboutDialog", - "localName": "Diálogo Sobre", - "info": "Diálogo de introdução da aplicação, que pode especificar o ícone da aplicação, nome da aplicação, número da versão da aplicação e outras informações, bem como a lista de subcomponentes internos. Clicar no botão esquerdo pode saltar para a página de licenças.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do AboutDialog", - "desc": [ - "【applicationIcon】 : Ícone superior esquerdo 【Widget】", - "【applicationVersion】 : Número da versão 【String】", - "【applicationName】 : Nome da aplicação 【String】", - "【applicationLegalese】 : Legislação da aplicação 【String】", - "【children】 : Lista de subcomponentes 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_ru_RU.json deleted file mode 100644 index d1fda7b5c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 130, - "name": "AboutDialog", - "localName": "О диалоговом окне", - "info": "Диалоговое окно с описанием приложения, в котором можно указать значок приложения, название приложения, версию приложения и другие данные, а также список внутренних дочерних компонентов. Нажатие на кнопку слева позволяет перейти на страницу лицензии.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AboutDialog", - "desc": [ - "【applicationIcon】 : Иконка в верхнем левом углу 【Widget】", - "【applicationVersion】 : Номер версии 【String】", - "【applicationName】 : Название приложения 【String】", - "【applicationLegalese】 : Юридическая информация приложения 【String】", - "【children】 : Список дочерних компонентов 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_zh-CN.json deleted file mode 100644 index 8dd6cffe7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 130, - "name": "AboutDialog", - "localName": "关于对话框", - "info": "应用的简介对话框,可指定应用图标、应用名、应用版本号等信息和内部的子组件列表,点击左侧按钮可以跳转到证书页。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AboutDialog基本使用", - "desc": [ - "【applicationIcon】 : 左上图标 【Widget】", - "【applicationVersion】 : 版本号 【String】", - "【applicationName】 : 应用名 【String】", - "【applicationLegalese】 : 应用律术 【String】", - "【children】 : 子组件列表 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/node1_base.dart deleted file mode 100644 index 2a1cb9023..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutDialog/node1_base.dart +++ /dev/null @@ -1,65 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - - -class CustomAboutDialog extends StatelessWidget { - const CustomAboutDialog({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Stack( - children: [ - _buildAboutDialog(), - Positioned(top: 50, right: 20, child: _buildRaisedButton(context)), - ], - ); - } - - Widget _buildRaisedButton(BuildContext context) => ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10)), - ), - ), - onPressed: () { - showDialog(context: context, builder: (ctx) => _buildAboutDialog()); - }, - child: const Text( - 'Just Show It', - style: TextStyle(color: Colors.white), - ), - ); - - AboutDialog _buildAboutDialog() { - return AboutDialog( - applicationIcon: const FlutterLogo(), - applicationVersion: 'v0.0.1', - applicationName: 'Flutter Unit', - applicationLegalese: 'Copyright© 2018-2024 张风捷特烈', - children: [ - Container( - margin: const EdgeInsets.only(top: 20), - width: 80, - height: 80, - child: Image.asset('assets/images/icon_head.webp')), - Container( - margin: const EdgeInsets.only(top: 10), - alignment: Alignment.center, - child: const Text( - 'The King Of Coder.', - style: TextStyle( - color: Colors.white, - fontSize: 20, - shadows: [ - Shadow( - color: Colors.blue, offset: Offset(.5, .5), blurRadius: 3) - ], - ), - )) - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_de_DE.json deleted file mode 100644 index 2b309c554..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 193, - "name": "AboutListTile", - "localName": "Über App-Eintrag", - "info": "Ein Klickelement, das beim Klicken Anwendungsinformationen anzeigen kann. Es können Anwendungssymbole, Anwendungsname, Anwendungsversionsnummer und andere Informationen sowie die interne Liste der Unterkomponenten angegeben werden.", - "lever": 3, - "family": 0, - "linkIds": [ - 130, - 145 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AboutListTile", - "desc": [ - "【icon】 : Linkes Symbol 【Widget】", - "【applicationIcon】 : Symbol oben links 【Widget】", - "【applicationVersion】 : Versionsnummer 【String】", - "【applicationName】 : Anwendungsname 【String】", - "【applicationLegalese】 : Anwendungsrecht 【String】", - "【aboutBoxChildren】 : Inhaltskomponenten des Popup-Fensters 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_en_US.json deleted file mode 100644 index 2897d0091..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 193, - "name": "AboutListTile", - "localName": "About App Entry", - "info": "A clickable entry that can pop up application-related information when clicked. It can specify the application icon, application name, application version number, and other information, as well as a list of internal child components.", - "lever": 3, - "family": 0, - "linkIds": [ - 130, - 145 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AboutListTile", - "desc": [ - "【icon】 : Left icon 【Widget】", - "【applicationIcon】 : Top-left icon 【Widget】", - "【applicationVersion】 : Version number 【String】", - "【applicationName】 : Application name 【String】", - "【applicationLegalese】 : Application legalese 【String】", - "【aboutBoxChildren】 : Dialog content components 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_es_ES.json deleted file mode 100644 index 7a964f251..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 193, - "name": "AboutListTile", - "localName": "Entrada sobre la aplicación", - "info": "Una entrada en la que se puede hacer clic para mostrar información relacionada con la aplicación. Se pueden especificar el icono de la aplicación, el nombre de la aplicación, el número de versión y otros detalles, así como una lista de componentes internos.", - "lever": 3, - "family": 0, - "linkIds": [ - 130, - 145 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AboutListTile", - "desc": [ - "【icon】 : Icono izquierdo 【Widget】", - "【applicationIcon】 : Icono superior izquierdo 【Widget】", - "【applicationVersion】 : Número de versión 【String】", - "【applicationName】 : Nombre de la aplicación 【String】", - "【applicationLegalese】 : Legal de la aplicación 【String】", - "【aboutBoxChildren】 : Componentes del contenido del cuadro emergente 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_fr_FR.json deleted file mode 100644 index 579c45e74..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 193, - "name": "AboutListTile", - "localName": "Élément À Propos de l'Application", - "info": "Un élément cliquable qui peut afficher des informations sur l'application lorsqu'il est cliqué. Peut spécifier l'icône de l'application, le nom de l'application, le numéro de version de l'application et d'autres informations ainsi qu'une liste de composants internes.", - "lever": 3, - "family": 0, - "linkIds": [ - 130, - 145 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de AboutListTile", - "desc": [ - "【icon】 : Icône gauche 【Widget】", - "【applicationIcon】 : Icône en haut à gauche 【Widget】", - "【applicationVersion】 : Numéro de version 【String】", - "【applicationName】 : Nom de l'application 【String】", - "【applicationLegalese】 : Législation de l'application 【String】", - "【aboutBoxChildren】 : Composants du contenu de la boîte de dialogue 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_it_IT.json deleted file mode 100644 index 79a4be64a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 193, - "name": "AboutListTile", - "localName": "Voce di menu Informazioni", - "info": "Una voce cliccabile che, quando viene cliccata, può visualizzare informazioni relative all'applicazione, specificando icone dell'applicazione, nome dell'applicazione, numero di versione e un elenco di componenti interni.", - "lever": 3, - "family": 0, - "linkIds": [ - 130, - 145 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AboutListTile", - "desc": [ - "【icon】 : Icona a sinistra 【Widget】", - "【applicationIcon】 : Icona in alto a sinistra 【Widget】", - "【applicationVersion】 : Numero di versione 【String】", - "【applicationName】 : Nome dell'applicazione 【String】", - "【applicationLegalese】 : Legale dell'applicazione 【String】", - "【aboutBoxChildren】 : Componenti del contenuto della finestra 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_ja_JP.json deleted file mode 100644 index f1a378468..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 193, - "name": "AboutListTile", - "localName": "アプリについてのリストアイテム", - "info": "クリックするとアプリの関連情報をポップアップ表示するアイテムで、アプリアイコン、アプリ名、アプリバージョン番号などの情報と内部のサブコンポーネントリストを指定できます。", - "lever": 3, - "family": 0, - "linkIds": [ - 130, - 145 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AboutListTileの基本的な使用", - "desc": [ - "【icon】 : 左アイコン 【Widget】", - "【applicationIcon】 : 左上アイコン 【Widget】", - "【applicationVersion】 : バージョン番号 【String】", - "【applicationName】 : アプリ名 【String】", - "【applicationLegalese】 : アプリの法律情報 【String】", - "【aboutBoxChildren】 : ポップアップボックスの内容コンポーネント 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_ko_KR.json deleted file mode 100644 index 1d3800ee3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 193, - "name": "AboutListTile", - "localName": "앱 정보 항목", - "info": "클릭 시 앱 관련 정보를 팝업할 수 있는 클릭 항목으로, 앱 아이콘, 앱 이름, 앱 버전 번호 등의 정보와 내부 하위 컴포넌트 목록을 지정할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [ - 130, - 145 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AboutListTile 기본 사용법", - "desc": [ - "【icon】 : 왼쪽 아이콘 【Widget】", - "【applicationIcon】 : 왼쪽 상단 아이콘 【Widget】", - "【applicationVersion】 : 버전 번호 【String】", - "【applicationName】 : 앱 이름 【String】", - "【applicationLegalese】 : 앱 법률 정보 【String】", - "【aboutBoxChildren】 : 팝업 내용 컴포넌트 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_pt_PT.json deleted file mode 100644 index 28794038e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 193, - "name": "AboutListTile", - "localName": "Item sobre a aplicação", - "info": "Um item clicável que, ao ser clicado, exibe informações sobre a aplicação, podendo especificar ícone da aplicação, nome da aplicação, número da versão e uma lista de componentes internos.", - "lever": 3, - "family": 0, - "linkIds": [ - 130, - 145 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do AboutListTile", - "desc": [ - "【icon】 : Ícone esquerdo 【Widget】", - "【applicationIcon】 : Ícone superior esquerdo 【Widget】", - "【applicationVersion】 : Número da versão 【String】", - "【applicationName】 : Nome da aplicação 【String】", - "【applicationLegalese】 : Legislação da aplicação 【String】", - "【aboutBoxChildren】 : Componentes do conteúdo da caixa de diálogo 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_ru_RU.json deleted file mode 100644 index ad830b435..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 193, - "name": "AboutListTile", - "localName": "О приложении", - "info": "Элемент, при нажатии на который отображается информация о приложении, можно указать значок приложения, имя приложения, версию приложения и другие данные, а также список внутренних компонентов.", - "lever": 3, - "family": 0, - "linkIds": [ - 130, - 145 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AboutListTile", - "desc": [ - "【icon】 : Левый значок 【Widget】", - "【applicationIcon】 : Левый верхний значок 【Widget】", - "【applicationVersion】 : Номер версии 【String】", - "【applicationName】 : Имя приложения 【String】", - "【applicationLegalese】 : Юридическая информация приложения 【String】", - "【aboutBoxChildren】 : Компоненты содержимого всплывающего окна 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_zh-CN.json deleted file mode 100644 index 5fe2f3b31..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 193, - "name": "AboutListTile", - "localName": "关于应用条目", - "info": "一个点击条目,点击时可以弹出应用相关信息,可指定应用图标、应用名、应用版本号等信息和内部的子组件列表。", - "lever": 3, - "family": 0, - "linkIds": [ - 130, - 145 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AboutListTile基本使用", - "desc": [ - "【icon】 : 左图标 【Widget】", - "【applicationIcon】 : 左上图标 【Widget】", - "【applicationVersion】 : 版本号 【String】", - "【applicationName】 : 应用名 【String】", - "【applicationLegalese】 : 应用律术 【String】", - "【aboutBoxChildren】 : 弹框内容组件 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/node1_base.dart deleted file mode 100644 index 292665452..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AboutListTile/node1_base.dart +++ /dev/null @@ -1,34 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - - -class AboutListTileDemo extends StatelessWidget { - const AboutListTileDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const AboutListTile( - icon: Icon(Icons.info), - applicationIcon: FlutterLogo(), - applicationName: 'Flutter Unit', - applicationVersion: 'v0.0.1', - applicationLegalese: 'Copyright© 2018-2024 张风捷特烈', - aboutBoxChildren: [ - Padding( - padding: EdgeInsets.all(10.0), - child: Text( - ' FlutterUnit是【张风捷特烈】的开源项目,' - '收录Flutter的300+组件,并附加详细介绍以及操作交互,' - '希望帮助广大编程爱好者入门Flutter。' - '更多知识可以关注掘金账号、公众号【编程之王】。', - style: TextStyle(color: Color(0xff999999), fontSize: 16), - textAlign: TextAlign.justify, - ), - ), - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_de_DE.json deleted file mode 100644 index 696855538..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 13, - "name": "ActionChip", - "localName": "Ereignis-Chip", - "info": "Ähnlich wie die Chip-Komponente, aber mit einigen Klick-Eigenschaften. Kann die Schattentiefe beim Klicken und das Klick-Ereignis festlegen.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 12, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Normale Darstellung des ActionChip", - "desc": [ - "【onPressed】: Klick-Ereignis 【Function】", - "【pressElevation】: Schattentiefe beim Drücken 【double】", - "Andere Eigenschaften sind identisch mit der Chip-Komponente, keine rechte Komponente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_en_US.json deleted file mode 100644 index 245828d9c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_en_US.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 13, - "name": "ActionChip", - "localName": "Action Chip", - "info": "Similar style to the Chip component, with some clickable properties. You can specify the shadow depth and click event when pressed.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 12, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "The normal performance of ActionChip is as follows", - "desc": [ - "【onPressed】: Click event 【Function】", - "【pressElevation】: Shadow depth when pressed 【double】", - "Other properties are the same as the Chip component, no right component." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_es_ES.json deleted file mode 100644 index c78651623..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 13, - "name": "ActionChip", - "localName": "Chip de Acción", - "info": "Estilo similar al componente Chip, con algunas propiedades de clic. Puede especificar la profundidad de la sombra al hacer clic y el evento de clic.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 12, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "El comportamiento normal de ActionChip es el siguiente", - "desc": [ - "【onPressed】: Evento de clic 【Function】", - "【pressElevation】: Profundidad de la sombra al presionar 【double】", - "Otras propiedades son iguales al componente Chip, sin componente derecho." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_fr_FR.json deleted file mode 100644 index 6dc10d3b4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 13, - "name": "ActionChip", - "localName": "Chip d'action", - "info": "Un style similaire au composant Chip, avec des propriétés de clic. Vous pouvez spécifier la profondeur de l'ombre lors du clic et l'événement de clic.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 12, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La représentation normale de l'ActionChip est la suivante", - "desc": [ - "【onPressed】: Événement de clic 【Function】", - "【pressElevation】: Profondeur de l'ombre lors de la pression 【double】", - "Les autres propriétés sont identiques au composant Chip, sans composant à droite." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_it_IT.json deleted file mode 100644 index 02508a485..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 13, - "name": "ActionChip", - "localName": "Chip di Azione", - "info": "Uno stile simile al componente Chip, con alcune proprietà di clic. È possibile specificare la profondità dell'ombra al clic e l'evento di clic.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 12, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La rappresentazione normale di ActionChip è la seguente", - "desc": [ - "【onPressed】: Evento di clic 【Function】", - "【pressElevation】: Profondità dell'ombra al clic 【double】", - "Altre proprietà sono simili al componente Chip, senza componente a destra." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_ja_JP.json deleted file mode 100644 index cd38faba7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_ja_JP.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 13, - "name": "ActionChip", - "localName": "アクションチップ", - "info": "Chipコンポーネントに似たスタイルで、いくつかのクリック属性があります。クリック時の影の深さやクリックイベントを指定できます。", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 12, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ActionChipの通常の表現は以下の通りです", - "desc": [ - "【onPressed】: クリックイベント 【Function】", - "【pressElevation】: 押下時の影の深さ 【double】", - "その他の属性はChipコンポーネントと同じで、右側のコンポーネントはありません。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_ko_KR.json deleted file mode 100644 index de66f0737..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_ko_KR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 13, - "name": "ActionChip", - "localName": "이벤트 칩", - "info": "Chip 컴포넌트와 유사한 스타일로, 클릭 속성이 있습니다. 클릭 시 그림자 깊이와 클릭 이벤트를 지정할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 12, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ActionChip의 일반적인 표현은 다음과 같습니다", - "desc": [ - "【onPressed】: 클릭 이벤트 【Function】", - "【pressElevation】: 눌렀을 때 그림자 깊이 【double】", - "기타 속성은 Chip 컴포넌트와 동일하며, 오른쪽 컴포넌트가 없습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_pt_PT.json deleted file mode 100644 index b11af7dc6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 13, - "name": "ActionChip", - "localName": "Chip de Ação", - "info": "Estilo semelhante ao componente Chip, com algumas propriedades de clique. Pode especificar a profundidade da sombra ao clicar e o evento de clique.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 12, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "A aparência normal do ActionChip é a seguinte", - "desc": [ - "【onPressed】: Evento de clique 【Function】", - "【pressElevation】: Profundidade da sombra ao pressionar 【double】", - "Outras propriedades são iguais ao componente Chip, sem componente à direita." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_ru_RU.json deleted file mode 100644 index 5c34b9fdd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_ru_RU.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 13, - "name": "ActionChip", - "localName": "Чип действия", - "info": "Стиль, похожий на компонент Chip, с некоторыми свойствами для нажатия. Можно указать глубину тени при нажатии и событие нажатия.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 12, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Обычное поведение ActionChip выглядит следующим образом", - "desc": [ - "【onPressed】: Событие нажатия 【Function】", - "【pressElevation】: Глубина тени при нажатии 【double】", - "Другие свойства такие же, как у компонента Chip, без правого компонента." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_zh-CN.json deleted file mode 100644 index 64440ef30..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/desc_zh-CN.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": 13, - "name": "ActionChip", - "localName": "事件小条", - "info": "和Chip组件类似的样式,有一些点击的属性。可以指定点击时的阴影深、点击事件。", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 12, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ActionChip的普通表现如下", - "desc": [ - "【onPressed】: 点击事件 【Function】", - "【pressElevation】: 按下时影深 【double】", - "其他属性同Chip组件,无右侧组件。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/node1_base.dart deleted file mode 100644 index b384b8901..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ActionChip/node1_base.dart +++ /dev/null @@ -1,29 +0,0 @@ - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -/// - - -import 'package:flutter/material.dart'; -import 'package:widgets/utils/dialog_about.dart'; - - -class CustomActionChip extends StatelessWidget { - const CustomActionChip({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ActionChip( - padding: const EdgeInsets.all(5), - labelPadding: const EdgeInsets.all(3), - label: const Text("This is a ActionChip."), - backgroundColor: Colors.grey.withAlpha(66), - avatar: Image.asset("assets/images/icon_head.webp"), - shadowColor: Colors.orangeAccent, - elevation: 3, - pressElevation: 5, - onPressed: ()=> DialogAbout.show(context), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_de_DE.json deleted file mode 100644 index 2cf8152a8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 127, - "name": "AlertDialog", - "localName": "Dialogfeld", - "info": "Eine allgemeine Dialogstruktur, die Komponenten im Kopf-, Mittel- und Fußbereich angeben kann. Verfügt über Textstile und Ränder für Titel und Inhalt, Schattentiefe, Form und andere Attribute.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AlertDialog", - "desc": [ - "【title】 : Oberste Komponente 【Widget】", - "【content】 : Inhaltskomponente 【Widget】", - "【titleTextStyle】 : Textstil für den Titel 【TextStyle】", - "【contentTextStyle】 : Textstil für den Inhalt 【TextStyle】", - "【titlePadding】 : Innenabstand für den Titel 【EdgeInsetsGeometry】", - "【contentPadding】 : Innenabstand für den Inhalt 【EdgeInsetsGeometry】", - "【actions】 : Liste der Komponenten in der unteren rechten Ecke 【List】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【elevation】 : Schattentiefe 【double】", - "【shape】 : Form 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_en_US.json deleted file mode 100644 index fbfa30c26..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 127, - "name": "AlertDialog", - "localName": "Popup Dialog", - "info": "A general dialog structure that can specify components at the head, middle, and tail. It has text styles and margins for the title and content, as well as properties such as elevation and shape.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AlertDialog", - "desc": [ - "【title】 : Top component 【Widget】", - "【content】 : Content component 【Widget】", - "【titleTextStyle】 : Top text style 【TextStyle】", - "【contentTextStyle】 : Content text style 【TextStyle】", - "【titlePadding】 : Top padding 【EdgeInsetsGeometry】", - "【contentPadding】 : Content padding 【EdgeInsetsGeometry】", - "【actions】 : Bottom right component list 【List】", - "【backgroundColor】 : Background color 【Color】", - "【elevation】 : Elevation 【double】", - "【shape】 : Shape 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_es_ES.json deleted file mode 100644 index b41ad91d8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 127, - "name": "AlertDialog", - "localName": "Cuadro de diálogo emergente", - "info": "Una estructura de diálogo genérica que permite especificar componentes en la parte superior, media e inferior. Tiene propiedades como el estilo de texto y los márgenes del título y el contenido, la profundidad de la sombra, la forma, etc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AlertDialog", - "desc": [ - "【title】 : Componente superior 【Widget】", - "【content】 : Componente de contenido 【Widget】", - "【titleTextStyle】 : Estilo de texto del título 【TextStyle】", - "【contentTextStyle】 : Estilo de texto del contenido 【TextStyle】", - "【titlePadding】 : Relleno superior 【EdgeInsetsGeometry】", - "【contentPadding】 : Relleno del contenido 【EdgeInsetsGeometry】", - "【actions】 : Lista de componentes en la esquina inferior derecha 【List】", - "【backgroundColor】 : Color de fondo 【Color】", - "【elevation】 : Profundidad de la sombra 【double】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_fr_FR.json deleted file mode 100644 index fa306c880..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 127, - "name": "AlertDialog", - "localName": "Boîte de dialogue contextuelle", - "info": "Une structure de dialogue générique qui permet de spécifier des composants en haut, au milieu et en bas. Possède des styles de texte et des marges pour le titre et le contenu, ainsi que des propriétés telles que la profondeur d'ombre, la forme, etc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AlertDialog", - "desc": [ - "【title】 : Composant du haut 【Widget】", - "【content】 : Composant du contenu 【Widget】", - "【titleTextStyle】 : Style de texte du titre 【TextStyle】", - "【contentTextStyle】 : Style de texte du contenu 【TextStyle】", - "【titlePadding】 : Marge intérieure du titre 【EdgeInsetsGeometry】", - "【contentPadding】 : Marge intérieure du contenu 【EdgeInsetsGeometry】", - "【actions】 : Liste des composants en bas à droite 【List】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【elevation】 : Profondeur d'ombre 【double】", - "【shape】 : Forme 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_it_IT.json deleted file mode 100644 index 8566bdcdf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 127, - "name": "AlertDialog", - "localName": "Finestra di dialogo pop-up", - "info": "Una struttura di dialogo generica che consente di specificare componenti nella parte superiore, centrale e inferiore. Possiede stili di testo e margini per il titolo e il contenuto, oltre a proprietà come profondità dell'ombra, forma, ecc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di AlertDialog", - "desc": [ - "【title】 : Componente superiore 【Widget】", - "【content】 : Componente del contenuto 【Widget】", - "【titleTextStyle】 : Stile del testo superiore 【TextStyle】", - "【contentTextStyle】 : Stile del testo del contenuto 【TextStyle】", - "【titlePadding】 : Spaziatura interna superiore 【EdgeInsetsGeometry】", - "【contentPadding】 : Spaziatura interna del contenuto 【EdgeInsetsGeometry】", - "【actions】 : Lista dei componenti nell'angolo inferiore destro 【List】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【elevation】 : Profondità dell'ombra 【double】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_ja_JP.json deleted file mode 100644 index 188f972fc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 127, - "name": "AlertDialog", - "localName": "ポップアップダイアログ", - "info": "一般的なダイアログ構造で、上部、中央、下部にコンポーネントを指定できます。タイトル、内容のテキストスタイルと余白、影の深さ、形状などの属性を持っています。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AlertDialogの基本使用", - "desc": [ - "【title】 : 上部コンポーネント 【Widget】", - "【content】 : 内容コンポーネント 【Widget】", - "【titleTextStyle】 : 上部テキストスタイル 【TextStyle】", - "【contentTextStyle】 : 内容テキストスタイル 【TextStyle】", - "【titlePadding】 : 上部内側余白 【EdgeInsetsGeometry】", - "【contentPadding】 : 内容内側余白 【EdgeInsetsGeometry】", - "【actions】 : 右下コンポーネントリスト 【List】", - "【backgroundColor】 : 背景色 【Color】", - "【elevation】 : 影の深さ 【double】", - "【shape】 : 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_ko_KR.json deleted file mode 100644 index 0d50477a4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 127, - "name": "AlertDialog", - "localName": "팝업 대화 상자", - "info": "일반적인 대화 상자 구조로, 상단, 중간, 하단의 구성 요소를 지정할 수 있습니다. 제목, 내용의 텍스트 스타일과 여백, 그림자 깊이, 모양 등의 속성을 가지고 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AlertDialog 기본 사용", - "desc": [ - "【title】 : 상단 구성 요소 【Widget】", - "【content】 : 내용 구성 요소 【Widget】", - "【titleTextStyle】 : 상단 텍스트 스타일 【TextStyle】", - "【contentTextStyle】 : 내용 텍스트 스타일 【TextStyle】", - "【titlePadding】 : 상단 내부 여백 【EdgeInsetsGeometry】", - "【contentPadding】 : 내용 내부 여백 【EdgeInsetsGeometry】", - "【actions】 : 오른쪽 하단 구성 요소 목록 【List】", - "【backgroundColor】 : 배경색 【Color】", - "【elevation】 : 그림자 깊이 【double】", - "【shape】 : 모양 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_pt_PT.json deleted file mode 100644 index b8a726c07..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 127, - "name": "AlertDialog", - "localName": "Diálogo de Alerta", - "info": "Uma estrutura de diálogo genérica que permite especificar componentes no topo, meio e fim. Possui estilos de texto e margens para o título e conteúdo, além de propriedades como profundidade de sombra, forma, etc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do AlertDialog", - "desc": [ - "【title】 : Componente do topo 【Widget】", - "【content】 : Componente de conteúdo 【Widget】", - "【titleTextStyle】 : Estilo de texto do topo 【TextStyle】", - "【contentTextStyle】 : Estilo de texto do conteúdo 【TextStyle】", - "【titlePadding】 : Margem interna do topo 【EdgeInsetsGeometry】", - "【contentPadding】 : Margem interna do conteúdo 【EdgeInsetsGeometry】", - "【actions】 : Lista de componentes no canto inferior direito 【List】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【elevation】 : Profundidade de sombra 【double】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_ru_RU.json deleted file mode 100644 index f9cbc251f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 127, - "name": "AlertDialog", - "localName": "Всплывающее диалоговое окно", - "info": "Универсальная структура диалогового окна, позволяющая указать компоненты в верхней, средней и нижней частях. Имеет стили текста и отступы для заголовка и содержимого, а также свойства, такие как тень, форма и другие.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AlertDialog", - "desc": [ - "【title】 : Верхний компонент 【Widget】", - "【content】 : Компонент содержимого 【Widget】", - "【titleTextStyle】 : Стиль текста заголовка 【TextStyle】", - "【contentTextStyle】 : Стиль текста содержимого 【TextStyle】", - "【titlePadding】 : Внутренний отступ заголовка 【EdgeInsetsGeometry】", - "【contentPadding】 : Внутренний отступ содержимого 【EdgeInsetsGeometry】", - "【actions】 : Список компонентов в правом нижнем углу 【List】", - "【backgroundColor】 : Цвет фона 【Color】", - "【elevation】 : Тень 【double】", - "【shape】 : Форма 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_zh-CN.json deleted file mode 100644 index 6d8bb8d8d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 127, - "name": "AlertDialog", - "localName": "弹出对话框", - "info": "一个通用的对话框结构,可指定头、中、尾处的组件。拥有标题、内容的文字样式和边距,影深、形状等属性。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AlertDialog基本使用", - "desc": [ - "【title】 : 顶部组件 【Widget】", - "【content】 : 内容组件 【Widget】", - "【titleTextStyle】 : 顶部文字样式 【TextStyle】", - "【contentTextStyle】 : 内容文字样式 【TextStyle】", - "【titlePadding】 : 顶部内边距 【EdgeInsetsGeometry】", - "【contentPadding】 : 内容内边距 【EdgeInsetsGeometry】", - "【actions】 : 右下角组件列表 【List】", - "【backgroundColor】 : 背景色 【Color】", - "【elevation】 : 影深 【double】", - "【shape】 : 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/node1_base.dart deleted file mode 100644 index ada7cf5c9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AlertDialog/node1_base.dart +++ /dev/null @@ -1,99 +0,0 @@ - - -/// create by 张风捷特烈 on 2020-03-24 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; - -class CustomAlertDialog extends StatelessWidget { - const CustomAlertDialog({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildRaisedButton(context), - _buildAlertDialog(), - ], - ); - } - - Widget _buildRaisedButton(BuildContext context) => ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10)), - ), - ), - onPressed: () { - showDialog(context: context, builder: (ctx) => _buildAlertDialog()); - }, - child: const Text( - 'Just Show It !', - style: TextStyle(color: Colors.white), - ), - ); - - Widget _buildAlertDialog() { - return AlertDialog( - title: _buildTitle(), - titleTextStyle: const TextStyle(fontSize: 20, color: Colors.black), - titlePadding: const EdgeInsets.only( - top: 5, - left: 20, - ), - contentPadding: const EdgeInsets.symmetric(horizontal: 5), - backgroundColor: Colors.white, - content: _buildContent(), - actions: const [ - Icon(Icons.android, color: Colors.blue,), - Icon(Icons.add, color: Colors.blue,), - Icon(Icons.g_translate, color: Colors.blue,), - Icon(Icons.games, color: Colors.blue,), - ], - elevation: 4, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10))), - ); - } - - Widget _buildTitle() { - return Row( - //标题 - children: [ - Image.asset( - "assets/images/icon_head.webp", - width: 30, - height: 30, - ), - const SizedBox(width: 10,), - const Expanded( - child: Text( - "关于", - style: TextStyle(fontSize: 18), - )), - const CloseButton() - ], - ); - } - - Widget _buildContent() { - return Column( - mainAxisSize: MainAxisSize.min, - children: const [ - Padding( - padding: EdgeInsets.all(10.0), - child: Text( - ' FlutterUnit是【张风捷特烈】的开源项目,' - '收录Flutter的200+组件,并附加详细介绍以及操作交互,' - '希望帮助广大编程爱好者入门Flutter。' - '更多知识可以关注掘金账号、公众号【编程之王】。', - style: TextStyle(color: Color(0xff999999), fontSize: 16), - textAlign: TextAlign.justify, - ), - ), - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_de_DE.json deleted file mode 100644 index bd93fd190..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 125, - "name": "AnimatedIcon", - "localName": "Animiertes Symbol", - "info": "Verwenden Sie die Symboldaten von AnimatedIcons, um Symbole mit einem Animationscontroller zu animieren. Größe, Farbe usw. können angegeben werden.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von AnimatedIcon", - "desc": [ - "【icon】 : Animationssymboldaten 【AnimatedIcons】", - "【size】 : Größe 【double】", - "【color】 : Farbe 【Color】", - "【progress】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_en_US.json deleted file mode 100644 index beed34141..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 125, - "name": "AnimatedIcon", - "localName": "Icon Animation", - "info": "Using the icon data of AnimatedIcons, you can animate the icon based on an animation controller. The icon size, color, etc., can be specified.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of AnimatedIcon", - "desc": [ - "【icon】: Animation icon data 【AnimatedIcons】", - "【size】: Size 【double】", - "【color】: Color 【Color】", - "【progress】: Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_es_ES.json deleted file mode 100644 index d9cada141..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 125, - "name": "AnimatedIcon", - "localName": "Icono animado", - "info": "Utiliza los datos de iconos de AnimatedIcons para crear efectos de animación en los iconos basados en un controlador de animación. Se puede especificar el tamaño del icono, el color, etc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedIcon", - "desc": [ - "【icon】: Datos del icono animado 【AnimatedIcons】", - "【size】: Tamaño 【double】", - "【color】: Color 【Color】", - "【progress】: Animación 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_fr_FR.json deleted file mode 100644 index 583ef6c4c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 125, - "name": "AnimatedIcon", - "localName": "Icône animée", - "info": "Utilisez les données d'icône d'AnimatedIcons pour animer une icône en fonction d'un contrôleur d'animation. Vous pouvez spécifier la taille, la couleur, etc. de l'icône.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'AnimatedIcon", - "desc": [ - "【icon】 : Données de l'icône animée 【AnimatedIcons】", - "【size】 : Taille 【double】", - "【color】 : Couleur 【Color】", - "【progress】 : Animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_it_IT.json deleted file mode 100644 index 60a5bc1dc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 125, - "name": "AnimatedIcon", - "localName": "Icona Animata", - "info": "Utilizza i dati delle icone di AnimatedIcons per creare effetti di animazione delle icone basati su un controller di animazione. È possibile specificare dimensioni, colore, ecc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di AnimatedIcon", - "desc": [ - "【icon】 : Dati dell'icona animata 【AnimatedIcons】", - "【size】 : Dimensione 【double】", - "【color】 : Colore 【Color】", - "【progress】 : Animazione 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_ja_JP.json deleted file mode 100644 index 49b64808d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 125, - "name": "AnimatedIcon", - "localName": "アイコンアニメーション", - "info": "AnimatedIconsのアイコンデータを使用して、アニメーションコントローラーに基づいてアイコンにアニメーション効果を与えることができます。アイコンのサイズや色などを指定できます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedIconの基本使用", - "desc": [ - "【icon】 : アニメーションアイコンデータ 【AnimatedIcons】", - "【size】 : サイズ 【double】", - "【color】 : 色 【Color】", - "【progress】 : アニメーション 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_ko_KR.json deleted file mode 100644 index 25b5ed60e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 125, - "name": "AnimatedIcon", - "localName": "아이콘 애니메이션", - "info": "AnimatedIcons의 아이콘 데이터를 사용하여 애니메이션 컨트롤러에 따라 아이콘에 애니메이션 효과를 적용할 수 있습니다. 아이콘 크기, 색상 등을 지정할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedIcon 기본 사용", - "desc": [ - "【icon】 : 애니메이션 아이콘 데이터 【AnimatedIcons】", - "【size】 : 크기 【double】", - "【color】 : 색상 【Color】", - "【progress】 : 애니메이션 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_pt_PT.json deleted file mode 100644 index fad0bab61..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 125, - "name": "AnimatedIcon", - "localName": "Ícone Animado", - "info": "Utiliza os dados de ícones de AnimatedIcons para criar efeitos de animação com base em um controlador de animação. Permite especificar o tamanho, cor e outros atributos do ícone.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de AnimatedIcon", - "desc": [ - "【icon】 : Dados do ícone animado 【AnimatedIcons】", - "【size】 : Tamanho 【double】", - "【color】 : Cor 【Color】", - "【progress】 : Animação 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_ru_RU.json deleted file mode 100644 index 414e42a76..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 125, - "name": "AnimatedIcon", - "localName": "Анимированная иконка", - "info": "Используйте данные иконки AnimatedIcons для создания анимации иконки с помощью контроллера анимации. Можно указать размер и цвет иконки.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование AnimatedIcon", - "desc": [ - "【icon】 : Данные анимированной иконки 【AnimatedIcons】", - "【size】 : Размер 【double】", - "【color】 : Цвет 【Color】", - "【progress】 : Анимация 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_zh-CN.json deleted file mode 100644 index d9f9c3aaf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 125, - "name": "AnimatedIcon", - "localName": "图标动画", - "info": "使用AnimatedIcons的图标数据,可以根据一个动画控制器来使图标进行动画效果。可指定图标大小、颜色等。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "AnimatedIcon基本使用", - "desc": [ - "【icon】 : 动画图标数据 【AnimatedIcons】", - "【size】 : 大小 【double】", - "【color】 : 颜色 【Color】", - "【progress】 : 动画 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/node1_base.dart deleted file mode 100644 index 4e96eb8d4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/AnimatedIcon/node1_base.dart +++ /dev/null @@ -1,59 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -class CustomAnimatedIcon extends StatefulWidget { - const CustomAnimatedIcon({Key? key}) : super(key: key); - - @override - _CustomAnimatedIconState createState() => _CustomAnimatedIconState(); -} - -class _CustomAnimatedIconState extends State - with SingleTickerProviderStateMixin { - late AnimationController _ctrl; - - @override - void initState() { - _ctrl = AnimationController(vsync: this, duration: const Duration(seconds: 1)); - _ctrl.forward(); - super.initState(); - } - - @override - void dispose() { - _ctrl.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => _ctrl.forward(from: 0), - child: Wrap( - runSpacing: 30, - children: _buildChildren(), - ), - ); - } - - final Map data = { - Colors.orange: AnimatedIcons.menu_arrow, - Colors.blue: AnimatedIcons.ellipsis_search, - Colors.red: AnimatedIcons.close_menu, - Colors.green: AnimatedIcons.arrow_menu, - Colors.cyanAccent: AnimatedIcons.play_pause, - Colors.purple: AnimatedIcons.pause_play, - }; - - List _buildChildren() => - data.keys - .map((Color color) => AnimatedIcon( - size: 50, - color: color, - icon: data[color]!, - progress: _ctrl, - )) - .toList(); -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_de_DE.json deleted file mode 100644 index aa565405f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_de_DE.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 356, - "name": "Autocomplete", - "localName": "Automatische Vervollständigung", - "info": "Bietet während der Eingabe eine Überlagerung mit Vorschlägen an, damit Benutzer auswählen können, und bietet ein hohes Maß an Anpassbarkeit.", - "lever": 4, - "family": 0, - "linkIds": [ - 54, - 199 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Autocomplete", - "desc": [ - "【optionsBuilder】: Optionen-Builder 【AutocompleteOptionsBuilder】", - "【onSelected】: Rückruf bei Auswahl 【AutocompleteOnSelected】" - ] - }, - { - "file": "node2_type.dart", - "name": "Generika von Autocomplete", - "desc": [ - "【optionsViewBuilder】: Panel-Builder 【AutocompleteOptionsViewBuilder】", - "【fieldViewBuilder】: Eingabe-Builder 【AutocompleteFieldViewBuilder】", - "【displayStringForOption】: Textanzeige 【AutocompleteOptionToString】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_en_US.json deleted file mode 100644 index 221f824b7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_en_US.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 356, - "name": "Autocomplete", - "localName": "Autocomplete", - "info": "During input, provides a suggestion overlay for users to select from, with a high degree of customization.", - "lever": 4, - "family": 0, - "linkIds": [ - 54, - 199 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Autocomplete", - "desc": [ - "【optionsBuilder】: Option builder 【AutocompleteOptionsBuilder】", - "【onSelected】: Callback when selected 【AutocompleteOnSelected】" - ] - }, - { - "file": "node2_type.dart", - "name": "Generics of Autocomplete", - "desc": [ - "【optionsViewBuilder】: Panel builder 【AutocompleteOptionsViewBuilder】", - "【fieldViewBuilder】: Input builder 【AutocompleteFieldViewBuilder】", - "【displayStringForOption】: Text display 【AutocompleteOptionToString】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_es_ES.json deleted file mode 100644 index 8e9cdf044..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_es_ES.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 356, - "name": "Autocomplete", - "localName": "Autocompletado", - "info": "Proporciona una capa de sugerencias durante la entrada para que el usuario pueda seleccionar, con un alto grado de personalización.", - "lever": 4, - "family": 0, - "linkIds": [ - 54, - 199 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Autocomplete", - "desc": [ - "【optionsBuilder】: Constructor de opciones 【AutocompleteOptionsBuilder】", - "【onSelected】: Devolución de llamada al seleccionar 【AutocompleteOnSelected】" - ] - }, - { - "file": "node2_type.dart", - "name": "Genéricos de Autocomplete", - "desc": [ - "【optionsViewBuilder】: Constructor del panel 【AutocompleteOptionsViewBuilder】", - "【fieldViewBuilder】: Constructor de entrada 【AutocompleteFieldViewBuilder】", - "【displayStringForOption】: Visualización de texto 【AutocompleteOptionToString】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_fr_FR.json deleted file mode 100644 index 1c2b6d1d5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_fr_FR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 356, - "name": "Autocomplete", - "localName": "Remplissage automatique", - "info": "Pendant la saisie, fournit une superposition de suggestions pour que l'utilisateur puisse choisir, avec un haut degré de personnalisation.", - "lever": 4, - "family": 0, - "linkIds": [ - 54, - 199 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'Autocomplete", - "desc": [ - "【optionsBuilder】 : Constructeur d'options 【AutocompleteOptionsBuilder】", - "【onSelected】 : Rappel lors de la sélection 【AutocompleteOnSelected】" - ] - }, - { - "file": "node2_type.dart", - "name": "Génériques d'Autocomplete", - "desc": [ - "【optionsViewBuilder】 : Constructeur de panneau 【AutocompleteOptionsViewBuilder】", - "【fieldViewBuilder】 : Constructeur de saisie 【AutocompleteFieldViewBuilder】", - "【displayStringForOption】 : Affichage de texte 【AutocompleteOptionToString】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_it_IT.json deleted file mode 100644 index 921cc9f24..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_it_IT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 356, - "name": "Autocomplete", - "localName": "Completamento automatico", - "info": "Durante l'immissione, fornisce un overlay di suggerimenti per la selezione dell'utente, con un alto grado di personalizzazione.", - "lever": 4, - "family": 0, - "linkIds": [ - 54, - 199 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Autocomplete", - "desc": [ - "【optionsBuilder】 : Costruttore di opzioni 【AutocompleteOptionsBuilder】", - "【onSelected】 : Callback alla selezione 【AutocompleteOnSelected】" - ] - }, - { - "file": "node2_type.dart", - "name": "Generics di Autocomplete", - "desc": [ - "【optionsViewBuilder】 : Costruttore del pannello 【AutocompleteOptionsViewBuilder】", - "【fieldViewBuilder】 : Costruttore di input 【AutocompleteFieldViewBuilder】", - "【displayStringForOption】 : Visualizzazione del testo 【AutocompleteOptionToString】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_ja_JP.json deleted file mode 100644 index 74cbbfed7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_ja_JP.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 356, - "name": "Autocomplete", - "localName": "オートコンプリート", - "info": "入力中に、ユーザーが選択できるように連想語をフローティングレイヤーで表示し、高いカスタマイズ性を持っています。", - "lever": 4, - "family": 0, - "linkIds": [ - 54, - 199 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Autocompleteの基本使用", - "desc": [ - "【optionsBuilder】 : オプション構築器 【AutocompleteOptionsBuilder】", - "【onSelected】 : 選択時のコールバック 【AutocompleteOnSelected】" - ] - }, - { - "file": "node2_type.dart", - "name": "Autocompleteのジェネリック", - "desc": [ - "【optionsViewBuilder】 : パネル構築器 【AutocompleteOptionsViewBuilder】", - "【fieldViewBuilder】 : 入力構築器 【AutocompleteFieldViewBuilder】", - "【displayStringForOption】 : テキスト表示 【AutocompleteOptionToString】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_ko_KR.json deleted file mode 100644 index b86cad62c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_ko_KR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 356, - "name": "Autocomplete", - "localName": "자동 완성", - "info": "입력 중에, 사용자가 선택할 수 있도록 연관어를 보여주는 레이어를 제공하며, 높은 수준의 커스터마이징이 가능합니다.", - "lever": 4, - "family": 0, - "linkIds": [ - 54, - 199 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Autocomplete 기본 사용", - "desc": [ - "【optionsBuilder】 : 옵션 빌더 【AutocompleteOptionsBuilder】", - "【onSelected】 : 선택 시 콜백 【AutocompleteOnSelected】" - ] - }, - { - "file": "node2_type.dart", - "name": "Autocomplete의 제네릭", - "desc": [ - "【optionsViewBuilder】 : 패널 빌더 【AutocompleteOptionsViewBuilder】", - "【fieldViewBuilder】 : 입력 빌더 【AutocompleteFieldViewBuilder】", - "【displayStringForOption】 : 텍스트 표시 【AutocompleteOptionToString】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_pt_PT.json deleted file mode 100644 index cf85c6971..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_pt_PT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 356, - "name": "Autocomplete", - "localName": "Preenchimento automático", - "info": "Durante a entrada, fornece uma sobreposição de sugestões para o usuário escolher, com alto grau de personalização.", - "lever": 4, - "family": 0, - "linkIds": [ - 54, - 199 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Autocomplete", - "desc": [ - "【optionsBuilder】: Construtor de opções 【AutocompleteOptionsBuilder】", - "【onSelected】: Callback de seleção 【AutocompleteOnSelected】" - ] - }, - { - "file": "node2_type.dart", - "name": "Genéricos do Autocomplete", - "desc": [ - "【optionsViewBuilder】: Construtor de painel 【AutocompleteOptionsViewBuilder】", - "【fieldViewBuilder】: Construtor de entrada 【AutocompleteFieldViewBuilder】", - "【displayStringForOption】: Exibição de texto 【AutocompleteOptionToString】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_ru_RU.json deleted file mode 100644 index 7d6e34258..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_ru_RU.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 356, - "name": "Autocomplete", - "localName": "Автозаполнение", - "info": "Во время ввода предоставляет всплывающий слой с подсказками для выбора пользователем, обладает высокой степенью настройки.", - "lever": 4, - "family": 0, - "linkIds": [ - 54, - 199 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Autocomplete", - "desc": [ - "【optionsBuilder】 : конструктор опций 【AutocompleteOptionsBuilder】", - "【onSelected】 : обратный вызов при выборе 【AutocompleteOnSelected】" - ] - }, - { - "file": "node2_type.dart", - "name": "Обобщение Autocomplete", - "desc": [ - "【optionsViewBuilder】 : конструктор панели 【AutocompleteOptionsViewBuilder】", - "【fieldViewBuilder】 : конструктор ввода 【AutocompleteFieldViewBuilder】", - "【displayStringForOption】 : отображение текста 【AutocompleteOptionToString】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_zh-CN.json deleted file mode 100644 index 3f7fe0139..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/desc_zh-CN.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 356, - "name": "Autocomplete", - "localName": "自动填充", - "info": "在输入期间,提供联想词浮层展示,以便用户选择,拥有高度的可定制性。", - "lever": 4, - "family": 0, - "linkIds": [ - 54, - 199 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Autocomplete基本使用", - "desc": [ - "【optionsBuilder】 : 选项构造器 【AutocompleteOptionsBuilder】", - "【onSelected】 : 选择时回调 【AutocompleteOnSelected】" - ] - }, - { - "file": "node2_type.dart", - "name": "Autocomplete的泛型", - "desc": [ - "【optionsViewBuilder】 : 面板构造器 【AutocompleteOptionsViewBuilder】", - "【fieldViewBuilder】 : 输入构造器 【AutocompleteFieldViewBuilder】", - "【displayStringForOption】 : 文字展示 【AutocompleteOptionToString】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/node1_base.dart deleted file mode 100644 index b9abae503..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/node1_base.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2022-04-18 -/// contact me by email 1981462002@qq.com - -class AutocompleteDemo extends StatelessWidget { - const AutocompleteDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Autocomplete( - optionsBuilder: buildOptions, - onSelected: onSelected, - ); - } - - void onSelected(String selection) { - debugPrint('当前选择了 $selection'); - } - - Future> buildOptions( - TextEditingValue textEditingValue, - ) async { - if (textEditingValue.text == '') { - return const Iterable.empty(); - } - return searchByArgs(textEditingValue.text); - } - - Future> searchByArgs(String args) async{ - // 模拟网络请求 - await Future.delayed(const Duration(milliseconds: 200)); - const List data = [ - 'toly', 'toly49', 'toly42', 'toly56', - 'card', 'ls', 'alex', 'fan sha', - ]; - return data.where((String name) => name.contains(args)); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/node2_type.dart b/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/node2_type.dart deleted file mode 100644 index d48fe1bd0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Autocomplete/node2_type.dart +++ /dev/null @@ -1,219 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2022-04-18 -/// contact me by email 1981462002@qq.com - -class AutocompleteType extends StatefulWidget { - const AutocompleteType({Key? key}) : super(key: key); - - @override - State createState() => _AutocompleteTypeState(); -} - -class _AutocompleteTypeState extends State { - late TextEditingController _controller; - _User? user; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: Scaffold( - appBar: AppBar( - automaticallyImplyLeading: false, - title: buildAutocomplete(), - ), - body: Center( - child: Text( - user != null ? user!.name : '未选择', - style: const TextStyle(fontSize: 40), - )), - ), - ); - } - - Widget buildAutocomplete() { - return Autocomplete<_User>( - optionsBuilder: buildOptions, - onSelected: onSelected, - optionsViewBuilder: _buildOptionsView, - fieldViewBuilder: _buildFieldView, - displayStringForOption: (user) => user.name, - ); - } - - @override - void dispose() { - // _controller.dispose(); - super.dispose(); - } - - void onSelected(_User selection) { - debugPrint('当前选择了 $selection'); - setState(() { - user = selection; - }); - } - - Future> buildOptions( - TextEditingValue textEditingValue, - ) async { - if (textEditingValue.text == '') { - return const Iterable<_User>.empty(); - } - return searchByArgs(textEditingValue.text); - } - - Future> searchByArgs(String args) async { - // 模拟网络请求 - await Future.delayed(const Duration(milliseconds: 200)); - const List<_User> data = [ - _User('toly', true, 'icon_5.webp'), - _User('toly49', false, 'icon_6.webp'), - _User('toly42', true, 'icon_7.webp'), - _User('toly56', false, 'icon_8.webp'), - _User('card', true, 'icon_5.webp'), - _User('ls', true, 'icon_6.webp'), - _User('alex', true, 'icon_7.webp'), - _User('fan sha', false, 'icon_8.webp'), - ]; - return data.where((_User user) => user.name.contains(args)); - } - - Widget _buildFieldView( - BuildContext context, - TextEditingController textEditingController, - FocusNode focusNode, - VoidCallback onFieldSubmitted) { - _controller = textEditingController; - return SizedBox( - height: 34, - child: TextFormField( - controller: textEditingController, - decoration: const InputDecoration( - filled: true, - fillColor: Color(0xffF7F8FA), - prefixIcon: Icon(Icons.search), - contentPadding: EdgeInsets.only(top: 1), - border: UnderlineInputBorder( - borderSide: BorderSide.none, - borderRadius: BorderRadius.all(Radius.circular(19)), - ), - hintText: "输入用户名 (toly)", - hintStyle: TextStyle(fontSize: 13)), - focusNode: focusNode, - onFieldSubmitted: (String value) { - onFieldSubmitted(); - }, - ), - ); - } - - Widget _buildOptionsView(BuildContext context, - AutocompleteOnSelected<_User> onSelected, Iterable<_User> options) { - return Align( - alignment: Alignment.topCenter, - child: Padding( - padding: const EdgeInsets.only(top: 20), - child: Material( - child: ConstrainedBox( - constraints: BoxConstraints(maxHeight: 150), - child: ListView.builder( - padding: EdgeInsets.zero, - itemBuilder: (_, index) { - final _User option = options.elementAt(index); - return _UserItem( - onSelected: onSelected, - user: option, - args: _controller.text, - ); - }, - itemCount: options.length, - ), - ), - ), - ), - ); - } -} - -class _UserItem extends StatelessWidget { - final AutocompleteOnSelected<_User>? onSelected; - final String args; - final _User user; - - const _UserItem({ - Key? key, - this.onSelected, - required this.user, - required this.args, - }) : super(key: key); - - @override - Widget build(BuildContext context) { - return InkWell( - onTap: () => onSelected?.call(user), - child: Container( - padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 6), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - CircleAvatar( - foregroundColor: Colors.transparent, - backgroundImage: - AssetImage('assets/images/head_icon/${user.image}'), - ), - const SizedBox(width: 20), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Text.rich(formSpan(user.name, args)), - Text( - '性别: ${user.man ? '男' : '女'}', - style: const TextStyle(color: Colors.grey), - ), - ], - ), - ], - ), - ), - ); - } - - final TextStyle lightTextStyle = const TextStyle( - color: Colors.blue, - fontWeight: FontWeight.bold, - ); - - InlineSpan formSpan(String src, String pattern) { - List span = []; - List parts = src.split(pattern); - if (parts.length > 1) { - for (int i = 0; i < parts.length; i++) { - span.add(TextSpan(text: parts[i])); - if (i != parts.length - 1) { - span.add(TextSpan(text: pattern, style: lightTextStyle)); - } - } - } else { - span.add(TextSpan(text: src)); - } - return TextSpan(children: span); - } -} - -class _User { - final String name; - final bool man; - final String image; - - const _User(this.name, this.man, this.image); - - @override - String toString() { - return '_User{name: $name, man: $man, image: $image}'; - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_de_DE.json deleted file mode 100644 index 2110748f9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 31, - "name": "BackButton", - "localName": "Zurück-Button", - "info": "Ein IconButton mit Rückkehrfunktion, das Rückkehrsymbol kann nicht geändert werden. Verhält sich in iOS und Android unterschiedlich.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackButton Attribute", - "desc": [ - "【color】: Farbe 【Color】", - "【style】: Button-Stil 【ButtonStyle?】", - "【onPressed】: Klick-Ereignis 【Function】", - " Wenn onPressed leer ist, wird der aktuelle Stack verlassen" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_en_US.json deleted file mode 100644 index 5827f1c25..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 31, - "name": "BackButton", - "localName": "Back Button", - "info": "An IconButton with a back function, the back icon cannot be changed. It behaves differently in iOS and Android.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackButton Properties", - "desc": [ - "【color】: Color 【Color】", - "【style】: Button Style 【ButtonStyle?】", - "【onPressed】: Click Event 【Function】", - " If onPressed is empty, it will exit the current stack." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_es_ES.json deleted file mode 100644 index d776911ee..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 31, - "name": "BackButton", - "localName": "Botón de retroceso", - "info": "Un IconButton con función de retroceso, el icono de retroceso no se puede cambiar. Se comporta de manera diferente en iOS y Android.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propiedades de BackButton", - "desc": [ - "【color】: Color 【Color】", - "【style】: Estilo del botón 【ButtonStyle?】", - "【onPressed】: Evento de clic 【Function】", - "Si onPressed está vacío, saldrá de la pila actual." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_fr_FR.json deleted file mode 100644 index 67ab49af4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 31, - "name": "BackButton", - "localName": "Bouton Retour", - "info": "Un IconButton avec une fonction de retour, l'icône de retour ne peut pas être modifiée. Se comporte différemment sur iOS et Android.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propriétés du BackButton", - "desc": [ - "【color】: Couleur 【Color】", - "【style】: Style du bouton 【ButtonStyle?】", - "【onPressed】: Événement de clic 【Function】", - " Si onPressed est vide, la pile actuelle sera quittée" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_it_IT.json deleted file mode 100644 index 15d82d523..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 31, - "name": "BackButton", - "localName": "Pulsante Indietro", - "info": "Un IconButton con funzionalità di ritorno, l'icona di ritorno non può essere modificata. Si comporta diversamente in iOS e Android.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Proprietà del BackButton", - "desc": [ - "【color】: Colore 【Color】", - "【style】: Stile del pulsante 【ButtonStyle?】", - "【onPressed】: Evento di clic 【Function】", - " Se onPressed è vuoto, uscirà dallo stack corrente" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_ja_JP.json deleted file mode 100644 index 12bbc9f55..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 31, - "name": "BackButton", - "localName": "戻るボタン", - "info": "戻る機能を持つIconButtonで、戻るアイコンは変更できません。iOSとAndroidでは異なる動作をします。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackButton属性", - "desc": [ - "【color】: 色 【Color】", - "【style】: ボタンスタイル 【ButtonStyle?】", - "【onPressed】: クリックイベント 【Function】", - " onPressedが空の場合、現在のスタックを終了します" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_ko_KR.json deleted file mode 100644 index 52da81318..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 31, - "name": "BackButton", - "localName": "뒤로 가기 버튼", - "info": "뒤로 가기 기능을 가진 IconButton, 뒤로 가기 아이콘은 변경할 수 없습니다. iOS와 Android에서 다르게 동작합니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackButton 속성", - "desc": [ - "【color】: 색상 【Color】", - "【style】: 버튼 스타일 【ButtonStyle?】", - "【onPressed】: 클릭 이벤트 【Function】", - "onPressed가 비어 있으면 현재 스택에서 빠져나옵니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_pt_PT.json deleted file mode 100644 index 17115929c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 31, - "name": "BackButton", - "localName": "Botão de Voltar", - "info": "Um IconButton com função de voltar, o ícone de voltar não pode ser alterado. Comporta-se de forma diferente no iOS e no Android.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propriedades do BackButton", - "desc": [ - "【color】: Cor 【Color】", - "【style】: Estilo do botão 【ButtonStyle?】", - "【onPressed】: Evento de clique 【Function】", - "Se onPressed estiver vazio, a pilha atual será encerrada" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_ru_RU.json deleted file mode 100644 index 310f813db..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 31, - "name": "BackButton", - "localName": "Кнопка возврата", - "info": "IconButton с функцией возврата, значок возврата нельзя изменить. По-разному ведет себя в iOS и Android", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Свойства BackButton", - "desc": [ - "【color】: Цвет 【Color】", - "【style】: Стиль кнопки 【ButtonStyle?】", - "【onPressed】: Событие нажатия 【Function】", - "Если onPressed пуст, текущий стек будет завершен" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_zh-CN.json deleted file mode 100644 index 4806e8bc3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 31, - "name": "BackButton", - "localName": "返回按钮", - "info": "一个具有返回功能的IconButton,返回图标不可更改。在iOS和Android中表现不同", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackButton属性", - "desc": [ - "【color】: 颜色 【Color】", - "【style】: 按钮样式 【ButtonStyle?】", - "【onPressed】: 点击事件 【Function】", - " onPressed为空会退出当前栈" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/BackButton/node1_base.dart deleted file mode 100644 index e51f70a73..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButton/node1_base.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -class CustomBackButton extends StatelessWidget { - const CustomBackButton({super.key}); - - List get data => [ - Colors.red, - Colors.yellow, - Colors.blue, - Colors.green - ]; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: data - .map((e) => BackButton( - color: e, - )) - .toList()); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_de_DE.json deleted file mode 100644 index cfce90a8a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 272, - "name": "BackButtonIcon", - "localName": "Zurück-Button-Icon", - "info": "Ein Rück-Icon, das je nach Plattform das entsprechende Icon anzeigt. Das Thema kann über ActionIconTheme angepasst werden.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackButtonIcon-Effekt", - "desc": [ - "Das _ActionIcon-Widget passt das Rück-Button-Icon basierend auf dem ActionIconTheme an die jeweilige Plattform an." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_en_US.json deleted file mode 100644 index 013efdd99..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 272, - "name": "BackButtonIcon", - "localName": "Back Button Icon", - "info": "A return Icon icon, displaying the corresponding icon according to the platform, and the theme can be customized through ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackButtonIcon Effect", - "desc": [ - "The _ActionIcon component adapts the back button icon for different platforms according to the ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_es_ES.json deleted file mode 100644 index b4dcc7b7c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 272, - "name": "BackButtonIcon", - "localName": "Icono de botón de retroceso", - "info": "Un icono de retroceso, muestra el icono correspondiente según la plataforma, se puede personalizar el tema a través de ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Efecto de BackButtonIcon", - "desc": [ - "El componente _ActionIcon adapta el icono del botón de retroceso para diferentes plataformas según el tema de ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_fr_FR.json deleted file mode 100644 index 2448d2894..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 272, - "name": "BackButtonIcon", - "localName": "Icône de bouton de retour", - "info": "Une icône de retour, affichant l'icône correspondante selon la plateforme, qui peut être personnalisée via ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Effet de BackButtonIcon", - "desc": [ - "Le composant _ActionIcon adapte l'icône de bouton de retour à différentes plateformes selon le thème ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_it_IT.json deleted file mode 100644 index 9754d6102..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 272, - "name": "BackButtonIcon", - "localName": "Icona del pulsante Indietro", - "info": "Un'icona di ritorno, che mostra l'icona corrispondente in base alla piattaforma, può essere personalizzata tramite ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Effetto BackButtonIcon", - "desc": [ - "Attraverso il componente _ActionIcon, adatta l'icona del pulsante Indietro per diverse piattaforme in base al tema ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_ja_JP.json deleted file mode 100644 index 71e0b52ae..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 272, - "name": "BackButtonIcon", - "localName": "戻るボタンアイコン", - "info": "戻るアイコンで、プラットフォームに応じたアイコンを表示し、ActionIconThemeでテーマをカスタマイズできます。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackButtonIcon 効果", - "desc": [ - "_ActionIconコンポーネントを使用して、ActionIconThemeテーマに基づいて、異なるプラットフォームの戻るボタンアイコンを適応させます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_ko_KR.json deleted file mode 100644 index 64ea426a3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 272, - "name": "BackButtonIcon", - "localName": "뒤로 가기 버튼 아이콘", - "info": "플랫폼에 따라 해당 아이콘을 표시하는 뒤로 가기 Icon 아이콘입니다. ActionIconTheme을 통해 테마를 사용자 정의할 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackButtonIcon 효과", - "desc": [ - "ActionIconTheme 테마에 따라 _ActionIcon 컴포넌트를 사용하여 다른 플랫폼의 뒤로 가기 버튼 아이콘을 적응시킵니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_pt_PT.json deleted file mode 100644 index 598f57cd4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 272, - "name": "BackButtonIcon", - "localName": "Ícone do botão de voltar", - "info": "Um ícone de retorno, que exibe o ícone correspondente de acordo com a plataforma, pode ser personalizado com o tema ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Efeito do BackButtonIcon", - "desc": [ - "O componente _ActionIcon adapta o ícone do botão de voltar para diferentes plataformas com base no tema ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_ru_RU.json deleted file mode 100644 index 2d572f030..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 272, - "name": "BackButtonIcon", - "localName": "Иконка кнопки возврата", - "info": "Иконка возврата, которая отображает соответствующую иконку в зависимости от платформы. Можно настроить тему через ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Эффект BackButtonIcon", - "desc": [ - "Компонент _ActionIcon адаптирует иконку кнопки возврата для разных платформ в соответствии с темой ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_zh-CN.json deleted file mode 100644 index 1a3a42731..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 272, - "name": "BackButtonIcon", - "localName": "返回按钮图标", - "info": "一个返回 Icon 图标, 根据平台展示对应的图标,可以通过 ActionIconTheme 定制主题。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BackButtonIcon 效果", - "desc": [ - "通过 _ActionIcon 组件根据 ActionIconTheme 主题,来适配不同平台的返回按钮图标。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/node1_base.dart deleted file mode 100644 index 1f39e5634..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BackButtonIcon/node1_base.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/11/28 -/// contact me by email 1981462002@qq.com - -class BackButtonIconDemo extends StatelessWidget { - const BackButtonIconDemo({super.key}); - - @override - Widget build(BuildContext context) { - return const BackButtonIcon(); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_de_DE.json deleted file mode 100644 index a3f266228..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_de_DE.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 258, - "name": "Badge", - "localName": "Kennzeichnungskomponente", - "info": "Badge ist eine Komponente im Material-Stil, die eine Markierung über einem Kindelement hinzufügen kann. Beim Aufbau wird die Stack-Komponente für die Überlagerung verwendet.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node_1.dart", - "name": "Verwendung von Badge-Punktmarkierungen", - "desc": [ - "【backgroundColor】 : Hintergrundfarbe 【Color?】", - "【isLabelVisible】 : Sichtbarkeit der Markierung 【bool】", - "【smallSize】 : Durchmesser ohne Label 【double?】", - "【child】 : Kindelement 【Widget?】" - ] - }, - { - "file": "node_2.dart", - "name": "Badge-Label-Markierung", - "desc": [ - "【label】 : Titelkomponente 【Widget?】", - "【textStyle】 : Titeltextstil 【TextStyle?】", - "【textColor】 : Titeltextfarbe 【Color?】", - "【padding】 : Titelabstand 【EdgeInsetsGeometry?】", - "【largeSize】 : Höhe mit Label 【double?】," - ] - }, - { - "file": "node_3.dart", - "name": "Versatz von Badge", - "desc": [ - "【offset】 : Versatz der Markierung 【Offset?】", - "【alignment】 : Titelversatz 【AlignmentDirectional?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_en_US.json deleted file mode 100644 index 662c3bc9e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_en_US.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 258, - "name": "Badge", - "localName": "Badge Component", - "info": "Badge is a Material-style component that can add markers on top of the child. It relies on the Stack component for layering during construction.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node_1.dart", - "name": "Usage of Badge Dot Marker", - "desc": [ - "【backgroundColor】: Background color 【Color?】", - "【isLabelVisible】: Whether to display the marker 【bool】", - "【smallSize】: Diameter when there is no label 【double?】", - "【child】: Child component 【Widget?】" - ] - }, - { - "file": "node_2.dart", - "name": "Badge Label Marker", - "desc": [ - "【label】: Title component 【Widget?】", - "【textStyle】: Title color 【TextStyle?】", - "【textColor】: Title style 【Color?】", - "【padding】: Title margin 【EdgeInsetsGeometry?】", - "【largeSize】: Height when there is a label 【double?】" - ] - }, - { - "file": "node_3.dart", - "name": "Badge Offset", - "desc": [ - "【offset】: Marker offset 【Offset?】", - "【alignment】: Title offset 【AlignmentDirectional?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_es_ES.json deleted file mode 100644 index 54ab567e3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_es_ES.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 258, - "name": "Badge", - "localName": "Componente de marcador", - "info": "Badge es un componente de estilo Material que puede agregar un marcador sobre el child, dependiendo del componente Stack para la superposición durante la construcción.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node_1.dart", - "name": "Uso del marcador de punto Badge", - "desc": [ - "【backgroundColor】 : Color de fondo 【Color?】", - "【isLabelVisible】 : Si se muestra el marcador 【bool】", - "【smallSize】 : Diámetro sin etiqueta 【double?】", - "【child】 : Componente hijo 【Widget?】" - ] - }, - { - "file": "node_2.dart", - "name": "Marcador de etiqueta Badge", - "desc": [ - "【label】 : Componente de título 【Widget?】", - "【textStyle】 : Color del título 【TextStyle?】", - "【textColor】 : Estilo del título 【Color?】", - "【padding】 : Márgenes del título 【EdgeInsetsGeometry?】", - "【largeSize】 : Altura con etiqueta 【double?】," - ] - }, - { - "file": "node_3.dart", - "name": "Desplazamiento del Badge", - "desc": [ - "【offset】 : Desplazamiento del marcador 【Offset?】", - "【alignment】 : Desplazamiento del título 【AlignmentDirectional?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_fr_FR.json deleted file mode 100644 index 081f19815..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_fr_FR.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 258, - "name": "Badge", - "localName": "Composant de marquage", - "info": "Badge est un composant de style Material qui peut ajouter des marqueurs au-dessus d'un enfant, dépendant du composant Stack pour l'empilement lors de la construction.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node_1.dart", - "name": "Utilisation du badge en point", - "desc": [ - "【backgroundColor】 : Couleur de fond 【Color?】", - "【isLabelVisible】 : Afficher le marqueur 【bool】", - "【smallSize】 : Diamètre sans étiquette 【double?】", - "【child】 : Composant enfant 【Widget?】" - ] - }, - { - "file": "node_2.dart", - "name": "Badge avec étiquette", - "desc": [ - "【label】 : Composant de titre 【Widget?】", - "【textStyle】 : Couleur du titre 【TextStyle?】", - "【textColor】 : Style du titre 【Color?】", - "【padding】 : Marge du titre 【EdgeInsetsGeometry?】", - "【largeSize】 : Hauteur avec étiquette 【double?】," - ] - }, - { - "file": "node_3.dart", - "name": "Décalage du badge", - "desc": [ - "【offset】 : Décalage du marqueur 【Offset?】", - "【alignment】 : Décalage du titre 【AlignmentDirectional?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_it_IT.json deleted file mode 100644 index ad52a654f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_it_IT.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 258, - "name": "Badge", - "localName": "Componente Badge", - "info": "Badge è un componente in stile Material che aggiunge un segnalino sopra il child, dipendendo dal componente Stack per la sovrapposizione durante la costruzione.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node_1.dart", - "name": "Uso del Badge con punto", - "desc": [ - "【backgroundColor】 : Colore di sfondo 【Color?】", - "【isLabelVisible】 : Visibilità del segnalino 【bool】", - "【smallSize】 : Diametro senza etichetta 【double?】", - "【child】 : Componente figlio 【Widget?】" - ] - }, - { - "file": "node_2.dart", - "name": "Badge con etichetta", - "desc": [ - "【label】 : Componente del titolo 【Widget?】", - "【textStyle】 : Colore del titolo 【TextStyle?】", - "【textColor】 : Stile del titolo 【Color?】", - "【padding】 : Margine del titolo 【EdgeInsetsGeometry?】", - "【largeSize】 : Altezza con etichetta 【double?】," - ] - }, - { - "file": "node_3.dart", - "name": "Offset del Badge", - "desc": [ - "【offset】 : Offset del segnalino 【Offset?】", - "【alignment】 : Offset del titolo 【AlignmentDirectional?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_ja_JP.json deleted file mode 100644 index 5a80853c3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_ja_JP.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 258, - "name": "Badge", - "localName": "バッジコンポーネント", - "info": "Badge は Material スタイルのコンポーネントで、child の上にマーカーを追加できます。構築時には Stack コンポーネントに依存して重ねられます。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node_1.dart", - "name": "Badge ドットマーカーの使用", - "desc": [ - "【backgroundColor】 : 背景色 【Color?】", - "【isLabelVisible】 : マーカーを表示するかどうか 【bool】", - "【smallSize】 : ラベルがない場合の直径 【double?】", - "【child】 : 子コンポーネント 【Widget?】" - ] - }, - { - "file": "node_2.dart", - "name": "Badge ラベルマーカー", - "desc": [ - "【label】 : タイトルコンポーネント 【Widget?】", - "【textStyle】 : タイトルの色 【TextStyle?】", - "【textColor】 : タイトルのスタイル 【Color?】", - "【padding】 : タイトルの余白 【EdgeInsetsGeometry?】", - "【largeSize】 : ラベルがある場合の高さ 【double?】," - ] - }, - { - "file": "node_3.dart", - "name": "Badge のオフセット", - "desc": [ - "【offset】 : マーカーのオフセット 【Offset?】", - "【alignment】 : タイトルのオフセット 【AlignmentDirectional?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_ko_KR.json deleted file mode 100644 index 56527a315..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_ko_KR.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 258, - "name": "Badge", - "localName": "배지 컴포넌트", - "info": "Badge는 Material 스타일의 컴포넌트로, child 위에 배지를 추가할 수 있으며, Stack 컴포넌트를 사용하여 겹쳐서 구성됩니다.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node_1.dart", - "name": "Badge 점 표시 사용", - "desc": [ - "【backgroundColor】 : 배경색 【Color?】", - "【isLabelVisible】 : 표시 여부 【bool】", - "【smallSize】 : 라벨 없을 때 직경 【double?】", - "【child】 : 하위 컴포넌트 【Widget?】" - ] - }, - { - "file": "node_2.dart", - "name": "Badge 라벨 표시", - "desc": [ - "【label】 : 제목 컴포넌트 【Widget?】", - "【textStyle】 : 제목 색상 【TextStyle?】", - "【textColor】 : 제목 스타일 【Color?】", - "【padding】 : 제목 여백 【EdgeInsetsGeometry?】", - "【largeSize】 : 라벨 있을 때 높이 【double?】," - ] - }, - { - "file": "node_3.dart", - "name": "Badge의 오프셋", - "desc": [ - "【offset】 : 배지 오프셋 【Offset?】", - "【alignment】 : 제목 오프셋 【AlignmentDirectional?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_pt_PT.json deleted file mode 100644 index e53be402f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_pt_PT.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 258, - "name": "Badge", - "localName": "Componente de Marcação", - "info": "O Badge é um componente de estilo Material que pode adicionar uma marcação sobreposta a um filho, dependendo do componente Stack para sobreposição durante a construção.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node_1.dart", - "name": "Uso do Badge com Marcação de Ponto", - "desc": [ - "【backgroundColor】 : Cor de fundo 【Color?】", - "【isLabelVisible】 : Se a marcação é visível 【bool】", - "【smallSize】 : Diâmetro sem etiqueta 【double?】", - "【child】 : Componente filho 【Widget?】" - ] - }, - { - "file": "node_2.dart", - "name": "Badge com Marcação de Etiqueta", - "desc": [ - "【label】 : Componente de título 【Widget?】", - "【textStyle】 : Cor do título 【TextStyle?】", - "【textColor】 : Estilo do título 【Color?】", - "【padding】 : Margem do título 【EdgeInsetsGeometry?】", - "【largeSize】 : Altura com etiqueta 【double?】," - ] - }, - { - "file": "node_3.dart", - "name": "Deslocamento do Badge", - "desc": [ - "【offset】 : Deslocamento da marcação 【Offset?】", - "【alignment】 : Deslocamento do título 【AlignmentDirectional?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_ru_RU.json deleted file mode 100644 index 8e577d2eb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_ru_RU.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 258, - "name": "Badge", - "localName": "Компонент метки", - "info": "Badge — это компонент в стиле Material, который может добавлять маркеры поверх дочернего элемента, при построении он зависит от компонента Stack для наложения.", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node_1.dart", - "name": "Использование круглой метки Badge", - "desc": [ - "【backgroundColor】 : Цвет фона 【Color?】", - "【isLabelVisible】 : Видимость метки 【bool】", - "【smallSize】 : Диаметр без метки 【double?】", - "【child】 : Дочерний компонент 【Widget?】" - ] - }, - { - "file": "node_2.dart", - "name": "Метка Badge с текстом", - "desc": [ - "【label】 : Компонент заголовка 【Widget?】", - "【textStyle】 : Цвет заголовка 【TextStyle?】", - "【textColor】 : Стиль заголовка 【Color?】", - "【padding】 : Отступы заголовка 【EdgeInsetsGeometry?】", - "【largeSize】 : Высота с меткой 【double?】," - ] - }, - { - "file": "node_3.dart", - "name": "Смещение Badge", - "desc": [ - "【offset】 : Смещение метки 【Offset?】", - "【alignment】 : Смещение заголовка 【AlignmentDirectional?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_zh-CN.json deleted file mode 100644 index c14d74fd2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/desc_zh-CN.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": 258, - "name": "Badge", - "localName": "标记组件", - "info": "Badge 是一种 Material 风格的组件,可以在 child 上层添加标记物,构建时依赖 Stack 组件进行叠放。", - "lever": 2, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node_1.dart", - "name": "Badge 圆点标记的使用", - "desc": [ - "【backgroundColor】 : 背景色 【Color?】", - "【isLabelVisible】 : 是否显示标记 【bool】", - "【smallSize】 : 无标签时直径 【double?】", - "【child】 : 子组件 【Widget?】" - ] - }, - { - "file": "node_2.dart", - "name": "Badge 标签标记", - "desc": [ - "【label】 : 标题组件 【Widget?】", - "【textStyle】 : 标题颜色 【TextStyle?】", - "【textColor】 : 标题样式 【Color?】", - "【padding】 : 标题边距 【EdgeInsetsGeometry?】", - "【largeSize】 : 有标签时高度 【double?】," - ] - }, - { - "file": "node_3.dart", - "name": "Badge 的偏移量", - "desc": [ - "【offset】 : 标记偏移量 【Offset?】", - "【alignment】 : 标题偏移 【AlignmentDirectional?】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/node_1.dart b/modules/widget_system/widgets/lib/StatelessWidget/Badge/node_1.dart deleted file mode 100644 index f5173c384..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/node_1.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/01/27 -/// contact me by email 1981462002@qq.com - - -class BadgeDemo extends StatelessWidget { - const BadgeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const Wrap( - spacing: 20, - children: [ - Badge( - backgroundColor: Colors.redAccent, - smallSize: 10, - child: Icon(Icons.update,size: 36,color: Colors.green,), - ), - Badge( - backgroundColor: Colors.redAccent, - smallSize: 10, - isLabelVisible: false, - child: Icon(Icons.update,size: 36,color: Colors.green,), - ), - ], - ); - } -} - diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/node_2.dart b/modules/widget_system/widgets/lib/StatelessWidget/Badge/node_2.dart deleted file mode 100644 index 73cf887d8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/node_2.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/01/27 -/// contact me by email 1981462002@qq.com - - -class BadgeLabelDemo extends StatelessWidget { - const BadgeLabelDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const Badge( - backgroundColor: Colors.red, - label: Text('99'), - textStyle: TextStyle(fontSize: 8,color: Colors.red), - padding: EdgeInsets.symmetric(horizontal: 8,vertical: 2), - largeSize: 14, - child: Icon(Icons.message,size: 36,color: Colors.indigo,), - ); - } -} - diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Badge/node_3.dart b/modules/widget_system/widgets/lib/StatelessWidget/Badge/node_3.dart deleted file mode 100644 index e815b2398..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Badge/node_3.dart +++ /dev/null @@ -1,53 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/01/27 -/// contact me by email 1981462002@qq.com - - -class BadgeAlignOffsetDemo extends StatelessWidget { - const BadgeAlignOffsetDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - final List info = ['默认偏移和对齐', '偏移-4,-4', '偏移-2,-2;右下角']; - final List offsets = [ - null, - const Offset(-4, -4), - const Offset(-2, -2) - ]; - final List alignments = [null, null, Alignment.bottomRight]; - - return Wrap( - spacing: 40, - children: info - .asMap() - .keys - .map((int i) => _buildShowItem(info[i], offsets[i], alignments[i])) - .toList(), - ); - } - - Widget _buildShowItem(String info, Offset? offset, Alignment? alignment) { - return Wrap( - spacing: 8, - direction: Axis.vertical, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - Badge( - backgroundColor: Colors.red, - label: const Text('99'), - textStyle: const TextStyle(fontSize: 8, color: Colors.red), - padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 2), - largeSize: 14, - offset: offset, - alignment: alignment, - child: const Icon(Icons.message, size: 36, color: Colors.indigo), - ), - Text( - info, - style: const TextStyle(fontSize: 10, color: Colors.grey), - ) - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_de_DE.json deleted file mode 100644 index dac9cc9b7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 5, - "name": "Banner", - "localName": "Banner-Komponente", - "info": "Komponente zur Anzeige von Bannern. Kann eine Unterkomponente aufnehmen, ermöglicht die Auswahl der Position für das Banner und den Text sowie die Einstellung der Farbe.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Zur Anzeige eines Banners", - "desc": [ - "【message】 : Angezeigte Textnachricht 【String】", - "【location】 : Position*4 【BannerLocation】", - "【color】: Bannerfarbe 【Color】", - "【child】: Kind 【Widget】", - "【textStyle】: Textstil 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_en_US.json deleted file mode 100644 index a51113065..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 5, - "name": "Banner", - "localName": "Badge Component", - "info": "A component for displaying badges. It can accommodate one child component, allows for the selection of orientation to add badges and informational text, and can set colors.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Used to display a badge", - "desc": [ - "【message】: The text message to display 【String】", - "【location】: Position*4 【BannerLocation】", - "【color】: Badge color 【Color】", - "【child】: Child 【Widget】", - "【textStyle】: Text style 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_es_ES.json deleted file mode 100644 index 237d2e60c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 5, - "name": "Banner", - "localName": "Componente de insignia", - "info": "Componente para mostrar insignias. Puede contener un subcomponente, permite elegir la ubicación para agregar la insignia y el texto informativo, y permite configurar el color.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Para mostrar una insignia", - "desc": [ - "【message】 : Información de texto a mostrar 【String】", - "【location】 : Ubicación*4 【BannerLocation】", - "【color】: Color de la insignia 【Color】", - "【child】: Hijo 【Widget】", - "【textStyle】: Estilo del texto 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_fr_FR.json deleted file mode 100644 index 90aa4a5c7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 5, - "name": "Banner", - "localName": "Composant de badge", - "info": "Composant pour l'affichage de badges. Peut contenir un composant enfant, permet de choisir l'emplacement pour ajouter un badge et du texte d'information, et de définir la couleur.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisé pour afficher un badge", - "desc": [ - "【message】 : Informations textuelles affichées 【String】", - "【location】 : Position*4 【BannerLocation】", - "【color】: Couleur du badge 【Color】", - "【child】: Enfant 【Widget】", - "【textStyle】: Style de texte 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_it_IT.json deleted file mode 100644 index c31554082..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 5, - "name": "Banner", - "localName": "Componente Banner", - "info": "Componente per la visualizzazione di banner. Può contenere un componente figlio, permette di scegliere la posizione del banner e il testo informativo, e di impostare il colore.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzato per visualizzare un banner", - "desc": [ - "【message】 : Informazioni di testo visualizzate 【String】", - "【location】 : Posizione*4 【BannerLocation】", - "【color】: Colore del banner 【Color】", - "【child】: Figlio 【Widget】", - "【textStyle】: Stile del testo 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_ja_JP.json deleted file mode 100644 index c36e9bd49..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 5, - "name": "Banner", - "localName": "バナーコンポーネント", - "info": "バナー表示用のコンポーネントです。1つの子コンポーネントを収容でき、バナーと情報テキストを追加する位置を選択し、色を設定できます。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "バナーを表示するために使用されます", - "desc": [ - "【message】 : 表示するテキスト情報 【String】", - "【location】 : 位置*4 【BannerLocation】", - "【color】: バナー色 【Color】", - "【child】: 子 【Widget】", - "【textStyle】: テキストスタイル 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_ko_KR.json deleted file mode 100644 index e264df6fb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 5, - "name": "Banner", - "localName": "배너 컴포넌트", - "info": "배너 표시를 위한 컴포넌트입니다. 하나의 자식 컴포넌트를 포함할 수 있으며, 배너 및 정보 텍스트를 추가할 위치를 선택할 수 있고, 색상을 설정할 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "배너를 표시하는 데 사용", - "desc": [ - "【message】 : 표시할 텍스트 정보 【String】", - "【location】 : 위치*4 【BannerLocation】", - "【color】: 배너 색상 【Color】", - "【child】: 자식 【Widget】", - "【textStyle】: 텍스트 스타일 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_pt_PT.json deleted file mode 100644 index ed6402585..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 5, - "name": "Banner", - "localName": "Componente de Banner", - "info": "Componente para exibição de banner. Pode conter um componente filho, permite escolher a posição para adicionar o banner e o texto informativo, e permite definir a cor.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Usado para exibir um banner", - "desc": [ - "【message】 : Informação de texto exibida 【String】", - "【location】 : Posição*4 【BannerLocation】", - "【color】: Cor do banner 【Color】", - "【child】: Filho 【Widget】", - "【textStyle】: Estilo de texto 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_ru_RU.json deleted file mode 100644 index cbdc79154..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 5, - "name": "Banner", - "localName": "Компонент для отображения уголка", - "info": "Компонент для отображения уголка. Может содержать один дочерний компонент, позволяет выбрать место для добавления уголка и текстовой информации, можно настроить цвет.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Для отображения уголка", - "desc": [ - "【message】 : Отображаемое текстовое сообщение 【String】", - "【location】 : Позиция*4 【BannerLocation】", - "【color】: Цвет уголка 【Color】", - "【child】: Дочерний элемент 【Widget】", - "【textStyle】: Стиль текста 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_zh-CN.json deleted file mode 100644 index 7b2765d2e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 5, - "name": "Banner", - "localName": "角标组件", - "info": "用于角标显示的组件。可容纳一个子组件,可选择方位添加角标及信息文字,可设置颜色。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "用于显示一个角标", - "desc": [ - "【message】 : 显示的文字信息 【String】", - "【location】 : 位置*4 【BannerLocation】", - "【color】: 角标颜色 【Color】", - "【child】: 孩子 【Widget】", - "【textStyle】: 文字样式 【TextStyle】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Banner/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Banner/node1_base.dart deleted file mode 100644 index 884b61031..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Banner/node1_base.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/30 -/// contact me by email 1981462002@qq.com - - -class CustomBanner extends StatelessWidget { - const CustomBanner({super.key}); - - Map get data => { - BannerLocation.topStart: Colors.red, - BannerLocation.bottomStart: Colors.green, - BannerLocation.bottomEnd: Colors.orange, - BannerLocation.topEnd: Colors.blue, - - }; - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - runSpacing: 10, - children: data.keys - .map((BannerLocation location) => Container( - color: const Color(0xffD8F5FF), - width: 150, - height: 150 * 0.618, - child: Banner( - message: "Flutter 3.29.0 发布", - location: location, - textStyle: TextStyle(fontSize: 8,height: 1), - color: data[location]!, - child: const Padding( - padding: EdgeInsets.all(20), - child: FlutterLogo( - textColor: Colors.blue, - style: FlutterLogoStyle.horizontal, - )), - ), - )).toList()); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_de_DE.json deleted file mode 100644 index 24a1898bf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 142, - "name": "BottomSheet", - "localName": "Unterer Schublade", - "info": "Als Komponente ist es eine einfache Strukturkomponente, die Form, Schattentiefe, Hintergrundfarbe und interne Komponentenkonstruktoren angeben kann. Es wird normalerweise durch die showBottomSheet-Methode von ScaffoldState von unten eingeblendet.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von BottomSheet", - "desc": [ - "【builder】 : Komponentenkonstruktor 【WidgetBuilder】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【elevation】 : Schattentiefe 【double】", - "【shape】 : Form 【ShapeBorder】", - "【onClosing】 : Schließrückruf 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_en_US.json deleted file mode 100644 index 6c7e7bb96..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 142, - "name": "BottomSheet", - "localName": "Bottom Drawer", - "info": "As a component, it is a simple structural component that can specify shape, shadow depth, background color, and internal component constructors. It generally pops up from the bottom through the showBottomSheet method of ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of BottomSheet", - "desc": [ - "【builder】: Component constructor 【WidgetBuilder】", - "【backgroundColor】: Background color 【Color】", - "【elevation】: Shadow depth 【double】", - "【shape】: Shape 【ShapeBorder】", - "【onClosing】: Closing callback 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_es_ES.json deleted file mode 100644 index d919c8110..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 142, - "name": "BottomSheet", - "localName": "Cajón Inferior", - "info": "Como componente, es una estructura simple que puede especificar forma, profundidad de sombra, color de fondo y constructor de componentes internos. Generalmente se despliega desde la parte inferior mediante el método showBottomSheet de ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de BottomSheet", - "desc": [ - "【builder】 : Constructor de componentes 【WidgetBuilder】", - "【backgroundColor】 : Color de fondo 【Color】", - "【elevation】 : Profundidad de sombra 【double】", - "【shape】 : Forma 【ShapeBorder】", - "【onClosing】 : Callback de cierre 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_fr_FR.json deleted file mode 100644 index 05e874ce6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 142, - "name": "BottomSheet", - "localName": "Tiroir inférieur", - "info": "En tant que composant, il s'agit d'un composant structurel simple qui peut spécifier la forme, la profondeur de l'ombre, la couleur de fond, le constructeur de composants internes, etc. Il est généralement affiché à partir du bas via la méthode showBottomSheet de ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de BottomSheet", - "desc": [ - "【builder】 : Constructeur de composant 【WidgetBuilder】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【elevation】 : Profondeur de l'ombre 【double】", - "【shape】 : Forme 【ShapeBorder】", - "【onClosing】 : Rappel de fermeture 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_it_IT.json deleted file mode 100644 index 9bf4f91d0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 142, - "name": "BottomSheet", - "localName": "Cassetto inferiore", - "info": "Come componente, è una struttura semplice che può specificare forma, profondità dell'ombra, colore di sfondo, costruttore di componenti interni. Di solito viene visualizzato dal basso tramite il metodo showBottomSheet di ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di BottomSheet", - "desc": [ - "【builder】 : Costruttore del componente 【WidgetBuilder】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【elevation】 : Profondità dell'ombra 【double】", - "【shape】 : Forma 【ShapeBorder】", - "【onClosing】 : Callback di chiusura 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_ja_JP.json deleted file mode 100644 index 1bf8340af..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 142, - "name": "BottomSheet", - "localName": "ボトムシート", - "info": "コンポーネントとして、シンプルな構造コンポーネントであり、形状、影の深さ、背景色、内部コンポーネントのビルダーなどを指定できます。一般的にはScaffoldStateのshowBottomSheetメソッドを使用して下部からポップアップします。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BottomSheetの基本使用", - "desc": [ - "【builder】 : コンポーネントビルダー 【WidgetBuilder】", - "【backgroundColor】 : 背景色 【Color】", - "【elevation】 : 影の深さ 【double】", - "【shape】 : 形状 【ShapeBorder】", - "【onClosing】 : 閉じるコールバック 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_ko_KR.json deleted file mode 100644 index d6ea73ed1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 142, - "name": "BottomSheet", - "localName": "하단 서랍", - "info": "컴포넌트로서는 간단한 구조 컴포넌트이며, 모양, 그림자 깊이, 배경색, 내부 컴포넌트 빌더 등을 지정할 수 있습니다. 일반적으로 ScaffoldState의 showBottomSheet 메소드를 통해 하단에서 팝업됩니다.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BottomSheet 기본 사용", - "desc": [ - "【builder】 : 컴포넌트 빌더 【WidgetBuilder】", - "【backgroundColor】 : 배경색 【Color】", - "【elevation】 : 그림자 깊이 【double】", - "【shape】 : 모양 【ShapeBorder】", - "【onClosing】 : 닫기 콜백 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_pt_PT.json deleted file mode 100644 index 252fc7b06..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 142, - "name": "BottomSheet", - "localName": "Gaveta Inferior", - "info": "Como componente, é uma estrutura simples que pode especificar forma, profundidade de sombra, cor de fundo, construtor de componentes internos, etc. Geralmente é exibido a partir da parte inferior através do método showBottomSheet do ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do BottomSheet", - "desc": [ - "【builder】: Construtor de Componentes 【WidgetBuilder】", - "【backgroundColor】: Cor de Fundo 【Color】", - "【elevation】: Profundidade de Sombra 【double】", - "【shape】: Forma 【ShapeBorder】", - "【onClosing】: Callback de Fechamento 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_ru_RU.json deleted file mode 100644 index 777a625a3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 142, - "name": "BottomSheet", - "localName": "Нижний ящик", - "info": "Как компонент, это простая структурная компонента, которая может быть настроена по форме, глубине тени, цвету фона и конструктору внутренних компонентов. Обычно появляется снизу с помощью метода showBottomSheet ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование BottomSheet", - "desc": [ - "【builder】 : Конструктор компонентов 【WidgetBuilder】", - "【backgroundColor】 : Цвет фона 【Color】", - "【elevation】 : Глубина тени 【double】", - "【shape】 : Форма 【ShapeBorder】", - "【onClosing】 : Обратный вызов при закрытии 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_zh-CN.json deleted file mode 100644 index afe4e4994..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 142, - "name": "BottomSheet", - "localName": "底部抽屉", - "info": "作为组件来说是一个简单的结构组件,可指定形状、影深、背景色、内部组件构造器等。一般通过ScaffoldState的showBottomSheet方法从底部弹出。", - "lever": 4, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BottomSheet基本使用", - "desc": [ - "【builder】 : 组件构造器 【WidgetBuilder】", - "【backgroundColor】 : 背景色 【Color】", - "【elevation】 : 影深 【double】", - "【shape】 : 形状 【ShapeBorder】", - "【onClosing】 : 关闭回调 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/node1_base.dart deleted file mode 100644 index 36364e8ac..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BottomSheet/node1_base.dart +++ /dev/null @@ -1,53 +0,0 @@ -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; - -class CustomBottomSheet extends StatefulWidget { - const CustomBottomSheet({Key? key}) : super(key: key); - - @override - _CustomBottomSheetState createState() => _CustomBottomSheetState(); -} - -class _CustomBottomSheetState extends State { - bool opened = false; - - @override - Widget build(BuildContext context) { - return ElevatedButton( - onPressed: () { - opened = !opened; - opened - ? Scaffold.of(context).showBottomSheet((_) => _buildBottomSheet()) - : Navigator.of(context).pop(); - }, - child: const Text( - '点我显隐BottomSheet', - style: TextStyle(color: Colors.white), - )); - } - - Widget _buildBottomSheet() => BottomSheet( - enableDrag: true, - elevation: 4, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.only( - topRight: Radius.circular(60), - topLeft: Radius.circular(60), - )), - backgroundColor: Colors.transparent, - onClosing: () => print('onClosing'), - builder: (_) => (Container( - height: 250, - decoration: const BoxDecoration( - image: DecorationImage( - image: AssetImage('assets/images/sabar_bar.webp'), - fit: BoxFit.cover), - borderRadius: BorderRadius.only( - topRight: Radius.circular(60), - topLeft: Radius.circular(60), - )), - ))); -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_de_DE.json deleted file mode 100644 index 5d5b14ba1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 350, - "name": "BoxScrollView", - "localName": "BoxScrollView", - "info": "BoxScrollView ist eine abstrakte Klasse, die von ScrollView erbt und daher nicht direkt verwendet werden kann. Seine Unterklassen sind ListView und GridView. Normalerweise wird keine eigene Unterklasse implementiert, um es zu verwenden.", - "lever": 1, - "family": 0, - "linkIds": [ - 183, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BoxScrollView Einführung", - "desc": [ - "【reverse】 : Ob umgekehrt 【bool】", - "【scrollDirection】 : Scrollrichtung 【Axis】", - "【cacheExtent】 : Cache-Länge 【double】", - "【dragStartBehavior】 : Ziehverhalten 【DragStartBehavior】", - "【clipBehavior】 : Beschneidungsverhalten 【ClipBehavior】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_en_US.json deleted file mode 100644 index b1f438571..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 350, - "name": "BoxScrollView", - "localName": "Box Scroll View", - "info": "BoxScrollView is an abstract class that inherits from ScrollView, so it cannot be used directly. Its subclasses include ListView and GridView. Generally, you do not implement subclasses to use it.", - "lever": 1, - "family": 0, - "linkIds": [ - 183, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to BoxScrollView", - "desc": [ - "【reverse】 : Whether to reverse 【bool】", - "【scrollDirection】 : Scroll direction 【Axis】", - "【cacheExtent】 : Cache length 【double】", - "【dragStartBehavior】 : Drag start behavior 【DragStartBehavior】", - "【clipBehavior】 : Clip behavior 【ClipBehavior】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_es_ES.json deleted file mode 100644 index a121e0ac0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 350, - "name": "BoxScrollView", - "localName": "Vista de desplazamiento de caja", - "info": "BoxScrollView es una clase abstracta que hereda de ScrollView, por lo que no se puede usar directamente. Sus subclases son ListView y GridView. Generalmente no se implementa una subclase para usarla", - "lever": 1, - "family": 0, - "linkIds": [ - 183, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a BoxScrollView", - "desc": [ - "【reverse】 : ¿Invertido? 【bool】", - "【scrollDirection】 : Dirección de desplazamiento 【Axis】", - "【cacheExtent】 : Longitud de caché 【double】", - "【dragStartBehavior】 : Comportamiento de arrastre 【DragStartBehavior】", - "【clipBehavior】 : Comportamiento de recorte 【ClipBehavior】", - "【controller】 : Controlador 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_fr_FR.json deleted file mode 100644 index 3e5554276..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 350, - "name": "BoxScrollView", - "localName": "Vue de défilement de boîte", - "info": "BoxScrollView est une classe abstraite héritée de ScrollView, donc elle ne peut pas être utilisée directement. Ses sous-classes incluent ListView et GridView. Généralement, on ne l'utilise pas en implémentant une sous-classe soi-même.", - "lever": 1, - "family": 0, - "linkIds": [ - 183, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à BoxScrollView", - "desc": [ - "【reverse】 : Inverser ou non 【bool】", - "【scrollDirection】 : Direction de défilement 【Axis】", - "【cacheExtent】 : Longueur du cache 【double】", - "【dragStartBehavior】 : Comportement de glissement 【DragStartBehavior】", - "【clipBehavior】 : Comportement de découpage 【ClipBehavior】", - "【controller】 : Contrôleur 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_it_IT.json deleted file mode 100644 index 72c02fbe7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 350, - "name": "BoxScrollView", - "localName": "Vista a scorrimento a scatola", - "info": "BoxScrollView è una classe astratta che eredita da ScrollView, quindi non può essere utilizzata direttamente. Le sue sottoclassi includono ListView e GridView. Generalmente non si implementa una sottoclasse per utilizzarla", - "lever": 1, - "family": 0, - "linkIds": [ - 183, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a BoxScrollView", - "desc": [ - "【reverse】 : Se invertire 【bool】", - "【scrollDirection】 : Direzione di scorrimento 【Axis】", - "【cacheExtent】 : Estensione della cache 【double】", - "【dragStartBehavior】 : Comportamento di trascinamento 【DragStartBehavior】", - "【clipBehavior】 : Comportamento di ritaglio 【ClipBehavior】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_ja_JP.json deleted file mode 100644 index 7c974d575..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 350, - "name": "BoxScrollView", - "localName": "ボックススクロールビュー", - "info": "BoxScrollView は ScrollView を継承した抽象クラスであるため、直接使用することはできません。そのサブクラスには ListView や GridView があります。通常、自分でサブクラスを実装して使用することはありません。", - "lever": 1, - "family": 0, - "linkIds": [ - 183, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BoxScrollView 紹介", - "desc": [ - "【reverse】 : 逆方向かどうか 【bool】", - "【scrollDirection】 : スクロール方向 【Axis】", - "【cacheExtent】 : キャッシュの長さ 【double】", - "【dragStartBehavior】 : ドラッグ開始の動作 【DragStartBehavior】", - "【clipBehavior】 : クリップ動作 【ClipBehavior】", - "【controller】 : コントローラー 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_ko_KR.json deleted file mode 100644 index 116839dd6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 350, - "name": "BoxScrollView", - "localName": "박스 스크롤 뷰", - "info": "BoxScrollView는 ScrollView에서 상속된 추상 클래스이므로 직접 사용할 수 없습니다. 그 하위 클래스로는 ListView, GridView가 있습니다. 일반적으로 직접 하위 클래스를 구현하여 사용하지 않습니다.", - "lever": 1, - "family": 0, - "linkIds": [ - 183, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BoxScrollView 소개", - "desc": [ - "【reverse】 : 역방향 여부 【bool】", - "【scrollDirection】 : 스크롤 방향 【Axis】", - "【cacheExtent】 : 캐시 길이 【double】", - "【dragStartBehavior】 : 드래그 시작 동작 【DragStartBehavior】", - "【clipBehavior】 : 클리핑 동작 【ClipBehavior】", - "【controller】 : 컨트롤러 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_pt_PT.json deleted file mode 100644 index 7f91210a1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 350, - "name": "BoxScrollView", - "localName": "Visualização de Rolagem de Caixa", - "info": "BoxScrollView é uma classe abstrata que herda de ScrollView, portanto, não pode ser usada diretamente. Suas subclasses incluem ListView e GridView. Geralmente, não se implementa subclasses para usá-la.", - "lever": 1, - "family": 0, - "linkIds": [ - 183, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao BoxScrollView", - "desc": [ - "【reverse】 : Se é reverso 【bool】", - "【scrollDirection】 : Direção de rolagem 【Axis】", - "【cacheExtent】 : Extensão do cache 【double】", - "【dragStartBehavior】 : Comportamento de arrasto 【DragStartBehavior】", - "【clipBehavior】 : Comportamento de recorte 【ClipBehavior】", - "【controller】 : Controlador 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_ru_RU.json deleted file mode 100644 index e0fd153b6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 350, - "name": "BoxScrollView", - "localName": "Прокручиваемое представление коробки", - "info": "BoxScrollView — это абстрактный класс, который наследуется от ScrollView, поэтому его нельзя использовать напрямую. Его подклассы включают ListView и GridView. Обычно не рекомендуется самостоятельно реализовывать подклассы для его использования.", - "lever": 1, - "family": 0, - "linkIds": [ - 183, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в BoxScrollView", - "desc": [ - "【reverse】 : Обратный порядок 【bool】", - "【scrollDirection】 : Направление прокрутки 【Axis】", - "【cacheExtent】 : Размер кэша 【double】", - "【dragStartBehavior】 : Поведение при перетаскивании 【DragStartBehavior】", - "【clipBehavior】 : Поведение обрезки 【ClipBehavior】", - "【controller】 : Контроллер 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_zh-CN.json deleted file mode 100644 index 398232fe2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 350, - "name": "BoxScrollView", - "localName": "盒滑动视图", - "info": "BoxScrollView 是一个继承自 ScrollView 的抽象类,所以无法直接使用,它的子类有 ListView、GridView。一般不自己实现子类使用它", - "lever": 1, - "family": 0, - "linkIds": [ - 183, - 162, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "BoxScrollView 介绍", - "desc": [ - "【reverse】 : 是否反向 【bool】", - "【scrollDirection】 : 滑动方向 【Axis】", - "【cacheExtent】 : 缓存长 【double】", - "【dragStartBehavior】 : 拖动行为 【DragStartBehavior】", - "【clipBehavior】 : 裁剪行为 【ClipBehavior】", - "【controller】 : 控制器 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/node1_base.dart deleted file mode 100644 index af29d47ad..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/BoxScrollView/node1_base.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class BoxScrollViewDemo extends StatelessWidget { - const BoxScrollViewDemo({Key? key}) : super(key: key); - - final String info = - 'BoxScrollView 是 ScrollView 的子类,实现了它的抽象方法,且暴露出另一个抽象方法 buildChildLayout,返回 Sliver 家族 Widget,' - '其子类有 ListView 和 GridView,分别使用 Sliver 家族相关List、Gird列表组件实现的。'; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: Column( - children: [ - Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ), - Expanded(child: MyBoxScrollView()), - ], - ), - ); - } -} - -class MyBoxScrollView extends BoxScrollView { - MyBoxScrollView({Key? key}) : super(key: key); - - final List data = [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - - @override - Widget buildChildLayout(BuildContext context)=> SliverFixedExtentList( - itemExtent: 60, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_de_DE.json deleted file mode 100644 index 19ad0ac4d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 202, - "name": "Builder", - "localName": "Konstruktor", - "info": "Eine Komponente, die den Platzbedarf von Unterkomponenten nicht beeinflusst und keine Anzeigeeigenschaften hat. Ihr einziger Wert besteht darin, den Kontext für das entsprechende Element der aktuellen Komponente bereitzustellen.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Verwendung von Builder", - "desc": [ - "【builder】 : Komponentenkonstruktor 【WidgetBuilder】", - "Die Verwendung der Methode `XXX.of(context)` in derselben Klasse, um ein Zustandsobjekt einer bestimmten Klasse zu erhalten, kann zu einem `Kontextverzögerungsfehler` führen. Verwenden Sie Builder, um dies zu beheben." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_en_US.json deleted file mode 100644 index 71fff4135..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 202, - "name": "Builder", - "localName": "Constructor", - "info": "A component that does not affect the space occupied by child components and has no display properties. Its sole value is to provide the context for the corresponding element of the current component.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Usage of Builder", - "desc": [ - "【builder】: Component Constructor 【WidgetBuilder】", - "Using `XXX.of(context)` to obtain a state object of a certain class within the same class may result in a 'context lag' error, which can be resolved using Builder." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_es_ES.json deleted file mode 100644 index 899c3ee31..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 202, - "name": "Builder", - "localName": "Constructor", - "info": "Un componente que no afecta el espacio ocupado por los componentes secundarios y no tiene visibilidad, cuyo único valor es proporcionar el contexto del elemento correspondiente al componente actual.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de Builder", - "desc": [ - "【builder】: Constructor de componentes 【WidgetBuilder】", - "El uso del método `XXX.of(context)` para obtener un objeto de estado de una clase en la misma clase puede resultar en un error de `contexto desfasado`, que se resuelve utilizando Builder." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_fr_FR.json deleted file mode 100644 index 8db8b9203..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 202, - "name": "Builder", - "localName": "Constructeur", - "info": "Un composant qui n'affecte pas l'espace occupé par les composants enfants et n'a pas de visibilité, dont la seule valeur est de fournir le contexte de l'élément correspondant au composant actuel.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de Builder", - "desc": [ - "【builder】 : Constructeur de composant 【WidgetBuilder】", - "L'utilisation de la méthode `XXX.of(context)` pour obtenir un objet d'état dans la même classe peut entraîner une erreur de `contexte en retard`, résolue en utilisant Builder." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_it_IT.json deleted file mode 100644 index dd8f1a8b6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 202, - "name": "Builder", - "localName": "Costruttore", - "info": "Un componente che non influisce sullo spazio occupato dai componenti figli e non ha una visualizzazione, il cui unico scopo è fornire il contesto per l'elemento corrispondente del componente corrente.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso del Builder", - "desc": [ - "【builder】 : Costruttore del componente 【WidgetBuilder】", - "L'uso del metodo `XXX.of(context)` per ottenere un oggetto di stato di un certo tipo nella stessa classe può causare un errore di `contesto in ritardo`, che viene risolto utilizzando Builder." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_ja_JP.json deleted file mode 100644 index 5483ea42c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 202, - "name": "Builder", - "localName": "ビルダー", - "info": "子コンポーネントのスペースに影響を与えず、表示性を持たないコンポーネントで、唯一の価値は現在のコンポーネントに対応する要素のコンテキストを提供することです。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Builderの使用", - "desc": [ - "【builder】 : コンポーネントビルダー 【WidgetBuilder】", - "同じクラス内で`XXX.of(context)`を使用して特定の状態オブジェクトを取得する方法には`コンテキストの遅延`というエラーが存在し、Builderを使用して解決します。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_ko_KR.json deleted file mode 100644 index 4a7d18780..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 202, - "name": "Builder", - "localName": "빌더", - "info": "하위 컴포넌트의 공간을 차지하지 않고, 시각적으로 표시되지 않는 컴포넌트로, 현재 컴포넌트에 해당하는 요소의 컨텍스트를 제공하는 유일한 가치가 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Builder 사용법", - "desc": [ - "【builder】 : 컴포넌트 빌더 【WidgetBuilder】", - "동일한 클래스에서 `XXX.of(context)`를 사용하여 특정 상태 객체를 가져오는 방법은 `컨텍스트 지연` 오류가 발생할 수 있으며, 이를 해결하기 위해 Builder를 사용합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_pt_PT.json deleted file mode 100644 index 90fa2ca1c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 202, - "name": "Builder", - "localName": "Construtor", - "info": "Um componente que não afeta o espaço ocupado pelos componentes filhos e não tem visibilidade, cujo único valor é fornecer o contexto do elemento correspondente ao componente atual.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do Builder", - "desc": [ - "【builder】 : Construtor de componentes 【WidgetBuilder】", - "O uso do método `XXX.of(context)` para obter o objeto de estado de uma classe dentro da mesma classe pode resultar em um erro de `contexto atrasado`, que é resolvido usando o Builder." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_ru_RU.json deleted file mode 100644 index e08118e1f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 202, - "name": "Builder", - "localName": "Конструктор", - "info": "Компонент, который не влияет на занимаемое пространство дочерних компонентов и не имеет визуального отображения. Его единственная цель - предоставить контекст для соответствующего элемента текущего компонента.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование Builder", - "desc": [ - "【builder】 : Конструктор компонента 【WidgetBuilder】", - "Использование метода `XXX.of(context)` для получения объекта состояния определенного класса в одном и том же классе может привести к ошибке `задержки контекста`. Используйте Builder для решения этой проблемы." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_zh-CN.json deleted file mode 100644 index 93bbb25f4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 202, - "name": "Builder", - "localName": "构造器", - "info": "一个不影响子组件占位空间,不具有显示性的组件,存在的唯一价值是提供当前组件对应元素的上下文。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Builder的使用", - "desc": [ - "【builder】 : 组件构造器 【WidgetBuilder】", - "同一个类中使用`XXX.of(context)`获取某类状态对象方法会存在`上下文滞后`的错误,使用Builder解决。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Builder/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Builder/node1_base.dart deleted file mode 100644 index 83e7e8ace..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Builder/node1_base.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/5/3 -/// contact me by email 1981462002@qq.com - - -class BuilderDemo extends StatelessWidget { - const BuilderDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: Scaffold( - appBar: AppBar( - title: const Text('Builder'), - ), - floatingActionButton: Builder( - builder: (ctx) => FloatingActionButton( - onPressed: () { - ScaffoldMessenger.of(ctx).showSnackBar(const SnackBar(content: Text('hello builder'))); - }, - child: const Icon(Icons.add), - ), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_de_DE.json deleted file mode 100644 index a4ab2fa3a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 29, - "name": "ButtonBar", - "localName": "Schaltflächenleiste", - "info": "Empfängt eine Liste von Komponenten, die häufig verwendet wird, um mehrere Schaltflächen zu enthalten. Kann Ausrichtung, Ränder usw. angeben.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonBar-Ausrichtung", - "desc": [ - "【alignment】: Ausrichtung 【MainAxisAlignment】", - "【children】: Untergeordnete Komponenten 【List】" - ] - }, - { - "file": "node2_padding.dart", - "name": "ButtonBar-Ränder und Höhe", - "desc": [ - "【buttonPadding】: Innenabstand 【EdgeInsetsGeometry】", - "【buttonHeight】: Höhe 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_en_US.json deleted file mode 100644 index 5a3eddd89..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 29, - "name": "ButtonBar", - "localName": "Button Bar", - "info": "Receives a list of components, often used to hold several buttons. You can specify alignment, margins, and other information.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonBar Alignment", - "desc": [ - "【alignment】: Alignment 【MainAxisAlignment】", - "【children】: Child components 【List】" - ] - }, - { - "file": "node2_padding.dart", - "name": "ButtonBar Margin and Height", - "desc": [ - "【buttonPadding】: Padding 【EdgeInsetsGeometry】", - "【buttonHeight】: Height 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_es_ES.json deleted file mode 100644 index c2ddb366a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 29, - "name": "ButtonBar", - "localName": "Barra de botones", - "info": "Recibe una lista de componentes, comúnmente utilizada para contener varios botones. Se pueden especificar la alineación, los márgenes, etc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Alineación de la Barra de botones", - "desc": [ - "【alignment】: Alineación 【MainAxisAlignment】", - "【children】: Conjunto de componentes hijos 【List】" - ] - }, - { - "file": "node2_padding.dart", - "name": "Márgenes y altura de la Barra de botones", - "desc": [ - "【buttonPadding】: Relleno interno 【EdgeInsetsGeometry】", - "【buttonHeight】: Altura 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_fr_FR.json deleted file mode 100644 index 329762a4d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 29, - "name": "ButtonBar", - "localName": "Barre de boutons", - "info": "Reçoit une liste de composants, souvent utilisée pour contenir plusieurs boutons. Peut spécifier l'alignement, les marges, etc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Alignement de la barre de boutons", - "desc": [ - "【alignment】: Alignement 【MainAxisAlignment】", - "【children】: Ensemble de composants enfants 【List】" - ] - }, - { - "file": "node2_padding.dart", - "name": "Marge et hauteur de la barre de boutons", - "desc": [ - "【buttonPadding】: Marge intérieure 【EdgeInsetsGeometry】", - "【buttonHeight】: Hauteur 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_it_IT.json deleted file mode 100644 index f976469f7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 29, - "name": "ButtonBar", - "localName": "Barra dei pulsanti", - "info": "Riceve un elenco di componenti, spesso utilizzato per contenere diversi pulsanti. È possibile specificare l'allineamento, i margini, ecc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Allineamento della ButtonBar", - "desc": [ - "【alignment】: Allineamento 【MainAxisAlignment】", - "【children】: Insieme di componenti figli 【List】" - ] - }, - { - "file": "node2_padding.dart", - "name": "Margini e altezza della ButtonBar", - "desc": [ - "【buttonPadding】: Margine interno 【EdgeInsetsGeometry】", - "【buttonHeight】: Altezza 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_ja_JP.json deleted file mode 100644 index e2a5b021c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 29, - "name": "ButtonBar", - "localName": "ボタンバー", - "info": "コンポーネントリストを受け取り、通常はいくつかのボタンを配置するために使用されます。配置方法や余白などを指定できます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonBarの配置方法", - "desc": [ - "【alignment】: 配置方法 【MainAxisAlignment】", - "【children】: 子コンポーネントセット 【List】" - ] - }, - { - "file": "node2_padding.dart", - "name": "ButtonBarの余白と高さ", - "desc": [ - "【buttonPadding】: 内側の余白 【EdgeInsetsGeometry】", - "【buttonHeight】: 高さ 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_ko_KR.json deleted file mode 100644 index cc7d57b3c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 29, - "name": "ButtonBar", - "localName": "버튼 바", - "info": "컴포넌트 리스트를 받아들이며, 주로 여러 버튼을 담는 데 사용됩니다. 정렬 방식, 여백 등을 지정할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonBar 정렬 방식", - "desc": [ - "【alignment】: 정렬 방식 【MainAxisAlignment】", - "【children】: 자식 컴포넌트 집합 【List】" - ] - }, - { - "file": "node2_padding.dart", - "name": "ButtonBar 여백과 높이", - "desc": [ - "【buttonPadding】: 안쪽 여백 【EdgeInsetsGeometry】", - "【buttonHeight】: 높이 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_pt_PT.json deleted file mode 100644 index 31ef2efce..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 29, - "name": "ButtonBar", - "localName": "Barra de Botões", - "info": "Recebe uma lista de componentes, frequentemente usada para conter vários botões. Pode especificar alinhamento, margens, etc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Alinhamento da Barra de Botões", - "desc": [ - "【alignment】: Alinhamento 【MainAxisAlignment】", - "【children】: Conjunto de componentes filhos 【List】" - ] - }, - { - "file": "node2_padding.dart", - "name": "Margens e Altura da Barra de Botões", - "desc": [ - "【buttonPadding】: Margem interna 【EdgeInsetsGeometry】", - "【buttonHeight】: Altura 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_ru_RU.json deleted file mode 100644 index 7a57b239c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 29, - "name": "ButtonBar", - "localName": "Панель кнопок", - "info": "Принимает список компонентов, часто используется для размещения нескольких кнопок. Можно указать выравнивание, отступы и другую информацию.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Выравнивание ButtonBar", - "desc": [ - "【alignment】: Выравнивание 【MainAxisAlignment】", - "【children】: Набор дочерних компонентов 【List】" - ] - }, - { - "file": "node2_padding.dart", - "name": "Отступы и высота ButtonBar", - "desc": [ - "【buttonPadding】: Внутренние отступы 【EdgeInsetsGeometry】", - "【buttonHeight】: Высота 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_zh-CN.json deleted file mode 100644 index afbc84717..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 29, - "name": "ButtonBar", - "localName": "按钮栏", - "info": "接收组件列表,常用于盛放若干个按钮。可指定对齐方式、边距等信息。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ButtonBar对齐方式", - "desc": [ - "【alignment】: 对齐方式 【MainAxisAlignment】", - "【children】: 子组件集 【List】" - ] - }, - { - "file": "node2_padding.dart", - "name": "ButtonBar边距和高", - "desc": [ - "【buttonPadding】: 内边距 【EdgeInsetsGeometry】", - "【buttonHeight】: 高 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/node1_base.dart deleted file mode 100644 index 12c2f4ce0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/node1_base.dart +++ /dev/null @@ -1,31 +0,0 @@ -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; -import 'package:widgets/utils/dialog_about.dart'; - - -class CustomButtonBar extends StatelessWidget { - const CustomButtonBar({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ButtonBar( - alignment: MainAxisAlignment.center, - children: [ - ElevatedButton( - child: const Text("ElevatedButton"), - onPressed: () => DialogAbout.show(context)), - OutlinedButton( - child: const Text("Outlined"), - onPressed: () => DialogAbout.show(context)), - TextButton( - onPressed: () => DialogAbout.show(context), - child: const Text("TextButton"), - ) - ], - ); - } -} - diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/node2_padding.dart b/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/node2_padding.dart deleted file mode 100644 index 7c35a8dbd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ButtonBar/node2_padding.dart +++ /dev/null @@ -1,32 +0,0 @@ - -import 'package:flutter/material.dart'; -import 'package:widgets/utils/dialog_about.dart'; - - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class PaddingButtonBar extends StatelessWidget { - const PaddingButtonBar({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ButtonBar( - alignment: MainAxisAlignment.center, - buttonHeight: 40, - buttonPadding: const EdgeInsets.only(left: 15,right: 15), - children: [ - ElevatedButton( - child: const Text("ElevatedButton"), - onPressed: () => DialogAbout.show(context)), - OutlinedButton( - child: const Text("Outlined"), - onPressed: () => DialogAbout.show(context)), - TextButton( - onPressed: () => DialogAbout.show(context), - child: const Text("TextButton"), - ) - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_de_DE.json deleted file mode 100644 index 350077f30..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_de_DE.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 3, - "name": "Card", - "localName": "Kartenkomponente", - "info": " Basierend auf Material-Komponenten implementiert, wird verwendet, um eine einzelne Komponente zu karten. Es verleiht ihr einen Schatteneffekt, kann Außenabstände hinzufügen und die Form der Karte anpassen.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Card kann eine Komponente karten", - "desc": [ - "【elevation】 : Schattentiefe 【double】", - "【margin】: Außenabstand 【double】", - "【color】: Farbe 【Color】", - "【child】: Kind 【Widget】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Kann durch die shape-Eigenschaft einen Zuschneideeffekt erzielen", - "desc": [ - "【shape】 : Form 【ShapeBorder】", - "【margin】: Außenabstand 【double】", - "【color】: Farbe 【Color】", - "【child】: Kind 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_en_US.json deleted file mode 100644 index 0e2687aaa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_en_US.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 3, - "name": "Card", - "localName": "Card Component", - "info": "Implemented based on Material components, used to cardify a single component. It has a shadow effect, can add margin, and can customize the shape of the card.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Card can cardify a component", - "desc": [ - "【elevation】: Shadow depth 【double】", - "【margin】: Margin 【double】", - "【color】: Color 【Color】", - "【child】: Child 【Widget】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Can achieve clipping effect through the shape property", - "desc": [ - "【shape】: Shape 【ShapeBorder】", - "【margin】: Margin 【double】", - "【color】: Color 【Color】", - "【child】: Child 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_es_ES.json deleted file mode 100644 index 1306be48f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_es_ES.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 3, - "name": "Card", - "localName": "Componente de tarjeta", - "info": "Implementado basado en componentes Material, utilizado para convertir un solo componente en una tarjeta. Y hacer que tenga un efecto de sombra, se puede agregar margen exterior y también se puede personalizar la forma de la tarjeta.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Card puede convertir un componente en una tarjeta", - "desc": [ - "【elevation】 : profundidad de la sombra 【double】", - "【margin】: margen exterior 【double】", - "【color】: color 【Color】", - "【child】: hijo 【Widget】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Se puede lograr un efecto de recorte a través de la propiedad shape", - "desc": [ - "【shape】 : forma 【ShapeBorder】", - "【margin】: margen exterior 【double】", - "【color】: color 【Color】", - "【child】: hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_fr_FR.json deleted file mode 100644 index 4430a0d32..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_fr_FR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 3, - "name": "Card", - "localName": "Composant Carte", - "info": " Basé sur les composants Material, utilisé pour transformer un composant unique en carte. Il peut avoir un effet d'ombre, peut ajouter des marges extérieures, et peut également personnaliser la forme de la carte.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Card peut transformer un composant en carte", - "desc": [ - "【elevation】 : profondeur de l'ombre 【double】", - "【margin】: marge extérieure 【double】", - "【color】: couleur 【Color】", - "【child】: enfant 【Widget】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Peut réaliser un effet de découpe via la propriété shape", - "desc": [ - "【shape】 : forme 【ShapeBorder】", - "【margin】: marge extérieure 【double】", - "【color】: couleur 【Color】", - "【child】: enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_it_IT.json deleted file mode 100644 index d1c82e199..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_it_IT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 3, - "name": "Card", - "localName": "Componente Carta", - "info": "Implementato basandosi sui componenti Material, utilizzato per trasformare un singolo componente in una carta. Con effetti di ombreggiatura, può includere margini esterni e consente la personalizzazione della forma della carta.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Card può trasformare un componente in una carta", - "desc": [ - "【elevation】 : profondità dell'ombra 【double】", - "【margin】: margine esterno 【double】", - "【color】: colore 【Color】", - "【child】: figlio 【Widget】" - ] - }, - { - "file": "node2_shape.dart", - "name": "È possibile ottenere effetti di ritaglio attraverso la proprietà shape", - "desc": [ - "【shape】 : forma 【ShapeBorder】", - "【margin】: margine esterno 【double】", - "【color】: colore 【Color】", - "【child】: figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_ja_JP.json deleted file mode 100644 index f3c87b5a5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_ja_JP.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 3, - "name": "Card", - "localName": "カードコンポーネント", - "info": "Materialコンポーネントに基づいて実装され、単一のコンポーネントをカード化するために使用されます。また、投影効果を持たせることができ、外側の余白を追加したり、カードの形状をカスタマイズすることもできます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Cardはコンポーネントをカード化することができます", - "desc": [ - "【elevation】 : 影の深さ 【double】", - "【margin】: 外側の余満 【double】", - "【color】: 色 【Color】", - "【child】: 子 【Widget】" - ] - }, - { - "file": "node2_shape.dart", - "name": "shapeプロパティを使用して切り取り効果を実現できます", - "desc": [ - "【shape】 : 形状 【ShapeBorder】", - "【margin】: 外側の余満 【double】", - "【color】: 色 【Color】", - "【child】: 子 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_ko_KR.json deleted file mode 100644 index 3bd5e7962..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_ko_KR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 3, - "name": "Card", - "localName": "카드 컴포넌트", - "info": "Material 컴포넌트를 기반으로 구현되었으며, 단일 컴포넌트를 카드화하는 데 사용됩니다. 그림자 효과를 가지며, 외부 여백을 추가할 수 있고, 카드 모양을 사용자 정의할 수도 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Card는 컴포넌트를 카드화할 수 있습니다", - "desc": [ - "【elevation】 : 그림자 깊이 【double】", - "【margin】: 외부 여백 【double】", - "【color】: 색상 【Color】", - "【child】: 자식 【Widget】" - ] - }, - { - "file": "node2_shape.dart", - "name": "shape 속성을 통해 잘라내기 효과를 구현할 수 있습니다", - "desc": [ - "【shape】 : 모양 【ShapeBorder】", - "【margin】: 외부 여백 【double】", - "【color】: 색상 【Color】", - "【child】: 자식 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_pt_PT.json deleted file mode 100644 index 5dd17b24e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_pt_PT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 3, - "name": "Card", - "localName": "Componente de Cartão", - "info": "Implementado com base em componentes Material, usado para transformar um único componente em um cartão. E fazê-lo ter um efeito de sombra, pode adicionar margem externa e também pode personalizar a forma do cartão.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "O Card pode transformar um componente em um cartão", - "desc": [ - "【elevation】 : Profundidade da sombra 【double】", - "【margin】: Margem externa 【double】", - "【color】: Cor 【Color】", - "【child】: Filho 【Widget】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Pode-se alcançar o efeito de corte através da propriedade shape", - "desc": [ - "【shape】 : Forma 【ShapeBorder】", - "【margin】: Margem externa 【double】", - "【color】: Cor 【Color】", - "【child】: Filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_ru_RU.json deleted file mode 100644 index 7b304d073..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_ru_RU.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 3, - "name": "Card", - "localName": "Карточка", - "info": "Реализовано на основе компонентов Material, используется для карточного оформления отдельного компонента. Имеет эффект тени, можно добавить внешние отступы, также можно настроить форму карточки.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Card может сделать компонент карточным", - "desc": [ - "【elevation】 : Глубина тени 【double】", - "【margin】: Внешний отступ 【double】", - "【color】: Цвет 【Color】", - "【child】: Дочерний элемент 【Widget】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Можно реализовать эффект обрезки с помощью свойства shape", - "desc": [ - "【shape】 : Форма 【ShapeBorder】", - "【margin】: Внешний отступ 【double】", - "【color】: Цвет 【Color】", - "【child】: Дочерний элемент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_zh-CN.json deleted file mode 100644 index f0de12b03..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/desc_zh-CN.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 3, - "name": "Card", - "localName": "卡片组件", - "info": " 基于Material组件实现,用于将单个组件卡片化。并使其具有投影效果,可加外边距,也可以自定义卡片形状。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Card可以让一个组件卡片化", - "desc": [ - "【elevation】 : 影深 【double】", - "【margin】: 外边距 【double】", - "【color】: 颜色 【Color】", - "【child】: 孩子 【Widget】" - ] - }, - { - "file": "node2_shape.dart", - "name": "可以通过shape属性实现裁切效果", - "desc": [ - "【shape】 : 形状 【ShapeBorder】", - "【margin】: 外边距 【double】", - "【color】: 颜色 【Color】", - "【child】: 孩子 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Card/node1_base.dart deleted file mode 100644 index eb27e7f4b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/node1_base.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -class CustomCard extends StatelessWidget { - const CustomCard({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Card( - color: const Color(0xffB3FE65), - elevation: 4, - margin: const EdgeInsets.all(10), - child: Container( - alignment: Alignment.topLeft, - width: 200, - height: 0.618 * 200, - margin: const EdgeInsets.all(10), - child: const Text("Card", style: TextStyle(fontSize: 20)), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Card/node2_shape.dart b/modules/widget_system/widgets/lib/StatelessWidget/Card/node2_shape.dart deleted file mode 100644 index a58450184..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Card/node2_shape.dart +++ /dev/null @@ -1,50 +0,0 @@ - - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; -import 'package:widgets/utils/pather.dart'; - -class ShapeCard extends StatelessWidget { - const ShapeCard({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Card( - color: const Color(0xffB3FE65), - elevation: 6, - shape: StarShapeBorder(), - child: Container( - alignment: Alignment.center, - width: 100, - height: 100, - child: const Text("Card", style: TextStyle(fontSize: 20)), - ), - ); - } -} - -class StarShapeBorder extends ShapeBorder { - @override - EdgeInsetsGeometry get dimensions => EdgeInsets.zero; - - @override - Path getInnerPath(Rect rect, {TextDirection? textDirection}) { - return Path(); - } - - @override - Path getOuterPath(Rect rect, {TextDirection? textDirection}) => - Pather.create.nStarPath(9, 50, 40, dx: 50, dy: 50); - - @override - void paint(Canvas canvas, Rect rect, {TextDirection? textDirection}) { - } - - @override - ShapeBorder scale(double t) { - return this; - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_de_DE.json deleted file mode 100644 index 327dfa245..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_de_DE.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 17, - "name": "CheckboxListTile", - "localName": "Kachel mit Kontrollkästchen", - "info": "Eine allgemeine Listenstruktur, die von Flutter bereitgestellt wird, hat eine linke und mittlere Struktur, wobei sich am Ende ein CheckBox befindet. An den entsprechenden Positionen können Komponenten eingefügt werden, was eine einfache Anpassung an spezifische Einträge ermöglicht.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Darstellung der CheckBoxListTile", - "desc": [ - "【secondary】: Linke Komponente 【Widget】", - "【checkColor】: Farbe des Häkchens 【Color】", - "【activeColor】: Farbe des Rahmens bei Auswahl 【Color】", - "【title】: Obere mittlere Komponente 【Widget】", - "【subtitle】: Untere mittlere Komponente 【Widget】", - "【onChanged】: Auswahlereignis 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Auswahleffekt der CheckBoxListTile", - "desc": [ - "【selected】: Ob ausgewählt 【bool】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Dichte Eigenschaft der CheckBoxListTile", - "desc": [ - "【dense】: Ob dicht angeordnet 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_en_US.json deleted file mode 100644 index 0c257dc62..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_en_US.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 17, - "name": "CheckboxListTile", - "localName": "Checkbox Tile", - "info": "A common list item structure provided by Flutter, featuring a left-middle structure with a CheckBox at the end. Components can be inserted at the corresponding positions, making it easy to handle specific items.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic representation of CheckBoxListTile", - "desc": [ - "【secondary】: Left component 【Widget】", - "【checkColor】: ✔️ color 【Color】", - "【activeColor】: Frame color when selected 【Color】", - "【title】: Top middle component 【Widget】", - "【subtitle】: Bottom middle component 【Widget】", - "【onChanged】: Selection event 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Selection effect of CheckBoxListTile", - "desc": [ - "【selected】: Whether selected 【bool】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Dense property of CheckBoxListTile", - "desc": [ - "【dense】: Whether dense 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_es_ES.json deleted file mode 100644 index 076a7263d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_es_ES.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 17, - "name": "CheckboxListTile", - "localName": "Casilla de verificación", - "info": "Una estructura de lista genérica proporcionada por Flutter, con una estructura de izquierda a centro, y un CheckBox al final. Se pueden insertar componentes en las posiciones correspondientes, lo que permite manejar fácilmente elementos específicos.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "El comportamiento básico de CheckBoxListTile es el siguiente", - "desc": [ - "【secondary】: Componente izquierdo 【Widget】", - "【checkColor】: Color del ✔️ 【Color】", - "【activeColor】: Color del borde cuando está seleccionado 【Color】", - "【title】: Componente superior central 【Widget】", - "【subtitle】: Componente inferior central 【Widget】", - "【onChanged】: Evento de selección 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Efecto de selección de CheckBoxListTile", - "desc": [ - "【selected】: Si está seleccionado 【bool】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Propiedad de densidad de CheckBoxListTile", - "desc": [ - "【dense】: Si está en modo denso 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_fr_FR.json deleted file mode 100644 index 616d472e8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_fr_FR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 17, - "name": "CheckboxListTile", - "localName": "Tuile de case à cocher", - "info": "Une structure de liste générique fournie par Flutter, de structure gauche-centre, avec une case à cocher à la fin. Des composants peuvent être insérés aux positions correspondantes, ce qui permet de répondre facilement à des entrées spécifiques.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La performance de base de CheckBoxListTile est la suivante", - "desc": [ - "【secondary】: Composant gauche 【Widget】", - "【checkColor】: Couleur de la coche 【Color】", - "【activeColor】: Couleur de la bordure lors de la sélection 【Color】", - "【title】: Composant supérieur central 【Widget】", - "【subtitle】: Composant inférieur central 【Widget】", - "【onChanged】: Événement de sélection 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Effet de sélection de CheckBoxListTile", - "desc": [ - "【selected】: Est sélectionné 【bool】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Propriété de densité de CheckBoxListTile", - "desc": [ - "【dense】: Est dense 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_it_IT.json deleted file mode 100644 index c3891f1bd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_it_IT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 17, - "name": "CheckboxListTile", - "localName": "Piastrella di selezione", - "info": "Una struttura di elenco generica fornita da Flutter, con una struttura sinistra-centro, e una casella di controllo alla fine. I componenti possono essere inseriti nelle posizioni corrispondenti, rendendo facile affrontare voci specifiche.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La rappresentazione di base di CheckBoxListTile è la seguente", - "desc": [ - "【secondary】: Componente sinistro 【Widget】", - "【checkColor】: Colore del segno di spunta 【Color】", - "【activeColor】: Colore del bordo quando selezionato 【Color】", - "【title】: Componente superiore centrale 【Widget】", - "【subtitle】: Componente inferiore centrale 【Widget】", - "【onChanged】: Evento di selezione 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Effetto di selezione di CheckBoxListTile", - "desc": [ - "【selected】: Se selezionato 【bool】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Proprietà di disposizione compatta di CheckBoxListTile", - "desc": [ - "【dense】: Se disposto in modo compatto 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_ja_JP.json deleted file mode 100644 index 969448a1e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_ja_JP.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 17, - "name": "CheckboxListTile", - "localName": "チェックボックスリストタイル", - "info": "Flutterが提供する汎用リストアイテム構造で、左中構造で、末尾にCheckBoxがあります。適切な位置にコンポーネントを挿入でき、特定のアイテムに簡単に対応できます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CheckBoxListTileの基本表現は以下の通りです", - "desc": [ - "【secondary】: 左側コンポーネント 【Widget】", - "【checkColor】: ✔️色 【Color】", - "【activeColor】: 選択時の外枠色 【Color】", - "【title】: 中央上部コンポーネント 【Widget】", - "【subtitle】: 中央下部コンポーネント 【Widget】", - "【onChanged】: 選択イベント 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "CheckBoxListTileの選択効果", - "desc": [ - "【selected】: 選択されているかどうか 【bool】" - ] - }, - { - "file": "node3_dense.dart", - "name": "CheckBoxListTileの密排属性", - "desc": [ - "【dense】: 密排かどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_ko_KR.json deleted file mode 100644 index 06ab1886f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_ko_KR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 17, - "name": "CheckboxListTile", - "localName": "체크박스 타일", - "info": "Flutter에서 제공하는 일반적인 목록 항목 구조로, 왼쪽과 중앙 구조이며, 끝에는 CheckBox가 있습니다. 해당 위치에 컴포넌트를 삽입할 수 있어 특정 항목에 쉽게 대응할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CheckBoxListTile의 기본적인 표현은 다음과 같습니다", - "desc": [ - "【secondary】: 왼쪽 컴포넌트 【Widget】", - "【checkColor】: ✔️ 색상 【Color】", - "【activeColor】: 선택 시 외곽선 색상 【Color】", - "【title】: 중앙 상단 컴포넌트 【Widget】", - "【subtitle】: 중앙 하단 컴포넌트 【Widget】", - "【onChanged】: 선택 이벤트 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "CheckBoxListTile의 선택 효과", - "desc": [ - "【selected】: 선택 여부 【bool】" - ] - }, - { - "file": "node3_dense.dart", - "name": "CheckBoxListTile의 밀집 속성", - "desc": [ - "【dense】: 밀집 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_pt_PT.json deleted file mode 100644 index fe70e8627..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_pt_PT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 17, - "name": "CheckboxListTile", - "localName": "Azulejo de Seleção", - "info": "Uma estrutura de item de lista genérica fornecida pelo Flutter, com uma estrutura esquerda-central, e uma CheckBox na extremidade. Componentes podem ser inseridos nas posições correspondentes, permitindo uma fácil adaptação a itens específicos.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "A apresentação básica do CheckBoxListTile é a seguinte", - "desc": [ - "【secondary】: Componente do lado esquerdo 【Widget】", - "【checkColor】: Cor do ✔️ 【Color】", - "【activeColor】: Cor da moldura quando selecionado 【Color】", - "【title】: Componente superior central 【Widget】", - "【subtitle】: Componente inferior central 【Widget】", - "【onChanged】: Evento de seleção 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Efeito de seleção do CheckBoxListTile", - "desc": [ - "【selected】: Se está selecionado 【bool】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Propriedade de densidade do CheckBoxListTile", - "desc": [ - "【dense】: Se está em alta densidade 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_ru_RU.json deleted file mode 100644 index e21dca7eb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_ru_RU.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 17, - "name": "CheckboxListTile", - "localName": "Флажок плитки", - "info": "Универсальная структура элемента списка, предоставляемая Flutter, имеет лево-центральную структуру, а в конце находится CheckBox. Компоненты могут быть вставлены в соответствующие позиции, что позволяет легко адаптироваться к конкретным элементам.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное представление CheckBoxListTile выглядит следующим образом", - "desc": [ - "【secondary】: Левый компонент 【Widget】", - "【checkColor】: Цвет ✔️ 【Color】", - "【activeColor】: Цвет рамки при выборе 【Color】", - "【title】: Верхний центральный компонент 【Widget】", - "【subtitle】: Нижний центральный компонент 【Widget】", - "【onChanged】: Событие выбора 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Эффект выбора CheckBoxListTile", - "desc": [ - "【selected】: Выбрано ли 【bool】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Свойство плотного расположения CheckBoxListTile", - "desc": [ - "【dense】: Плотное ли расположение 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_zh-CN.json deleted file mode 100644 index 02ac59622..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/desc_zh-CN.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 17, - "name": "CheckboxListTile", - "localName": "复选瓦片", - "info": "Flutter提供的一个通用列表条目结构,为左中结构,尾部是一个CheckBox。相应位置可插入组件,可以很方便地应对特定的条目。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CheckBoxListTile的基本表现如下", - "desc": [ - "【secondary】: 左侧组件 【Widget】", - "【checkColor】: ✔️颜色 【Color】", - "【activeColor】: 选中时外框颜色 【Color】", - "【title】: 中间上组件 【Widget】", - "【subtitle】: 中间下组件 【Widget】", - "【onChanged】: 选中事件 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "CheckBoxListTile的选中效果", - "desc": [ - "【selected】: 是否选中 【bool】" - ] - }, - { - "file": "node3_dense.dart", - "name": "CheckBoxListTile的密排属性", - "desc": [ - "【dense】: 是否密排 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/node1_base.dart deleted file mode 100644 index 9d0a9b4bf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/node1_base.dart +++ /dev/null @@ -1,33 +0,0 @@ - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/material.dart'; - -class CustomCheckBoxListTile extends StatefulWidget { - const CustomCheckBoxListTile({Key? key}) : super(key: key); - - @override - _CustomCheckBoxListTileState createState() => _CustomCheckBoxListTileState(); -} - -class _CustomCheckBoxListTileState extends State { - bool _selected = false; - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(10), - color: Colors.grey.withAlpha(22), - child: CheckboxListTile( - value: _selected, - checkColor: Colors.yellow, - activeColor: Colors.orangeAccent, - secondary: Image.asset("assets/images/icon_head.webp"), - title: const Text("张风捷特烈"), - subtitle: const Text("@万花过尽知无物"), - onChanged: (v) => setState(() => _selected = !_selected), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/node2_select.dart b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/node2_select.dart deleted file mode 100644 index f6fd5c804..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/node2_select.dart +++ /dev/null @@ -1,34 +0,0 @@ - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/material.dart'; - -class SelectCheckBoxListTile extends StatefulWidget { - const SelectCheckBoxListTile({Key? key}) : super(key: key); - - @override - _SelectCheckBoxListTileState createState() => _SelectCheckBoxListTileState(); -} - -class _SelectCheckBoxListTileState extends State { - bool _selected = false; - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(10), - color: Colors.grey.withAlpha(22), - child: CheckboxListTile( - value: _selected, - selected: _selected, - checkColor: Colors.yellow, - activeColor: Colors.orangeAccent, - secondary: Image.asset("assets/images/icon_head.webp"), - title: const Text("张风捷特烈"), - subtitle: const Text("@万花过尽知无物"), - onChanged: (v) => setState(() => _selected = !_selected), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/node3_dense.dart b/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/node3_dense.dart deleted file mode 100644 index e65566b78..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckboxListTile/node3_dense.dart +++ /dev/null @@ -1,34 +0,0 @@ -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; - -class DenseCheckBoxListTile extends StatefulWidget { - const DenseCheckBoxListTile({Key? key}) : super(key: key); - - @override - _DenseCheckBoxListTileState createState() => _DenseCheckBoxListTileState(); -} - -class _DenseCheckBoxListTileState extends State { - bool _selected = false; - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(10), - color: Colors.grey.withAlpha(22), - child: CheckboxListTile( - value: _selected, - dense: true, - checkColor: Colors.yellow, - activeColor: Colors.orangeAccent, - secondary: Image.asset("assets/images/icon_head.webp"), - title: const Text("张风捷特烈"), - subtitle: const Text("@万花过尽知无物"), - onChanged: (v) => setState(() => _selected = !_selected), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_de_DE.json deleted file mode 100644 index 16eb1fdd3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 215, - "name": "CheckedModeBanner", - "localName": "Debug-Label", - "info": "Wird nur im Debug-Modus in der oberen rechten Ecke angezeigt und hat keine große Bedeutung. Wird im MaterialApp-Komponenten-Quellcode verwendet.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CheckedModeBanner", - "desc": [ - "【child】 : Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_en_US.json deleted file mode 100644 index bcff1cf43..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 215, - "name": "CheckedModeBanner", - "localName": "debug label", - "info": "Only shows the corner mark in the upper right corner in debug mode, which is not very useful. There are usage scenarios in the MaterialApp component source code.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic usage of CheckedModeBanner", - "desc": [ - "【child】 : Component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_es_ES.json deleted file mode 100644 index 69cdea9a5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 215, - "name": "CheckedModeBanner", - "localName": "etiqueta de depuración", - "info": "Solo muestra la esquina superior derecha en el modo de ejecución debug, no tiene mucha utilidad. Tiene un caso de uso en el código fuente del componente MaterialApp.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CheckedModeBanner", - "desc": [ - "【child】 : componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_fr_FR.json deleted file mode 100644 index cdce1d8c3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 215, - "name": "CheckedModeBanner", - "localName": "étiquette de débogage", - "info": "Affiche uniquement le badge en haut à droite en mode de débogage, ce qui n'est pas très utile. Utilisé dans le code source du composant MaterialApp.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CheckedModeBanner", - "desc": [ - "【child】 : composant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_it_IT.json deleted file mode 100644 index 970ea5b0e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 215, - "name": "CheckedModeBanner", - "localName": "etichetta di debug", - "info": "Mostra l'etichetta nell'angolo superiore destro solo in modalità debug, non ha molto uso. È utilizzato nel codice sorgente del componente MaterialApp.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CheckedModeBanner", - "desc": [ - "【child】 : componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_ja_JP.json deleted file mode 100644 index ef3ea16d5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 215, - "name": "CheckedModeBanner", - "localName": "デバッグタグ", - "info": "デバッグ実行モードでのみ右上の角に表示されるバッジで、あまり役に立ちません。MaterialAppコンポーネントのソースコードで使用例があります。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CheckedModeBannerの基本的な使用", - "desc": [ - "【child】 : コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_ko_KR.json deleted file mode 100644 index 7b034ecf2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 215, - "name": "CheckedModeBanner", - "localName": "디버그 라벨", - "info": "디버그 실행 모드에서만 오른쪽 상단 코너에 표시되며, 특별히 큰 의미는 없습니다. MaterialApp 컴포넌트 소스 코드에서 사용 사례가 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CheckedModeBanner 기본 사용", - "desc": [ - "【child】 : 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_pt_PT.json deleted file mode 100644 index 6f44c1075..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 215, - "name": "CheckedModeBanner", - "localName": "etiqueta de depuração", - "info": "Exibe o ícone no canto superior direito apenas no modo de execução de depuração, não tem muita utilidade. Há cenários de uso no código-fonte do componente MaterialApp.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CheckedModeBanner", - "desc": [ - "【child】 : componente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_ru_RU.json deleted file mode 100644 index b11b14015..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 215, - "name": "CheckedModeBanner", - "localName": "отладочная метка", - "info": "Отображает значок в правом верхнем углу только в режиме отладки, не имеет особого значения. Используется в исходном коде компонента MaterialApp.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CheckedModeBanner", - "desc": [ - "【child】 : компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_zh-CN.json deleted file mode 100644 index 72c0cd98d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 215, - "name": "CheckedModeBanner", - "localName": "debug标签", - "info": "仅在debug运行模式中显示右上角角标,没什么太大卵用。在 MaterialApp 组件源码中有使用场景。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CheckedModeBanner基本使用", - "desc": [ - "【child】 : 组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/node1_base.dart deleted file mode 100644 index 6cf083097..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CheckedModeBanner/node1_base.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class CheckedModeBannerDemo extends StatelessWidget { - const CheckedModeBannerDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return CheckedModeBanner( - child: Container( - alignment: Alignment.center, - width: 250, - height: 150, - color: Theme.of(context).primaryColor, - child: const Text( - "CheckedModeBanner", - style: TextStyle(color: Colors.white, fontSize: 20), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_de_DE.json deleted file mode 100644 index 222ba57f1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_de_DE.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 11, - "name": "Chip", - "localName": "Kleine Leiste Komponente", - "info": "Eine horizontale, abgerundete kleine Leiste, die links, mittig und rechts Komponenten enthalten kann. Kann Farbe, Schattenfarbe und Klick-Ereignisse angeben.", - "lever": 4, - "family": 0, - "linkIds": [ - 12, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Normale Darstellung des Chips wie folgt", - "desc": [ - "【avatar】: Linke Komponente 【Widget】", - "【label】: Mittlere Komponente 【Widget】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】", - "【labelPadding】: Label-Abstand 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Farbe und Schatten können eingestellt werden", - "desc": [ - "【backgroundColor】: Hintergrundfarbe 【Color】", - "【shadowColor】: Schattenfarbe 【Color】", - "【elevation】: Schattentiefe 【double】" - ] - }, - { - "file": "node3_delete.dart", - "name": "Rechte Klick-Schaltfläche kann eingestellt werden", - "desc": [ - "【deleteIcon】: Rechte Komponente (normalerweise ein Icon) 【Widget】", - "【deleteIconColor】: Farbe der rechten Komponente 【Color】", - "【onDeleted】: Klick-Ereignis der rechten Komponente 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_en_US.json deleted file mode 100644 index 6318c42a6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_en_US.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 11, - "name": "Chip", - "localName": "Chip Component", - "info": "A horizontal rounded bar that can contain left, middle, and right components. You can specify colors, shadow colors, and click events.", - "lever": 4, - "family": 0, - "linkIds": [ - 12, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "The normal appearance of Chip is as follows", - "desc": [ - "【avatar】: Left component 【Widget】", - "【label】: Middle component 【Widget】", - "【padding】: Padding 【EdgeInsetsGeometry】", - "【labelPadding】: Label padding 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "You can set colors and shadows", - "desc": [ - "【backgroundColor】: Background color 【Color】", - "【shadowColor】: Shadow color 【Color】", - "【elevation】: Shadow depth 【double】" - ] - }, - { - "file": "node3_delete.dart", - "name": "You can set the right click button", - "desc": [ - "【deleteIcon】: Right component (usually an Icon) 【Widget】", - "【deleteIconColor】: Right component color 【Color】", - "【onDeleted】: Right component click event 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_es_ES.json deleted file mode 100644 index 0b116b3b4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_es_ES.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 11, - "name": "Chip", - "localName": "Componente de barra pequeña", - "info": "Una barra pequeña con bordes redondeados en horizontal, puede contener tres componentes: izquierdo, central y derecho. Se puede especificar el color, el color de la sombra y el evento de clic.", - "lever": 4, - "family": 0, - "linkIds": [ - 12, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "El comportamiento normal de Chip es el siguiente", - "desc": [ - "【avatar】: Componente izquierdo 【Widget】", - "【label】: Componente central 【Widget】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】", - "【labelPadding】: Relleno del label 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Se puede configurar el color y la sombra", - "desc": [ - "【backgroundColor】: Color de fondo 【Color】", - "【shadowColor】: Color de la sombra 【Color】", - "【elevation】: Profundidad de la sombra 【double】" - ] - }, - { - "file": "node3_delete.dart", - "name": "Se puede configurar el botón de clic derecho", - "desc": [ - "【deleteIcon】: Componente derecho (normalmente un Icono) 【Widget】", - "【deleteIconColor】: Color del componente derecho 【Color】", - "【onDeleted】: Evento de clic del componente derecho 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_fr_FR.json deleted file mode 100644 index dd86d847d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_fr_FR.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 11, - "name": "Chip", - "localName": "Composant Petite Barre", - "info": "Une petite barre horizontale aux bords arrondis, pouvant contenir trois composants à gauche, au centre et à droite. Peut spécifier la couleur, la couleur de l'ombre et l'événement de clic.", - "lever": 4, - "family": 0, - "linkIds": [ - 12, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La performance normale de Chip est la suivante", - "desc": [ - "【avatar】: Composant gauche 【Widget】", - "【label】: Composant central 【Widget】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】", - "【labelPadding】: Marge du label 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Peut définir la couleur et l'ombre", - "desc": [ - "【backgroundColor】: Couleur de fond 【Color】", - "【shadowColor】: Couleur de l'ombre 【Color】", - "【elevation】: Profondeur de l'ombre 【double】" - ] - }, - { - "file": "node3_delete.dart", - "name": "Peut définir un bouton de clic à droite", - "desc": [ - "【deleteIcon】: Composant droit (généralement une icône) 【Widget】", - "【deleteIconColor】: Couleur du composant droit 【Color】", - "【onDeleted】: Événement de clic du composant droit 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_it_IT.json deleted file mode 100644 index e8f386586..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_it_IT.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 11, - "name": "Chip", - "localName": "Componente Piccolo", - "info": "Una piccola barra orizzontale con bordi arrotondati, può contenere tre componenti: sinistro, centrale e destro. È possibile specificare il colore, il colore dell'ombra e l'evento di clic.", - "lever": 4, - "family": 0, - "linkIds": [ - 12, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Il comportamento normale di Chip è il seguente", - "desc": [ - "【avatar】: Componente sinistro 【Widget】", - "【label】: Componente centrale 【Widget】", - "【padding】 : Spaziatura interna 【EdgeInsetsGeometry】", - "【labelPadding】: Spaziatura del label 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "È possibile impostare il colore e l'ombra", - "desc": [ - "【backgroundColor】: Colore di sfondo 【Color】", - "【shadowColor】: Colore dell'ombra 【Color】", - "【elevation】: Profondità dell'ombra 【double】" - ] - }, - { - "file": "node3_delete.dart", - "name": "È possibile impostare il pulsante di clic destro", - "desc": [ - "【deleteIcon】: Componente destro (solitamente Icon) 【Widget】", - "【deleteIconColor】: Colore del componente destro 【Color】", - "【onDeleted】: Evento di clic del componente destro 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_ja_JP.json deleted file mode 100644 index 1da3165ea..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_ja_JP.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 11, - "name": "Chip", - "localName": "チップコンポーネント", - "info": "横方向の丸いエッジを持つ小さなバーで、左、中央、右の3つのコンポーネントを含むことができます。色、影の色、クリックイベントを指定できます。", - "lever": 4, - "family": 0, - "linkIds": [ - 12, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Chipの通常の表現は以下の通りです", - "desc": [ - "【avatar】: 左側のコンポーネント 【Widget】", - "【label】: 中央のコンポーネント 【Widget】", - "【padding】 : パディング 【EdgeInsetsGeometry】", - "【labelPadding】: ラベルのパディング 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "色と影を設定できます", - "desc": [ - "【backgroundColor】: 背景色 【Color】", - "【shadowColor】: 影の色 【Color】", - "【elevation】: 影の深さ 【double】" - ] - }, - { - "file": "node3_delete.dart", - "name": "右側のクリックボタンを設定できます", - "desc": [ - "【deleteIcon】: 右側のコンポーネント(通常はアイコン) 【Widget】", - "【deleteIconColor】: 右側のコンポーネントの色 【Color】", - "【onDeleted】: 右側のコンポーネントのクリックイベント 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_ko_KR.json deleted file mode 100644 index 01ab4fb6c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_ko_KR.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 11, - "name": "Chip", - "localName": "작은 막대 컴포넌트", - "info": "가로로 된 둥근 모서리의 작은 막대로, 왼쪽, 중앙, 오른쪽 세 개의 컴포넌트를 포함할 수 있습니다. 색상, 그림자 색상 및 클릭 이벤트를 지정할 수 있습니다.", - "lever": 4, - "family": 0, - "linkIds": [ - 12, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Chip의 일반적인 모습은 다음과 같습니다", - "desc": [ - "【avatar】: 왼쪽 컴포넌트 【Widget】", - "【label】: 중앙 컴포넌트 【Widget】", - "【padding】 : 안쪽 여백 【EdgeInsetsGeometry】", - "【labelPadding】: label 여백 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "색상과 그림자를 설정할 수 있습니다", - "desc": [ - "【backgroundColor】: 배경색 【Color】", - "【shadowColor】: 그림자 색상 【Color】", - "【elevation】: 그림자 깊이 【double】" - ] - }, - { - "file": "node3_delete.dart", - "name": "오른쪽 클릭 버튼을 설정할 수 있습니다", - "desc": [ - "【deleteIcon】: 오른쪽 컴포넌트(일반적으로 Icon) 【Widget】", - "【deleteIconColor】: 오른쪽 컴포넌트 색상 【Color】", - "【onDeleted】: 오른쪽 컴포넌트 클릭 이벤트 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_pt_PT.json deleted file mode 100644 index eddf2b10d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_pt_PT.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 11, - "name": "Chip", - "localName": "Componente de Barra Pequena", - "info": "Uma pequena barra horizontal com bordas arredondadas que pode conter três componentes: esquerdo, central e direito. Pode especificar a cor, a cor da sombra e o evento de clique.", - "lever": 4, - "family": 0, - "linkIds": [ - 12, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "O comportamento normal do Chip é o seguinte", - "desc": [ - "【avatar】: Componente esquerdo 【Widget】", - "【label】: Componente central 【Widget】", - "【padding】 : Espaçamento interno 【EdgeInsetsGeometry】", - "【labelPadding】: Espaçamento do label 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Pode definir cor e sombra", - "desc": [ - "【backgroundColor】: Cor de fundo 【Color】", - "【shadowColor】: Cor da sombra 【Color】", - "【elevation】: Profundidade da sombra 【double】" - ] - }, - { - "file": "node3_delete.dart", - "name": "Pode definir um botão de clique à direita", - "desc": [ - "【deleteIcon】: Componente direito (normalmente um ícone) 【Widget】", - "【deleteIconColor】: Cor do componente direito 【Color】", - "【onDeleted】: Evento de clique do componente direito 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_ru_RU.json deleted file mode 100644 index b540b89ce..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_ru_RU.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 11, - "name": "Chip", - "localName": "Маленький компонент", - "info": "Горизонтальная полоска с закругленными краями, которая может содержать три компонента: левый, центральный и правый. Можно указать цвет, цвет тени и событие клика.", - "lever": 4, - "family": 0, - "linkIds": [ - 12, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Обычное отображение Chip", - "desc": [ - "【avatar】: Левый компонент 【Widget】", - "【label】: Центральный компонент 【Widget】", - "【padding】: Внутренние отступы 【EdgeInsetsGeometry】", - "【labelPadding】: Отступы для label 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "Можно задать цвет и тень", - "desc": [ - "【backgroundColor】: Цвет фона 【Color】", - "【shadowColor】: Цвет тени 【Color】", - "【elevation】: Глубина тени 【double】" - ] - }, - { - "file": "node3_delete.dart", - "name": "Можно задать кнопку клика справа", - "desc": [ - "【deleteIcon】: Правый компонент (обычно Icon) 【Widget】", - "【deleteIconColor】: Цвет правого компонента 【Color】", - "【onDeleted】: Событие клика правого компонента 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_zh-CN.json deleted file mode 100644 index a7f5a6491..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/desc_zh-CN.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id": 11, - "name": "Chip", - "localName": "小条组件", - "info": "一个横向的圆边小条,可以包含左中右三个组件。可以指定颜色、阴影色和点击事件。", - "lever": 4, - "family": 0, - "linkIds": [ - 12, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Chip的普通表现如下", - "desc": [ - "【avatar】: 左侧组件 【Widget】", - "【label】: 中间组件 【Widget】", - "【padding】 : 内边距 【EdgeInsetsGeometry】", - "【labelPadding】: label边距 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_color.dart", - "name": "可以设置颜色和阴影", - "desc": [ - "【backgroundColor】: 背景色 【Color】", - "【shadowColor】: 阴影色 【Color】", - "【elevation】: 影深 【double】" - ] - }, - { - "file": "node3_delete.dart", - "name": "可以设置右侧点击按钮", - "desc": [ - "【deleteIcon】: 右侧组件(通常为Icon) 【Widget】", - "【deleteIconColor】: 右侧组件颜色 【Color】", - "【onDeleted】: 右侧组件点击事件 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Chip/node1_base.dart deleted file mode 100644 index 59f80507b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/node1_base.dart +++ /dev/null @@ -1,33 +0,0 @@ - - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; -class CustomChip extends StatelessWidget { - const CustomChip({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - children: [ - Chip( - avatar: Image.asset("assets/images/icon_head.webp"), - label: const Text("张风捷特烈"), - padding: const EdgeInsets.all(5), - labelPadding: const EdgeInsets.all(5), - ), - const Chip( - avatar: CircleAvatar( - backgroundImage: - AssetImage("assets/images/wy_200x300.webp")), - label: Text("百里巫缨"), - padding: EdgeInsets.all(8), - labelPadding: EdgeInsets.all(6), - ), - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/node2_color.dart b/modules/widget_system/widgets/lib/StatelessWidget/Chip/node2_color.dart deleted file mode 100644 index 0a1af3df4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/node2_color.dart +++ /dev/null @@ -1,36 +0,0 @@ - - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/material.dart'; -class ColorOfChip extends StatelessWidget { - const ColorOfChip({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - children: [ - Chip( - avatar: Image.asset("assets/images/icon_head.webp"), - label: const Text("张风捷特烈"), - padding: const EdgeInsets.all(5), - labelPadding: const EdgeInsets.all(5), - backgroundColor: Colors.grey.withAlpha(66), - shadowColor: Colors.orangeAccent, - elevation: 3, - ), - Chip( - avatar: Image.asset("assets/images/icon_head.webp"), - label: const Text("张风捷特烈"), - padding: const EdgeInsets.all(5), - labelPadding: const EdgeInsets.all(5), - backgroundColor: Colors.cyanAccent.withAlpha(11), - shadowColor: Colors.blue.withAlpha(88), - elevation: 4, - ), - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Chip/node3_delete.dart b/modules/widget_system/widgets/lib/StatelessWidget/Chip/node3_delete.dart deleted file mode 100644 index e9eae1998..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Chip/node3_delete.dart +++ /dev/null @@ -1,27 +0,0 @@ - - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/material.dart'; -import 'package:widgets/utils/dialog_about.dart'; - -class DeleteOfChip extends StatelessWidget { - const DeleteOfChip({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Chip( - avatar: Image.asset("assets/images/icon_head.webp"), - label: const Text("张风捷特烈"), - padding: const EdgeInsets.all(5), - labelPadding: const EdgeInsets.all(3), - backgroundColor: Colors.grey.withAlpha(66), - shadowColor: Colors.orangeAccent, -// deleteIcon: Icon(Icons.close,size: 18), - deleteIconColor: Colors.red, - onDeleted: () => DialogAbout.show(context), - elevation: 3, - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_de_DE.json deleted file mode 100644 index 4d334bfc6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 12, - "name": "ChoiceChip", - "localName": "Auswahl-Chip", - "info": "Ähnlich wie die Chip-Komponente, aber mit einigen Auswahlattributen. Sie können die Farbe, die Schattenfarbe und das Auswahlereignis angeben, wenn sie ausgewählt ist.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Die normale Darstellung des ChoiceChip ist wie folgt", - "desc": [ - "【selectedColor】: Farbe bei Auswahl 【Color】", - "【selectedShadowColor】: Schattenfarbe bei Auswahl 【Color】", - "【onSelected】: Auswahlereignis 【Fuction(bool)】", - " Andere Attribute sind identisch mit der Chip-Komponente, ohne rechte Komponente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_en_US.json deleted file mode 100644 index ff345510f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 12, - "name": "ChoiceChip", - "localName": "Choice Strip", - "info": "Similar in style to the Chip component, with some selectable properties. You can specify the color when selected, the shadow color, and the selection event.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "The normal performance of ChoiceChip is as follows", - "desc": [ - "【selectedColor】: Color when selected 【Color】", - "【selectedShadowColor】: Shadow color when selected 【Color】", - "【onSelected】: Selection event 【Fuction(bool)】", - " Other properties are the same as the Chip component, with no right component." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_es_ES.json deleted file mode 100644 index 09e2d306d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 12, - "name": "ChoiceChip", - "localName": "Pestaña de selección", - "info": "Estilo similar al componente Chip, con algunas propiedades de selección. Puede especificar el color cuando está seleccionado, el color de la sombra y el evento de selección.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "El comportamiento normal de ChoiceChip es el siguiente", - "desc": [ - "【selectedColor】: Color cuando está seleccionado 【Color】", - "【selectedShadowColor】: Color de la sombra cuando está seleccionado 【Color】", - "【onSelected】: Evento de selección 【Fuction(bool)】", - " Otras propiedades son las mismas que el componente Chip, sin componente a la derecha." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_fr_FR.json deleted file mode 100644 index 5b7a40db5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 12, - "name": "ChoiceChip", - "localName": "Petite barre de sélection", - "info": "Un style similaire au composant Chip, avec quelques propriétés de sélection. Vous pouvez spécifier la couleur lorsqu'il est sélectionné, la couleur de l'ombre et l'événement de sélection.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La performance normale de ChoiceChip est la suivante", - "desc": [ - "【selectedColor】: Couleur lorsqu'il est sélectionné 【Color】", - "【selectedShadowColor】: Couleur de l'ombre lorsqu'il est sélectionné 【Color】", - "【onSelected】: Événement de sélection 【Fuction(bool)】", - " Les autres propriétés sont les mêmes que le composant Chip, sans composant à droite." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_it_IT.json deleted file mode 100644 index 281199d10..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 12, - "name": "ChoiceChip", - "localName": "Selezione Piccola Barra", - "info": "Uno stile simile al componente Chip, con alcune proprietà di selezione. È possibile specificare il colore selezionato, il colore dell'ombra e l'evento di selezione.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La performance normale di ChoiceChip è la seguente", - "desc": [ - "【selectedColor】: Colore selezionato 【Color】", - "【selectedShadowColor】: Colore dell'ombra selezionato 【Color】", - "【onSelected】: Evento di selezione 【Fuction(bool)】", - " Altre proprietà sono le stesse del componente Chip, senza componente a destra." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_ja_JP.json deleted file mode 100644 index 5276900af..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 12, - "name": "ChoiceChip", - "localName": "選択チップ", - "info": "Chipコンポーネントと似たスタイルで、いくつかの選択属性があります。選択時の色、影の色、および選択イベントを指定できます。", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ChoiceChipの通常の表現は以下の通りです", - "desc": [ - "【selectedColor】: 選択時の色 【Color】", - "【selectedShadowColor】: 選択時の影の色 【Color】", - "【onSelected】: 選択イベント 【Fuction(bool)】", - " 他の属性はChipコンポーネントと同じで、右側のコンポーネントはありません。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_ko_KR.json deleted file mode 100644 index 492a2aef8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 12, - "name": "ChoiceChip", - "localName": "선택 칩", - "info": "Chip 컴포넌트와 유사한 스타일로, 몇 가지 선택 속성이 있습니다. 선택 시 색상, 그림자 색상 및 선택 이벤트를 지정할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ChoiceChip의 일반적인 표현은 다음과 같습니다", - "desc": [ - "【selectedColor】: 선택 시 색상 【Color】", - "【selectedShadowColor】: 선택 시 그림자 색상 【Color】", - "【onSelected】: 선택 이벤트 【Fuction(bool)】", - " 다른 속성은 Chip 컴포넌트와 동일하며, 오른쪽 컴포넌트는 없습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_pt_PT.json deleted file mode 100644 index 3098e281d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 12, - "name": "ChoiceChip", - "localName": "Barra de Seleção", - "info": "Estilo semelhante ao componente Chip, com algumas propriedades de seleção. Pode especificar a cor quando selecionado, a cor da sombra e o evento de seleção.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "O comportamento normal do ChoiceChip é o seguinte", - "desc": [ - "【selectedColor】: Cor quando selecionado 【Color】", - "【selectedShadowColor】: Cor da sombra quando selecionado 【Color】", - "【onSelected】: Evento de seleção 【Fuction(bool)】", - " Outras propriedades são iguais ao componente Chip, sem componente à direita." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_ru_RU.json deleted file mode 100644 index 8078651ad..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 12, - "name": "ChoiceChip", - "localName": "Выбор полоски", - "info": "Стиль, похожий на компонент Chip, с некоторыми свойствами выбора. Можно указать цвет при выборе, цвет тени и событие выбора.", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Обычное поведение ChoiceChip следующее", - "desc": [ - "【selectedColor】: Цвет при выборе 【Color】", - "【selectedShadowColor】: Цвет тени при выборе 【Color】", - "【onSelected】: Событие выбора 【Fuction(bool)】", - " Остальные свойства такие же, как у компонента Chip, без правого компонента." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_zh-CN.json deleted file mode 100644 index 000e49a01..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 12, - "name": "ChoiceChip", - "localName": "选择小条", - "info": "和Chip组件类似的样式,有一些选择的属性。可以指定选中时的颜色、阴影色和选择事件。", - "lever": 3, - "family": 0, - "linkIds": [ - 11, - 13, - 14, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ChoiceChip的普通表现如下", - "desc": [ - "【selectedColor】: 选中时颜色 【Color】", - "【selectedShadowColor】: 选中时阴影颜色 【Color】", - "【onSelected】: 选中事件 【Fuction(bool)】", - " 其他属性同Chip组件,无右侧组件。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/node1_base.dart deleted file mode 100644 index 973d090fc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ChoiceChip/node1_base.dart +++ /dev/null @@ -1,39 +0,0 @@ - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; - -class CustomChoiceChip extends StatefulWidget { - const CustomChoiceChip({Key? key}) : super(key: key); - - @override - _CustomChoiceChipState createState() => _CustomChoiceChipState(); -} - -class _CustomChoiceChipState extends State { - bool _select = false; - - @override - Widget build(BuildContext context) { - return ChoiceChip( - selected: _select, - padding: const EdgeInsets.all(5), - labelPadding: const EdgeInsets.all(5), - label: Text( - _select ? - "You are selected it." : - "This is a ChoiceChip.", - style: const TextStyle(fontSize: 16), - ), - backgroundColor: Colors.grey.withAlpha(66), - avatar: Image.asset("assets/images/icon_head.webp"), - selectedColor: Colors.orangeAccent.withAlpha(44), - selectedShadowColor: Colors.blue, - shadowColor: Colors.orangeAccent, - elevation: 3, - onSelected: (value) => setState(() => _select = value), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_de_DE.json deleted file mode 100644 index ce5e95ac5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 9, - "name": "CircleAvatar", - "localName": "Rundes Widget", - "info": "Kann ein Bild in einen Kreis verwandeln und in der Mitte ein Widget platzieren. Es können Radius, Vordergrundfarbe, Hintergrundfarbe usw. angegeben werden.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Darstellung von CircleAvatar", - "desc": [ - "【radius】 : Radius 【double】", - "【backgroundImage】 : Bildressource 【ImageProvider】", - "【foregroundColor】: Vordergrundfarbe 【Color】", - "【backgroundColor】: Hintergrundfarbe 【Color】", - "【minRadius】: Minimaler Radius 【double】", - "【maxRadius】: Maximaler Radius 【double】", - "【child】: Kind-Widget 【Child】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_en_US.json deleted file mode 100644 index d121b9386..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 9, - "name": "CircleAvatar", - "localName": "Circular Component", - "info": "Can turn an image into a circle, and a component can be placed in the center. You can specify the radius, foreground color, background color, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CircleAvatar Performance", - "desc": [ - "【radius】: radius 【double】", - "【backgroundImage】: image resource 【ImageProvider】", - "【foregroundColor】: foreground color 【Color】", - "【backgroundColor】: background color 【Color】", - "【minRadius】: minimum radius 【double】", - "【maxRadius】: maximum radius 【double】", - "【child】: child component 【Child】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_es_ES.json deleted file mode 100644 index d1bfae5da..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 9, - "name": "CircleAvatar", - "localName": "Componente Circular", - "info": "Puede convertir una imagen en un círculo y colocar un componente en el centro. Puede especificar el radio, el color de primer plano, el color de fondo, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Comportamiento de CircleAvatar", - "desc": [ - "【radius】 : radio 【double】", - "【backgroundImage】 : recurso de imagen 【ImageProvider】", - "【foregroundColor】: color de primer plano 【Color】", - "【backgroundColor】: color de fondo 【Color】", - "【minRadius】: radio mínimo 【double】", - "【maxRadius】: radio máximo 【double】", - "【child】: componente hijo 【Child】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_fr_FR.json deleted file mode 100644 index bdbef6fa0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 9, - "name": "CircleAvatar", - "localName": "Composant Circulaire", - "info": "Permet de transformer une image en cercle et de placer un composant au centre. Peut spécifier le rayon, la couleur de premier plan, la couleur d'arrière-plan, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Comportement de CircleAvatar", - "desc": [ - "【radius】 : rayon 【double】", - "【backgroundImage】 : ressource d'image 【ImageProvider】", - "【foregroundColor】: couleur de premier plan 【Color】", - "【backgroundColor】: couleur d'arrière-plan 【Color】", - "【minRadius】: rayon minimum 【double】", - "【maxRadius】: rayon maximum 【double】", - "【child】: composant enfant 【Child】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_it_IT.json deleted file mode 100644 index a225eb75e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 9, - "name": "CircleAvatar", - "localName": "Componente circolare", - "info": "Trasforma un'immagine in un cerchio e può posizionare un componente al centro. È possibile specificare il raggio, il colore di primo piano, il colore di sfondo, ecc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Comportamento di CircleAvatar", - "desc": [ - "【radius】 : raggio 【double】", - "【backgroundImage】 : risorsa immagine 【ImageProvider】", - "【foregroundColor】: colore di primo piano 【Color】", - "【backgroundColor】: colore di sfondo 【Color】", - "【minRadius】: raggio minimo 【double】", - "【maxRadius】: raggio massimo 【double】", - "【child】: componente figlio 【Child】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_ja_JP.json deleted file mode 100644 index 4b8adfced..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 9, - "name": "CircleAvatar", - "localName": "円形コンポーネント", - "info": "画像を円形にし、中央にコンポーネントを配置できます。半径、前景色、背景色などを指定できます。", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CircleAvatarの表現", - "desc": [ - "【radius】 : 半径 【double】", - "【backgroundImage】 : 画像リソース 【ImageProvider】", - "【foregroundColor】: 前景色 【Color】", - "【backgroundColor】: 背景色 【Color】", - "【minRadius】: 最小半径 【double】", - "【maxRadius】: 最大半径 【double】", - "【child】: 子コンポーネント 【Child】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_ko_KR.json deleted file mode 100644 index 91fabafcd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 9, - "name": "CircleAvatar", - "localName": "원형 컴포넌트", - "info": "이미지를 원형으로 만들고 중앙에 컴포넌트를 배치할 수 있습니다. 반지름, 전경색, 배경색 등을 지정할 수 있습니다.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CircleAvatar의 표현", - "desc": [ - "【radius】 : 반지름 【double】", - "【backgroundImage】 : 이미지 리소스 【ImageProvider】", - "【foregroundColor】: 전경색 【Color】", - "【backgroundColor】: 배경색 【Color】", - "【minRadius】: 최소 반지름 【double】", - "【maxRadius】: 최대 반지름 【double】", - "【child】: 자식 컴포넌트 【Child】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_pt_PT.json deleted file mode 100644 index 7ac327c8f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 9, - "name": "CircleAvatar", - "localName": "Componente Circular", - "info": "Pode transformar uma imagem em um círculo e colocar um componente no meio. Pode especificar raio, cor de primeiro plano, cor de fundo, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Comportamento do CircleAvatar", - "desc": [ - "【radius】 : raio 【double】", - "【backgroundImage】 : recurso de imagem 【ImageProvider】", - "【foregroundColor】: cor de primeiro plano 【Color】", - "【backgroundColor】: cor de fundo 【Color】", - "【minRadius】: raio mínimo 【double】", - "【maxRadius】: raio máximo 【double】", - "【child】: componente filho 【Child】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_ru_RU.json deleted file mode 100644 index c76175ff0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 9, - "name": "CircleAvatar", - "localName": "Круглый компонент", - "info": "Может превратить изображение в круг и разместить компонент в центре. Можно указать радиус, цвет переднего плана, цвет фона и т.д.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Поведение CircleAvatar", - "desc": [ - "【radius】 : радиус 【double】", - "【backgroundImage】 : ресурс изображения 【ImageProvider】", - "【foregroundColor】: цвет переднего плана 【Color】", - "【backgroundColor】: цвет фона 【Color】", - "【minRadius】: минимальный радиус 【double】", - "【maxRadius】: максимальный радиус 【double】", - "【child】: дочерний компонент 【Child】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_zh-CN.json deleted file mode 100644 index 53f64fbe9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 9, - "name": "CircleAvatar", - "localName": "圆形组件", - "info": "可将一张图片变成圆形,并且中间可以放置一个组件。可指定半径、前景色、背景色等。", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CircleAvatar的表现", - "desc": [ - "【radius】 : 半径 【double】", - "【backgroundImage】 : 图片资源 【ImageProvider】", - "【foregroundColor】: 前景色 【Color】", - "【backgroundColor】: 背景色 【Color】", - "【minRadius】: 最小半径 【double】", - "【maxRadius】: 最大半径 【double】", - "【child】: 孩子组件 【Child】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/node1_base.dart deleted file mode 100644 index 796785f26..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CircleAvatar/node1_base.dart +++ /dev/null @@ -1,22 +0,0 @@ -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; - -class CustomCircleAvatar extends StatelessWidget { - const CustomCircleAvatar({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const CircleAvatar( - radius: 50, - backgroundImage: AssetImage("assets/images/wy_200x300.webp"), - foregroundColor: Colors.white, - child: Icon( - Icons.check, - size: 50, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_de_DE.json deleted file mode 100644 index eabc3b828..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 32, - "name": "CloseButton", - "localName": "Schließen-Button", - "info": "Ein IconButton mit Schließfunktion, das Schließsymbol kann nicht geändert werden.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CloseButton-Klickereignis", - "desc": [ - "【onPressed】 : Klickereignis 【VoidCallback?】", - "【style】: Button-Stil 【ButtonStyle?】", - "【color】: Farbe 【Color】", - "Wenn onPressed leer ist, wird beim Klicken die aktuelle Oberfläche verlassen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_en_US.json deleted file mode 100644 index 14e86541c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 32, - "name": "CloseButton", - "localName": "Close Button", - "info": "An IconButton with close functionality, the close icon cannot be changed.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CloseButton Click Event", - "desc": [ - "【onPressed】: Click event 【VoidCallback?】", - "【style】: Button style 【ButtonStyle?】", - "【color】: Color 【Color】", - "When onPressed is null, clicking will exit the current interface." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_es_ES.json deleted file mode 100644 index 9384aac01..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 32, - "name": "CloseButton", - "localName": "Botón de cerrar", - "info": "Un IconButton con función de cerrar, el ícono de cerrar no se puede cambiar.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de clic de CloseButton", - "desc": [ - "【onPressed】: Evento de clic 【VoidCallback?】", - "【style】: Estilo del botón 【ButtonStyle?】", - "【color】: Color 【Color】", - "Cuando onPressed es nulo, al hacer clic se cerrará la interfaz actual." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_fr_FR.json deleted file mode 100644 index d05f99e50..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 32, - "name": "CloseButton", - "localName": "Bouton de fermeture", - "info": "Un IconButton avec une fonction de fermeture, l'icône de fermeture ne peut pas être modifiée.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événement de clic du CloseButton", - "desc": [ - "【onPressed】 : Événement de clic 【VoidCallback?】", - "【style】: Style du bouton 【ButtonStyle?】", - "【color】: Couleur 【Color】", - "Lorsque onPressed est vide, un clic quitte l'interface actuelle." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_it_IT.json deleted file mode 100644 index 8282b27e9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 32, - "name": "CloseButton", - "localName": "Pulsante di chiusura", - "info": "Un IconButton con funzionalità di chiusura, l'icona di chiusura non può essere modificata.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento di clic del Pulsante di chiusura", - "desc": [ - "【onPressed】: Evento di clic 【VoidCallback?】", - "【style】: Stile del pulsante 【ButtonStyle?】", - "【color】: Colore 【Color】", - "Quando onPressed è vuoto, il clic chiude l'interfaccia corrente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_ja_JP.json deleted file mode 100644 index 452d7464f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 32, - "name": "CloseButton", - "localName": "閉じるボタン", - "info": "閉じる機能を持つIconButtonで、閉じるアイコンは変更できません。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CloseButtonクリックイベント", - "desc": [ - "【onPressed】 : クリックイベント 【VoidCallback?】", - "【style】: ボタンスタイル 【ButtonStyle?】", - "【color】: 色 【Color】", - "onPressedが空の場合、クリックすると現在の画面が閉じます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_ko_KR.json deleted file mode 100644 index dde13e43e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 32, - "name": "CloseButton", - "localName": "닫기 버튼", - "info": "닫기 기능이 있는 IconButton, 닫기 아이콘은 변경할 수 없습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CloseButton 클릭 이벤트", - "desc": [ - "【onPressed】 : 클릭 이벤트 【VoidCallback?】", - "【style】: 버튼 스타일 【ButtonStyle?】", - "【color】: 색상 【Color】", - "onPressed가 비어 있을 때, 클릭하면 현재 화면을 종료합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_pt_PT.json deleted file mode 100644 index 1b9c91684..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 32, - "name": "CloseButton", - "localName": "Botão de Fechar", - "info": "Um IconButton com função de fechar, o ícone de fechar não pode ser alterado.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de Clique do CloseButton", - "desc": [ - "【onPressed】 : Evento de clique 【VoidCallback?】", - "【style】: Estilo do botão 【ButtonStyle?】", - "【color】: Cor 【Color】", - "Quando onPressed estiver vazio, ao clicar, a interface atual será fechada." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_ru_RU.json deleted file mode 100644 index ce22d866d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 32, - "name": "CloseButton", - "localName": "Кнопка закрытия", - "info": "IconButton с функцией закрытия, значок закрытия нельзя изменить.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Событие нажатия кнопки CloseButton", - "desc": [ - "【onPressed】 : Событие нажатия 【VoidCallback?】", - "【style】: Стиль кнопки 【ButtonStyle?】", - "【color】: Цвет 【Color】", - "Когда onPressed пуст, нажатие закрывает текущий интерфейс." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_zh-CN.json deleted file mode 100644 index 844ed1b3d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 32, - "name": "CloseButton", - "localName": "关闭按钮", - "info": "一个具有关闭功能的IconButton,关闭图标不可更改。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CloseButton点击事件", - "desc": [ - "【onPressed】 : 点击事件 【VoidCallback?】", - "【style】: 按钮样式 【ButtonStyle?】", - "【color】: 颜色 【Color】", - "onPressed 为空时,点击时会退出当前界面。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/node1_base.dart deleted file mode 100644 index 973db918c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButton/node1_base.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - - -class CustomCloseButton extends StatelessWidget { - const CustomCloseButton({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const CloseButton(); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_de_DE.json deleted file mode 100644 index 89f22fb29..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 274, - "name": "CloseButtonIcon", - "localName": "Schaltfläche zum Schließen Symbol", - "info": "Ein Close Icon-Symbol, das je nach Plattform das entsprechende Symbol anzeigt und über ActionIconTheme angepasst werden kann.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CloseButtonIcon Effekt", - "desc": [ - "Passt das Symbol der Schaltfläche zum Schließen für verschiedene Plattformen über die _ActionIcon-Komponente gemäß dem ActionIconTheme an." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_en_US.json deleted file mode 100644 index f2a5aaa08..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 274, - "name": "CloseButtonIcon", - "localName": "Close Button Icon", - "info": "A close Icon that displays the corresponding icon based on the platform, and can be customized with ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CloseButtonIcon Effect", - "desc": [ - "The _ActionIcon component adapts the close button icon for different platforms based on the ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_es_ES.json deleted file mode 100644 index 9df7ee0a7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 274, - "name": "CloseButtonIcon", - "localName": "Icono de botón de cierre", - "info": "Un icono de cierre, muestra el icono correspondiente según la plataforma, se puede personalizar el tema a través de ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Efecto de CloseButtonIcon", - "desc": [ - "A través del componente _ActionIcon, se adapta el icono del botón de cierre a diferentes plataformas según el tema de ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_fr_FR.json deleted file mode 100644 index 4237a4ea4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 274, - "name": "CloseButtonIcon", - "localName": "Icône de bouton de fermeture", - "info": "Une icône de fermeture, affichant l'icône correspondante selon la plateforme, peut être personnalisée via ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Effet de CloseButtonIcon", - "desc": [ - "Le composant _ActionIcon adapte l'icône de bouton de fermeture à différentes plateformes selon le thème ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_it_IT.json deleted file mode 100644 index 4a687a0b0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 274, - "name": "CloseButtonIcon", - "localName": "Icona del pulsante di chiusura", - "info": "Un'icona di chiusura, che mostra l'icona corrispondente in base alla piattaforma, può essere personalizzata con il tema ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Effetto CloseButtonIcon", - "desc": [ - "Attraverso il componente _ActionIcon, adatta l'icona del pulsante di chiusura a diverse piattaforme in base al tema ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_ja_JP.json deleted file mode 100644 index 5993f2784..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 274, - "name": "CloseButtonIcon", - "localName": "閉じるボタンアイコン", - "info": "閉じるアイコンで、プラットフォームに応じて対応するアイコンを表示します。ActionIconThemeでテーマをカスタマイズできます。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CloseButtonIcon 効果", - "desc": [ - "_ActionIconコンポーネントを使用して、ActionIconThemeテーマに基づいて、異なるプラットフォームの閉じるボタンアイコンを適応させます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_ko_KR.json deleted file mode 100644 index 1e02127e6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 274, - "name": "CloseButtonIcon", - "localName": "닫기 버튼 아이콘", - "info": "닫기 아이콘, 플랫폼에 따라 해당 아이콘을 표시하며, ActionIconTheme을 통해 테마를 사용자 정의할 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CloseButtonIcon 효과", - "desc": [ - "_ActionIcon 컴포넌트를 통해 ActionIconTheme 테마에 따라 다른 플랫폼의 닫기 버튼 아이콘을 적용합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_pt_PT.json deleted file mode 100644 index 26d0adbb2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 274, - "name": "CloseButtonIcon", - "localName": "Ícone do Botão de Fechar", - "info": "Um ícone de fechar que exibe o ícone correspondente de acordo com a plataforma, podendo ser personalizado com o tema ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Efeito do CloseButtonIcon", - "desc": [ - "O componente _ActionIcon adapta o ícone do botão de fechar de acordo com o tema ActionIconTheme para diferentes plataformas." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_ru_RU.json deleted file mode 100644 index 95657f89d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 274, - "name": "CloseButtonIcon", - "localName": "Иконка кнопки закрытия", - "info": "Иконка закрытия, которая отображает соответствующую иконку в зависимости от платформы. Можно настроить тему через ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Эффект CloseButtonIcon", - "desc": [ - "Компонент _ActionIcon адаптирует иконку кнопки закрытия для разных платформ в зависимости от темы ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_zh-CN.json deleted file mode 100644 index 0eb431175..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 274, - "name": "CloseButtonIcon", - "localName": "关闭按钮图标", - "info": "一个关闭 Icon 图标, 根据平台展示对应的图标,可以通过 ActionIconTheme 定制主题。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CloseButtonIcon 效果", - "desc": [ - "通过 _ActionIcon 组件根据 ActionIconTheme 主题,来适配不同平台的关闭按钮图标。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/node1_base.dart deleted file mode 100644 index c18bfd496..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CloseButtonIcon/node1_base.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/11/28 -/// contact me by email 1981462002@qq.com - -class CloseButtonIconDemo extends StatelessWidget { - const CloseButtonIconDemo({super.key}); - - @override - Widget build(BuildContext context) { - return const CloseButtonIcon(); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_de_DE.json deleted file mode 100644 index aac7c4dbb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_de_DE.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": 1, - "name": "Container", - "localName": "Container-Komponente", - "info": "Eine Container-Komponente, die ein einzelnes Unterelement aufnehmen kann. Integriert mehrere Funktionen von Unterelementen wie Innen- und Außenabstände, Transformationen, Dekorationen, Einschränkungen usw...", - "lever": 5, - "family": 0, - "linkIds": [ - 74, - 85, - 80, - 78, - 70, - 123 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Kann verwendet werden, um einen Bereich mit einer bestimmten Breite und Höhe anzuzeigen", - "desc": [ - "【width】 : Breite 【int】", - "【height】: Höhe 【int】", - "【color】: Farbe 【Color】" - ] - }, - { - "file": "node2_child.dart", - "name": "Kann ein Unterelement in den Bereich einfügen", - "desc": [ - "【padding】 : Innenabstand 【EdgeInsetsGeometry】", - "【margin】: Außenabstand 【EdgeInsetsGeometry】", - "【child】: Unterelement 【Widget】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "Kann das Unterelement ausrichten und positionieren", - "desc": [ - "【alignment】 : Ausrichtung und Positionierung 【AlignmentGeometry】" - ] - }, - { - "file": "node4_decoration.dart", - "name": "Kann das Unterelement dekorieren", - "desc": [ - "【decoration】 : Dekoration 【Decoration】", - "Kann dekorieren: Rahmen, abgerundete Ecken, Farbe, Verlauf, Schatten, Bilder usw." - ] - }, - { - "file": "node5_transform.dart", - "name": "Container hat auch Transformationsfähigkeiten", - "desc": [ - "【transform】 : Transformationsmatrix 【Matrix4】", - "Matrix-Transformation basierend auf Matrix4, Details siehe lineare Algebra" - ] - }, - { - "file": "node6_constraints.dart", - "name": "Einschränkungen des Containers", - "desc": [ - "【constraints】 : Einschränkungen 【BoxConstraints】", - "Schränkt die Größe des Bereichs ein, nicht kleiner als die angegebene minimale Breite und Höhe, und nicht größer als die angegebene maximale Breite und Höhe." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_en_US.json deleted file mode 100644 index 3e1ce07f1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_en_US.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": 1, - "name": "Container", - "localName": "Container Component", - "info": "A container component used to hold a single child component. It integrates several functionalities of single child components, such as padding, margin, transformation, decoration, constraints, etc...", - "lever": 5, - "family": 0, - "linkIds": [ - 74, - 85, - 80, - 78, - 70, - 123 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Can be used to display an area with specified width and height", - "desc": [ - "【width】 : width 【int】", - "【height】: height 【int】", - "【color】: color 【Color】" - ] - }, - { - "file": "node2_child.dart", - "name": "Can place a child component within the area", - "desc": [ - "【padding】 : padding 【EdgeInsetsGeometry】", - "【margin】: margin 【EdgeInsetsGeometry】", - "【child】: child component 【Widget】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "Can align and position the child component", - "desc": [ - "【alignment】 : alignment 【AlignmentGeometry】" - ] - }, - { - "file": "node4_decoration.dart", - "name": "Can decorate the child component", - "desc": [ - "【decoration】 : decoration 【Decoration】", - "Can decorate: borders, rounded corners, colors, gradients, shadows, images, etc." - ] - }, - { - "file": "node5_transform.dart", - "name": "Container also has transformation capabilities", - "desc": [ - "【transform】 : transformation matrix 【Matrix4】", - "Matrix transformation based on Matrix4, see linear algebra for details" - ] - }, - { - "file": "node6_constraints.dart", - "name": "Constraints of the Container", - "desc": [ - "【constraints】 : constraints 【BoxConstraints】", - "Will constrain the size of the area, it will not be smaller than the specified minimum width and height, nor larger than the specified maximum width and height." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_es_ES.json deleted file mode 100644 index 2fe57f969..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_es_ES.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": 1, - "name": "Container", - "localName": "Componente Contenedor", - "info": "Componente contenedor utilizado para albergar un único componente hijo. Integra varias funciones de componentes hijos únicos, como márgenes internos y externos, transformaciones, decoraciones, restricciones, etc...", - "lever": 5, - "family": 0, - "linkIds": [ - 74, - 85, - 80, - 78, - 70, - 123 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Puede usarse para mostrar un área con un ancho y alto especificados", - "desc": [ - "【width】 : Ancho 【int】", - "【height】: Alto 【int】", - "【color】: Color 【Color】" - ] - }, - { - "file": "node2_child.dart", - "name": "Puede colocar un componente hijo dentro del área", - "desc": [ - "【padding】 : Relleno interno 【EdgeInsetsGeometry】", - "【margin】: Margen externo 【EdgeInsetsGeometry】", - "【child】: Componente hijo 【Widget】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "Puede alinear y posicionar el componente hijo", - "desc": [ - "【alignment】 : Alineación y posicionamiento 【AlignmentGeometry】" - ] - }, - { - "file": "node4_decoration.dart", - "name": "Puede decorar el componente hijo", - "desc": [ - "【decoration】 : Decoración 【Decoration】", - "Se puede decorar: bordes, esquinas redondeadas, colores, degradados, sombras, imágenes, etc." - ] - }, - { - "file": "node5_transform.dart", - "name": "Container también tiene capacidad de transformación", - "desc": [ - "【transform】 : Matriz de transformación 【Matrix4】", - "Transformación basada en la matriz Matrix4, los detalles de la transformación se pueden ver en álgebra lineal" - ] - }, - { - "file": "node6_constraints.dart", - "name": "Restricciones de Container", - "desc": [ - "【constraints】 : Restricciones 【BoxConstraints】", - "Restringirá el tamaño del área, no será menor que el ancho y alto mínimo especificados, ni mayor que el ancho y alto máximo especificados." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_fr_FR.json deleted file mode 100644 index 50c57bbe0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_fr_FR.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": 1, - "name": "Container", - "localName": "Composant conteneur", - "info": "Composant conteneur utilisé pour contenir un seul composant enfant. Intègre plusieurs fonctionnalités de composants enfants uniques, telles que les marges intérieures et extérieures, la transformation, la décoration, les contraintes, etc...", - "lever": 5, - "family": 0, - "linkIds": [ - 74, - 85, - 80, - 78, - 70, - 123 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Peut être utilisé pour afficher une zone de largeur et de hauteur spécifiées", - "desc": [ - "【width】 : Largeur 【int】", - "【height】: Hauteur 【int】", - "【color】: Couleur 【Color】" - ] - }, - { - "file": "node2_child.dart", - "name": "Peut contenir un composant enfant dans la zone", - "desc": [ - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】", - "【margin】: Marge extérieure 【EdgeInsetsGeometry】", - "【child】: Composant enfant 【Widget】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "Peut aligner et positionner le composant enfant", - "desc": [ - "【alignment】 : Alignement et positionnement 【AlignmentGeometry】" - ] - }, - { - "file": "node4_decoration.dart", - "name": "Peut décorer le composant enfant", - "desc": [ - "【decoration】 : Décoration 【Decoration】", - "Peut décorer : bordures, coins arrondis, couleurs, dégradés, ombres, images, etc." - ] - }, - { - "file": "node5_transform.dart", - "name": "Le Container a également des propriétés de transformation", - "desc": [ - "【transform】 : Matrice de transformation 【Matrix4】", - "Transformation matricielle basée sur Matrix4, voir l'algèbre linéaire pour plus de détails sur les transformations" - ] - }, - { - "file": "node6_constraints.dart", - "name": "Les contraintes du Container", - "desc": [ - "【constraints】 : Contraintes 【BoxConstraints】", - "Contraint la taille de la zone, ne sera pas plus petite que la largeur et la hauteur minimales spécifiées, ni plus grande que la largeur et la hauteur maximales spécifiées." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_it_IT.json deleted file mode 100644 index 1ffcac6cd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_it_IT.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": 1, - "name": "Container", - "localName": "Componente contenitore", - "info": "Un componente contenitore utilizzato per contenere un singolo componente figlio. Integra diverse funzionalità per i componenti figli singoli, come margini interni ed esterni, trasformazioni, decorazioni, vincoli, ecc...", - "lever": 5, - "family": 0, - "linkIds": [ - 74, - 85, - 80, - 78, - 70, - 123 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Può essere utilizzato per visualizzare un'area con larghezza e altezza specificate", - "desc": [ - "【width】 : Larghezza 【int】", - "【height】: Altezza 【int】", - "【color】: Colore 【Color】" - ] - }, - { - "file": "node2_child.dart", - "name": "Può contenere un componente figlio all'interno dell'area", - "desc": [ - "【padding】 : Spaziatura interna 【EdgeInsetsGeometry】", - "【margin】: Spaziatura esterna 【EdgeInsetsGeometry】", - "【child】: Componente figlio 【Widget】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "Può allineare e posizionare il componente figlio", - "desc": [ - "【alignment】 : Allineamento e posizionamento 【AlignmentGeometry】" - ] - }, - { - "file": "node4_decoration.dart", - "name": "Può decorare il componente figlio", - "desc": [ - "【decoration】 : Decorazione 【Decoration】", - "Può decorare: bordi, angoli arrotondati, colori, gradienti, ombre, immagini, ecc." - ] - }, - { - "file": "node5_transform.dart", - "name": "Container ha anche capacità di trasformazione", - "desc": [ - "【transform】 : Matrice di trasformazione 【Matrix4】", - "Trasformazione basata sulla matrice Matrix4, per i dettagli vedere l'algebra lineare" - ] - }, - { - "file": "node6_constraints.dart", - "name": "Vincoli del Container", - "desc": [ - "【constraints】 : Vincoli 【BoxConstraints】", - "Vincolerà le dimensioni dell'area, non sarà inferiore alla larghezza e altezza minima specificata, né superiore alla larghezza e altezza massima specificata." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_ja_JP.json deleted file mode 100644 index 1dfc93af3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_ja_JP.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": 1, - "name": "Container", - "localName": "コンテナコンポーネント", - "info": "単一の子コンポーネントを収容するためのコンテナコンポーネントです。内部および外部の余白、変形、装飾、制約など、複数の単一子コンポーネントの機能を統合しています...", - "lever": 5, - "family": 0, - "linkIds": [ - 74, - 85, - 80, - 78, - 70, - 123 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "指定された幅と高さの領域を表示するために使用できます", - "desc": [ - "【width】 : 幅 【int】", - "【height】: 高さ 【int】", - "【color】: 色 【Color】" - ] - }, - { - "file": "node2_child.dart", - "name": "領域内に子コンポーネントを配置できます", - "desc": [ - "【padding】 : 内側の余白 【EdgeInsetsGeometry】", - "【margin】: 外側の余白 【EdgeInsetsGeometry】", - "【child】: 子コンポーネント 【Widget】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "子コンポーネントを整列および配置できます", - "desc": [ - "【alignment】 : 整列および配置 【AlignmentGeometry】" - ] - }, - { - "file": "node4_decoration.dart", - "name": "子コンポーネントを装飾できます", - "desc": [ - "【decoration】 : 装飾 【Decoration】", - "装飾可能: ボーダー、角丸、色、グラデーション、シャドウ、画像など" - ] - }, - { - "file": "node5_transform.dart", - "name": "Containerは変形性も持っています", - "desc": [ - "【transform】 : 変換行列 【Matrix4】", - "Matrix4に基づく行列変換、変換の詳細は線形代数を参照してください" - ] - }, - { - "file": "node6_constraints.dart", - "name": "Containerの制約性", - "desc": [ - "【constraints】 : 制約 【BoxConstraints】", - "この領域のサイズを制約し、指定された最小幅と高さより小さくならないようにし、指定された最大幅と高さより大きくならないようにします。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_ko_KR.json deleted file mode 100644 index 183d80268..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_ko_KR.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": 1, - "name": "Container", - "localName": "컨테이너 컴포넌트", - "info": "단일 자식 컴포넌트를 수용하는 컨테이너 컴포넌트입니다. 내부 및 외부 여백, 변형, 장식, 제약 등 여러 단일 자식 컴포넌트의 기능을 통합했습니다...", - "lever": 5, - "family": 0, - "linkIds": [ - 74, - 85, - 80, - 78, - 70, - 123 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "지정된 너비와 높이의 영역을 표시할 수 있습니다", - "desc": [ - "【width】 : 너비 【int】", - "【height】: 높이 【int】", - "【color】: 색상 【Color】" - ] - }, - { - "file": "node2_child.dart", - "name": "영역에 자식 컴포넌트를 넣을 수 있습니다", - "desc": [ - "【padding】 : 내부 여백 【EdgeInsetsGeometry】", - "【margin】: 외부 여백 【EdgeInsetsGeometry】", - "【child】: 자식 컴포넌트 【Widget】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "자식 컴포넌트를 정렬 및 위치 지정할 수 있습니다", - "desc": [ - "【alignment】 : 정렬 및 위치 지정 【AlignmentGeometry】" - ] - }, - { - "file": "node4_decoration.dart", - "name": "자식 컴포넌트를 장식할 수 있습니다", - "desc": [ - "【decoration】 : 장식 【Decoration】", - "장식 가능: 테두리, 둥근 모서리, 색상, 그라데이션, 그림자, 이미지 등" - ] - }, - { - "file": "node5_transform.dart", - "name": "Container는 변환 기능도 가지고 있습니다", - "desc": [ - "【transform】 : 변환 행렬 【Matrix4】", - "Matrix4 기반의 행렬 변환, 변환 상세는 선형 대수 참조" - ] - }, - { - "file": "node6_constraints.dart", - "name": "Container의 제약성", - "desc": [ - "【constraints】 : 제약 【BoxConstraints】", - "이 영역의 크기를 제한하며, 지정된 최소 너비와 높이보다 작지 않고, 지정된 최대 너비와 높이보다 크지 않습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_pt_PT.json deleted file mode 100644 index a4a4af6a9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_pt_PT.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": 1, - "name": "Container", - "localName": "Componente de Contêiner", - "info": "Componente de contêiner usado para acomodar um único componente filho. Integra várias funcionalidades de componentes filhos únicos, como margens internas e externas, transformações, decorações, restrições, etc...", - "lever": 5, - "family": 0, - "linkIds": [ - 74, - 85, - 80, - 78, - 70, - 123 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Pode ser usado para exibir uma área com largura e altura especificadas", - "desc": [ - "【width】 : Largura 【int】", - "【height】: Altura 【int】", - "【color】: Cor 【Color】" - ] - }, - { - "file": "node2_child.dart", - "name": "Pode colocar um componente filho na área", - "desc": [ - "【padding】 : Margem interna 【EdgeInsetsGeometry】", - "【margin】: Margem externa 【EdgeInsetsGeometry】", - "【child】: Componente filho 【Widget】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "Pode alinhar e posicionar o componente filho", - "desc": [ - "【alignment】 : Alinhamento e posicionamento 【AlignmentGeometry】" - ] - }, - { - "file": "node4_decoration.dart", - "name": "Pode decorar o componente filho", - "desc": [ - "【decoration】 : Decoração 【Decoration】", - "Pode decorar: bordas, arcos, cores, gradientes, sombras, imagens, etc." - ] - }, - { - "file": "node5_transform.dart", - "name": "Container também possui transformações", - "desc": [ - "【transform】 : Matriz de transformação 【Matrix4】", - "Transformação de matriz baseada em Matrix4, detalhes da transformação veja álgebra linear" - ] - }, - { - "file": "node6_constraints.dart", - "name": "Restrições do Container", - "desc": [ - "【constraints】 : Restrições 【BoxConstraints】", - "Irá restringir o tamanho da área, não será menor que a largura e altura mínima especificada, nem maior que a largura e altura máxima especificada." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_ru_RU.json deleted file mode 100644 index 5ee7cd290..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_ru_RU.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": 1, - "name": "Container", - "localName": "Контейнерный компонент", - "info": "Контейнерный компонент для размещения одного дочернего компонента. Интегрирует несколько функций для одного дочернего компонента, таких как внутренние и внешние отступы, трансформации, декорации, ограничения и т.д...", - "lever": 5, - "family": 0, - "linkIds": [ - 74, - 85, - 80, - 78, - 70, - 123 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Может использоваться для отображения области с заданной шириной и высотой", - "desc": [ - "【width】 : Ширина 【int】", - "【height】: Высота 【int】", - "【color】: Цвет 【Color】" - ] - }, - { - "file": "node2_child.dart", - "name": "Можно поместить один дочерний компонент в область", - "desc": [ - "【padding】 : Внутренние отступы 【EdgeInsetsGeometry】", - "【margin】: Внешние отступы 【EdgeInsetsGeometry】", - "【child】: Дочерний компонент 【Widget】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "Можно выровнять и позиционировать дочерний компонент", - "desc": [ - "【alignment】 : Выравнивание и позиционирование 【AlignmentGeometry】" - ] - }, - { - "file": "node4_decoration.dart", - "name": "Можно украсить дочерний компонент", - "desc": [ - "【decoration】 : Декорация 【Decoration】", - "Можно украсить: границы, скругления, цвет, градиент, тени, изображения и т.д." - ] - }, - { - "file": "node5_transform.dart", - "name": "Container также обладает трансформационными свойствами", - "desc": [ - "【transform】 : Матрица трансформации 【Matrix4】", - "Матричные преобразования на основе Matrix4, подробности см. в линейной алгебре" - ] - }, - { - "file": "node6_constraints.dart", - "name": "Ограничения Container", - "desc": [ - "【constraints】 : Ограничения 【BoxConstraints】", - "Ограничивает размер области, не позволяя ей быть меньше указанной минимальной ширины и высоты, а также больше указанной максимальной ширины и высоты." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_zh-CN.json deleted file mode 100644 index cb27642aa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/desc_zh-CN.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": 1, - "name": "Container", - "localName": "容器组件", - "info": "用于容纳单个子组件的容器组件。集成了若干个单子组件的功能,如内外边距、形变、装饰、约束等...", - "lever": 5, - "family": 0, - "linkIds": [ - 74, - 85, - 80, - 78, - 70, - 123 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "可用于显示一个指定宽高的区域", - "desc": [ - "【width】 : 宽 【int】", - "【height】: 高 【int】", - "【color】: 颜色 【Color】" - ] - }, - { - "file": "node2_child.dart", - "name": "可以在区域中放入一个子组件", - "desc": [ - "【padding】 : 内边距 【EdgeInsetsGeometry】", - "【margin】: 外边距 【EdgeInsetsGeometry】", - "【child】: 子组件 【Widget】" - ] - }, - { - "file": "node3_alignment.dart", - "name": "可对子组件进行对齐定位", - "desc": [ - "【alignment】 : 对齐定位 【AlignmentGeometry】" - ] - }, - { - "file": "node4_decoration.dart", - "name": "可对子组件进行装饰", - "desc": [ - "【decoration】 : 装饰 【Decoration】", - "可装饰: 边线、圆弧、颜色、渐变色、阴影、图片等内容" - ] - }, - { - "file": "node5_transform.dart", - "name": "Container还具有变换性", - "desc": [ - "【transform】 : 变换矩阵 【Matrix4】", - "基于Matrix4的矩阵变换,变换详情见线性代数" - ] - }, - { - "file": "node6_constraints.dart", - "name": "Container的约束性", - "desc": [ - "【constraints】 : 约束 【BoxConstraints】", - "会约束该区域的尺寸,不会小于指定的最小宽高,也不会大于指定的最大宽高。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Container/node1_base.dart deleted file mode 100644 index b4cb2c7ff..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/node1_base.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -class CustomContainer extends StatelessWidget { - const CustomContainer({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.topLeft, - width: 200, - height: 200 * 0.618, - color: Colors.red.withAlpha(88), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/node2_child.dart b/modules/widget_system/widgets/lib/StatelessWidget/Container/node2_child.dart deleted file mode 100644 index 592513f39..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/node2_child.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -class ContainerWithChild extends StatelessWidget { - const ContainerWithChild({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.topLeft, - padding: const EdgeInsets.all(20), - margin: const EdgeInsets.all(10), - width: 200, - height: 200 * 0.618, - color: Colors.grey.withAlpha(88), - child: const Icon(Icons.android), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/node3_alignment.dart b/modules/widget_system/widgets/lib/StatelessWidget/Container/node3_alignment.dart deleted file mode 100644 index 069ed3c88..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/node3_alignment.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -class ContainerAlignment extends StatelessWidget { - const ContainerAlignment({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.bottomRight, - width: 200, - height: 200 * 0.618, - color: Colors.grey.withAlpha(88), - child: const Icon( - Icons.android, - color: Colors.green, - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/node4_decoration.dart b/modules/widget_system/widgets/lib/StatelessWidget/Container/node4_decoration.dart deleted file mode 100644 index 7d35f39ce..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/node4_decoration.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -class ContainerDecoration extends StatelessWidget { - const ContainerDecoration({super.key}); - - List get rainbow => [ - 0xffff0000, - 0xffFF7F00, - 0xffFFFF00, - 0xff00FF00, - 0xff00FFFF, - 0xff0000FF, - 0xff8B00FF - ]; - - List get stops => [0.0, 1 / 6, 2 / 6, 3 / 6, 4 / 6, 5 / 6, 1.0]; - - @override - Widget build(BuildContext context) { - - return Container( - alignment: Alignment.center, - width: 200, - height: 200 * 0.618, - margin: const EdgeInsets.all(20), - padding: const EdgeInsets.all(20), - decoration: BoxDecoration(//添加渐变色 - gradient: LinearGradient( - stops: stops, - colors: rainbow.map((e) => Color(e)).toList()), - borderRadius: const BorderRadius.only( - topLeft: Radius.circular(50), - bottomRight: Radius.circular(50)), - boxShadow: const [ - BoxShadow( - color: Colors.grey, - offset: Offset(1, 1), - blurRadius: 10, - spreadRadius: 1), - ]), - child: const Text( - "Container", - style: TextStyle(fontSize: 20), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/node5_transform.dart b/modules/widget_system/widgets/lib/StatelessWidget/Container/node5_transform.dart deleted file mode 100644 index f2598d30d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/node5_transform.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -class ContainerTransform extends StatelessWidget { - const ContainerTransform({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.center, - color: Colors.cyanAccent, - width: 150, - height: 150 * 0.618, - transform: Matrix4.skew(-pi / 10, 0), - child: const Text( - "Container", - style: TextStyle(fontSize: 20), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Container/node6_constraints.dart b/modules/widget_system/widgets/lib/StatelessWidget/Container/node6_constraints.dart deleted file mode 100644 index c67937c16..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Container/node6_constraints.dart +++ /dev/null @@ -1,23 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - -class ContainerConstraints extends StatelessWidget { - const ContainerConstraints({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue, - width: 200, - height: 200 * 0.618, - constraints: const BoxConstraints( - minWidth: 100, - maxWidth: 150, - minHeight: 20, - maxHeight: 100, - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_de_DE.json deleted file mode 100644 index 65402c8dd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 131, - "name": "CupertinoActionSheet", - "localName": "iOS-Aktionsblatt", - "info": "Ein iOS-stiliges Popup-Auswahlmenü, das mehrere Schaltflächen enthalten kann und normalerweise mit CupertinoActionSheetAction verwendet wird.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoActionSheet", - "desc": [ - "【title】 : Erstes Zeilenelement 【Widget】", - "【message】 : Zweites Zeilenelement 【Widget】", - "【cancelButton】 : Abbrechen-Schaltflächenelement 【Widget】", - "【actions】 : Liste der mittleren Elemente 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_en_US.json deleted file mode 100644 index 26edfc6cb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 131, - "name": "CupertinoActionSheet", - "localName": "iOS Action Sheet", - "info": "A pop-up selection structure in iOS style that can hold multiple buttons, generally used in conjunction with CupertinoActionSheetAction.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoActionSheet", - "desc": [ - "【title】: First row component 【Widget】", - "【message】: Second row component 【Widget】", - "【cancelButton】: Component at the cancel button 【Widget】", - "【actions】: List of middle components 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_es_ES.json deleted file mode 100644 index 58157eace..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 131, - "name": "CupertinoActionSheet", - "localName": "Hoja de acciones de iOS", - "info": "Estructura de selección emergente al estilo de iOS, que puede contener múltiples botones, generalmente se usa junto con CupertinoActionSheetAction.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoActionSheet", - "desc": [ - "【title】 : Componente de la primera línea 【Widget】", - "【message】 : Componente de la segunda línea 【Widget】", - "【cancelButton】 : Componente del botón de cancelar 【Widget】", - "【actions】 : Lista de componentes intermedios 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_fr_FR.json deleted file mode 100644 index 049a82aa5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 131, - "name": "CupertinoActionSheet", - "localName": "Feuille d'action iOS", - "info": "Une structure de sélection contextuelle de style iOS, pouvant contenir plusieurs boutons, généralement utilisée avec CupertinoActionSheetAction.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoActionSheet", - "desc": [ - "【title】 : Composant de la première ligne 【Widget】", - "【message】 : Composant de la deuxième ligne 【Widget】", - "【cancelButton】 : Composant du bouton d'annulation 【Widget】", - "【actions】 : Liste des composants du milieu 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_it_IT.json deleted file mode 100644 index 80b958601..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 131, - "name": "CupertinoActionSheet", - "localName": "Foglio di azione iOS", - "info": "Struttura di selezione pop-up in stile iOS, può contenere molti pulsanti, generalmente utilizzato insieme a CupertinoActionSheetAction.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoActionSheet", - "desc": [ - "【title】 : Componente della prima riga 【Widget】", - "【message】 : Componente della seconda riga 【Widget】", - "【cancelButton】 : Componente del pulsante di annullamento 【Widget】", - "【actions】 : Lista dei componenti centrali 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_ja_JP.json deleted file mode 100644 index 79b13d240..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 131, - "name": "CupertinoActionSheet", - "localName": "iOSアクションシート", - "info": "iOSスタイルのポップアップ選択構造で、多くのボタンを配置でき、通常はCupertinoActionSheetActionと併用されます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActionSheetの基本的な使用", - "desc": [ - "【title】 : 最初の行のコンポーネント 【Widget】", - "【message】 : 2行目のコンポーネント 【Widget】", - "【cancelButton】 : キャンセルボタンのコンポーネント 【Widget】", - "【actions】 : 中間のコンポーネントリスト 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_ko_KR.json deleted file mode 100644 index ee43433d6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 131, - "name": "CupertinoActionSheet", - "localName": "iOS 행동 시트", - "info": "iOS 스타일의 팝업 선택 구조로, 여러 버튼을 넣을 수 있으며 일반적으로 CupertinoActionSheetAction과 함께 사용됩니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActionSheet 기본 사용", - "desc": [ - "【title】 : 첫 번째 줄 컴포넌트 【Widget】", - "【message】 : 두 번째 줄 컴포넌트 【Widget】", - "【cancelButton】 : 취소 버튼 컴포넌트 【Widget】", - "【actions】 : 중간 컴포넌트 목록 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_pt_PT.json deleted file mode 100644 index 8b648e9c2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 131, - "name": "CupertinoActionSheet", - "localName": "Folha de Ação iOS", - "info": "Estrutura de seleção pop-up no estilo iOS, que pode conter vários botões, geralmente usada em conjunto com CupertinoActionSheetAction.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoActionSheet", - "desc": [ - "【title】 : Componente da primeira linha 【Widget】", - "【message】 : Componente da segunda linha 【Widget】", - "【cancelButton】 : Componente do botão de cancelamento 【Widget】", - "【actions】 : Lista de componentes do meio 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_ru_RU.json deleted file mode 100644 index 9c74cbe5f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 131, - "name": "CupertinoActionSheet", - "localName": "iOS лист действий", - "info": "Всплывающая структура выбора в стиле iOS, которая может содержать несколько кнопок, обычно используется вместе с CupertinoActionSheetAction.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoActionSheet", - "desc": [ - "【title】 : Компонент первой строки 【Widget】", - "【message】 : Компонент второй строки 【Widget】", - "【cancelButton】 : Компонент кнопки отмены 【Widget】", - "【actions】 : Список компонентов в середине 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_zh-CN.json deleted file mode 100644 index c716d2990..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 131, - "name": "CupertinoActionSheet", - "localName": "iOS行为单", - "info": "iOS风格的弹出选择结构,可放多的按钮,一般与CupertinoActionSheetAction联用。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActionSheet基本使用", - "desc": [ - "【title】 : 第一行组件 【Widget】", - "【message】 : 第二行组件 【Widget】", - "【cancelButton】 : 取消按钮处组件 【Widget】", - "【actions】 : 中间组件列表 【List】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/node1_base.dart deleted file mode 100644 index e7c1c58fc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheet/node1_base.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoActionSheet extends StatelessWidget { - const CustomCupertinoActionSheet({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - _buildRaisedButton(context), - _buildCupertinoActionSheet(context), - ], - ); - } - - Widget _buildCupertinoActionSheet(BuildContext context) => - Container( - alignment: Alignment.bottomCenter, - child: CupertinoActionSheet( - title: const Text("Please chose a language"), - message: const Text('the language you use in this application.'), - cancelButton: CupertinoActionSheetAction( - onPressed: () => Navigator.pop(context), child: const Text("Cancel")), - actions: [ - CupertinoActionSheetAction( - onPressed: () => Navigator.pop(context), - child: const Text('Dart')), - CupertinoActionSheetAction( - onPressed: () => Navigator.pop(context), - child: const Text('Java')), - CupertinoActionSheetAction( - onPressed: () => Navigator.pop(context), - child: const Text('Kotlin')), - ], - ), - ); - - Widget _buildRaisedButton(BuildContext context) => ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10)), - ), - ), - onPressed: () => showDialog( - context: context, - builder: (ctx) => _buildCupertinoActionSheet(context)), - child: const Text( - 'Just Show It !', - style: TextStyle(color: Colors.white), - ), - ); -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_de_DE.json deleted file mode 100644 index 804e501d5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 132, - "name": "CupertinoActionSheetAction", - "localName": "iOS-Aktionsblatt-Schaltfläche", - "info": "Eine Schaltfläche, die selten verwendet wird und normalerweise in CupertinoActionSheet verwendet wird, um Klickereignisse zu empfangen.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoActionSheetAction", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【isDefaultAction】 : Standardmäßig ausgewählt 【bool】", - "【onPressed】 : Klickereignis 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_en_US.json deleted file mode 100644 index 022777a4b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 132, - "name": "CupertinoActionSheetAction", - "localName": "iOS Action Sheet Button", - "info": "A button with limited use cases, typically used in CupertinoActionSheet to receive click events.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoActionSheetAction", - "desc": [ - "【child】: Child widget 【Widget】", - "【isDefaultAction】: Whether it is the default action 【bool】", - "【onPressed】: Click event 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_es_ES.json deleted file mode 100644 index d5cef1aa3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 132, - "name": "CupertinoActionSheetAction", - "localName": "Botón de hoja de acción de iOS", - "info": "Un botón con pocos escenarios de aplicación, generalmente utilizado en CupertinoActionSheet, que recibe eventos de clic.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoActionSheetAction", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【isDefaultAction】 : Si está seleccionado por defecto 【bool】", - "【onPressed】 : Evento de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_fr_FR.json deleted file mode 100644 index a0f631bb0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 132, - "name": "CupertinoActionSheetAction", - "localName": "Bouton iOS Action Sheet", - "info": "Un bouton, rarement utilisé, généralement utilisé dans CupertinoActionSheet, qui reçoit les événements de clic.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoActionSheetAction", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【isDefaultAction】 : Est-ce l'action par défaut 【bool】", - "【onPressed】 : Événement de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_it_IT.json deleted file mode 100644 index 521cf337d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 132, - "name": "CupertinoActionSheetAction", - "localName": "Pulsante iOS Action Sheet", - "info": "Un pulsante, utilizzato raramente, solitamente all'interno di CupertinoActionSheet, che riceve eventi di clic.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoActionSheetAction", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【isDefaultAction】 : Selezionato per impostazione predefinita 【bool】", - "【onPressed】 : Evento di clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_ja_JP.json deleted file mode 100644 index 1637d285c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 132, - "name": "CupertinoActionSheetAction", - "localName": "iOSアクションシートボタン", - "info": "ボタンで、使用シーンが少なく、通常はCupertinoActionSheetで使用され、クリックイベントを受け取ります。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActionSheetActionの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【isDefaultAction】 : デフォルトで選択されているかどうか 【bool】", - "【onPressed】 : クリックイベント 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_ko_KR.json deleted file mode 100644 index 07806fb68..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 132, - "name": "CupertinoActionSheetAction", - "localName": "iOS 액션 시트 버튼", - "info": "버튼으로, 사용되는 경우가 드물며 주로 CupertinoActionSheet에서 사용되며 클릭 이벤트를 수신합니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActionSheetAction 기본 사용법", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【isDefaultAction】 : 기본 선택 여부 【bool】", - "【onPressed】 : 클릭 이벤트 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_pt_PT.json deleted file mode 100644 index 14acf26b8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 132, - "name": "CupertinoActionSheetAction", - "localName": "Botão de ação iOS", - "info": "Um botão, usado raramente, normalmente usado em CupertinoActionSheet, que recebe eventos de clique.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do CupertinoActionSheetAction", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【isDefaultAction】 : Se selecionado por padrão 【bool】", - "【onPressed】 : Evento de clique 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_ru_RU.json deleted file mode 100644 index 67f4b00b4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 132, - "name": "CupertinoActionSheetAction", - "localName": "Кнопка iOS Action Sheet", - "info": "Кнопка, которая редко используется, обычно применяется в CupertinoActionSheet, принимает события нажатия.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoActionSheetAction", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【isDefaultAction】 : Выбрано по умолчанию 【bool】", - "【onPressed】 : Событие нажатия 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_zh-CN.json deleted file mode 100644 index 1cbe10e8b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 132, - "name": "CupertinoActionSheetAction", - "localName": "iOS行为单按键", - "info": "一个按钮,应用场景很少,通常用于CupertinoActionSheet中,接收点击事件。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActionSheetAction基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【isDefaultAction】 : 是否默认选中 【bool】", - "【onPressed】 : 点击事件 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/node1_base.dart deleted file mode 100644 index 73053e521..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoActionSheetAction/node1_base.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:widgets/utils/dialog_about.dart'; - - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomCupertinoActionSheetAction extends StatelessWidget { - const CustomCupertinoActionSheetAction({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Container( - margin: const EdgeInsets.all(5), - color: Colors.grey.withAlpha(33), - child: CupertinoActionSheetAction( - isDefaultAction: true, - onPressed: () => DialogAbout.show(context), - child: const Text('张风捷特烈')), - ), - Container( - color: Colors.grey.withAlpha(33), - margin: const EdgeInsets.all(5), - child: CupertinoActionSheetAction( - isDefaultAction: false, - onPressed: () => DialogAbout.show(context), - child: const Text('百里·巫缨')), - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_de_DE.json deleted file mode 100644 index c1f1085a0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 129, - "name": "CupertinoAlertDialog", - "localName": "iOS-Dialog", - "info": "Ein universelles Dialogfeld im iOS-Stil, das Komponenten für Kopf, Mitte und Ende angeben kann.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoActionSheetAction", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【isDefaultAction】 : Standardmäßig ausgewählt 【bool】", - "【onPressed】 : Klickereignis 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_en_US.json deleted file mode 100644 index 69536a55c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 129, - "name": "CupertinoAlertDialog", - "localName": "iOS Dialog", - "info": "A general dialog structure in iOS style, which can specify components at the head, middle, and tail.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoActionSheetAction", - "desc": [ - "【child】 : Child component 【Widget】", - "【isDefaultAction】 : Whether it is selected by default 【bool】", - "【onPressed】 : Click event 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_es_ES.json deleted file mode 100644 index 5c240104d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 129, - "name": "CupertinoAlertDialog", - "localName": "Cuadro de diálogo de iOS", - "info": "Estructura de cuadro de diálogo genérico al estilo de iOS, que permite especificar componentes en la parte superior, media e inferior.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoActionSheetAction", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【isDefaultAction】 : Si está seleccionado por defecto 【bool】", - "【onPressed】 : Evento de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_fr_FR.json deleted file mode 100644 index db43bdf75..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 129, - "name": "CupertinoAlertDialog", - "localName": "Boîte de dialogue iOS", - "info": "Structure de boîte de dialogue générique de style iOS, permettant de spécifier des composants dans les sections d'en-tête, de corps et de pied.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoActionSheetAction", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【isDefaultAction】 : Est-ce que c'est l'action par défaut 【bool】", - "【onPressed】 : Événement de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_it_IT.json deleted file mode 100644 index 989b952ca..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 129, - "name": "CupertinoAlertDialog", - "localName": "Finestra di dialogo iOS", - "info": "Struttura di dialogo generica in stile iOS, che consente di specificare i componenti nella parte superiore, centrale e inferiore.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoActionSheetAction", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【isDefaultAction】 : Selezionato per impostazione predefinita 【bool】", - "【onPressed】 : Evento di clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_ja_JP.json deleted file mode 100644 index d9c5d2d75..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 129, - "name": "CupertinoAlertDialog", - "localName": "iOSダイアログ", - "info": "iOSスタイルの汎用ダイアログ構造で、ヘッダー、中央、フッターのコンポーネントを指定できます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActionSheetActionの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【isDefaultAction】 : デフォルトで選択されているかどうか 【bool】", - "【onPressed】 : クリックイベント 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_ko_KR.json deleted file mode 100644 index 0b82317cd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 129, - "name": "CupertinoAlertDialog", - "localName": "iOS 대화 상자", - "info": "iOS 스타일의 일반적인 대화 상자 구조로, 머리, 중간, 꼬리 부분의 컴포넌트를 지정할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActionSheetAction 기본 사용", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【isDefaultAction】 : 기본 선택 여부 【bool】", - "【onPressed】 : 클릭 이벤트 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_pt_PT.json deleted file mode 100644 index 72870d68d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 129, - "name": "CupertinoAlertDialog", - "localName": "Diálogo iOS", - "info": "Estrutura de diálogo genérica no estilo iOS, que permite especificar componentes no cabeçalho, corpo e rodapé.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoActionSheetAction", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【isDefaultAction】 : Selecionado por padrão 【bool】", - "【onPressed】 : Evento de clique 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_ru_RU.json deleted file mode 100644 index 83a1cb23b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 129, - "name": "CupertinoAlertDialog", - "localName": "Диалоговое окно iOS", - "info": "Универсальная структура диалогового окна в стиле iOS, позволяющая указать компоненты в верхней, средней и нижней частях.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoActionSheetAction", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【isDefaultAction】 : Выбрано ли по умолчанию 【bool】", - "【onPressed】 : Событие нажатия 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_zh-CN.json deleted file mode 100644 index 8e5764718..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 129, - "name": "CupertinoAlertDialog", - "localName": "iOS对话框", - "info": "iOS风格的通用的对话框结构,可指定头、中、尾处的组件。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoActionSheetAction基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【isDefaultAction】 : 是否默认选中 【bool】", - "【onPressed】 : 点击事件 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/node1_base.dart deleted file mode 100644 index 2c4a6fc62..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoAlertDialog/node1_base.dart +++ /dev/null @@ -1,94 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -class CustomCupertinoAlertDialog extends StatelessWidget { - const CustomCupertinoAlertDialog({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildRaisedButton(context), - _buildCupertinoAlertDialog(context), - ], - ); - } - - Widget _buildRaisedButton(BuildContext context) => - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10)), - ), - ), - onPressed: () { - showDialog( - context: context, - builder: (ctx) => _buildCupertinoAlertDialog(context)); - }, - child: const Text( - 'Just Show It !', - style: TextStyle(color: Colors.white), - ), - ); - - Widget _buildCupertinoAlertDialog(BuildContext context) { - return Material( - color: Colors.transparent, - child: CupertinoAlertDialog( - title: _buildTitle(context), - content: _buildContent(), - actions: [ - CupertinoButton( - child: const Text("Yes, Delete"), - onPressed: () => Navigator.pop(context), - ), - CupertinoButton( - child: const Text("Cancle"), - onPressed: () => Navigator.pop(context), - ), - ]), - ); - } - - Widget _buildTitle(context) { - return Row( - //标题 - children: [ - const Icon( - CupertinoIcons.delete_solid, - color: Colors.red, - ), - const Expanded( - child: Text( - 'Delete File', - style: TextStyle(color: Colors.red, fontSize: 20), - )), - InkWell( - child: const Icon(CupertinoIcons.clear_thick), - onTap: () => Navigator.pop(context), - ) - ]); - } - - Widget _buildContent() { - return Padding( - padding: const EdgeInsets.only(top: 18.0), - child: Column( - children: const[ - Text( - ' Hi toly! If you push the conform buttom ,' - ' You will lose this file. Are you sure wand to do that?', - style: TextStyle(color: Color(0xff999999), fontSize: 16), - textAlign: TextAlign.justify, - ), - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_de_DE.json deleted file mode 100644 index ec6a67397..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 352, - "name": "CupertinoDialogAction", - "localName": "Interaktive Ansicht", - "info": "Ein einfacher Button, der normalerweise in CupertinoAlertDialog verwendet wird und im Allgemeinen nicht allein verwendet wird.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von CupertinoDialogAction", - "desc": [ - "【isDefaultAction】 : Ist es die Standardaktion? 【bool】", - "【isDestructiveAction】 : Ist es eine zerstörerische Aktion? 【bool】", - "【textStyle】: Textstil 【TextStyle】", - "【onPressed】: Klickereignis 【VoidCallback】", - "【child】: Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_en_US.json deleted file mode 100644 index 9f7bad2ba..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 352, - "name": "CupertinoDialogAction", - "localName": "Interactive View", - "info": "A simple button, usually used in CupertinoAlertDialog, and generally not used alone.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of CupertinoDialogAction", - "desc": [ - "【isDefaultAction】: Whether it is a default action 【bool】", - "【isDestructiveAction】: Whether it is a destructive action 【bool】", - "【textStyle】: Text style 【TextStyle】", - "【onPressed】: Click event 【VoidCallback】", - "【child】: Child widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_es_ES.json deleted file mode 100644 index 26e29ae5a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 352, - "name": "CupertinoDialogAction", - "localName": "Vista de interacción", - "info": "Un botón simple, generalmente utilizado en CupertinoAlertDialog, generalmente no se usa solo.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de CupertinoDialogAction", - "desc": [ - "【isDefaultAction】: ¿Es una acción predeterminada? 【bool】", - "【isDestructiveAction】: ¿Es una acción destructiva? 【bool】", - "【textStyle】: Estilo de texto 【TextStyle】", - "【onPressed】: Evento de clic 【VoidCallback】", - "【child】: Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_fr_FR.json deleted file mode 100644 index d053bb52d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 352, - "name": "CupertinoDialogAction", - "localName": "Vue d'interaction", - "info": "Un bouton simple, généralement utilisé dans CupertinoAlertDialog, généralement pas utilisé seul.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de CupertinoDialogAction", - "desc": [ - "【isDefaultAction】 : Est-ce une action par défaut 【bool】", - "【isDestructiveAction】 : Est-ce une action destructive 【bool】", - "【textStyle】: Style de texte 【TextStyle】", - "【onPressed】: Événement de clic 【VoidCallback】", - "【child】: Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_it_IT.json deleted file mode 100644 index aeb2063c8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 352, - "name": "CupertinoDialogAction", - "localName": "Vista interattiva", - "info": "Un semplice pulsante, solitamente utilizzato in CupertinoAlertDialog, generalmente non utilizzato da solo.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di CupertinoDialogAction", - "desc": [ - "【isDefaultAction】 : Se è un'operazione predefinita 【bool】", - "【isDestructiveAction】 : Se è un'operazione distruttiva 【bool】", - "【textStyle】: Stile del testo 【TextStyle】", - "【onPressed】: Evento di clic 【VoidCallback】", - "【child】: Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_ja_JP.json deleted file mode 100644 index fe4126ca6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 352, - "name": "CupertinoDialogAction", - "localName": "インタラクティブビュー", - "info": "シンプルなボタンで、通常はCupertinoAlertDialogで使用され、単独で使用されることはあまりありません。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoDialogActionの基本的な使用", - "desc": [ - "【isDefaultAction】 : デフォルトの操作かどうか 【bool】", - "【isDestructiveAction】 : 破壊的な操作かどうか 【bool】", - "【textStyle】: テキストスタイル 【TextStyle】", - "【onPressed】: クリックイベント 【VoidCallback】", - "【child】: 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_ko_KR.json deleted file mode 100644 index 103cd0011..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 352, - "name": "CupertinoDialogAction", - "localName": "상호 작용 뷰", - "info": " 간단한 버튼으로, 일반적으로 CupertinoAlertDialog에서 사용되며, 일반적으로 단독으로 사용되지 않습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoDialogAction 기본 사용", - "desc": [ - "【isDefaultAction】 : 기본 작업인지 여부 【bool】", - "【isDestructiveAction】 : 파괴적인 작업인지 여부 【bool】", - "【textStyle】: 텍스트 스타일 【TextStyle】", - "【onPressed】: 클릭 이벤트 【VoidCallback】", - "【child】: 자식 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_pt_PT.json deleted file mode 100644 index 51d9d1613..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 352, - "name": "CupertinoDialogAction", - "localName": "Vista Interativa", - "info": "Um botão simples, geralmente usado em CupertinoAlertDialog, geralmente não é usado sozinho.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do CupertinoDialogAction", - "desc": [ - "【isDefaultAction】 : Se é uma ação padrão 【bool】", - "【isDestructiveAction】 : Se é uma ação destrutiva 【bool】", - "【textStyle】: Estilo de texto 【TextStyle】", - "【onPressed】: Evento de clique 【VoidCallback】", - "【child】: Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_ru_RU.json deleted file mode 100644 index 920dca0de..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 352, - "name": "CupertinoDialogAction", - "localName": "Интерактивное представление", - "info": "Простая кнопка, обычно используется в CupertinoAlertDialog, как правило, не используется отдельно.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование CupertinoDialogAction", - "desc": [ - "【isDefaultAction】: Является ли действие по умолчанию 【bool】", - "【isDestructiveAction】: Является ли действие разрушительным 【bool】", - "【textStyle】: Стиль текста 【TextStyle】", - "【onPressed】: Событие нажатия 【VoidCallback】", - "【child】: Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_zh-CN.json deleted file mode 100644 index 246eacf32..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 352, - "name": "CupertinoDialogAction", - "localName": "交互视图", - "info": " 一个简单的按钮,通常用于CupertinoAlertDialog中,一般不单独使用。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoDialogAction基本使用", - "desc": [ - "【isDefaultAction】 : 是否是默认性操作 【bool】", - "【isDestructiveAction】 : 是否是毁灭性操作 【bool】", - "【textStyle】: 文字样式 【TextStyle】", - "【onPressed】: 点击事件 【VoidCallback】", - "【child】: 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/no_node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/no_node1_base.dart deleted file mode 100644 index 8e0f866e3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/no_node1_base.dart +++ /dev/null @@ -1,130 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com -/// 说明: - -class CustomDialog extends StatelessWidget { - const CustomDialog({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildRaisedButton(context), - _buildDialog(), - ], - ); - } - - Widget _buildDialog() => CupertinoDialogAction( - onPressed: (){ - - }, - child: const SizedBox( - width: 50, - child: DeleteDialog(), - ), - ); - - Widget _buildRaisedButton(BuildContext context) => ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10)), - ), - ), - onPressed: () { - showDialog(context: context, builder: (ctx) => _buildDialog()); - }, - child: const Text( - 'Just Show It !', - style: TextStyle(color: Colors.white), - ), - - ); -} - -class DeleteDialog extends StatelessWidget { - const DeleteDialog({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - _buildBar(context), - _buildTitle(), - _buildContent(), - _buildFooter(context), - ], - ); - } - - Widget _buildTitle() { - return const Text( - 'Delete Doucument', - style: TextStyle(color: Color(0xff5CC5E9), fontSize: 24), - ); - } - - Widget _buildContent() { - return const Padding( - padding: EdgeInsets.all(10.0), - child: Text( - ' Hi toly! If you push the conform buttom ,' - ' You will lose this file. Are you sure wand to do that?', - style: TextStyle(color: Color(0xffCFCFCF), fontSize: 16), - textAlign: TextAlign.justify, - ), - ); - } - - Widget _buildFooter(context) { - return Padding( - padding: const EdgeInsets.only(bottom: 15.0, top: 10), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Container( - alignment: Alignment.center, - height: 40, - width: 120, - decoration: const BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(30)), - color: Color(0xff73D1EE)), - child: const Text('Yes, Delete', - style: TextStyle(color: Colors.white, fontSize: 16)), - ), - InkWell( - onTap: ()=>Navigator.of(context).pop(), - child: Container( - alignment: Alignment.center, - height: 40, - width: 120, - decoration: const BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(30)), - color: Colors.orangeAccent), - child: const Text('Cancle', - style: TextStyle(color: Colors.white, fontSize: 16)), - ), - ) - ], - ), - ); - } - - _buildBar(context) => Container( - height: 30, - alignment: Alignment.centerRight, - margin: const EdgeInsets.only(right: 10, top: 5), - child: InkWell( - onTap: ()=>Navigator.of(context).pop(), - child: const Icon( - Icons.close, - color: Color(0xff82CAE3), - ), - ), - ); -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/node1_base.dart deleted file mode 100644 index 2f6e6c1b3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoDialogAction/node1_base.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - -class CupertinoDialogActionDemo extends StatelessWidget { - const CupertinoDialogActionDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - CupertinoDialogAction( - isDestructiveAction: false, - onPressed: () => _toast(context), - child: const Text('CupertinoDialogAction'), - ), - CupertinoDialogAction( - isDestructiveAction: true, - onPressed: () => _toast(context), - child: const Text('CupertinoDialogAction'), - ), - ], - ); - } - - void _toast(BuildContext context) { - SnackBar snackBar = SnackBar( - backgroundColor: Theme.of(context).primaryColor, - content: const Text('CupertinoDialogAction'), - ); - - ScaffoldMessenger.of(context).showSnackBar(snackBar); - - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_de_DE.json deleted file mode 100644 index 3dcd6104b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 219, - "name": "CupertinoFullscreenDialogTransition", - "localName": "Vollbild-Dialog-Übergang", - "info": "Erstellt einen iOS-stilisierten Übergang für das Aufrufen eines Vollbild-Dialogs.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Komponenteneinführung", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【linearTransition】 : Lineare Übergang 【bool】", - "【primaryRouteAnimation】 : Anfängliche Routenanimation 【Animation】", - "【secondaryRouteAnimation】 : Zweite Routenanimation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_en_US.json deleted file mode 100644 index fd77e8308..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 219, - "name": "CupertinoFullscreenDialogTransition", - "localName": "Full Page Transition", - "info": "Create an iOS-style transition for invoking a full-screen dialog.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Component Introduction", - "desc": [ - "【child】 : Child component 【Widget】", - "【linearTransition】 : Whether to use linear transition 【bool】", - "【primaryRouteAnimation】 : Initial route animation 【Animation】", - "【secondaryRouteAnimation】 : Secondary route animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_es_ES.json deleted file mode 100644 index 9683edf08..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 219, - "name": "CupertinoFullscreenDialogTransition", - "localName": "Transición de diálogo de pantalla completa", - "info": "Crea una transición al estilo de iOS para invocar un diálogo de pantalla completa.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción del componente", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【linearTransition】 : ¿Transición lineal? 【bool】", - "【primaryRouteAnimation】 : Animación de ruta inicial 【Animation】", - "【secondaryRouteAnimation】 : Animación de ruta secundaria 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_fr_FR.json deleted file mode 100644 index 1cb272101..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 219, - "name": "CupertinoFullscreenDialogTransition", - "localName": "Transition de dialogue plein écran", - "info": "Crée une transition de style iOS pour afficher une boîte de dialogue en plein écran.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction du composant", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【linearTransition】 : Transition linéaire 【bool】", - "【primaryRouteAnimation】 : Animation de route initiale 【Animation】", - "【secondaryRouteAnimation】 : Animation de route secondaire 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_it_IT.json deleted file mode 100644 index a0040840e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 219, - "name": "CupertinoFullscreenDialogTransition", - "localName": "Transizione a schermo intero", - "info": "Crea una transizione in stile iOS per richiamare una finestra di dialogo a schermo intero.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione al componente", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【linearTransition】 : Transizione lineare 【bool】", - "【primaryRouteAnimation】 : Animazione della rotta iniziale 【Animation】", - "【secondaryRouteAnimation】 : Animazione della seconda rotta 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_ja_JP.json deleted file mode 100644 index e74986fbf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 219, - "name": "CupertinoFullscreenDialogTransition", - "localName": "全ページ遷移変換", - "info": "iOSスタイルの全画面ダイアログを呼び出すための遷移を作成します。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "コンポーネント紹介", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【linearTransition】 : 線形変換かどうか 【bool】", - "【primaryRouteAnimation】 : 初期ルートアニメーション 【Animation】", - "【secondaryRouteAnimation】 : 第二ルートアニメーション 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_ko_KR.json deleted file mode 100644 index becc2777c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 219, - "name": "CupertinoFullscreenDialogTransition", - "localName": "전체 페이지 전환", - "info": "전체 화면 대화 상자를 불러오기 위한 iOS 스타일의 전환을 생성합니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "컴포넌트 소개", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【linearTransition】 : 선형 전환 여부 【bool】", - "【primaryRouteAnimation】 : 초기 라우트 애니메이션 【Animation】", - "【secondaryRouteAnimation】 : 두 번째 라우트 애니메이션 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_pt_PT.json deleted file mode 100644 index 9d275362f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 219, - "name": "CupertinoFullscreenDialogTransition", - "localName": "Transição de Diálogo em Tela Cheia", - "info": "Cria uma transição no estilo iOS para exibir um diálogo em tela cheia.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao Componente", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【linearTransition】 : Transição linear 【bool】", - "【primaryRouteAnimation】 : Animação de rota inicial 【Animation】", - "【secondaryRouteAnimation】 : Animação de rota secundária 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_ru_RU.json deleted file mode 100644 index 3d0cd07ea..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 219, - "name": "CupertinoFullscreenDialogTransition", - "localName": "Переход на полный экран", - "info": "Создает переход в стиле iOS для вызова диалогового окна на весь экран.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в компонент", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【linearTransition】 : Линейный переход 【bool】", - "【primaryRouteAnimation】 : Анимация начального маршрута 【Animation】", - "【secondaryRouteAnimation】 : Анимация второго маршрута 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_zh-CN.json deleted file mode 100644 index ab421eed5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 219, - "name": "CupertinoFullscreenDialogTransition", - "localName": "全页面过渡变换", - "info": "创建一个 iOS 风格的转换,用于唤出全屏对话框。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "组件介绍", - "desc": [ - "【child】 : 子组件 【Widget】", - "【linearTransition】 : 是否线性转换 【bool】", - "【primaryRouteAnimation】 : 初始路由动画 【Animation】", - "【secondaryRouteAnimation】 : 第二路由动画 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/node1_base.dart deleted file mode 100644 index 94a27961d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoFullscreenDialogTransition/node1_base.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/11 -/// contact me by email 1981462002@qq.com -/// - - -class CupertinoFullscreenDialogTransitionDemo extends StatelessWidget { - const CupertinoFullscreenDialogTransitionDemo({Key? key}) : super(key: key); - - final String info = - '和 CupertinoPageTransition 一样,该组件底层基于 SlideTransition 组件实现,' - '主要用途是模仿 iOS 风格,用于唤出全屏对话框动画过渡效果。' - '源码中唯一的使用处是 CupertinoPageRoute 处理路由跳转动画时,一般不会单独使用。' - '当【route.fullscreenDialog】为 true 时,会使用 CupertinoFullscreenDialogTransition 组件,否则使用 CupertinoPageTransition 组件。' - '其中个属性信息和 CupertinoPageTransition 组件一致,详见之。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_de_DE.json deleted file mode 100644 index 341bea2d9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 218, - "name": "CupertinoNavigationBarBackButton", - "localName": "iOS-Stil Zurück-Button", - "info": "Cupertino-Stil Navigationsleiste Zurück-Button, kann Farbe und Klick-Ereignis angeben, wird normalerweise nicht allein verwendet.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung des Zurück-Buttons", - "desc": [ - "【onPressed】 : Klick-Ereignis 【VoidCallback】", - "【color】: Farbe 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_en_US.json deleted file mode 100644 index 2c1954384..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 218, - "name": "CupertinoNavigationBarBackButton", - "localName": "iOS Style Back Button", - "info": "A Cupertino-style navigation bar back button, which can specify color and click events, and is generally not used alone.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Back Button", - "desc": [ - "【onPressed】: Click event 【VoidCallback】", - "【color】: Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_es_ES.json deleted file mode 100644 index 4c7ecd854..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 218, - "name": "CupertinoNavigationBarBackButton", - "localName": "Botón de retroceso de estilo iOS", - "info": "Botón de retroceso de la barra de navegación de estilo Cupertino, se puede especificar el color y el evento de clic, generalmente no se usa solo.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico del botón de retroceso", - "desc": [ - "【onPressed】 : Evento de clic 【VoidCallback】", - "【color】: Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_fr_FR.json deleted file mode 100644 index e43bfcc9d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 218, - "name": "CupertinoNavigationBarBackButton", - "localName": "Bouton de retour de style iOS", - "info": "Bouton de retour de barre de navigation de style Cupertino, peut spécifier la couleur et l'événement de clic, généralement pas utilisé seul.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base du bouton de retour", - "desc": [ - "【onPressed】 : Événement de clic 【VoidCallback】", - "【color】: Couleur 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_it_IT.json deleted file mode 100644 index 5e70e8c33..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 218, - "name": "CupertinoNavigationBarBackButton", - "localName": "Pulsante Indietro in stile iOS", - "info": "Pulsante Indietro per barra di navigazione in stile Cupertino, può specificare colore ed evento di clic, generalmente non utilizzato da solo.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base del pulsante Indietro", - "desc": [ - "【onPressed】 : Evento di clic 【VoidCallback】", - "【color】: Colore 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_ja_JP.json deleted file mode 100644 index 490051d1c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 218, - "name": "CupertinoNavigationBarBackButton", - "localName": "iOSスタイルの戻るボタン", - "info": "Cupertinoスタイルのナビゲーションバーの戻るボタンで、色とクリックイベントを指定できます。通常は単独で使用されません。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "戻るボタンの基本的な使用", - "desc": [ - "【onPressed】 : クリックイベント 【VoidCallback】", - "【color】: 色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_ko_KR.json deleted file mode 100644 index b96301a71..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 218, - "name": "CupertinoNavigationBarBackButton", - "localName": "iOS 스타일 뒤로 가기 버튼", - "info": "Cupertino 스타일의 네비게이션 바 뒤로 가기 버튼, 색상과 클릭 이벤트를 지정할 수 있으며, 일반적으로 단독으로 사용되지 않습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "뒤로 가기 버튼 기본 사용", - "desc": [ - "【onPressed】 : 클릭 이벤트 【VoidCallback】", - "【color】: 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_pt_PT.json deleted file mode 100644 index 4b820f15b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 218, - "name": "CupertinoNavigationBarBackButton", - "localName": "Botão de Voltar no Estilo iOS", - "info": "Botão de voltar da barra de navegação no estilo Cupertino, pode especificar a cor e o evento de clique, geralmente não é usado sozinho.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Botão de Voltar", - "desc": [ - "【onPressed】 : Evento de clique 【VoidCallback】", - "【color】: Cor 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_ru_RU.json deleted file mode 100644 index fbf254105..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 218, - "name": "CupertinoNavigationBarBackButton", - "localName": "Кнопка возврата в стиле iOS", - "info": "Кнопка возврата в стиле Cupertino для навигационной панели, можно указать цвет и событие нажатия, обычно не используется отдельно.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование кнопки возврата", - "desc": [ - "【onPressed】 : Событие нажатия 【VoidCallback】", - "【color】: Цвет 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_zh-CN.json deleted file mode 100644 index 0312f63e7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 218, - "name": "CupertinoNavigationBarBackButton", - "localName": "iOS风格返回按钮", - "info": "Cupertino风格的导航栏返回按钮,可指定颜色和点击事件,一般不单独使用。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "返回按钮基本使用", - "desc": [ - "【onPressed】 : 点击事件 【VoidCallback】", - "【color】: 颜色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/node1_base.dart deleted file mode 100644 index e9ae28f75..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoNavigationBarBackButton/node1_base.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class CupertinoNavigationBarBackButtonDemo extends StatelessWidget { - const CupertinoNavigationBarBackButtonDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return CupertinoNavigationBarBackButton( - color: Colors.deepPurpleAccent, - onPressed: () => Navigator.of(context).pop(), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_de_DE.json deleted file mode 100644 index e4153eef0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 216, - "name": "CupertinoPageTransition", - "localName": "Seitenübergangsanimation", - "info": "Bietet eine iOS-ähnliche Seitenübergangsanimation.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in CupertinoPageTransition", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【linearTransition】 : Lineare Transformation 【bool】", - "【primaryRouteAnimation】 : Anfängliche Routenanimation 【Animation】", - "【secondaryRouteAnimation】 : Zweite Routenanimation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_en_US.json deleted file mode 100644 index fc18cdc1d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 216, - "name": "CupertinoPageTransition", - "localName": "Page Transition Animation", - "info": "Provides an iOS-style page transition animation.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to CupertinoPageTransition", - "desc": [ - "【child】 : Child widget 【Widget】", - "【linearTransition】 : Whether to use linear transition 【bool】", - "【primaryRouteAnimation】 : Primary route animation 【Animation】", - "【secondaryRouteAnimation】 : Secondary route animation 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_es_ES.json deleted file mode 100644 index f17094600..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 216, - "name": "CupertinoPageTransition", - "localName": "Transición de página", - "info": "Proporciona una animación de transición de página al estilo de iOS.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a CupertinoPageTransition", - "desc": [ - "【child】 : Widget hijo 【Widget】", - "【linearTransition】 : ¿Transición lineal? 【bool】", - "【primaryRouteAnimation】 : Animación de ruta inicial 【Animation】", - "【secondaryRouteAnimation】 : Animación de ruta secundaria 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_fr_FR.json deleted file mode 100644 index fb75a3d0d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 216, - "name": "CupertinoPageTransition", - "localName": "Transition de page", - "info": "Fournit une animation de transition de page de style iOS.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à CupertinoPageTransition", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【linearTransition】 : Transition linéaire 【bool】", - "【primaryRouteAnimation】 : Animation de route initiale 【Animation】", - "【secondaryRouteAnimation】 : Animation de route secondaire 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_it_IT.json deleted file mode 100644 index fb35028b4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 216, - "name": "CupertinoPageTransition", - "localName": "Transizione di pagina", - "info": "Fornisce un'animazione di transizione di pagina in stile iOS.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a CupertinoPageTransition", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【linearTransition】 : Transizione lineare 【bool】", - "【primaryRouteAnimation】 : Animazione della rotta iniziale 【Animation】", - "【secondaryRouteAnimation】 : Animazione della seconda rotta 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_ja_JP.json deleted file mode 100644 index 0c5ec262d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 216, - "name": "CupertinoPageTransition", - "localName": "ページ遷移変換", - "info": "iOSスタイルのページ遷移アニメーション変換を提供します。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPageTransition 紹介", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【linearTransition】 : 線形変換かどうか 【bool】", - "【primaryRouteAnimation】 : 初期ルートアニメーション 【Animation】", - "【secondaryRouteAnimation】 : 第二ルートアニメーション 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_ko_KR.json deleted file mode 100644 index fd8ae1e15..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 216, - "name": "CupertinoPageTransition", - "localName": "페이지 전환 효과", - "info": "iOS 스타일의 페이지 전환 애니메이션 효과를 제공합니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPageTransition 소개", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【linearTransition】 : 선형 변환 여부 【bool】", - "【primaryRouteAnimation】 : 초기 라우트 애니메이션 【Animation】", - "【secondaryRouteAnimation】 : 두 번째 라우트 애니메이션 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_pt_PT.json deleted file mode 100644 index bcd91b938..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 216, - "name": "CupertinoPageTransition", - "localName": "Transição de Página", - "info": "Fornece uma animação de transição de página no estilo iOS.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução à CupertinoPageTransition", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【linearTransition】 : Transição linear 【bool】", - "【primaryRouteAnimation】 : Animação de rota inicial 【Animation】", - "【secondaryRouteAnimation】 : Animação de segunda rota 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_ru_RU.json deleted file mode 100644 index f4ec74543..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 216, - "name": "CupertinoPageTransition", - "localName": "Переход страницы", - "info": "Предоставляет анимацию перехода страницы в стиле iOS.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в CupertinoPageTransition", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【linearTransition】 : Линейное преобразование 【bool】", - "【primaryRouteAnimation】 : Начальная анимация маршрута 【Animation】", - "【secondaryRouteAnimation】 : Вторичная анимация маршрута 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_zh-CN.json deleted file mode 100644 index c2fbb0a04..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 216, - "name": "CupertinoPageTransition", - "localName": "页面过渡变换", - "info": "提供一个 iOS 风格的页面过渡动画变换。 ", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPageTransition 介绍", - "desc": [ - "【child】 : 子组件 【Widget】", - "【linearTransition】 : 是否线性转换 【bool】", - "【primaryRouteAnimation】 : 初始路由动画 【Animation】", - "【secondaryRouteAnimation】 : 第二路由动画 【Animation】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/node1_base.dart deleted file mode 100644 index d3b9c9ae2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPageTransition/node1_base.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/11 -/// contact me by email 1981462002@qq.com -/// - -class CupertinoPageTransitionDemo extends StatelessWidget { - const CupertinoPageTransitionDemo({Key? key}) : super(key: key); - - final String info = - '该组件底层基于 SlideTransition 组件实现,主要用途是模仿 iOS 风格,处理页面间跳转的过渡动画。' - '源码中唯一的使用处是 CupertinoPageRoute 处理路由跳转动画时,一般不会单独使用。' - '如 A 跳转到 B, primaryRouteAnimation 和 secondaryRouteAnimation 都是一个 0.0->1.0 的动画,' - '前者用于处理 B 界面进入过渡动画;后者用于处理 A 界面被覆盖的过渡动画。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_de_DE.json deleted file mode 100644 index 46dd442cb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 217, - "name": "CupertinoPopupSurface", - "localName": "Verschwommene Popup-Ebene", - "info": "Runde, rechteckige, verschwommene Hintergründe für iOS-Popups, die in Cupertino-stilisierten Dialogen verwendet werden.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPopupSurface Verwendung", - "desc": [ - "【isSurfacePainted】 : Ob Weiß gemalt wird 【bool】", - "【child】 : Untergeordnete Komponente 【Widget】", - "Testeffekt links isSurfacePainted = false, rechts isSurfacePainted = true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_en_US.json deleted file mode 100644 index 44cc50177..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 217, - "name": "CupertinoPopupSurface", - "localName": "Blur Popup Layer", - "info": "The rounded rectangle blur background of the ios popup box, applied in the source code to the dialog box of the Cupertino style.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPopupSurface Usage", - "desc": [ - "【isSurfacePainted】: Whether to paint white 【bool】", - "【child】: Child component 【Widget】", - "Test effect: left isSurfacePainted = false, right isSurfacePainted = true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_es_ES.json deleted file mode 100644 index ca8be8bfc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 217, - "name": "CupertinoPopupSurface", - "localName": "Capa emergente difuminada", - "info": "Fondo difuminado rectangular con bordes redondeados para cuadros emergentes de iOS, utilizado en diálogos de estilo Cupertino en el código fuente.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso de CupertinoPopupSurface", - "desc": [ - "【isSurfacePainted】 : Si se pinta en blanco 【bool】", - "【child】 : Componente hijo 【Widget】", - "Efecto de prueba: izquierda isSurfacePainted = false, derecha isSurfacePainted = true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_fr_FR.json deleted file mode 100644 index 8b78d066b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 217, - "name": "CupertinoPopupSurface", - "localName": "Fond flou de la fenêtre contextuelle", - "info": "Fond flou rectangulaire avec coins arrondis pour les boîtes de dialogue de style Cupertino, utilisé dans les dialogues de style Cupertino dans le code source.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de CupertinoPopupSurface", - "desc": [ - "【isSurfacePainted】 : Si le blanc est dessiné 【bool】", - "【child】 : Composant enfant 【Widget】", - "Effet de test : isSurfacePainted = false à gauche, isSurfacePainted = true à droite" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_it_IT.json deleted file mode 100644 index 111084168..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 217, - "name": "CupertinoPopupSurface", - "localName": "Livello popup sfocato", - "info": "Sfondo sfocato rettangolare con angoli arrotondati per le finestre popup iOS, utilizzato nei dialoghi in stile Cupertino nel codice sorgente.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di CupertinoPopupSurface", - "desc": [ - "【isSurfacePainted】 : Se disegnare in bianco 【bool】", - "【child】 : Componente figlio 【Widget】", - "Testare l'effetto: a sinistra isSurfacePainted = false, a destra isSurfacePainted = true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_ja_JP.json deleted file mode 100644 index 8119b53f8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 217, - "name": "CupertinoPopupSurface", - "localName": "ぼかしポップアップレイヤー", - "info": "iOSポップアップボックスの角丸長方形のぼかし背景で、ソースコードではCupertinoスタイルのダイアログに適用されています。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPopupSurface の使用", - "desc": [ - "【isSurfacePainted】 : 白を描画するかどうか 【bool】", - "【child】 : 子コンポーネント 【Widget】", - "テスト効果の左側は isSurfacePainted = false、右側は isSurfacePainted = true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_ko_KR.json deleted file mode 100644 index 33c52196e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 217, - "name": "CupertinoPopupSurface", - "localName": "블러 팝업 레이어", - "info": "ios 팝업 상자의 둥근 모서리 사각형 블러 배경, 소스 코드에서 Cupertino 스타일의 대화 상자에 적용됩니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPopupSurface 사용", - "desc": [ - "【isSurfacePainted】 : 흰색으로 그릴지 여부 【bool】", - "【child】 : 하위 위젯 【Widget】", - "테스트 효과 왼쪽 isSurfacePainted = false, 오른쪽 isSurfacePainted = true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_pt_PT.json deleted file mode 100644 index c1856d16f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 217, - "name": "CupertinoPopupSurface", - "localName": "Camada de Pop-up Desfocada", - "info": "Fundo desfocado retangular com cantos arredondados para caixas de diálogo no estilo iOS, usado em caixas de diálogo de estilo Cupertino no código-fonte.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso do CupertinoPopupSurface", - "desc": [ - "【isSurfacePainted】 : Se a superfície é pintada de branco 【bool】", - "【child】 : Componente filho 【Widget】", - "Efeito de teste: à esquerda isSurfacePainted = false, à direita isSurfacePainted = true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_ru_RU.json deleted file mode 100644 index c9279fbbe..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 217, - "name": "CupertinoPopupSurface", - "localName": "Размытый всплывающий слой", - "info": "Фон с закругленными углами и размытием для всплывающего окна iOS, используется в диалогах в стиле Cupertino в исходном коде.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Использование CupertinoPopupSurface", - "desc": [ - "【isSurfacePainted】 : Рисовать ли белый цвет 【bool】", - "【child】 : Дочерний компонент 【Widget】", - "Тестовый эффект: слева isSurfacePainted = false, справа isSurfacePainted = true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_zh-CN.json deleted file mode 100644 index 10e0dc73d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 217, - "name": "CupertinoPopupSurface", - "localName": "模糊弹出层", - "info": "ios 弹出框的圆角矩形模糊背景,源码中应用于 Cupertino 风格的对话框中。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "CupertinoPopupSurface 使用", - "desc": [ - "【isSurfacePainted】 : 是否绘白 【bool】", - "【child】 : 子组件 【Widget】", - "测试效果左侧 isSurfacePainted = false,右侧 isSurfacePainted = true" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/node1_base.dart deleted file mode 100644 index b755874d6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoPopupSurface/node1_base.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class CupertinoPopupSurfaceDemo extends StatelessWidget { - const CupertinoPopupSurfaceDemo({super.key}); - - List get rainbow => [ - 0xffff0000, - 0xffFF7F00, - 0xffFFFF00, - 0xff00FF00, - 0xff00FFFF, - 0xff0000FF, - 0xff8B00FF - ]; - - List get stops => [0.0, 1 / 6, 2 / 6, 3 / 6, 4 / 6, 5 / 6, 1.0]; - - - @override - Widget build(BuildContext context) { - return Container( - decoration: BoxDecoration( - gradient: RadialGradient( - radius: 1.8, - stops: stops, - colors: rainbow.map((e) => Color(e)).toList())), - padding: const EdgeInsets.all(10), - child: Wrap( - spacing: 10, - children: [ - buildCupertinoPopupSurface(false), - buildCupertinoPopupSurface(true), - ], - ), - ); - } - - Widget buildCupertinoPopupSurface(bool isSurfacePainted) { - return CupertinoPopupSurface( - isSurfacePainted: isSurfacePainted, - child: Container( - width: 150, - height: 100, - color: Colors.white.withOpacity(0.3), - alignment: Alignment.center, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_de_DE.json deleted file mode 100644 index 89d27cd12..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_de_DE.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 169, - "name": "CupertinoTheme", - "localName": "iOS-Thema", - "info": "Das CupertinoThemeData-Objekt kann über CupertinoTheme.of abgerufen werden. Es kann auch ein Thema angegeben werden, das auf die Nachkommenkomponenten von CupertinoTheme angewendet wird.", - "lever": 3, - "family": 0, - "linkIds": [ - 156, - 168 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Textstil-TextTheme", - "desc": [ - "Nachkommenkomponenten können die Daten des Themas über CupertinoTheme.of abrufen und verwenden." - ] - }, - { - "file": "node2_use.dart", - "name": "Verwendung von CupertinoThemeData", - "desc": [ - "Wie bei Theme können bestimmte Attribute angegeben werden, damit sie in den Nachkommen gemeinsam genutzt werden, allerdings gibt es weniger Attribute. Beachten Sie, dass Sie das Thema nicht im aktuellen Kontext abrufen können, wenn Sie es verwenden möchten." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_en_US.json deleted file mode 100644 index 4cff035ce..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_en_US.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 169, - "name": "CupertinoTheme", - "localName": "iOS Theme", - "info": "You can obtain the CupertinoThemeData object through CupertinoTheme.of. You can also specify the theme to be applied to the descendant components of CupertinoTheme.", - "lever": 3, - "family": 0, - "linkIds": [ - 156, - 168 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Text Style-TextTheme", - "desc": [ - "Descendant components can obtain and use the theme data through CupertinoTheme.of." - ] - }, - { - "file": "node2_use.dart", - "name": "Usage of CupertinoThemeData", - "desc": [ - "Like Theme, you can share specified properties among descendants, but there are fewer properties. Note that if you need to use the theme, you cannot obtain it in the current context." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_es_ES.json deleted file mode 100644 index 59b37c1ba..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_es_ES.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 169, - "name": "CupertinoTheme", - "localName": "Tema de iOS", - "info": "Puedes obtener el objeto CupertinoThemeData a través de CupertinoTheme.of. También puedes especificar que el tema se aplique a los componentes descendientes de CupertinoTheme.", - "lever": 3, - "family": 0, - "linkIds": [ - 156, - 168 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Estilo de texto-TextTheme", - "desc": [ - "Los componentes descendientes pueden obtener y utilizar los datos del tema a través de CupertinoTheme.of." - ] - }, - { - "file": "node2_use.dart", - "name": "Uso de CupertinoThemeData", - "desc": [ - "Al igual que con Theme, puedes compartir ciertos atributos en los descendientes, aunque hay menos atributos. Ten en cuenta que si necesitas usar el tema, no puedes obtenerlo en el contexto actual." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_fr_FR.json deleted file mode 100644 index db0b5859d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_fr_FR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 169, - "name": "CupertinoTheme", - "localName": "Thème iOS", - "info": "Vous pouvez obtenir l'objet CupertinoThemeData via CupertinoTheme.of. Vous pouvez également spécifier un thème à appliquer aux composants descendants de CupertinoTheme.", - "lever": 3, - "family": 0, - "linkIds": [ - 156, - 168 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Style de texte-TextTheme", - "desc": [ - "Les composants descendants peuvent utiliser les données du thème obtenues via CupertinoTheme.of." - ] - }, - { - "file": "node2_use.dart", - "name": "Utilisation de CupertinoThemeData", - "desc": [ - "Comme avec Theme, vous pouvez partager des attributs spécifiés avec les descendants, bien qu'il y ait moins d'attributs. Notez que si vous avez besoin d'utiliser le thème, vous ne pouvez pas l'obtenir dans le contexte actuel." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_it_IT.json deleted file mode 100644 index 34539eafe..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_it_IT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 169, - "name": "CupertinoTheme", - "localName": "Tema iOS", - "info": "È possibile ottenere l'oggetto CupertinoThemeData tramite CupertinoTheme.of. È anche possibile specificare un tema da applicare ai componenti discendenti di CupertinoTheme.", - "lever": 3, - "family": 0, - "linkIds": [ - 156, - 168 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Stile di testo-TextTheme", - "desc": [ - "I componenti discendenti possono ottenere e utilizzare i dati del tema tramite CupertinoTheme.of." - ] - }, - { - "file": "node2_use.dart", - "name": "Uso di CupertinoThemeData", - "desc": [ - "Come con Theme, è possibile condividere attributi specifici tra i discendenti, anche se gli attributi sono meno numerosi. Nota: se è necessario utilizzare un tema, non è possibile ottenerlo nel contesto corrente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_ja_JP.json deleted file mode 100644 index 2529887fe..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_ja_JP.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 169, - "name": "CupertinoTheme", - "localName": "iOSテーマ", - "info": "CupertinoTheme.ofを使用してCupertinoThemeDataオブジェクトを取得できます。また、テーマを指定してCupertinoThemeの子孫コンポーネントに適用することもできます。", - "lever": 3, - "family": 0, - "linkIds": [ - 156, - 168 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "テキストスタイル-TextTheme", - "desc": [ - "子孫コンポーネントはCupertinoTheme.ofを使用してテーマのデータを取得して使用できます。" - ] - }, - { - "file": "node2_use.dart", - "name": "CupertinoThemeDataの使用", - "desc": [ - "Themeと同様に、指定されたプロパティを使用して子孫で共有できますが、プロパティは少ないです。テーマを使用する必要がある場合、現在のcontextで取得できないことに注意してください。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_ko_KR.json deleted file mode 100644 index 3e11e8402..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_ko_KR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 169, - "name": "CupertinoTheme", - "localName": "iOS 테마", - "info": "CupertinoTheme.of를 통해 CupertinoThemeData 객체를 가져올 수 있습니다. 또한 테마를 지정하여 CupertinoTheme의 하위 구성 요소에 적용할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [ - 156, - 168 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "텍스트 스타일-TextTheme", - "desc": [ - "하위 구성 요소는 CupertinoTheme.of를 통해 테마 데이터를 가져와 사용할 수 있습니다." - ] - }, - { - "file": "node2_use.dart", - "name": "CupertinoThemeData 사용", - "desc": [ - "Theme와 마찬가지로 지정된 속성을 통해 하위 구성 요소에서 공유할 수 있지만 속성이 적습니다. 테마를 사용해야 하는 경우 현재 context에서 가져올 수 없습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_pt_PT.json deleted file mode 100644 index e80783356..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_pt_PT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 169, - "name": "CupertinoTheme", - "localName": "Tema iOS", - "info": "Pode obter o objeto CupertinoThemeData através de CupertinoTheme.of. Também pode especificar o tema para ser aplicado aos componentes descendentes de CupertinoTheme.", - "lever": 3, - "family": 0, - "linkIds": [ - 156, - 168 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Estilo de texto-TextTheme", - "desc": [ - "Os componentes descendentes podem obter os dados do tema através de CupertinoTheme.of para uso." - ] - }, - { - "file": "node2_use.dart", - "name": "Uso de CupertinoThemeData", - "desc": [ - "Assim como o Theme, pode compartilhar atributos especificados entre os descendentes, embora os atributos sejam menos. Note que, se precisar usar o tema, não pode obtê-lo no contexto atual." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_ru_RU.json deleted file mode 100644 index 4cd4e908f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_ru_RU.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 169, - "name": "CupertinoTheme", - "localName": "iOS тема", - "info": "Можно получить объект CupertinoThemeData через CupertinoTheme.of. Также можно указать тему для применения к дочерним компонентам CupertinoTheme.", - "lever": 3, - "family": 0, - "linkIds": [ - 156, - 168 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Стиль текста-TextTheme", - "desc": [ - "Дочерние компоненты могут использовать данные темы, полученные через CupertinoTheme.of." - ] - }, - { - "file": "node2_use.dart", - "name": "Использование CupertinoThemeData", - "desc": [ - "Как и в случае с Theme, можно указать свойства, чтобы они были общими для дочерних элементов, но их меньше. Обратите внимание, что если нужно использовать тему, её нельзя получить в текущем контексте." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_zh-CN.json deleted file mode 100644 index 917562453..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/desc_zh-CN.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 169, - "name": "CupertinoTheme", - "localName": "iOS主题", - "info": "可通过CupertinoTheme.of获取CupertinoThemeData对象。也可以指定主题应用于CupertinoTheme的后代组件。", - "lever": 3, - "family": 0, - "linkIds": [ - 156, - 168 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "文字样式-TextTheme", - "desc": [ - "后代组件可以通过CupertinoTheme.of获取主题的数据进行使用。" - ] - }, - { - "file": "node2_use.dart", - "name": "CupertinoThemeData的使用", - "desc": [ - "和Theme一样可以通过指定的属性,让它们在后代中共享,不过属性较少。注意如果需要使用主题,不能在当前的context中获取。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/node1_base.dart deleted file mode 100644 index 64ccfd50c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/node1_base.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class TextCupertinoTheme extends StatelessWidget { - const TextCupertinoTheme({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - CupertinoTextThemeData queryData = CupertinoTheme.of(context).textTheme; - Map styles = { - "tabLabelTextStyle: ": queryData.tabLabelTextStyle, - "actionTextStyle: ": queryData.actionTextStyle, - "navActionTextStyle: ": queryData.navActionTextStyle, - "textStyle: ": queryData.textStyle, - "navTitleTextStyle: ": queryData.navTitleTextStyle, - "pickerTextStyle: ": queryData.pickerTextStyle, - "dateTimePickerTextStyle: ": queryData.dateTimePickerTextStyle, - "navLargeTitleTextStyle: ": queryData.navLargeTitleTextStyle, - }; - TextStyle style = - const TextStyle(fontSize: 16, fontWeight: FontWeight.bold); - return Column( - children: - styles.keys.map((e) => buildItem(e, style, styles[e]!)).toList(), - ); - } - - Widget buildItem(String label, TextStyle labelStyle, TextStyle style) => - Column( - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text(label, style: labelStyle), - Text("@toly", style: style) - ], - ), - ), - const Divider(height: 1) - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/node2_use.dart b/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/node2_use.dart deleted file mode 100644 index 61cad7ac3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/CupertinoTheme/node2_use.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - - -class CustomCupertinoTheme extends StatelessWidget { - const CustomCupertinoTheme({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const CupertinoTheme( - data: CupertinoThemeData( - primaryColor: Colors.blue, primaryContrastingColor: Colors.green), - child: _ChildUseTheme()); - } -} - -class _ChildUseTheme extends StatelessWidget { - const _ChildUseTheme({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - Container( - width: 50, - height: 50, - color: CupertinoTheme.of(context).primaryContrastingColor, - ), - SizedBox(width: 150, child: Slider(value: 0.8, onChanged: (v) => {})), - SizedBox( - width: 150, - child: Divider( - color: CupertinoTheme.of(context).primaryContrastingColor, - thickness: 1, - )) - ]); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_de_DE.json deleted file mode 100644 index 436313dde..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_de_DE.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 102, - "name": "DataTable", - "localName": "Datentabelle", - "info": "Eine Tabellenkomponente, die Logik für Klicken, Ändern, Sortieren usw. festlegen kann.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DataTable", - "desc": [ - "【columns】 : Spalten 【List】", - "【rows】 : Zeilen 【List】" - ] - }, - { - "file": "node2_operation.dart", - "name": "Sortierung von DataTable", - "desc": [ - "【sortColumnIndex】 : Spaltennummer 【int】", - "【columnSpacing】 : Spaltenabstand 【double】", - "【sortAscending】 : Aufsteigend sortieren 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_en_US.json deleted file mode 100644 index 9178f352d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_en_US.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 102, - "name": "DataTable", - "localName": "Data Table", - "info": "A table component that can be customized with logic for clicking, editing, sorting, etc.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DataTable", - "desc": [ - "【columns】 : columns 【List】", - "【rows】 : rows 【List】" - ] - }, - { - "file": "node2_operation.dart", - "name": "Sorting in DataTable", - "desc": [ - "【sortColumnIndex】 : column index 【int】", - "【columnSpacing】 : column spacing 【double】", - "【sortAscending】 : ascending order 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_es_ES.json deleted file mode 100644 index 16ed9cd67..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_es_ES.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 102, - "name": "DataTable", - "localName": "Tabla de datos", - "info": "Un componente de tabla que permite realizar operaciones como hacer clic, modificar, ordenar, etc., con lógica personalizada.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DataTable", - "desc": [ - "【columns】 : columnas 【List】", - "【rows】 : filas 【List】" - ] - }, - { - "file": "node2_operation.dart", - "name": "Ordenación de DataTable", - "desc": [ - "【sortColumnIndex】 : índice de columna 【int】", - "【columnSpacing】 : espaciado de columnas 【double】", - "【sortAscending】 : orden ascendente 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_fr_FR.json deleted file mode 100644 index 76f390ce6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_fr_FR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 102, - "name": "DataTable", - "localName": "Tableau de données", - "info": "Un composant de tableau qui permet de cliquer, modifier, trier, etc. en fonction de la logique définie.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DataTable", - "desc": [ - "【columns】 : colonnes 【List】", - "【rows】 : lignes 【List】" - ] - }, - { - "file": "node2_operation.dart", - "name": "Tri de DataTable", - "desc": [ - "【sortColumnIndex】 : numéro de colonne 【int】", - "【columnSpacing】 : espacement des colonnes 【double】", - "【sortAscending】 : ordre ascendant 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_it_IT.json deleted file mode 100644 index b8cf7229a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_it_IT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 102, - "name": "DataTable", - "localName": "Tabella dati", - "info": "Un componente tabella che può essere personalizzato con logiche per clic, modifiche, ordinamento e altre operazioni.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di DataTable", - "desc": [ - "【columns】 : colonne 【List】", - "【rows】 : righe 【List】" - ] - }, - { - "file": "node2_operation.dart", - "name": "Ordinamento di DataTable", - "desc": [ - "【sortColumnIndex】 : indice della colonna 【int】", - "【columnSpacing】 : spaziatura tra le colonne 【double】", - "【sortAscending】 : ordine crescente 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_ja_JP.json deleted file mode 100644 index 4b3a32dcf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_ja_JP.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 102, - "name": "DataTable", - "localName": "データテーブル", - "info": "テーブルコンポーネントで、クリック、編集、ソートなどの操作を論理的に設定できます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DataTableの基本使用", - "desc": [ - "【columns】 : 列 【List】", - "【rows】 : 行 【List】" - ] - }, - { - "file": "node2_operation.dart", - "name": "DataTableのsort", - "desc": [ - "【sortColumnIndex】 : 列番号 【int】", - "【columnSpacing】 : 列間隔 【double】", - "【sortAscending】 : 順序かどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_ko_KR.json deleted file mode 100644 index dfd1ec90d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_ko_KR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 102, - "name": "DataTable", - "localName": "데이터 테이블", - "info": "테이블 컴포넌트로, 클릭, 수정, 정렬 등의 작업을 위한 로직을 지정할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DataTable 기본 사용", - "desc": [ - "【columns】 : 열 【List】", - "【rows】 : 행 【List】" - ] - }, - { - "file": "node2_operation.dart", - "name": "DataTable의 정렬", - "desc": [ - "【sortColumnIndex】 : 열 번호 【int】", - "【columnSpacing】 : 열 간격 【double】", - "【sortAscending】 : 순서 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_pt_PT.json deleted file mode 100644 index 3ab4fccc6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_pt_PT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 102, - "name": "DataTable", - "localName": "Tabela de Dados", - "info": "Um componente de tabela que pode definir lógicas para cliques, modificações, ordenação e outras operações.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do DataTable", - "desc": [ - "【columns】 : Colunas 【List】", - "【rows】 : Linhas 【List】" - ] - }, - { - "file": "node2_operation.dart", - "name": "Ordenação do DataTable", - "desc": [ - "【sortColumnIndex】 : Índice da Coluna 【int】", - "【columnSpacing】 : Espaçamento entre Colunas 【double】", - "【sortAscending】 : Ordem Ascendente 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_ru_RU.json deleted file mode 100644 index 49b4af781..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_ru_RU.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 102, - "name": "DataTable", - "localName": "Таблица данных", - "info": "Компонент таблицы, который позволяет настраивать логику для кликов, редактирования, сортировки и других операций.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DataTable", - "desc": [ - "【columns】 : Столбцы 【List】", - "【rows】 : Строки 【List】" - ] - }, - { - "file": "node2_operation.dart", - "name": "Сортировка DataTable", - "desc": [ - "【sortColumnIndex】 : Номер столбца 【int】", - "【columnSpacing】 : Расстояние между столбцами 【double】", - "【sortAscending】 : По возрастанию 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_zh-CN.json deleted file mode 100644 index be8ceb7dd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/desc_zh-CN.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 102, - "name": "DataTable", - "localName": "数据表格", - "info": "一个表格组件,可以制订逻辑进行点击、修改、排序等操作。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DataTable基本使用", - "desc": [ - "【columns】 : 列 【List】", - "【rows】 : 行 【List】" - ] - }, - { - "file": "node2_operation.dart", - "name": "DataTable的sort", - "desc": [ - "【sortColumnIndex】 : 列号 【int】", - "【columnSpacing】 : 列间距 【double】", - "【sortAscending】 : 是否顺序 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/node1_base.dart deleted file mode 100644 index 9ead9206a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/node1_base.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-21 -/// contact me by email 1981462002@qq.com - - -class _Bean { - final int id; - final String name; - final String type; - - _Bean(this.id, this.name, this.type); -} - -class CustomDataTable extends StatelessWidget { - const CustomDataTable({super.key}); - - List<_Bean> get data => [ - _Bean(101, 'DataTable', 'StatelessWidget'), - _Bean(44, 'RangeSlider', 'StatefulWidget'), - _Bean(2, 'Text', 'StatelessWidget'), - _Bean(1, 'Image', 'StatefulWidget'), - ]; - List get columns => ['id', '名称', '类型']; - - @override - Widget build(BuildContext context) { - return DataTable( - columns: columns - .map((String title) => DataColumn(label: Text(title))) - .toList(), - rows: data - .map((_Bean bean) => DataRow(cells: [ - DataCell(Text('${bean.id}')), - DataCell(Text(bean.name)), - DataCell(Text(bean.type)), - ])) - .toList()); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/node2_operation.dart b/modules/widget_system/widgets/lib/StatelessWidget/DataTable/node2_operation.dart deleted file mode 100644 index 5895e621c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DataTable/node2_operation.dart +++ /dev/null @@ -1,108 +0,0 @@ - - -/// create by 张风捷特烈 on 2020/4/25 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; - -class _BeanOp { - final int id; - final String name; - final String type; - bool select; - - _BeanOp(this.id, this.name, this.type, this.select); - - @override - String toString() { - return '_BeanOp{id: $id, name: $name, type: $type, select: $select}'; - } -} - -class SortDataTable extends StatefulWidget { - const SortDataTable({Key? key}) : super(key: key); - - @override - _SortDataTableState createState() => _SortDataTableState(); -} - -class _SortDataTableState extends State { - List<_BeanOp> data = [ - _BeanOp(101, 'DataTable', 'StatelessWidget', false), - _BeanOp(44, 'RangeSlider', 'StatefulWidget', false), - _BeanOp(2, 'Text', 'StatelessWidget', false), - _BeanOp(1, 'Image', 'StatefulWidget', false), - ]; - - bool _sortAscending = false; - List<_BeanOp> selectData = <_BeanOp>[]; - - @override - Widget build(BuildContext context) { - return DataTable( - columnSpacing: 20, - sortColumnIndex: 1, - sortAscending: _sortAscending, - columns: [ - DataColumn( - label: Checkbox( - value: selectData.length == data.length, - onChanged: _onSelectAll, - ), - ), - DataColumn(label: const Text('id'), numeric: false, onSort: _onSortId), - const DataColumn(label: Text('名称')), - const DataColumn(label: Text('类型')), - ], - rows: data - .map((e) => DataRow(selected: false, cells: [ - DataCell(Checkbox( - value: e.select, - onChanged: (v) => _onSelectOne(v, e), - )), - DataCell(Text('${e.id}')), - DataCell(Text(e.name), - showEditIcon: true, onTap: () {}), - DataCell(Text(e.type)), - ])) - .toList()); - } - - _onSortId(int index, bool ascending) { - setState(() { - _sortAscending = ascending; - data.sort( - (a, b) => ascending ? a.id.compareTo(b.id) : b.id.compareTo(a.id)); - }); - } - - void _onSelectOne(bool? selected, _BeanOp e) { - if(selected==null) return; - setState(() { - if (selected) { - selectData.add(e); - } else { - selectData.remove(e); - } - e.select = selected; - }); - } - - void _onSelectAll(bool? select) { - if(select==null) return; - setState(() { - if (select) { - for (_BeanOp e in data) { - e.select = true; - } - selectData = data.map((e) => e).toList(); - } else { - for (_BeanOp e in data) { - e.select = false; - } - selectData = []; - } - }); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_de_DE.json deleted file mode 100644 index 8c78b48cd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_de_DE.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": 134, - "name": "DayPicker", - "localName": "Datumsauswahl", - "info": "Komponente zur Auswahl von Datumsangaben, die das aktuelle Datum, das ausgewählte Datum, den angezeigten Monat usw. festlegen kann und Datumsauswahlereignisse empfängt.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 135, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DayPicker", - "desc": [ - "【selectedDate】 : Ausgewähltes Datum 【DateTime】", - "【currentDate】 : Aktuelles Datum 【DateTime】", - "【firstDate】 : Frühestes Datum 【DateTime】", - "【lastDate】 : Spätestes Datum 【DateTime】", - "【displayedMonth】 : Aktuell angezeigter Monat 【DateTime】", - "【onChanged】 : Klick-Rückruf 【Function(DateTime)】", - " ", - "import 'package:flutter/material.dart';", - "", - "class CustomDayPicker extends StatelessWidget{", - "", - " const CustomDayPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'DayPicker Datumsauswahl ist mit Flutter3.0 ausgelaufen. Der Ersatz ist der CalendarDatePicker Kalenderauswahl.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: DayPicker(", - " selectedDate: _date,", - " currentDate: DateTime.now(),", - " onChanged: (date)=> setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " displayedMonth: DateTime.now()", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_en_US.json deleted file mode 100644 index 3e27118a1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_en_US.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": 134, - "name": "DayPicker", - "localName": "Date Picker", - "info": "A component for selecting dates, which can specify the current date, selected date, displayed month, etc., and receives date selection events.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 135, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DayPicker", - "desc": [ - "【selectedDate】 : Selected date 【DateTime】", - "【currentDate】 : Current date 【DateTime】", - "【firstDate】 : Earliest date limit 【DateTime】", - "【lastDate】 : Latest date limit 【DateTime】", - "【displayedMonth】 : Currently displayed month 【DateTime】", - "【onChanged】 : Click callback 【Function(DateTime)】", - " ", - "import 'package:flutter/material.dart';", - "", - "class CustomDayPicker extends StatelessWidget{", - "", - " const CustomDayPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'DayPicker date picker has exited the stage of history in Flutter 3.0. It is replaced by the CalendarDatePicker calendar picker.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: DayPicker(", - " selectedDate: _date,", - " currentDate: DateTime.now(),", - " onChanged: (date)=> setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " displayedMonth: DateTime.now()", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_es_ES.json deleted file mode 100644 index 5ff44e943..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_es_ES.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": 134, - "name": "DayPicker", - "localName": "Selector de Fecha", - "info": "Componente de selección de fecha, puede especificar la fecha actual, la fecha seleccionada, el mes mostrado, etc., y recibe eventos de selección de fecha.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 135, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DayPicker", - "desc": [ - "【selectedDate】 : Fecha seleccionada 【DateTime】", - "【currentDate】 : Fecha actual 【DateTime】", - "【firstDate】 : Límite de la fecha más temprana 【DateTime】", - "【lastDate】 : Límite de la fecha más tardía 【DateTime】", - "【displayedMonth】 : Mes actualmente mostrado 【DateTime】", - "【onChanged】 : Retroalimentación al hacer clic 【Function(DateTime)】", - " ", - "import 'package:flutter/material.dart';", - "", - "class CustomDayPicker extends StatelessWidget{", - "", - " const CustomDayPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'DayPicker, el selector de fecha, dejó de usarse en Flutter 3.0. Su reemplazo es CalendarDatePicker, el selector de calendario.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: DayPicker(", - " selectedDate: _date,", - " currentDate: DateTime.now(),", - " onChanged: (date)=> setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " displayedMonth: DateTime.now()", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_fr_FR.json deleted file mode 100644 index 83f9d1992..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_fr_FR.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": 134, - "name": "DayPicker", - "localName": "Sélecteur de date", - "info": "Composant de sélection de date, permet de spécifier la date actuelle, la date sélectionnée, le mois affiché, etc., et reçoit les événements de sélection de date.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 135, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DayPicker", - "desc": [ - "【selectedDate】 : Date sélectionnée 【DateTime】", - "【currentDate】 : Date actuelle 【DateTime】", - "【firstDate】 : Limite de la première date 【DateTime】", - "【lastDate】 : Limite de la dernière date 【DateTime】", - "【displayedMonth】 : Mois actuellement affiché 【DateTime】", - "【onChanged】 : Rappel de clic 【Function(DateTime)】", - " ", - "import 'package:flutter/material.dart';", - "", - "class CustomDayPicker extends StatelessWidget{", - "", - " const CustomDayPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'Le sélecteur de date DayPicker a quitté la scène historique avec Flutter 3.0. Il est remplacé par le sélecteur de calendrier CalendarDatePicker.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: DayPicker(", - " selectedDate: _date,", - " currentDate: DateTime.now(),", - " onChanged: (date)=> setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " displayedMonth: DateTime.now()", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_it_IT.json deleted file mode 100644 index f757f8ee0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_it_IT.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": 134, - "name": "DayPicker", - "localName": "Selettore di data", - "info": "Componente per la selezione della data, consente di specificare la data corrente, la data selezionata, il mese visualizzato, ecc., e riceve l'evento di selezione della data.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 135, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzo di base di DayPicker", - "desc": [ - "【selectedDate】 : Data selezionata 【DateTime】", - "【currentDate】 : Data corrente 【DateTime】", - "【firstDate】 : Limite della data più antica 【DateTime】", - "【lastDate】 : Limite della data più recente 【DateTime】", - "【displayedMonth】 : Mese attualmente visualizzato 【DateTime】", - "【onChanged】 : Callback al click 【Function(DateTime)】", - " ", - "import 'package:flutter/material.dart';", - "", - "class CustomDayPicker extends StatelessWidget{", - "", - " const CustomDayPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'DayPicker, il selettore di date, è stato ritirato da Flutter 3.0. Il suo sostituto è CalendarDatePicker, il selettore di calendario.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: DayPicker(", - " selectedDate: _date,", - " currentDate: DateTime.now(),", - " onChanged: (date)=> setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " displayedMonth: DateTime.now()", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_ja_JP.json deleted file mode 100644 index d6b678017..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_ja_JP.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": 134, - "name": "DayPicker", - "localName": "日付ピッカー", - "info": "日付を選択するコンポーネントで、現在の日付、選択された日付、表示する月などを指定できます。日付が選択されたイベントを受け取ります。", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 135, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DayPickerの基本的な使用法", - "desc": [ - "【selectedDate】 : 選択された日付 【DateTime】", - "【currentDate】 : 現在の日付 【DateTime】", - "【firstDate】 : 最初の日付制限 【DateTime】", - "【lastDate】 : 最後の日付制限 【DateTime】", - "【displayedMonth】 : 現在表示されている月 【DateTime】", - "【onChanged】 : クリックコールバック 【Function(DateTime)】", - " ", - "import 'package:flutter/material.dart';", - "", - "class CustomDayPicker extends StatelessWidget{", - "", - " const CustomDayPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'DayPicker 日付ピッカーは Flutter3.0 で歴史の舞台から退場しました。代替として CalendarDatePicker カレンダーピッカーがあります。';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: DayPicker(", - " selectedDate: _date,", - " currentDate: DateTime.now(),", - " onChanged: (date)=> setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " displayedMonth: DateTime.now()", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_ko_KR.json deleted file mode 100644 index addf834e2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_ko_KR.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": 134, - "name": "DayPicker", - "localName": "날짜 선택기", - "info": "날짜 선택 컴포넌트로, 현재 날짜, 선택된 날짜, 표시할 월 등을 지정할 수 있으며, 날짜 선택 이벤트를 수신합니다.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 135, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DayPicker 기본 사용", - "desc": [ - "【selectedDate】 : 선택된 날짜 【DateTime】", - "【currentDate】 : 현재 날짜 【DateTime】", - "【firstDate】 : 가장 이른 날짜 제한 【DateTime】", - "【lastDate】 : 가장 늦은 날짜 제한 【DateTime】", - "【displayedMonth】 : 현재 표시되는 월 【DateTime】", - "【onChanged】 : 클릭 콜백 【Function(DateTime)】", - " ", - "import 'package:flutter/material.dart';", - "", - "class CustomDayPicker extends StatelessWidget{", - "", - " const CustomDayPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'DayPicker 날짜 선택기는 Flutter3.0에서 역사의 뒤안길로 사라졌습니다. 이를 대체하는 것은 CalendarDatePicker 캘린더 선택기입니다.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: DayPicker(", - " selectedDate: _date,", - " currentDate: DateTime.now(),", - " onChanged: (date)=> setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " displayedMonth: DateTime.now()", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_pt_PT.json deleted file mode 100644 index 26c935660..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_pt_PT.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": 134, - "name": "DayPicker", - "localName": "Seletor de Data", - "info": "Componente de seleção de data, pode especificar a data atual, a data selecionada, o mês exibido, etc., e recebe eventos de seleção de data.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 135, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do DayPicker", - "desc": [ - "【selectedDate】 : Data selecionada 【DateTime】", - "【currentDate】 : Data atual 【DateTime】", - "【firstDate】 : Limite da data mais antiga 【DateTime】", - "【lastDate】 : Limite da data mais recente 【DateTime】", - "【displayedMonth】 : Mês atualmente exibido 【DateTime】", - "【onChanged】 : Callback de clique 【Function(DateTime)】", - " ", - "import 'package:flutter/material.dart';", - "", - "class CustomDayPicker extends StatelessWidget{", - "", - " const CustomDayPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'O DayPicker, o seletor de data, saiu de cena no Flutter 3.0. O substituto é o CalendarDatePicker, o seletor de calendário.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: DayPicker(", - " selectedDate: _date,", - " currentDate: DateTime.now(),", - " onChanged: (date)=> setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " displayedMonth: DateTime.now()", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_ru_RU.json deleted file mode 100644 index d0b916f13..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_ru_RU.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": 134, - "name": "DayPicker", - "localName": "Выбор даты", - "info": "Компонент для выбора даты, который позволяет указать текущую дату, выбранную дату, отображаемый месяц и т.д., а также получать события выбора даты.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 135, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DayPicker", - "desc": [ - "【selectedDate】 : Выбранная дата 【DateTime】", - "【currentDate】 : Текущая дата 【DateTime】", - "【firstDate】 : Ограничение на самую раннюю дату 【DateTime】", - "【lastDate】 : Ограничение на самую позднюю дату 【DateTime】", - "【displayedMonth】 : Отображаемый месяц 【DateTime】", - "【onChanged】 : Обратный вызов при клике 【Function(DateTime)】", - " ", - "import 'package:flutter/material.dart';", - "", - "class CustomDayPicker extends StatelessWidget{", - "", - " const CustomDayPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'DayPicker, компонент выбора даты, ушел в историю с выходом Flutter 3.0. Его заменил CalendarDatePicker, компонент выбора даты из календаря.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: DayPicker(", - " selectedDate: _date,", - " currentDate: DateTime.now(),", - " onChanged: (date)=> setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " displayedMonth: DateTime.now()", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_zh-CN.json deleted file mode 100644 index be05cf4bc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/desc_zh-CN.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "id": 134, - "name": "DayPicker", - "localName": "日期选择器", - "info": "日期的选择组件,可指定当前日期、选中日期、展示月份等,接收日期选中事件。", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 135, - 136 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DayPicker基本使用", - "desc": [ - "【selectedDate】 : 选中日期 【DateTime】", - "【currentDate】 : 当前日期 【DateTime】", - "【firstDate】 : 最前日期限制 【DateTime】", - "【lastDate】 : 最后日期限制 【DateTime】", - "【displayedMonth】 : 当前展示的月份 【DateTime】", - "【onChanged】 : 点击回调 【Function(DateTime)】", - " ", - "import 'package:flutter/material.dart';", - "", - "class CustomDayPicker extends StatelessWidget{", - "", - " const CustomDayPicker({Key? key) : super(key: key);", - "", - " final String info =", - " 'DayPicker 日期选择器于 Flutter3.0 退出历史舞台。取代者为 CalendarDatePicker 日历选择器。';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " final DateTime _date = DateTime.now();", - " ", - " @override", - " Widget build(BuildContext context) {", - " return SizedBox(", - " height: 350,", - " child: DayPicker(", - " selectedDate: _date,", - " currentDate: DateTime.now(),", - " onChanged: (date)=> setState(() => _date = date),", - " firstDate: DateTime(2018),", - " lastDate: DateTime(2030),", - " displayedMonth: DateTime.now()", - " )," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/node1_base.dart deleted file mode 100644 index 9938f6036..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DayPicker/node1_base.dart +++ /dev/null @@ -1,24 +0,0 @@ - - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/material.dart'; - -class CustomDayPicker extends StatelessWidget { - - const CustomDayPicker({Key? key}) : super(key: key); - - final String info = - 'DayPicker 日期选择器于 Flutter3.0 退出历史舞台。取代者为 CalendarDatePicker 日历选择器。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_de_DE.json deleted file mode 100644 index b27282e35..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 126, - "name": "Dialog", - "localName": "Dialogfeld", - "info": "Das einfachste Dialogfeld-Panel, das eine Inhaltskomponente enthält und Eigenschaften wie Schattentiefe, Hintergrundfarbe, Form usw. angeben kann.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung des Dialogs", - "desc": [ - "【child】: Animationssymboldaten 【Widget】", - "【elevation】: Schattentiefe 【double】", - "【backgroundColor】: Hintergrundfarbe 【Color】", - "【shape】: Form 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_en_US.json deleted file mode 100644 index 97d42177d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 126, - "name": "Dialog", - "localName": "Dialog Box", - "info": "The simplest dialog panel, containing a content component, with properties such as shadow depth, background color, shape, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Dialog", - "desc": [ - "【child】: Animation icon data 【Widget】", - "【elevation】: Shadow depth 【double】", - "【backgroundColor】: Background color 【Color】", - "【shape】: Shape 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_es_ES.json deleted file mode 100644 index f3ca155d6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 126, - "name": "Dialog", - "localName": "Cuadro de diálogo", - "info": "El panel de cuadro de diálogo más simple, que incluye un componente de contenido, puede especificar propiedades como la profundidad de la sombra, el color de fondo, la forma, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Dialog", - "desc": [ - "【child】 : Datos del ícono de animación 【Widget】", - "【elevation】 : Profundidad de la sombra 【double】", - "【backgroundColor】 : Color de fondo 【Color】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_fr_FR.json deleted file mode 100644 index 89e47cc68..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 126, - "name": "Dialog", - "localName": "Boîte de dialogue", - "info": "Le panneau de boîte de dialogue le plus simple, contenant un composant de contenu, peut spécifier des propriétés telles que la profondeur d'ombre, la couleur de fond, la forme, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de la boîte de dialogue", - "desc": [ - "【child】 : Données de l'icône animée 【Widget】", - "【elevation】 : Profondeur d'ombre 【double】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【shape】 : Forme 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_it_IT.json deleted file mode 100644 index 45c1c1862..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 126, - "name": "Dialog", - "localName": "Finestra di dialogo", - "info": "Il pannello di dialogo più semplice, contiene un componente di contenuto, può specificare proprietà come profondità dell'ombra, colore di sfondo, forma, ecc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di Dialog", - "desc": [ - "【child】 : Dati dell'icona animata 【Widget】", - "【elevation】 : Profondità dell'ombra 【double】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_ja_JP.json deleted file mode 100644 index 509250c2a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 126, - "name": "Dialog", - "localName": "ダイアログ", - "info": "最もシンプルなダイアログパネルで、コンテンツコンポーネントを含み、影の深さ、背景色、形状などの属性を指定できます。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Dialog基本使用", - "desc": [ - "【child】 : アニメーションアイコンデータ 【Widget】", - "【elevation】 : 影の深さ 【double】", - "【backgroundColor】 : 背景色 【Color】", - "【shape】 : 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_ko_KR.json deleted file mode 100644 index bbbda1320..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 126, - "name": "Dialog", - "localName": "대화 상자", - "info": "가장 간단한 대화 상자 패널로, 내용 컴포넌트를 포함하며, 그림자 깊이, 배경색, 모양 등의 속성을 지정할 수 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Dialog 기본 사용", - "desc": [ - "【child】 : 애니메이션 아이콘 데이터 【Widget】", - "【elevation】 : 그림자 깊이 【double】", - "【backgroundColor】 : 배경색 【Color】", - "【shape】 : 모양 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_pt_PT.json deleted file mode 100644 index d2f524b3e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 126, - "name": "Dialog", - "localName": "Caixa de Diálogo", - "info": "O painel de diálogo mais simples, contendo um componente de conteúdo, pode especificar propriedades como profundidade de sombra, cor de fundo, forma, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Dialog", - "desc": [ - "【child】 : Dados do ícone de animação 【Widget】", - "【elevation】 : Profundidade de sombra 【double】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_ru_RU.json deleted file mode 100644 index 560ec3a96..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 126, - "name": "Dialog", - "localName": "Диалоговое окно", - "info": "Самая простая панель диалогового окна, содержащая компонент содержимого, можно указать такие свойства, как глубина тени, цвет фона, форма и т.д.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Dialog", - "desc": [ - "【child】 : Данные анимационного иконка 【Widget】", - "【elevation】 : Глубина тени 【double】", - "【backgroundColor】 : Цвет фона 【Color】", - "【shape】 : Форма 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_zh-CN.json deleted file mode 100644 index b12763d41..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 126, - "name": "Dialog", - "localName": "对话框", - "info": "最简易的对话框面板,包含一个内容组件,可指定影深、背景色、形状等属性。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Dialog基本使用", - "desc": [ - "【child】 : 动画图标数据 【Widget】", - "【elevation】 : 影深 【double】", - "【backgroundColor】 : 背景色 【Color】", - "【shape】 : 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Dialog/node1_base.dart deleted file mode 100644 index 59d39bd6c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Dialog/node1_base.dart +++ /dev/null @@ -1,128 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-24 -/// contact me by email 1981462002@qq.com - -class CustomDialog extends StatelessWidget { - const CustomDialog({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildRaisedButton(context), - _buildDialog(), - ], - ); - } - - Widget _buildDialog() => const Dialog( - backgroundColor: Colors.white, - elevation: 5, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10))), - child: SizedBox( - width: 50, - child: DeleteDialog(), - ), - ); - - Widget _buildRaisedButton(BuildContext context) => ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10)), - ), - ), - onPressed: () { - showDialog(context: context, builder: (ctx) => _buildDialog()); - }, - child: const Text( - 'Just Show It !', - style: TextStyle(color: Colors.white), - ), - ); - -} - -class DeleteDialog extends StatelessWidget { - const DeleteDialog({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - _buildBar(context), - _buildTitle(), - _buildContent(), - _buildFooter(context), - ], - ); - } - - Widget _buildTitle() { - return const Text( - 'Delete Doucument', - style: TextStyle(color: Color(0xff5CC5E9), fontSize: 24), - ); - } - - Widget _buildContent() { - return const Padding( - padding: EdgeInsets.all(15.0), - child: Text( - ' Hi toly! If you push the conform buttom ,' - ' You will lose this file. Are you sure wand to do that?', - style: TextStyle(color: Color(0xffCFCFCF), fontSize: 16), - textAlign: TextAlign.justify, - ), - ); - } - - Widget _buildFooter(context) { - return Padding( - padding: const EdgeInsets.only(bottom: 15.0, top: 10,left: 10,right: 10), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Container( - alignment: Alignment.center, - height: 40, - width: 100, - decoration: const BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(30)), - color: Color(0xff73D1EE)), - child: const Text('Yes', - style: TextStyle(color: Colors.white, fontSize: 16)), - ), - InkWell( - onTap: ()=>Navigator.of(context).pop(), - child: Container( - alignment: Alignment.center, - height: 40, - width: 100, - decoration: const BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(30)), - color: Colors.orangeAccent), - child: const Text('Cancle', - style: TextStyle(color: Colors.white, fontSize: 16)), - ), - ) - ], - ), - ); - } - - Widget _buildBar(context) => Container( - height: 30, - alignment: Alignment.centerRight, - margin: const EdgeInsets.only(right: 10, top: 5), - child: InkWell( - onTap: ()=>Navigator.of(context).pop(), - child: const Icon( - Icons.close, - color: Color(0xff82CAE3), - ), - ), - ); -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_de_DE.json deleted file mode 100644 index 0ec5efd92..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_de_DE.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 34, - "name": "Divider", - "localName": "Horizontale Trennlinie", - "info": "Horizontale Trennlinie, bei der Farbe, Höhe, Dicke und seitliche Abstände angegeben werden können. Wird häufig als Trennlinie für Listenelemente verwendet.", - "lever": 2, - "family": 0, - "linkIds": [ - 35, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Divider Farbe und Dicke", - "desc": [ - "【color】: Farbe 【Color】", - "【thickness】: Linienstärke 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Divider Höhe und Lücke", - "desc": [ - "【indent】: Länge der vorderen Lücke 【double】", - "【endIndent】: Länge der hinteren Lücke 【double】", - "【height】: Platzhalterhöhe 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_en_US.json deleted file mode 100644 index 71ed3d1b9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_en_US.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 34, - "name": "Divider", - "localName": "Horizontal Divider", - "info": "A horizontal divider that can specify color, height, thickness, and left and right margin information, commonly used as a divider for list items.", - "lever": 2, - "family": 0, - "linkIds": [ - 35, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Divider Color and Thickness", - "desc": [ - "【color】: Color 【Color】", - "【thickness】: Line thickness 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Divider Height and Indent", - "desc": [ - "【indent】: Front indent length 【double】", - "【endIndent】: Rear indent length 【double】", - "【height】: Placeholder height 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_es_ES.json deleted file mode 100644 index 2b91b1bee..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_es_ES.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 34, - "name": "Divider", - "localName": "Línea divisoria horizontal", - "info": "Línea divisoria horizontal, se puede especificar el color, la altura, el grosor, la información de los márgenes izquierdo y derecho, comúnmente utilizada como línea divisoria de elementos de la lista.", - "lever": 2, - "family": 0, - "linkIds": [ - 35, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Color y grosor de Divider", - "desc": [ - "【color】: color 【Color】", - "【thickness】: grosor de la línea 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Altura y espacio de Divider", - "desc": [ - "【indent】: longitud del espacio frontal 【double】", - "【endIndent】: longitud del espacio posterior 【double】", - "【height】: altura del espacio ocupado 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_fr_FR.json deleted file mode 100644 index d6d3201c9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_fr_FR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 34, - "name": "Divider", - "localName": "Ligne de séparation horizontale", - "info": "Ligne de séparation horizontale, peut spécifier la couleur, la hauteur, l'épaisseur et les marges gauche et droite, couramment utilisée pour les lignes de séparation des éléments de liste.", - "lever": 2, - "family": 0, - "linkIds": [ - 35, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Couleur et épaisseur du Divider", - "desc": [ - "【color】: Couleur 【Color】", - "【thickness】: Épaisseur de la ligne 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Hauteur et espacement du Divider", - "desc": [ - "【indent】: Longueur de l'espacement avant 【double】", - "【endIndent】: Longueur de l'espacement arrière 【double】", - "【height】: Hauteur de l'élément 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_it_IT.json deleted file mode 100644 index c69a2bca8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_it_IT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 34, - "name": "Divider", - "localName": "Linea di divisione orizzontale", - "info": "Linea di divisione orizzontale, è possibile specificare colore, altezza, spessore, margini sinistro e destro, comunemente utilizzata come linea di divisione tra gli elementi di una lista.", - "lever": 2, - "family": 0, - "linkIds": [ - 35, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Colore e spessore del Divider", - "desc": [ - "【color】: Colore 【Color】", - "【thickness】: Spessore della linea 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Altezza e spazio vuoto del Divider", - "desc": [ - "【indent】: Lunghezza dello spazio vuoto anteriore 【double】", - "【endIndent】: Lunghezza dello spazio vuoto posteriore 【double】", - "【height】: Altezza occupata 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_ja_JP.json deleted file mode 100644 index 6319c3823..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_ja_JP.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 34, - "name": "Divider", - "localName": "水平分割線", - "info": "水平分割線、色、高さ、太さ、左右の余白情報を指定できます。リストのアイテム分割線としてよく使用されます。", - "lever": 2, - "family": 0, - "linkIds": [ - 35, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Dividerの色と太さ", - "desc": [ - "【color】: 色 【Color】", - "【thickness】: 線の太さ 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Dividerの高さと空白", - "desc": [ - "【indent】: 前の空白の長さ 【double】", - "【endIndent】: 後の空白の長さ 【double】", - "【height】: 占める高さ 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_ko_KR.json deleted file mode 100644 index 819480d46..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_ko_KR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 34, - "name": "Divider", - "localName": "수평 구분선", - "info": "수평 구분선으로, 색상, 높이, 두께, 좌우 여백 정보를 지정할 수 있으며, 주로 리스트의 항목 구분선으로 사용됩니다.", - "lever": 2, - "family": 0, - "linkIds": [ - 35, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Divider 색상과 두께", - "desc": [ - "【color】: 색상 【Color】", - "【thickness】: 선 두께 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Divider 높이와 여백", - "desc": [ - "【indent】: 앞쪽 여백 길이 【double】", - "【endIndent】: 뒤쪽 여백 길이 【double】", - "【height】: 높이 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_pt_PT.json deleted file mode 100644 index c2f0d239d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_pt_PT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 34, - "name": "Divider", - "localName": "Linha divisória horizontal", - "info": "Linha divisória horizontal, pode especificar cor, altura, espessura, margens esquerda e direita, comumente usada como linha divisória de itens de lista.", - "lever": 2, - "family": 0, - "linkIds": [ - 35, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Cor e espessura do Divider", - "desc": [ - "【color】: Cor 【Color】", - "【thickness】: Espessura da linha 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Altura e lacuna do Divider", - "desc": [ - "【indent】: Comprimento da lacuna frontal 【double】", - "【endIndent】: Comprimento da lacuna traseira 【double】", - "【height】: Altura do espaço ocupado 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_ru_RU.json deleted file mode 100644 index fa945ba44..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_ru_RU.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 34, - "name": "Divider", - "localName": "Горизонтальная разделительная линия", - "info": "Горизонтальная разделительная линия, можно указать цвет, высоту, толщину, отступы слева и справа. Обычно используется как разделитель элементов списка.", - "lever": 2, - "family": 0, - "linkIds": [ - 35, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Цвет и толщина Divider", - "desc": [ - "【color】: Цвет 【Color】", - "【thickness】: Толщина линии 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Высота и отступы Divider", - "desc": [ - "【indent】: Длина отступа спереди 【double】", - "【endIndent】: Длина отступа сзади 【double】", - "【height】: Высота занимаемого места 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_zh-CN.json deleted file mode 100644 index 1c2926855..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/desc_zh-CN.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 34, - "name": "Divider", - "localName": "水平分割线", - "info": "水平分割线,可指定颜色、高度、粗细、左右边距信息,常用与列表的item分割线。", - "lever": 2, - "family": 0, - "linkIds": [ - 35, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Divider颜色和粗细", - "desc": [ - "【color】: 颜色 【Color】", - "【thickness】: 线粗细 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Divider高度和空缺", - "desc": [ - "【indent】: 前面空缺长度 【double】", - "【endIndent】: 后面空缺长度 【double】", - "【height】: 占位高 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Divider/node1_base.dart deleted file mode 100644 index c17f923fb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/node1_base.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-24 -/// contact me by email 1981462002@qq.com - - -class CustomDivider extends StatelessWidget { - const CustomDivider({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - List dataColor = [ - Colors.red, Colors.yellow, - Colors.blue, Colors.green]; - List dataThickness = [1.0, 2.0, 4.0, 6.0]; - Map data = Map.fromIterables(dataColor, dataThickness); - return Column( - children: dataColor - .map((e) => Divider( - color: e, - thickness: data[e], - )).toList(), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Divider/node2_height.dart b/modules/widget_system/widgets/lib/StatelessWidget/Divider/node2_height.dart deleted file mode 100644 index 5c4a8531c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Divider/node2_height.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-24 -/// contact me by email 1981462002@qq.com - - - -class HeightDivider extends StatelessWidget { - const HeightDivider({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - List dataThickness = [10.0, 20.0, 30.0, 40.0]; - List dataColor = [ - Colors.red, Colors.yellow, - Colors.blue, Colors.green]; - Map data = Map.fromIterables(dataColor, dataThickness); - - return Column( - children: dataColor - .map((Color color) => Divider( - color: color, - indent:data[color], - endIndent: data[color]!*2, - height: data[color], - thickness: data[color]!/10, - )) - .toList(), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_de_DE.json deleted file mode 100644 index ec56bf294..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 221, - "name": "DraggableScrollableActuator", - "localName": "Zieh- und Schieb-Rücksetzer", - "info": "Es kann die nachfolgenden DraggableScrollableSheet benachrichtigen, um ihre Position auf den Ausgangszustand zurückzusetzen.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "Verwenden Sie DraggableScrollableActuator.reset(context), um die Position der nachfolgenden DraggableScrollableSheet auf die Ausgangsposition zurückzusetzen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_en_US.json deleted file mode 100644 index 5c9afd686..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 221, - "name": "DraggableScrollableActuator", - "localName": "Drag and Slide Resetter", - "info": "It can notify the descendant DraggableScrollableSheet to reset its position to the initial state.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage", - "desc": [ - "【child】: Child component 【Widget】", - "Use DraggableScrollableActuator.reset(context) to reset the position of the descendant DraggableScrollableSheet to the initial position." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_es_ES.json deleted file mode 100644 index c6229f577..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 221, - "name": "DraggableScrollableActuator", - "localName": "Restablecedor de arrastre y desplazamiento", - "info": "Puede notificar a la hoja DraggableScrollableSheet descendiente para restablecer su posición al estado inicial.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "Usa DraggableScrollableActuator.reset(context) para restablecer la posición inicial de la hoja DraggableScrollableSheet descendiente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_fr_FR.json deleted file mode 100644 index 928a6385c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 221, - "name": "DraggableScrollableActuator", - "localName": "Réinitialisateur de glissement", - "info": "Il peut informer les descendants DraggableScrollableSheet de réinitialiser leur position à l'état initial.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "Utilisez DraggableScrollableActuator.reset(context) pour réinitialiser la position initiale du descendant DraggableScrollableSheet." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_it_IT.json deleted file mode 100644 index a13ffb466..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 221, - "name": "DraggableScrollableActuator", - "localName": "Trascinabile scorrevole reset", - "info": "Può notificare ai discendenti DraggableScrollableSheet di ripristinare la loro posizione allo stato iniziale.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Metodo di utilizzo di base", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "Utilizza DraggableScrollableActuator.reset(context) per ripristinare la posizione iniziale del discendente DraggableScrollableSheet." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_ja_JP.json deleted file mode 100644 index 4935f4bca..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 221, - "name": "DraggableScrollableActuator", - "localName": "ドラッグスクロールリセッター", - "info": "これは子孫の DraggableScrollableSheet に通知して、その位置を初期状態にリセットすることができます。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "基本的な使用方法", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "DraggableScrollableActuator.reset(context) を使用して、子孫の DraggableScrollableSheet を初期位置にリセットします。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_ko_KR.json deleted file mode 100644 index 57c5481df..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 221, - "name": "DraggableScrollableActuator", - "localName": "드래그 스크롤 재설정기", - "info": "이것은 후손 DraggableScrollableSheet에게 초기 상태로 위치를 재설정하도록 알릴 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "기본 사용 방법", - "desc": [ - "【child】 : 자식 구성 요소 【Widget】", - "DraggableScrollableActuator.reset(context)를 사용하여 후손 DraggableScrollableSheet를 초기 위치로 재설정합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_pt_PT.json deleted file mode 100644 index 06f3310bf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 221, - "name": "DraggableScrollableActuator", - "localName": "Reposicionador de Arrasto e Deslize", - "info": "Ele pode notificar o DraggableScrollableSheet descendente para redefinir sua posição para o estado inicial.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Método de Uso Básico", - "desc": [ - "【child】 : Componente filho 【Widget】", - "Use DraggableScrollableActuator.reset(context) para redefinir a posição inicial do DraggableScrollableSheet descendente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_ru_RU.json deleted file mode 100644 index 912c56347..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 221, - "name": "DraggableScrollableActuator", - "localName": "Перетаскиваемый сбрасыватель", - "info": "Он может уведомить дочерние DraggableScrollableSheet о необходимости сбросить их положение в исходное состояние.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "Используйте DraggableScrollableActuator.reset(context) для сброса положения дочернего DraggableScrollableSheet в исходное положение." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_zh-CN.json deleted file mode 100644 index 77c96c876..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 221, - "name": "DraggableScrollableActuator", - "localName": "拖滑重置器", - "info": "它可以通知后代的 DraggableScrollableSheet,将其位置重置为初始状态。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "基本使用方法", - "desc": [ - "【child】 : 子组件 【Widget】", - "使用 DraggableScrollableActuator.reset(context) 重置后代 DraggableScrollableSheet 位初始位置。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/node1_base.dart deleted file mode 100644 index 16f720053..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DraggableScrollableActuator/node1_base.dart +++ /dev/null @@ -1,110 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class DraggableScrollableActuatorDemo extends StatelessWidget { - const DraggableScrollableActuatorDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.all(10), - child: ElevatedButton( - onPressed: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => DraggableScrollableActuatorPage()), - ); - }, - child: const Text("进入 DraggableScrollableActuator 测试页"), - ), - ); - } -} - -class DraggableScrollableActuatorPage extends StatelessWidget { - DraggableScrollableActuatorPage({Key? key}) : super(key: key); - - final List data = [ - Colors.orange[50]!, - Colors.orange[100]!, - Colors.orange[200]!, - Colors.orange[300]!, - Colors.orange[400]!, - Colors.orange[500]!, - Colors.orange[600]!, - Colors.orange[700]!, - Colors.orange[800]!, - Colors.orange[900]!, - Colors.red[50]!, - Colors.red[100]!, - Colors.red[200]!, - Colors.red[300]!, - Colors.red[400]!, - Colors.red[500]!, - Colors.red[600]!, - Colors.red[700]!, - Colors.red[800]!, - Colors.red[900]!, - ]; - - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text("DraggableScrollableActuator"), - ), - body: DraggableScrollableActuator( - child: Builder( - builder: (ctx) => Column( - children: [ - ElevatedButton( - onPressed: () { - DraggableScrollableActuator.reset(ctx); - }, - child: const Text("重置位置"), - ), - Expanded( - child: buildSheet(), - ), - ], - ), - ), - ), - ); - } - - Widget buildSheet() => DraggableScrollableSheet( - initialChildSize: 0.3, - minChildSize: 0.2, - maxChildSize: 1, - expand: true, - builder: (BuildContext context, ScrollController scrollController) => - ListView.builder( - controller: scrollController, - itemCount: data.length, - itemBuilder: buildColorItem, - ), - ); - - Widget buildColorItem(BuildContext context, int index) { - return Container( - alignment: Alignment.center, - height: 60, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ]), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_de_DE.json deleted file mode 100644 index 2a2df0ec7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 154, - "name": "Drawer", - "localName": "Seitenleiste", - "info": "Wird im Allgemeinen für die draw- und endDraw-Eigenschaften in Scaffold als linke und rechte Seitenleiste verwendet. Kann ein Kindelement aufnehmen und die Schattentiefe angeben.", - "lever": 2, - "family": 0, - "linkIds": [ - 64, - 155 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Drawer", - "desc": [ - "【child】 : Kindelement 【Widget】", - "【elevation】 : Schattentiefe 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_en_US.json deleted file mode 100644 index 7f1cbcd2d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 154, - "name": "Drawer", - "localName": "Drawer", - "info": "Generally used as the left and right sliding panels in the Scaffold's draw and endDraw properties. It can contain a child component and can specify the elevation.", - "lever": 2, - "family": 0, - "linkIds": [ - 64, - 155 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Drawer", - "desc": [ - "【child】 : Child component 【Widget】", - "【elevation】 : Elevation 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_es_ES.json deleted file mode 100644 index 12dc49f46..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 154, - "name": "Drawer", - "localName": "Barra deslizante", - "info": "Generalmente se utiliza en los atributos draw y endDraw de Scaffold como barras deslizantes izquierda y derecha, puede contener un componente hijo y permite especificar la profundidad de la sombra.", - "lever": 2, - "family": 0, - "linkIds": [ - 64, - 155 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Drawer", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【elevation】 : Profundidad de la sombra 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_fr_FR.json deleted file mode 100644 index c85c7ed57..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 154, - "name": "Drawer", - "localName": "Barre de glissement", - "info": "Généralement utilisé pour les propriétés draw et endDraw dans Scaffold comme barres de glissement gauche et droite, peut contenir un composant enfant, peut spécifier la profondeur de l'ombre.", - "lever": 2, - "family": 0, - "linkIds": [ - 64, - 155 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Drawer", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【elevation】 : Profondeur de l'ombre 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_it_IT.json deleted file mode 100644 index b28e89eb8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 154, - "name": "Drawer", - "localName": "Barra di scorrimento", - "info": "Generalmente utilizzato per gli attributi draw e endDraw in Scaffold come barre di scorrimento laterali, può contenere un componente figlio e specificare la profondità dell'ombra.", - "lever": 2, - "family": 0, - "linkIds": [ - 64, - 155 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Drawer", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【elevation】 : Profondità dell'ombra 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_ja_JP.json deleted file mode 100644 index e1366ece3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 154, - "name": "Drawer", - "localName": "スライドバー", - "info": "一般的にScaffoldのdrawおよびendDrawプロパティで左右のスライドバーとして使用され、1つの子コンポーネントを収容でき、影の深さを指定できます。", - "lever": 2, - "family": 0, - "linkIds": [ - 64, - 155 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Drawerの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【elevation】 : 影の深さ 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_ko_KR.json deleted file mode 100644 index b7eb4ada1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 154, - "name": "Drawer", - "localName": "슬라이드 바", - "info": "일반적으로 Scaffold의 draw 및 endDraw 속성으로 좌우 슬라이드 바로 사용되며, 하나의 자식 위젯을 수용할 수 있고, 그림자 깊이를 지정할 수 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [ - 64, - 155 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Drawer 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【elevation】 : 그림자 깊이 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_pt_PT.json deleted file mode 100644 index 7dfd72b68..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 154, - "name": "Drawer", - "localName": "Barra de deslizamento", - "info": "Geralmente usado para os atributos draw e endDraw no Scaffold como barras de deslizamento esquerda e direita, pode conter um componente filho e especificar a profundidade da sombra.", - "lever": 2, - "family": 0, - "linkIds": [ - 64, - 155 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Drawer", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【elevation】 : Profundidade da sombra 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_ru_RU.json deleted file mode 100644 index 09836344c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 154, - "name": "Drawer", - "localName": "Скользящая панель", - "info": "Обычно используется в свойствах draw и endDraw Scaffold в качестве левой и правой скользящей панели, может содержать один дочерний компонент, можно указать глубину тени.", - "lever": 2, - "family": 0, - "linkIds": [ - 64, - 155 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Drawer", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【elevation】 : Глубина тени 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_zh-CN.json deleted file mode 100644 index 35284bfad..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 154, - "name": "Drawer", - "localName": "滑页栏", - "info": "一般用于Scaffold中的draw和endDraw属性作为左右的滑页栏,可以容纳一个子组件,能指定影深。", - "lever": 2, - "family": 0, - "linkIds": [ - 64, - 155 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Drawer基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【elevation】 : 影深 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Drawer/node1_base.dart deleted file mode 100644 index 9248e9a52..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Drawer/node1_base.dart +++ /dev/null @@ -1,65 +0,0 @@ - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/material.dart'; - -class CustomDrawer extends StatelessWidget { - const CustomDrawer({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 400, - child: Scaffold( - appBar: AppBar( - title: const Text('Flutter Unit'), - ), - drawer: Drawer( - elevation: 3, - child: _buildChild(), - ), - ), - ); - } - - Widget _buildChild() => ListView( - padding: EdgeInsets.zero, - children: const [ - DrawerHeader( - decoration: BoxDecoration( - image: DecorationImage( - image: AssetImage('assets/images/caver.webp'), - fit: BoxFit.cover), - ), - child: Text( - '张风捷特烈', - style: TextStyle(fontSize: 24, color: Colors.white, shadows: [ - Shadow(color: Colors.black, offset: Offset(1, 1), blurRadius: 3) - ]), - ), - ), - ListTile( - leading: Icon( - Icons.star, - color: Colors.blue, - ), - title: Text('我的收藏'), - ), - ListTile( - leading: Icon( - Icons.palette, - color: Colors.orangeAccent, - ), - title: Text('我的绘画'), - ), - ListTile( - leading: Icon( - Icons.insert_drive_file, - color: Colors.green, - ), - title: Text('我的文件'), - ), - ], - ); -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_de_DE.json deleted file mode 100644 index 4ee3ddcb0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 276, - "name": "DrawerButton", - "localName": "Schubladenknopf", - "info": "Ein linker Schubladensymbolknopf, der das Symbol mit DrawerButtonIcon anzeigt. Das Standardklickereignis kann die linke Schublade öffnen.", - "lever": 1, - "family": 0, - "linkIds": [ - 273, - 361 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DrawerButton", - "desc": [ - "【onPressed】: Klickereignis 【VoidCallback?】", - "【style】: Schaltflächenstil 【ButtonStyle?】", - "Wenn onPressed leer ist, wird beim Klicken die linke Schublade geöffnet." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_en_US.json deleted file mode 100644 index efd56389d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 276, - "name": "DrawerButton", - "localName": "Drawer Button", - "info": "A left drawer icon button, using DrawerButtonIcon to display the icon. The default click event can open the left drawer.", - "lever": 1, - "family": 0, - "linkIds": [ - 273, - 361 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DrawerButton", - "desc": [ - "【onPressed】: Click event 【VoidCallback?】", - "【style】: Button style 【ButtonStyle?】", - "When onPressed is empty, clicking will open the left drawer." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_es_ES.json deleted file mode 100644 index d8466e59e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 276, - "name": "DrawerButton", - "localName": "Botón de cajón", - "info": "Un botón de icono de cajón izquierdo, utiliza DrawerButtonIcon para mostrar el icono, el evento de clic predeterminado puede abrir el cajón izquierdo.", - "lever": 1, - "family": 0, - "linkIds": [ - 273, - 361 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DrawerButton", - "desc": [ - "【onPressed】: Evento de clic 【VoidCallback?】", - "【style】: Estilo del botón 【ButtonStyle?】", - "Cuando onPressed está vacío, al hacer clic se abrirá el cajón izquierdo." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_fr_FR.json deleted file mode 100644 index 12c175fbe..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 276, - "name": "DrawerButton", - "localName": "Bouton de tiroir", - "info": "Un bouton d'icône de tiroir gauche, utilise DrawerButtonIcon pour afficher l'icône. L'événement de clic par défaut peut ouvrir le tiroir gauche.", - "lever": 1, - "family": 0, - "linkIds": [ - 273, - 361 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DrawerButton", - "desc": [ - "【onPressed】 : Événement de clic 【VoidCallback?】", - "【style】: Style du bouton 【ButtonStyle?】", - "Lorsque onPressed est vide, un clic ouvrira le tiroir gauche." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_it_IT.json deleted file mode 100644 index 8a7da810f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 276, - "name": "DrawerButton", - "localName": "Pulsante Cassetto", - "info": "Un pulsante con icona del cassetto sinistro, utilizza DrawerButtonIcon per mostrare l'icona, l'evento di clic predefinito può aprire il cassetto sinistro.", - "lever": 1, - "family": 0, - "linkIds": [ - 273, - 361 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di DrawerButton", - "desc": [ - "【onPressed】 : Evento di clic 【VoidCallback?】", - "【style】: Stile del pulsante 【ButtonStyle?】", - "Quando onPressed è vuoto, il clic aprirà il cassetto sinistro." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_ja_JP.json deleted file mode 100644 index 8710f35dd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 276, - "name": "DrawerButton", - "localName": "ドロワーボタン", - "info": "左ドロワーアイコンボタンで、DrawerButtonIconを使用してアイコンを表示します。デフォルトのクリックイベントで左ドロワーを開きます。", - "lever": 1, - "family": 0, - "linkIds": [ - 273, - 361 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerButton 基本使用", - "desc": [ - "【onPressed】 : クリックイベント 【VoidCallback?】", - "【style】: ボタンスタイル 【ButtonStyle?】", - "onPressedが空の場合、クリックすると左ドロワーが開きます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_ko_KR.json deleted file mode 100644 index 2065716b9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 276, - "name": "DrawerButton", - "localName": "서랍 버튼", - "info": "왼쪽 서랍 아이콘 버튼, DrawerButtonIcon을 사용하여 아이콘을 표시하며, 기본 클릭 이벤트는 왼쪽 서랍을 엽니다.", - "lever": 1, - "family": 0, - "linkIds": [ - 273, - 361 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerButton 기본 사용", - "desc": [ - "【onPressed】 : 클릭 이벤트 【VoidCallback?】", - "【style】: 버튼 스타일 【ButtonStyle?】", - "onPressed가 비어 있을 때, 클릭하면 왼쪽 서랍이 열립니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_pt_PT.json deleted file mode 100644 index 3ea74e2bd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 276, - "name": "DrawerButton", - "localName": "Botão de Gaveta", - "info": "Um botão de ícone de gaveta esquerda, usando DrawerButtonIcon para exibir o ícone, o evento de clique padrão pode abrir a gaveta esquerda.", - "lever": 1, - "family": 0, - "linkIds": [ - 273, - 361 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do DrawerButton", - "desc": [ - "【onPressed】 : Evento de clique 【VoidCallback?】", - "【style】: Estilo do botão 【ButtonStyle?】", - "Quando onPressed estiver vazio, ao clicar, a gaveta esquerda será aberta." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_ru_RU.json deleted file mode 100644 index 8a62d7b9b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 276, - "name": "DrawerButton", - "localName": "Кнопка ящика", - "info": "Кнопка с иконкой левого ящика, использует DrawerButtonIcon для отображения иконки, по умолчанию при нажатии открывает левый ящик.", - "lever": 1, - "family": 0, - "linkIds": [ - 273, - 361 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DrawerButton", - "desc": [ - "【onPressed】: Событие нажатия 【VoidCallback?】", - "【style】: Стиль кнопки 【ButtonStyle?】", - "Если onPressed пуст, при нажатии открывается левый ящик." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_zh-CN.json deleted file mode 100644 index 6cf4fc4bc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 276, - "name": "DrawerButton", - "localName": "抽屉按钮", - "info": "一个左抽屉图标按钮, 使用 DrawerButtonIcon 展示图标,默认点击事件可以打开左抽屉。", - "lever": 1, - "family": 0, - "linkIds": [ - 273, - 361 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerButton 基本使用", - "desc": [ - "【onPressed】 : 点击事件 【VoidCallback?】", - "【style】: 按钮样式 【ButtonStyle?】", - "onPressed 为空时,点击时会打开左抽屉。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/node1_base.dart deleted file mode 100644 index 8803ccdb9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButton/node1_base.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/11/28 -/// contact me by email 1981462002@qq.com - - -class DrawerButtonDemo extends StatelessWidget { - const DrawerButtonDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return DrawerButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - iconColor: Colors.white, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_de_DE.json deleted file mode 100644 index 6d7a5fde0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 273, - "name": "DrawerButtonIcon", - "localName": "Schubladen-Schaltflächensymbol", - "info": "Ein Schubladen-Icon-Symbol, das je nach Plattform das entsprechende Symbol anzeigt und über ActionIconTheme angepasst werden kann.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerButtonIcon-Effekt", - "desc": [ - "Passt das Symbol der Schubladenschaltfläche für verschiedene Plattformen über die _ActionIcon-Komponente gemäß dem ActionIconTheme an." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_en_US.json deleted file mode 100644 index 3b9628df1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 273, - "name": "DrawerButtonIcon", - "localName": "Drawer Button Icon", - "info": "A drawer Icon, which displays the corresponding icon according to the platform, and can be customized with ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerButtonIcon Effect", - "desc": [ - "The _ActionIcon component adapts the drawer button icon for different platforms based on the ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_es_ES.json deleted file mode 100644 index 1be7aee19..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 273, - "name": "DrawerButtonIcon", - "localName": "Icono del botón del cajón", - "info": "Un icono de cajón, muestra el icono correspondiente según la plataforma, se puede personalizar el tema a través de ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Efecto de DrawerButtonIcon", - "desc": [ - "A través del componente _ActionIcon, se adapta el icono del botón del cajón para diferentes plataformas según el tema de ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_fr_FR.json deleted file mode 100644 index 9143ef42d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 273, - "name": "DrawerButtonIcon", - "localName": "Icône de bouton de tiroir", - "info": "Une icône de tiroir, affichant l'icône correspondante selon la plateforme, peut être personnalisée avec ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Effet de DrawerButtonIcon", - "desc": [ - "Le composant _ActionIcon adapte l'icône du bouton de tiroir à différentes plateformes selon le thème ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_it_IT.json deleted file mode 100644 index 6da1a0b42..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 273, - "name": "DrawerButtonIcon", - "localName": "Icona del pulsante del cassetto", - "info": "Un'icona del cassetto, che mostra l'icona corrispondente in base alla piattaforma, può essere personalizzata tramite ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Effetto DrawerButtonIcon", - "desc": [ - "Utilizzando il componente _ActionIcon in base al tema ActionIconTheme, per adattare l'icona del pulsante del cassetto a diverse piattaforme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_ja_JP.json deleted file mode 100644 index 7c10cefc6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 273, - "name": "DrawerButtonIcon", - "localName": "ドロワーボタンアイコン", - "info": "ドロワー Icon アイコンで、プラットフォームに応じたアイコンを表示し、ActionIconTheme でテーマをカスタマイズできます。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerButtonIcon 効果", - "desc": [ - "_ActionIcon コンポーネントを使用して、ActionIconTheme テーマに基づいて、異なるプラットフォームのドロワーボタンアイコンを適応させます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_ko_KR.json deleted file mode 100644 index 003120801..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 273, - "name": "DrawerButtonIcon", - "localName": "서랍 버튼 아이콘", - "info": "서랍 아이콘, 플랫폼에 따라 해당 아이콘을 표시하며, ActionIconTheme을 통해 테마를 사용자 정의할 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerButtonIcon 효과", - "desc": [ - "_ActionIcon 컴포넌트를 통해 ActionIconTheme 테마에 따라 다른 플랫폼의 서랍 버튼 아이콘을 조정합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_pt_PT.json deleted file mode 100644 index 5daebcdfa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 273, - "name": "DrawerButtonIcon", - "localName": "Ícone do botão da gaveta", - "info": "Um ícone de gaveta, exibe o ícone correspondente de acordo com a plataforma, pode ser personalizado com o tema ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Efeito do DrawerButtonIcon", - "desc": [ - "Através do componente _ActionIcon, adapta o ícone do botão da gaveta para diferentes plataformas de acordo com o tema ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_ru_RU.json deleted file mode 100644 index 5d97ec8ac..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 273, - "name": "DrawerButtonIcon", - "localName": "Иконка кнопки ящика", - "info": "Иконка ящика, которая отображает соответствующую иконку в зависимости от платформы. Можно настроить тему через ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Эффект DrawerButtonIcon", - "desc": [ - "Компонент _ActionIcon адаптирует иконку кнопки ящика для разных платформ в соответствии с темой ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_zh-CN.json deleted file mode 100644 index 1397b3c20..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 273, - "name": "DrawerButtonIcon", - "localName": "抽屉按钮图标", - "info": "一个抽屉 Icon 图标, 根据平台展示对应的图标,可以通过 ActionIconTheme 定制主题。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerButtonIcon 效果", - "desc": [ - "通过 _ActionIcon 组件根据 ActionIconTheme 主题,来适配不同平台的抽屉按钮图标。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/node1_base.dart deleted file mode 100644 index a60b8b70e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerButtonIcon/node1_base.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/11/28 -/// contact me by email 1981462002@qq.com - -class DrawerButtonIconDemo extends StatelessWidget { - const DrawerButtonIconDemo({super.key}); - - @override - Widget build(BuildContext context) { - return const DrawerButtonIcon(); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_de_DE.json deleted file mode 100644 index 309a66241..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 155, - "name": "DrawerHeader", - "localName": "Drawer-Header", - "info": "Wird normalerweise in Drawer verwendet, als Kopf des Drawers. Kann Attribute wie Innen- und Außenabstand, Dekoration, Unterkomponenten usw. festlegen.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von DrawerHeader", - "desc": [ - "【child】 : Unterkomponente 【Widget】", - "【decoration】 : Dekoration 【Decoration】", - "【margin】 : Außenabstand 【EdgeInsetsGeometry】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_en_US.json deleted file mode 100644 index 1c719c261..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 155, - "name": "DrawerHeader", - "localName": "Drawer Header", - "info": "Generally used in Drawer, as the header of the drawer. You can specify properties such as padding, decoration, child components, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of DrawerHeader", - "desc": [ - "【child】 : Child Component 【Widget】", - "【decoration】 : Decoration 【Decoration】", - "【margin】 : Margin 【EdgeInsetsGeometry】", - "【padding】 : Padding 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_es_ES.json deleted file mode 100644 index 3deee37bf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 155, - "name": "DrawerHeader", - "localName": "Encabezado del cajón", - "info": "Generalmente se utiliza en Drawer, como encabezado del cajón. Se pueden especificar propiedades como márgenes internos y externos, decoración, componentes secundarios, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de DrawerHeader", - "desc": [ - "【child】 : Componente secundario 【Widget】", - "【decoration】 : Decoración 【Decoration】", - "【margin】 : Margen externo 【EdgeInsetsGeometry】", - "【padding】 : Margen interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_fr_FR.json deleted file mode 100644 index 95784358b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 155, - "name": "DrawerHeader", - "localName": "En-tête de tiroir", - "info": "Généralement utilisé dans Drawer, comme en-tête du tiroir. Peut spécifier des propriétés telles que les marges intérieures et extérieures, la décoration, les composants enfants, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de DrawerHeader", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【decoration】 : Décoration 【Decoration】", - "【margin】 : Marge extérieure 【EdgeInsetsGeometry】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_it_IT.json deleted file mode 100644 index 54fc9e885..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 155, - "name": "DrawerHeader", - "localName": "Intestazione del cassetto", - "info": "Generalmente utilizzato in Drawer, come intestazione del cassetto. È possibile specificare proprietà come margini interni ed esterni, decorazioni, componenti figli, ecc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di DrawerHeader", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【decoration】 : Decorazione 【Decoration】", - "【margin】 : Margine esterno 【EdgeInsetsGeometry】", - "【padding】 : Margine interno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_ja_JP.json deleted file mode 100644 index c917a0602..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 155, - "name": "DrawerHeader", - "localName": "ドロワーヘッダー", - "info": "一般的にDrawer内で使用され、ドロワーのヘッダーとして機能します。内外の余白、装飾、子コンポーネントなどのプロパティを指定できます。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerHeaderの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【decoration】 : 装飾 【Decoration】", - "【margin】 : 外側の余白 【EdgeInsetsGeometry】", - "【padding】 : 内側の余白 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_ko_KR.json deleted file mode 100644 index b796014dc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 155, - "name": "DrawerHeader", - "localName": "슬라이드 페이지 헤더", - "info": "일반적으로 Drawer에서 사용되며, 슬라이드 페이지의 헤더로 사용됩니다. 내부 및 외부 여백, 장식, 하위 구성 요소 등의 속성을 지정할 수 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerHeader 기본 사용", - "desc": [ - "【child】 : 하위 구성 요소 【Widget】", - "【decoration】 : 장식 【Decoration】", - "【margin】 : 외부 여백 【EdgeInsetsGeometry】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_pt_PT.json deleted file mode 100644 index 209efa1e3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 155, - "name": "DrawerHeader", - "localName": "Cabeçalho do Painel Deslizante", - "info": "Geralmente utilizado no Drawer, como cabeçalho do painel deslizante. Pode especificar atributos como margens internas e externas, decoração, componentes filhos, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do DrawerHeader", - "desc": [ - "【child】 : Componente Filho 【Widget】", - "【decoration】 : Decoração 【Decoration】", - "【margin】 : Margem Externa 【EdgeInsetsGeometry】", - "【padding】 : Margem Interna 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_ru_RU.json deleted file mode 100644 index 77940ee30..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 155, - "name": "DrawerHeader", - "localName": "Заголовок выдвижной панели", - "info": "Обычно используется в Drawer в качестве заголовка выдвижной панели. Можно указать свойства, такие как отступы, декор, дочерние компоненты и т.д.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование DrawerHeader", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【decoration】 : Декор 【Decoration】", - "【margin】 : Внешний отступ 【EdgeInsetsGeometry】", - "【padding】 : Внутренний отступ 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_zh-CN.json deleted file mode 100644 index 7ebf64d04..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 155, - "name": "DrawerHeader", - "localName": "滑页栏标题", - "info": "一般用于Drawer中,作为滑页栏的头部。可以指定内外边距、装饰、子组件等属性。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "DrawerHeader基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【decoration】 : 装饰 【Decoration】", - "【margin】 : 外边距 【EdgeInsetsGeometry】", - "【padding】 : 内边距 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/node1_base.dart deleted file mode 100644 index 76e761a9e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/DrawerHeader/node1_base.dart +++ /dev/null @@ -1,73 +0,0 @@ - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; -class CustomDrawerHeader extends StatelessWidget { - const CustomDrawerHeader({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 400, - child: Scaffold( - appBar: AppBar( - title: const Text('Flutter Unit'), - ), - drawer: Drawer( - elevation: 3, - child: _buildChild(), - ), - ), - ); - } - - Widget _buildChild() => ListView( - padding: EdgeInsets.zero, - children: [ - _buildHeader(), - const ListTile( - leading: Icon( - Icons.star, - color: Colors.blue, - ), - title: Text('我的收藏'), - ), - const ListTile( - leading: Icon( - Icons.palette, - color: Colors.orangeAccent, - ), - title: Text('我的绘画'), - ), - const ListTile( - leading: Icon( - Icons.insert_drive_file, - color: Colors.green, - ), - title: Text('我的文件'), - ), - ], - ); - - Widget _buildHeader() => const DrawerHeader( - margin: EdgeInsets.all(10), - padding: EdgeInsets.only(left: 20,top: 15), - decoration: BoxDecoration( - borderRadius: BorderRadius.only( - topLeft:Radius.circular(40), - topRight:Radius.circular(40) - ), - image: DecorationImage( - image: AssetImage('assets/images/caver.webp'), - fit: BoxFit.cover), - ), - child: Text( - '张风捷特烈', - style: TextStyle(fontSize: 24, color: Colors.white, shadows: [ - Shadow(color: Colors.black, offset: Offset(1, 1), blurRadius: 3) - ]), - ), - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_de_DE.json deleted file mode 100644 index 9b37050e6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 361, - "name": "EndDrawerButton", - "localName": "Rechte Schubladen-Schaltfläche", - "info": "Eine rechte Schubladen-Icon-Schaltfläche, die das EndDrawerButtonIcon verwendet, um das Icon anzuzeigen. Standardmäßig öffnet ein Klick die rechte Schublade.", - "lever": 1, - "family": 0, - "linkIds": [ - 275, - 276 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von EndDrawerButton", - "desc": [ - "【onPressed】 : Klick-Ereignis 【VoidCallback?】", - "【style】: Schaltflächenstil 【ButtonStyle?】", - "Wenn onPressed leer ist, wird beim Klicken die rechte Schublade geöffnet." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_en_US.json deleted file mode 100644 index 807315a6f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 361, - "name": "EndDrawerButton", - "localName": "Right Drawer Button", - "info": "A right drawer icon button, using EndDrawerButtonIcon to display the icon, the default click event can open the right drawer.", - "lever": 1, - "family": 0, - "linkIds": [ - 275, - 276 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of EndDrawerButton", - "desc": [ - "【onPressed】: Click event 【VoidCallback?】", - "【style】: Button style 【ButtonStyle?】", - "When onPressed is empty, clicking will open the right drawer." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_es_ES.json deleted file mode 100644 index 9166032a5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 361, - "name": "EndDrawerButton", - "localName": "Botón de cajón derecho", - "info": "Un botón de icono de cajón derecho, que utiliza EndDrawerButtonIcon para mostrar el icono. El evento de clic predeterminado puede abrir el cajón derecho.", - "lever": 1, - "family": 0, - "linkIds": [ - 275, - 276 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de EndDrawerButton", - "desc": [ - "【onPressed】 : Evento de clic 【VoidCallback?】", - "【style】: Estilo del botón 【ButtonStyle?】", - "Cuando onPressed está vacío, al hacer clic se abrirá el cajón derecho." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_fr_FR.json deleted file mode 100644 index 8e80d8281..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 361, - "name": "EndDrawerButton", - "localName": "Bouton de tiroir droit", - "info": "Un bouton d'icône de tiroir droit, utilisant EndDrawerButtonIcon pour afficher l'icône, l'événement de clic par défaut peut ouvrir le tiroir droit.", - "lever": 1, - "family": 0, - "linkIds": [ - 275, - 276 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de EndDrawerButton", - "desc": [ - "【onPressed】 : Événement de clic 【VoidCallback?】", - "【style】: Style du bouton 【ButtonStyle?】", - "Lorsque onPressed est vide, un clic ouvrira le tiroir droit." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_it_IT.json deleted file mode 100644 index bc4fca22a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 361, - "name": "EndDrawerButton", - "localName": "Pulsante cassetto destro", - "info": "Un pulsante icona per il cassetto destro, utilizza EndDrawerButtonIcon per visualizzare l'icona. L'evento di clic predefinito apre il cassetto destro.", - "lever": 1, - "family": 0, - "linkIds": [ - 275, - 276 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di EndDrawerButton", - "desc": [ - "【onPressed】 : Evento di clic 【VoidCallback?】", - "【style】: Stile del pulsante 【ButtonStyle?】", - "Quando onPressed è vuoto, cliccando si apre il cassetto destro." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_ja_JP.json deleted file mode 100644 index 23fcf703b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 361, - "name": "EndDrawerButton", - "localName": "右ドロワーボタン", - "info": "右ドロワーアイコンボタンで、EndDrawerButtonIconを使用してアイコンを表示し、デフォルトのクリックイベントで右ドロワーを開くことができます。", - "lever": 1, - "family": 0, - "linkIds": [ - 275, - 276 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EndDrawerButton 基本使用", - "desc": [ - "【onPressed】 : クリックイベント 【VoidCallback?】", - "【style】: ボタンスタイル 【ButtonStyle?】", - "onPressedが空の場合、クリックすると右ドロワーが開きます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_ko_KR.json deleted file mode 100644 index 74f43710b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 361, - "name": "EndDrawerButton", - "localName": "오른쪽 서랍 버튼", - "info": "오른쪽 서랍 아이콘 버튼, EndDrawerButtonIcon을 사용하여 아이콘을 표시하며, 기본 클릭 이벤트는 오른쪽 서랍을 열 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [ - 275, - 276 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EndDrawerButton 기본 사용", - "desc": [ - "【onPressed】 : 클릭 이벤트 【VoidCallback?】", - "【style】: 버튼 스타일 【ButtonStyle?】", - "onPressed가 비어 있을 때, 클릭하면 오른쪽 서랍이 열립니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_pt_PT.json deleted file mode 100644 index 77bcd2109..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 361, - "name": "EndDrawerButton", - "localName": "Botão de gaveta direita", - "info": "Um botão de ícone de gaveta direita, usando EndDrawerButtonIcon para exibir o ícone, o evento de clique padrão pode abrir a gaveta direita.", - "lever": 1, - "family": 0, - "linkIds": [ - 275, - 276 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do EndDrawerButton", - "desc": [ - "【onPressed】 : Evento de clique 【VoidCallback?】", - "【style】: Estilo do botão 【ButtonStyle?】", - "Quando onPressed estiver vazio, ao clicar, a gaveta direita será aberta." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_ru_RU.json deleted file mode 100644 index 9ee1ce2d8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 361, - "name": "EndDrawerButton", - "localName": "Кнопка правого ящика", - "info": "Кнопка с иконкой правого ящика, использующая EndDrawerButtonIcon для отображения иконки. По умолчанию при нажатии открывает правый ящик.", - "lever": 1, - "family": 0, - "linkIds": [ - 275, - 276 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование EndDrawerButton", - "desc": [ - "【onPressed】: Событие нажатия 【VoidCallback?】", - "【style】: Стиль кнопки 【ButtonStyle?】", - "Если onPressed пуст, при нажатии открывается правый ящик." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_zh-CN.json deleted file mode 100644 index 6d40c8cbd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 361, - "name": "EndDrawerButton", - "localName": "右抽屉按钮", - "info": "一个右抽屉图标按钮, 使用 EndDrawerButtonIcon 展示图标,默认点击事件可以打开右抽屉。", - "lever": 1, - "family": 0, - "linkIds": [ - 275, - 276 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EndDrawerButton 基本使用", - "desc": [ - "【onPressed】 : 点击事件 【VoidCallback?】", - "【style】: 按钮样式 【ButtonStyle?】", - "onPressed 为空时,点击时会打开右抽屉。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/node1_base.dart deleted file mode 100644 index bbce197e0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButton/node1_base.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/11/28 -/// contact me by email 1981462002@qq.com - - -class EndDrawerButtonDemo extends StatelessWidget { - const EndDrawerButtonDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return EndDrawerButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - iconColor: Colors.white, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_de_DE.json deleted file mode 100644 index 3e564d5f9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 275, - "name": "EndDrawerButtonIcon", - "localName": "Rechte Schubladen-Schaltfläche Symbol", - "info": "Ein Symbol für die rechte Schubladen-Schaltfläche, das je nach Plattform das entsprechende Symbol anzeigt. Das Thema kann über ActionIconTheme angepasst werden.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EndDrawerButtonIcon Effekt", - "desc": [ - "Durch die _ActionIcon-Komponente wird das Symbol für die rechte Schubladen-Schaltfläche entsprechend dem ActionIconTheme-Theme an verschiedene Plattformen angepasst." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_en_US.json deleted file mode 100644 index 3afb85737..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 275, - "name": "EndDrawerButtonIcon", - "localName": "Right Drawer Button Icon", - "info": "A right drawer Icon that displays the corresponding icon based on the platform. It can be customized with the ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EndDrawerButtonIcon Effect", - "desc": [ - "The _ActionIcon component adapts the right drawer button icon for different platforms based on the ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_es_ES.json deleted file mode 100644 index 47c9524b4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 275, - "name": "EndDrawerButtonIcon", - "localName": "Icono del botón del cajón derecho", - "info": "Un icono de cajón derecho que muestra el icono correspondiente según la plataforma, y se puede personalizar el tema a través de ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Efecto de EndDrawerButtonIcon", - "desc": [ - "El componente _ActionIcon adapta el icono del botón del cajón derecho para diferentes plataformas según el tema de ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_fr_FR.json deleted file mode 100644 index c1be227cc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 275, - "name": "EndDrawerButtonIcon", - "localName": "Icône de bouton de tiroir droit", - "info": "Une icône de tiroir droit, affichant l'icône correspondante selon la plateforme, peut être personnalisée avec ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Effet de l'icône EndDrawerButtonIcon", - "desc": [ - "Le composant _ActionIcon adapte l'icône du bouton de tiroir droit pour différentes plateformes selon le thème ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_it_IT.json deleted file mode 100644 index 679a54690..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 275, - "name": "EndDrawerButtonIcon", - "localName": "Icona del pulsante del cassetto destro", - "info": "Un'icona del cassetto destro, mostra l'icona corrispondente in base alla piattaforma, può essere personalizzata tramite ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Effetto di EndDrawerButtonIcon", - "desc": [ - "Adatta l'icona del pulsante del cassetto destro per diverse piattaforme tramite il componente _ActionIcon in base al tema ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_ja_JP.json deleted file mode 100644 index 0bdd2df7b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 275, - "name": "EndDrawerButtonIcon", - "localName": "右ドロワーボタンアイコン", - "info": "右ドロワーのアイコンで、プラットフォームに応じて対応するアイコンを表示します。ActionIconTheme を使用してテーマをカスタマイズできます。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EndDrawerButtonIcon 効果", - "desc": [ - "_ActionIcon コンポーネントを使用して、ActionIconTheme テーマに基づいて、異なるプラットフォームの右ドロワーボタンアイコンを適応させます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_ko_KR.json deleted file mode 100644 index feb4b6525..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 275, - "name": "EndDrawerButtonIcon", - "localName": "오른쪽 서랍 버튼 아이콘", - "info": "오른쪽 서랍 Icon 아이콘, 플랫폼에 따라 해당 아이콘을 표시하며, ActionIconTheme을 통해 테마를 커스터마이징할 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EndDrawerButtonIcon 효과", - "desc": [ - "_ActionIcon 컴포넌트를 통해 ActionIconTheme 테마에 따라 다른 플랫폼의 오른쪽 서랍 버튼 아이콘을 적용합니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_pt_PT.json deleted file mode 100644 index 769b41677..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 275, - "name": "EndDrawerButtonIcon", - "localName": "Ícone do botão da gaveta direita", - "info": "Um ícone de gaveta direita, que exibe o ícone correspondente de acordo com a plataforma, podendo ser personalizado com o tema ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Efeito do EndDrawerButtonIcon", - "desc": [ - "O componente _ActionIcon adapta o ícone do botão da gaveta direita para diferentes plataformas de acordo com o tema ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_ru_RU.json deleted file mode 100644 index 7e3fa0783..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 275, - "name": "EndDrawerButtonIcon", - "localName": "Иконка кнопки правого выдвижного ящика", - "info": "Иконка правого выдвижного ящика, отображающая соответствующую иконку в зависимости от платформы, может быть настроена с помощью ActionIconTheme.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Эффект EndDrawerButtonIcon", - "desc": [ - "Компонент _ActionIcon адаптирует иконку кнопки правого выдвижного ящика для разных платформ в зависимости от темы ActionIconTheme." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_zh-CN.json deleted file mode 100644 index 07e601ffa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 275, - "name": "EndDrawerButtonIcon", - "localName": "右抽屉按钮图标", - "info": "一个右抽屉 Icon 图标, 根据平台展示对应的图标,可以通过 ActionIconTheme 定制主题。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "EndDrawerButtonIcon 效果", - "desc": [ - "通过 _ActionIcon 组件根据 ActionIconTheme 主题,来适配不同平台的右抽屉按钮图标。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/node1_base.dart deleted file mode 100644 index a2957fcd9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/EndDrawerButtonIcon/node1_base.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2023/11/28 -/// contact me by email 1981462002@qq.com - -class EndDrawerButtonIconDemo extends StatelessWidget { - const EndDrawerButtonIconDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const EndDrawerButtonIcon(); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_de_DE.json deleted file mode 100644 index f508855f2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_de_DE.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 8, - "name": "FadeInImage", - "localName": "Einblendendes Bild", - "info": "Lädt ein Bild mit transparentem Übergang. Kann Platzhalterbild, Animationskurven für Ein- und Ausblenden, Zeit, Breite, Höhe, Fit-Typ, Ausrichtung, Wiederholungsmodus usw. angeben.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeInImage.assetNetwork lädt Netzwerkbild", - "desc": [ - "【placeholder】 : Platzhalterbild-Adresse 【String】", - "【image】 : Anzeigebild-Adresse 【String】", - "【width】: Breite 【double】", - "【height】: Höhe 【double】", - "【fadeInDuration】: Einblenddauer 【Duration】", - "【fadeOutDuration】: Ausblenddauer 【Duration】", - "【fadeInCurve】: Einblendkurve 【Cubic】", - "【fadeOutCurve】: Ausblendkurve 【Cubic】", - "【fit】: Anpassungsmodus 【BoxFit】", - "【alignment】: Ausrichtungsmodus 【Alignment】", - "【repeat】: Wiederholungsmodus 【ImageRepeat】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_en_US.json deleted file mode 100644 index 6d20fb528..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_en_US.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 8, - "name": "FadeInImage", - "localName": "Fade-in Image", - "info": "Load an image with a transparent gradient. You can specify a placeholder image, animation curves for fade in and out, duration, width, height, fit type, alignment, repeat mode, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeInImage.assetNetwork Load Network Image", - "desc": [ - "【placeholder】 : Placeholder image address 【String】", - "【image】 : Display image address 【String】", - "【width】: Width 【double】", - "【height】: Height 【double】", - "【fadeInDuration】: Fade-in duration 【Duration】", - "【fadeOutDuration】: Fade-out duration 【Duration】", - "【fadeInCurve】: Fade-in curve 【Cubic】", - "【fadeOutCurve】: Fade-out curve 【Cubic】", - "【fit】: Fit mode 【BoxFit】", - "【alignment】: Alignment mode 【Alignment】", - "【repeat】: Repeat mode 【ImageRepeat】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_es_ES.json deleted file mode 100644 index fbb31cee9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_es_ES.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 8, - "name": "FadeInImage", - "localName": "Imagen de fundido", - "info": "Carga una imagen con un gradiente transparente. Se puede especificar una imagen de marcador de posición, curvas de animación de entrada y salida, tiempo, ancho y alto, tipo de ajuste, alineación, modo de repetición, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeInImage.assetNetwork cargar imagen de red", - "desc": [ - "【placeholder】 : dirección de la imagen de marcador de posición 【String】", - "【image】 : dirección de la imagen a mostrar 【String】", - "【width】: ancho 【double】", - "【height】: alto 【double】", - "【fadeInDuration】: duración del fundido de entrada 【Duration】", - "【fadeOutDuration】: duración del fundido de salida 【Duration】", - "【fadeInCurve】: curva de fundido de entrada 【Cubic】", - "【fadeOutCurve】: curva de fundido de salida 【Cubic】", - "【fit】: modo de ajuste 【BoxFit】", - "【alignment】: modo de alineación 【Alignment】", - "【repeat】: modo de repetición 【ImageRepeat】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_fr_FR.json deleted file mode 100644 index 9433dd845..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_fr_FR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 8, - "name": "FadeInImage", - "localName": "Image en fondu", - "info": "Charge une image avec un dégradé transparent. Vous pouvez spécifier une image de remplacement, les courbes d'animation d'entrée et de sortie, la durée, la largeur, la hauteur, le type de fit, l'alignement, le mode de répétition, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeInImage.assetNetwork charger une image réseau", - "desc": [ - "【placeholder】 : adresse de l'image de remplacement 【String】", - "【image】 : adresse de l'image à afficher 【String】", - "【width】: largeur 【double】", - "【height】: hauteur 【double】", - "【fadeInDuration】: durée du fondu entrant 【Duration】", - "【fadeOutDuration】: durée du fondu sortant 【Duration】", - "【fadeInCurve】: courbe du fondu entrant 【Cubic】", - "【fadeOutCurve】: courbe du fondu sortant 【Cubic】", - "【fit】: mode d'ajustement 【BoxFit】", - "【alignment】: mode d'alignement 【Alignment】", - "【repeat】: mode de répétition 【ImageRepeat】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_it_IT.json deleted file mode 100644 index 3b135d11e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_it_IT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 8, - "name": "FadeInImage", - "localName": "Immagine dissolvenza", - "info": "Carica un'immagine con una dissolvenza trasparente. È possibile specificare un'immagine segnaposto, curve di animazione per l'entrata e l'uscita, durata, larghezza, altezza, tipo di adattamento, allineamento, modalità di ripetizione, ecc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeInImage.assetNetwork carica immagini dalla rete", - "desc": [ - "【placeholder】 : Indirizzo dell'immagine segnaposto 【String】", - "【image】 : Indirizzo dell'immagine da visualizzare 【String】", - "【width】: Larghezza 【double】", - "【height】: Altezza 【double】", - "【fadeInDuration】: Durata della dissolvenza in entrata 【Duration】", - "【fadeOutDuration】: Durata della dissolvenza in uscita 【Duration】", - "【fadeInCurve】: Curva della dissolvenza in entrata 【Cubic】", - "【fadeOutCurve】: Curva della dissolvenza in uscita 【Cubic】", - "【fit】: Modalità di adattamento 【BoxFit】", - "【alignment】: Modalità di allineamento 【Alignment】", - "【repeat】: Modalità di ripetizione 【ImageRepeat】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_ja_JP.json deleted file mode 100644 index ff0eb9c45..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_ja_JP.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 8, - "name": "FadeInImage", - "localName": "フェードイン画像", - "info": "画像を透明にグラデーションしてロードします。プレースホルダー画像、進退のアニメーションカーブ、時間、幅と高さ、fitタイプ、配置方法、繰り返し方法などを指定できます。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeInImage.assetNetworkでネットワーク画像をロード", - "desc": [ - "【placeholder】 : プレースホルダー画像のアドレス 【String】", - "【image】 : 表示画像のアドレス 【String】", - "【width】: 幅 【double】", - "【height】: 高さ 【double】", - "【fadeInDuration】: フェードイン時間 【Duration】", - "【fadeOutDuration】: フェードアウト時間 【Duration】", - "【fadeInCurve】: フェードインカーブ 【Cubic】", - "【fadeOutCurve】: フェードアウトカーブ 【Cubic】", - "【fit】: フィットモード 【BoxFit】", - "【alignment】: 配置モード 【Alignment】", - "【repeat】: 繰り返しモード 【ImageRepeat】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_ko_KR.json deleted file mode 100644 index 268d935ca..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_ko_KR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 8, - "name": "FadeInImage", - "localName": "페이드 인 이미지", - "info": "이미지를 투명하게 페이드 인하여 로드합니다. 플레이스홀더 이미지, 애니메이션 곡선, 시간, 너비, 높이, fit 유형, 정렬 방식, 반복 방식 등을 지정할 수 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeInImage.assetNetwork 네트워크 이미지 로드", - "desc": [ - "【placeholder】 : 플레이스홀더 이미지 주소 【String】", - "【image】 : 표시할 이미지 주소 【String】", - "【width】: 너비 【double】", - "【height】: 높이 【double】", - "【fadeInDuration】: 페이드 인 시간 【Duration】", - "【fadeOutDuration】: 페이드 아웃 시간 【Duration】", - "【fadeInCurve】: 페이드 인 곡선 【Cubic】", - "【fadeOutCurve】: 페이드 아웃 곡선 【Cubic】", - "【fit】: 적합 모드 【BoxFit】", - "【alignment】: 정렬 모드 【Alignment】", - "【repeat】: 반복 모드 【ImageRepeat】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_pt_PT.json deleted file mode 100644 index 734af47d1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_pt_PT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 8, - "name": "FadeInImage", - "localName": "Imagem de Desvanecimento", - "info": "Carrega uma imagem com um gradiente transparente. Pode especificar uma imagem de placeholder, curvas de animação de entrada e saída, duração, largura, altura, tipo de ajuste, alinhamento, modo de repetição, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeInImage.assetNetwork carregar imagem da rede", - "desc": [ - "【placeholder】 : endereço da imagem de placeholder 【String】", - "【image】 : endereço da imagem a ser exibida 【String】", - "【width】: largura 【double】", - "【height】: altura 【double】", - "【fadeInDuration】: duração do desvanecimento de entrada 【Duration】", - "【fadeOutDuration】: duração do desvanecimento de saída 【Duration】", - "【fadeInCurve】: curva de desvanecimento de entrada 【Cubic】", - "【fadeOutCurve】: curva de desvanecimento de saída 【Cubic】", - "【fit】: modo de ajuste 【BoxFit】", - "【alignment】: modo de alinhamento 【Alignment】", - "【repeat】: modo de repetição 【ImageRepeat】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_ru_RU.json deleted file mode 100644 index f2ed4160f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_ru_RU.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 8, - "name": "FadeInImage", - "localName": "Изображение с плавным появлением", - "info": "Загрузка изображения с плавным появлением. Можно указать изображение-заполнитель, кривые анимации появления и исчезновения, время, ширину, высоту, тип подгонки, выравнивание, режим повторения и т.д.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeInImage.assetNetwork загрузка изображения из сети", - "desc": [ - "【placeholder】 : Адрес изображения-заполнителя 【String】", - "【image】 : Адрес отображаемого изображения 【String】", - "【width】: Ширина 【double】", - "【height】: Высота 【double】", - "【fadeInDuration】: Длительность появления 【Duration】", - "【fadeOutDuration】: Длительность исчезновения 【Duration】", - "【fadeInCurve】: Кривая появления 【Cubic】", - "【fadeOutCurve】: Кривая исчезновения 【Cubic】", - "【fit】: Режим подгонки 【BoxFit】", - "【alignment】: Режим выравнивания 【Alignment】", - "【repeat】: Режим повторения 【ImageRepeat】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_zh-CN.json deleted file mode 100644 index 4c4d01c56..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/desc_zh-CN.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 8, - "name": "FadeInImage", - "localName": "淡入图片", - "info": "透明渐变地加载一张图片。可指定占位图片、进退的动画曲线、时间、宽高、fit类型、对齐方式、重复方式等。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FadeInImage.assetNetwork加载网络图片", - "desc": [ - "【placeholder】 : 展位图地址 【String】", - "【image】 : 显示图地址 【String】", - "【width】: 宽 【double】", - "【height】: 高 【double】", - "【fadeInDuration】: 淡入时长 【Duration】", - "【fadeOutDuration】: 淡出时长 【Duration】", - "【fadeInCurve】: 淡入曲线 【Cubic】", - "【fadeOutCurve】: 淡出曲线 【Cubic】", - "【fit】: 适应模式 【BoxFit】", - "【alignment】: 对齐模式 【Alignment】", - "【repeat】: 重复模式 【ImageRepeat】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/node1_base.dart deleted file mode 100644 index 0e6e88aca..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FadeInImage/node1_base.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - - -class CustomFadeInImage extends StatelessWidget { - const CustomFadeInImage({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - String placeholder = "assets/images/icon_head.webp"; - String img = - "https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/" - "15739960c2da4de3a263eeabcb60057f~tplv-k3u1fbpfcp-zoom-crop-mark" - ":1304:1304:1304:734.awebp"; - return FadeInImage.assetNetwork( - placeholder: placeholder, - image: img, - width: 100, - height: 100, - fit: BoxFit.cover, - repeat:ImageRepeat.noRepeat, - alignment: Alignment.center, - fadeInDuration:const Duration(seconds: 5), - fadeInCurve: Curves.easeInCubic, - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_de_DE.json deleted file mode 100644 index 526328334..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 15, - "name": "FilterChip", - "localName": "Filterstreifen", - "info": "Ähnlich wie die Chip-Komponente, hat Eigenschaften für ausgewählt oder nicht und ein Auswahlereignis. Wenn ausgewählt, wird die obere Ebene der linken Komponente mit einem ✔️ überlagert.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 14, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FilterChip kann Auswahlereignisse akzeptieren", - "desc": [ - "【selected】: Ob ausgewählt 【bool】", - "【onSelected】: Auswahlereignis 【Function(bool)】", - "【selectedColor】: Farbe nach der Auswahl 【Color】", - "【selectedShadowColor】: Schattenfarbe nach der Auswahl 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_en_US.json deleted file mode 100644 index b5d60b4ee..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 15, - "name": "FilterChip", - "localName": "Filter Chip", - "info": "Similar in style to the Chip component, with properties for selection and selection events. When selected, the upper layer of the left component will be masked by a ✔️.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 14, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FilterChip can accept selection events", - "desc": [ - "【selected】: Whether selected 【bool】", - "【onSelected】: Selection event 【Function(bool)】", - "【selectedColor】: Color after selection 【Color】", - "【selectedShadowColor】: Shadow color after selection 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_es_ES.json deleted file mode 100644 index 4380e5b48..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 15, - "name": "FilterChip", - "localName": "Chip de Filtro", - "info": "Estilo similar al componente Chip, con propiedades de selección y eventos de selección. Cuando está seleccionado, la capa superior del componente izquierdo estará cubierta por ✔️.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 14, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FilterChip puede aceptar eventos de selección", - "desc": [ - "【selected】: Si está seleccionado 【bool】", - "【onSelected】: Evento de selección 【Function(bool)】", - "【selectedColor】: Color después de la selección 【Color】", - "【selectedShadowColor】: Color de sombra después de la selección 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_fr_FR.json deleted file mode 100644 index bca9e2e67..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 15, - "name": "FilterChip", - "localName": "Filtre puce", - "info": "Un style similaire au composant Chip, avec des propriétés de sélection et des événements de sélection. Lorsqu'il est sélectionné, une superposition de ✔️ apparaît sur le composant de gauche.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 14, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FilterChip peut accepter des événements de sélection", - "desc": [ - "【selected】: Sélectionné ou non 【bool】", - "【onSelected】: Événement de sélection 【Function(bool)】", - "【selectedColor】: Couleur après sélection 【Color】", - "【selectedShadowColor】: Couleur de l'ombre après sélection 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_it_IT.json deleted file mode 100644 index 7d643b69a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 15, - "name": "FilterChip", - "localName": "Filtro Chip", - "info": "Stile simile al componente Chip, con proprietà di selezione e evento di selezione. Quando selezionato, il livello superiore del componente a sinistra sarà coperto da ✔️.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 14, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FilterChip accetta eventi di selezione", - "desc": [ - "【selected】: Se selezionato 【bool】", - "【onSelected】: Evento di selezione 【Function(bool)】", - "【selectedColor】: Colore dopo la selezione 【Color】", - "【selectedShadowColor】: Colore dell'ombra dopo la selezione 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_ja_JP.json deleted file mode 100644 index 5bfbfd28b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 15, - "name": "FilterChip", - "localName": "フィルターチップ", - "info": "Chipコンポーネントと似たスタイルで、選択状態の属性と選択イベントを持ちます。選択時には左側のコンポーネントの上層に✔️が表示されます。", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 14, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FilterChipが選択イベントを受け入れる", - "desc": [ - "【selected】: 選択されているかどうか 【bool】", - "【onSelected】: 選択イベント 【Function(bool)】", - "【selectedColor】: 選択後の色 【Color】", - "【selectedShadowColor】: 選択後の影の色 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_ko_KR.json deleted file mode 100644 index 54b96de4a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 15, - "name": "FilterChip", - "localName": "필터 칩", - "info": "Chip 컴포넌트와 유사한 스타일로, 선택 여부 속성과 선택 이벤트를 가지고 있습니다. 선택 시 왼쪽 컴포넌트 상단에 ✔️ 마스크가 적용됩니다.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 14, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FilterChip 선택 이벤트 수신 가능", - "desc": [ - "【selected】: 선택 여부 【bool】", - "【onSelected】: 선택 이벤트 【Function(bool)】", - "【selectedColor】: 선택 후 색상 【Color】", - "【selectedShadowColor】: 선택 후 그림자 색상 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_pt_PT.json deleted file mode 100644 index 99a05f151..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 15, - "name": "FilterChip", - "localName": "Filtro de Chip", - "info": "Estilo semelhante ao componente Chip, com propriedades de seleção e eventos de seleção. Quando selecionado, a camada superior do componente à esquerda será coberta por um ✔️.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 14, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FilterChip pode aceitar eventos de seleção", - "desc": [ - "【selected】: Se selecionado 【bool】", - "【onSelected】: Evento de seleção 【Function(bool)】", - "【selectedColor】: Cor após seleção 【Color】", - "【selectedShadowColor】: Cor da sombra após seleção 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_ru_RU.json deleted file mode 100644 index e6904c931..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 15, - "name": "FilterChip", - "localName": "Фильтр-чип", - "info": "Стиль, аналогичный компоненту Chip, с атрибутом выбора и событием выбора. При выборе верхний слой левого компонента будет затенен ✔️.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 14, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FilterChip может принимать события выбора", - "desc": [ - "【selected】: Выбрано ли 【bool】", - "【onSelected】: Событие выбора 【Function(bool)】", - "【selectedColor】: Цвет после выбора 【Color】", - "【selectedShadowColor】: Цвет тени после выбора 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_zh-CN.json deleted file mode 100644 index 3c4aaf75d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 15, - "name": "FilterChip", - "localName": "过滤小条", - "info": "和Chip组件类似的样式,具有选中与否的属性和选中事件。当选中时左侧组件上层会被✔️遮罩。", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 14, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FilterChip可接受选择事件", - "desc": [ - "【selected】: 是否选择 【bool】", - "【onSelected】: 选择事件 【Function(bool)】", - "【selectedColor】: 选择后的颜色 【Color】", - "【selectedShadowColor】: 选择后的阴影颜色 【Color】," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/node1_base.dart deleted file mode 100644 index ff56da994..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FilterChip/node1_base.dart +++ /dev/null @@ -1,72 +0,0 @@ -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/material.dart'; - -class CustomFilterChip extends StatefulWidget { - const CustomFilterChip({Key? key}) : super(key: key); - - @override - _CustomFilterChipState createState() => _CustomFilterChipState(); -} - -class _CustomFilterChipState extends State { - final Map map = { - 'A': 'Ant', - 'B': 'Bug', - 'C': 'Cat', - 'D': 'Dog', - }; - final List _selected = []; - - @override - Widget build(BuildContext context) { - Color themeColor = Theme.of(context).primaryColor; - return Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Wrap( - children: map.keys.map((key) => _buildChild(themeColor,key)).toList(), - ), - Container( - padding: const EdgeInsets.all(10), - child: Text('您已选择: ${_selected.join(', ')}')), - ], - ); - } - - Padding _buildChild( Color themeColor,String key) { - bool select = _selected.contains(map[key]); - return Padding( - padding: const EdgeInsets.all(4.0), - child: FilterChip( - selectedColor: themeColor, - selectedShadowColor: Colors.blue, - side: BorderSide.none, - shadowColor: themeColor, - pressElevation: 5, - elevation: 2, - avatarBoxConstraints: BoxConstraints( - maxWidth: 22,maxHeight: 22 - ), - checkmarkColor: select?Colors.white:null, - avatar: CircleAvatar( - backgroundColor: select?Colors.blueAccent:null, - child: Text(key,style: TextStyle(fontSize: 12,color: select?Colors.transparent:null),)), - label: Text(map[key]!,style: TextStyle(color: select?Colors.white:null),), - selected: select, - onSelected: (bool value) => _onSelected(value, key), - ), - ); - } - - void _onSelected(bool value, String key) { - setState(() { - if (value) { - _selected.add(map[key]!); - } else { - _selected.removeWhere((name) => name == map[key]); - } - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_de_DE.json deleted file mode 100644 index 5d8b76852..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_de_DE.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 25, - "name": "FlatButton", - "localName": "Flacher Button", - "info": "Ein flacher Button ohne Schatten, basierend auf MaterialButton. Alle Eigenschaften ähneln denen von MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 26, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FlatButton-Klickereignis", - "desc": [ - "【color】: Farbe 【Color】", - "【splashColor】: Wasserwellenfarbe 【Color】", - "【child】: Untergeordnete Komponente 【Widget】", - "【textColor】: Textfarbe der untergeordneten Komponente 【Color】", - "【highlightColor】: Hervorhebungsfarbe beim Langdrücken 【Color】", - "【padding】: Innenabstand 【EdgeInsetsGeometry】", - "【onPressed】: Klickereignis 【Function】", - " ", - "", - "class CustomFlatButton extends StatelessWidget {", - " const CustomFlatButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'FlatButton wurde in Flutter 3.3 ausgemustert. Der Ersatz ist der ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return FlatButton(", - " onPressed: ()=>{,", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " child: const Text(\"FlatButton\"),", - " textColor: const Color(0xffFfffff),", - " color: Colors.blue,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_en_US.json deleted file mode 100644 index b342c431f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_en_US.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 25, - "name": "FlatButton", - "localName": "Flat Button", - "info": "A flat button without shadows, implemented based on MaterialButton, with all properties similar to MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 26, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FlatButton Click Event", - "desc": [ - "【color】: Color 【Color】", - "【splashColor】: Splash Color 【Color】", - "【child】: Child Widget 【Widget】", - "【textColor】: Text Color of Child Widget 【Color】", - "【highlightColor】: Long Press Highlight Color 【Color】", - "【padding】: Padding 【EdgeInsetsGeometry】", - "【onPressed】: Click Event 【Function】", - " ", - "", - "class CustomFlatButton extends StatelessWidget {", - " const CustomFlatButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'FlatButton was phased out in Flutter 3.3. Its successor is the ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return FlatButton(", - " onPressed: ()=>{,", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " child: const Text(\"FlatButton\"),", - " textColor: const Color(0xffFfffff),", - " color: Colors.blue,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_es_ES.json deleted file mode 100644 index 94f2a9daf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_es_ES.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 25, - "name": "FlatButton", - "localName": "Botón Plano", - "info": "Botón plano sin sombra, implementado basado en MaterialButton, todas las propiedades son similares a MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 26, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de clic de FlatButton", - "desc": [ - "【color】: Color 【Color】", - "【splashColor】: Color de la onda 【Color】", - "【child】: Widget hijo 【Widget】", - "【textColor】: Color del texto del widget hijo 【Color】", - "【highlightColor】: Color de resaltado al mantener presionado 【Color】", - "【padding】: Relleno interno 【EdgeInsetsGeometry】", - "【onPressed】: Evento de clic 【Function】", - " ", - "", - "class CustomFlatButton extends StatelessWidget {", - " const CustomFlatButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'El botón FlatButton dejó de estar disponible en Flutter 3.3. Su reemplazo es el botón ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return FlatButton(", - " onPressed: ()=>{,", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " child: const Text(\"FlatButton\"),", - " textColor: const Color(0xffFfffff),", - " color: Colors.blue,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_fr_FR.json deleted file mode 100644 index b185806c7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_fr_FR.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 25, - "name": "FlatButton", - "localName": "Bouton plat", - "info": "Bouton plat sans ombre, basé sur MaterialButton, toutes les propriétés sont similaires à MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 26, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événement de clic de FlatButton", - "desc": [ - "【color】: Couleur 【Color】", - "【splashColor】: Couleur de l'effet de vague 【Color】", - "【child】: Composant enfant 【Widget】", - "【textColor】: Couleur du texte du composant enfant 【Color】", - "【highlightColor】: Couleur de surbrillance lors d'un appui long 【Color】", - "【padding】: Marge intérieure 【EdgeInsetsGeometry】", - "【onPressed】: Événement de clic 【Function】", - " ", - "", - "class CustomFlatButton extends StatelessWidget {", - " const CustomFlatButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'Le bouton FlatButton a quitté la scène historique avec Flutter 3.3. Il est remplacé par le bouton ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return FlatButton(", - " onPressed: ()=>{,", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " child: const Text(\"FlatButton\"),", - " textColor: const Color(0xffFfffff),", - " color: Colors.blue,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_it_IT.json deleted file mode 100644 index 5b0b62b69..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_it_IT.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 25, - "name": "FlatButton", - "localName": "Pulsante piatto", - "info": "Pulsante piatto senza ombre, implementato basandosi su MaterialButton, tutte le proprietà sono simili a MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 26, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento di clic FlatButton", - "desc": [ - "【color】: Colore 【Color】", - "【splashColor】: Colore effetto ondulazione 【Color】", - "【child】: Componente figlio 【Widget】", - "【textColor】: Colore testo componente figlio 【Color】", - "【highlightColor】: Colore evidenziazione pressione prolungata 【Color】", - "【padding】: Spaziatura interna 【EdgeInsetsGeometry】", - "【onPressed】: Evento clic 【Function】", - " ", - "", - "class CustomFlatButton extends StatelessWidget {", - " const CustomFlatButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'Il pulsante FlatButton è uscito di scena con Flutter 3.3. Il suo sostituto è il pulsante ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return FlatButton(", - " onPressed: ()=>{,", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " child: const Text(\"FlatButton\"),", - " textColor: const Color(0xffFfffff),", - " color: Colors.blue,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_ja_JP.json deleted file mode 100644 index 438bf3a76..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_ja_JP.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 25, - "name": "FlatButton", - "localName": "フラットボタン", - "info": "影のないフラットボタンで、MaterialButtonを基に実装されており、すべてのプロパティはMaterialButtonと類似しています。", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 26, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FlatButtonクリックイベント", - "desc": [ - "【color】: 色 【Color】", - "【splashColor】: 波紋色 【Color】", - "【child】: 子コンポーネント 【Widget】", - "【textColor】: 子コンポーネントの文字色 【Color】", - "【highlightColor】: 長押しハイライト色 【Color】", - "【padding】: 内側の余白 【EdgeInsetsGeometry】", - "【onPressed】: クリックイベント 【Function】", - " ", - "", - "class CustomFlatButton extends StatelessWidget {", - " const CustomFlatButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'FlatButton ボタンは Flutter3.3 で歴史の舞台から退きました。代替は ElevatedButton ボタンです。';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return FlatButton(", - " onPressed: ()=>{,", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " child: const Text(\"FlatButton\"),", - " textColor: const Color(0xffFfffff),", - " color: Colors.blue,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_ko_KR.json deleted file mode 100644 index b862cd0d4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_ko_KR.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 25, - "name": "FlatButton", - "localName": "평평한 버튼", - "info": "그림자가 없는 평평한 버튼으로, MaterialButton을 기반으로 구현되었으며 모든 속성이 MaterialButton과 유사합니다.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 26, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FlatButton 클릭 이벤트", - "desc": [ - "【color】: 색상 【Color】", - "【splashColor】: 물결 효과 색상 【Color】", - "【child】: 자식 위젯 【Widget】", - "【textColor】: 자식 위젯 텍스트 색상 【Color】", - "【highlightColor】: 길게 누를 때 강조 색상 【Color】", - "【padding】: 내부 여백 【EdgeInsetsGeometry】", - "【onPressed】: 클릭 이벤트 【Function】", - " ", - "", - "class CustomFlatButton extends StatelessWidget {", - " const CustomFlatButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'FlatButton 버튼은 Flutter3.3에서 더 이상 사용되지 않습니다. 대체 버튼은 ElevatedButton입니다.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return FlatButton(", - " onPressed: ()=>{,", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " child: const Text(\"FlatButton\"),", - " textColor: const Color(0xffFfffff),", - " color: Colors.blue,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_pt_PT.json deleted file mode 100644 index 2177fd125..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_pt_PT.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 25, - "name": "FlatButton", - "localName": "Botão Plano", - "info": "Botão plano sem sombra, implementado com base no MaterialButton, todas as propriedades são semelhantes ao MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 26, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de Clique do FlatButton", - "desc": [ - "【color】: Cor 【Color】", - "【splashColor】: Cor do efeito de ondulação 【Color】", - "【child】: Componente filho 【Widget】", - "【textColor】: Cor do texto do componente filho 【Color】", - "【highlightColor】: Cor de destaque ao pressionar 【Color】", - "【padding】: Preenchimento interno 【EdgeInsetsGeometry】", - "【onPressed】: Evento de clique 【Function】", - " ", - "", - "class CustomFlatButton extends StatelessWidget {", - " const CustomFlatButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'O botão FlatButton foi descontinuado no Flutter 3.3. O substituto é o botão ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return FlatButton(", - " onPressed: ()=>{,", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " child: const Text(\"FlatButton\"),", - " textColor: const Color(0xffFfffff),", - " color: Colors.blue,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_ru_RU.json deleted file mode 100644 index 1fd459f24..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_ru_RU.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 25, - "name": "FlatButton", - "localName": "Плоская кнопка", - "info": "Плоская кнопка без тени, реализованная на основе MaterialButton, все свойства аналогичны MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 26, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Событие нажатия FlatButton", - "desc": [ - "【color】: Цвет 【Color】", - "【splashColor】: Цвол водной ряби 【Color】", - "【child】: Дочерний компонент 【Widget】", - "【textColor】: Цвет текста дочернего компонента 【Color】", - "【highlightColor】: Цвет подсветки при длительном нажатии 【Color】", - "【padding】: Внутренний отступ 【EdgeInsetsGeometry】", - "【onPressed】: Событие нажатия 【Function】", - " ", - "", - "class CustomFlatButton extends StatelessWidget {", - " const CustomFlatButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'Кнопка FlatButton ушла с исторической сцены в Flutter3.3. Ее заменила кнопка ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return FlatButton(", - " onPressed: ()=>{,", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " child: const Text(\"FlatButton\"),", - " textColor: const Color(0xffFfffff),", - " color: Colors.blue,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_zh-CN.json deleted file mode 100644 index acf03901c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/desc_zh-CN.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 25, - "name": "FlatButton", - "localName": "平按钮", - "info": "无阴影的平按钮,基于MaterialButton实现,所有属性和MaterialButton类似。", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 26, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FlatButton点击事件", - "desc": [ - "【color】: 颜色 【Color】", - "【splashColor】: 水波纹颜色 【Color】", - "【child】: 子组件 【Widget】", - "【textColor】: 子组件文字颜色 【Color】", - "【highlightColor】: 长按高亮色 【Color】", - "【padding】: 内边距 【EdgeInsetsGeometry】", - "【onPressed】: 点击事件 【Function】", - " ", - "", - "class CustomFlatButton extends StatelessWidget {", - " const CustomFlatButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'FlatButton 按钮于 Flutter3.3 退出历史舞台。取代者为 ElevatedButton 按钮。';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return FlatButton(", - " onPressed: ()=>{,", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " child: const Text(\"FlatButton\"),", - " textColor: const Color(0xffFfffff),", - " color: Colors.blue,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/node1_base.dart deleted file mode 100644 index 096d961d4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlatButton/node1_base.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class CustomFlatButton extends StatelessWidget { - const CustomFlatButton({Key? key}) : super(key: key); - - final String info = - 'FlatButton 按钮于 Flutter3.3 退出历史舞台。取代者为 ElevatedButton 按钮。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_de_DE.json deleted file mode 100644 index c88bf31ef..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_de_DE.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 28, - "name": "FloatingActionButton", - "localName": "Schwebende Schaltfläche", - "info": "Schwebende Schaltfläche, die normalerweise in Scaffold verwendet wird und an einer bestimmten Position platziert werden kann. Kann ein Unterelement enthalten, empfängt Klicks, und kann Farbe, Form usw. definieren.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FloatingActionButton Klickereignis", - "desc": [ - "【child】: Unterelement 【Widget】", - "【tooltip】: Tooltip-Text bei langem Drücken 【String】", - "【backgroundColor】: Hintergrundfarbe 【Color】", - "【foregroundColor】: Vordergrundfarbe 【Color】", - "【elevation】: Schattentiefe 【double】", - "【onPressed】: Klickereignis 【Function】" - ] - }, - { - "file": "node2_mini.dart", - "name": "mini Eigenschaft", - "desc": [ - "【mini】: Ist es mini 【bool】" - ] - }, - { - "file": "node3_shape.dart", - "name": "shape Eigenschaft", - "desc": [ - "【shape】: Form 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_en_US.json deleted file mode 100644 index 2da1d5461..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_en_US.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 28, - "name": "FloatingActionButton", - "localName": "Floating Button", - "info": "Floating button, generally used in Scaffold, can be placed in a specific position. It can contain a child widget, receive clicks, and define colors, shapes, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FloatingActionButton Click Event", - "desc": [ - "【child】: Child widget 【Widget】", - "【tooltip】: Tooltip text when long pressed 【String】", - "【backgroundColor】: Background color 【Color】", - "【foregroundColor】: Foreground color 【Color】", - "【elevation】: Elevation 【double】", - "【onPressed】: Click event 【Function】" - ] - }, - { - "file": "node2_mini.dart", - "name": "mini Property", - "desc": [ - "【mini】: Whether it is mini 【bool】" - ] - }, - { - "file": "node3_shape.dart", - "name": "shape Property", - "desc": [ - "【shape】: Shape 【ShapeBorder】" - ] -} - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_es_ES.json deleted file mode 100644 index 4b951eaba..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_es_ES.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 28, - "name": "FloatingActionButton", - "localName": "Botón flotante", - "info": "Botón flotante, generalmente utilizado en Scaffold, se puede colocar en una posición específica. Puede contener un componente secundario, recibir clics, definir colores, formas, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de clic de FloatingActionButton", - "desc": [ - "【child】: Componente secundario 【Widget】", - "【tooltip】: Texto de sugerencia al mantener presionado 【String】", - "【backgroundColor】: Color de fondo 【Color】", - "【foregroundColor】: Color de primer plano 【Color】", - "【elevation】: Profundidad de sombra 【double】", - "【onPressed】: Evento de clic 【Function】" - ] - }, - { - "file": "node2_mini.dart", - "name": "Propiedad mini", - "desc": [ - "【mini】: Si es mini 【bool】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Propiedad shape", - "desc": [ - "【shape】: Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_fr_FR.json deleted file mode 100644 index b24c5798d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_fr_FR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 28, - "name": "FloatingActionButton", - "localName": "Bouton flottant", - "info": "Le bouton flottant, généralement utilisé dans Scaffold, peut être placé à un endroit spécifique. Il peut contenir un composant enfant, recevoir des clics, et définir des couleurs, des formes, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événement de clic du FloatingActionButton", - "desc": [ - "【child】: Composant enfant 【Widget】", - "【tooltip】: Texte d'aide lors d'un appui long 【String】", - "【backgroundColor】: Couleur de fond 【Color】", - "【foregroundColor】: Couleur de premier plan 【Color】", - "【elevation】: Profondeur de l'ombre 【double】", - "【onPressed】: Événement de clic 【Function】" - ] - }, - { - "file": "node2_mini.dart", - "name": "Propriété mini", - "desc": [ - "【mini】: Est-ce un mini bouton 【bool】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Propriété de forme", - "desc": [ - "【shape】: Forme 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_it_IT.json deleted file mode 100644 index 8df3b178a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_it_IT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 28, - "name": "FloatingActionButton", - "localName": "Pulsante galleggiante", - "info": "Il pulsante galleggiante, generalmente utilizzato in Scaffold, può essere posizionato in una posizione specifica. Può contenere un componente figlio, ricevere clic, definire colori, forme, ecc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento di clic di FloatingActionButton", - "desc": [ - "【child】: Componente figlio 【Widget】", - "【tooltip】: Testo di suggerimento durante la pressione prolungata 【String】", - "【backgroundColor】: Colore di sfondo 【Color】", - "【foregroundColor】: Colore di primo piano 【Color】", - "【elevation】: Profondità dell'ombra 【double】", - "【onPressed】: Evento di clic 【Function】" - ] - }, - { - "file": "node2_mini.dart", - "name": "Proprietà mini", - "desc": [ - "【mini】: Se è mini 【bool】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Proprietà shape", - "desc": [ - "【shape】: Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_ja_JP.json deleted file mode 100644 index 8155c5657..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_ja_JP.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 28, - "name": "FloatingActionButton", - "localName": "フローティングボタン", - "info": "フローティングボタンは、一般にScaffold内で使用され、特定の位置に配置できます。子コンポーネントを収容し、クリックを受け取り、色や形状などを定義できます。", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FloatingActionButtonクリックイベント", - "desc": [ - "【child】: 子コンポーネント 【Widget】", - "【tooltip】: 長押し時のヒントテキスト 【String】", - "【backgroundColor】: 背景色 【Color】", - "【foregroundColor】: 前景色 【Color】", - "【elevation】: 影の深さ 【double】", - "【onPressed】: クリックイベント 【Function】" - ] - }, - { - "file": "node2_mini.dart", - "name": "miniプロパティ", - "desc": [ - "【mini】: ミニかどうか 【bool】" - ] - }, - { - "file": "node3_shape.dart", - "name": "shapeプロパティ", - "desc": [ - "【shape】: 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_ko_KR.json deleted file mode 100644 index 4626b1fdd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_ko_KR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 28, - "name": "FloatingActionButton", - "localName": "플로팅 버튼", - "info": "플로팅 버튼은 일반적으로 Scaffold에서 사용되며 특정 위치에 배치할 수 있습니다. 하나의 자식 위젯을 포함할 수 있으며, 클릭 이벤트를 받고 색상, 모양 등을 정의할 수 있습니다.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FloatingActionButton 클릭 이벤트", - "desc": [ - "【child】: 자식 위젯 【Widget】", - "【tooltip】: 길게 누를 때 표시되는 텍스트 【String】", - "【backgroundColor】: 배경색 【Color】", - "【foregroundColor】: 전경색 【Color】", - "【elevation】: 그림자 깊이 【double】", - "【onPressed】: 클릭 이벤트 【Function】" - ] - }, - { - "file": "node2_mini.dart", - "name": "mini 속성", - "desc": [ - "【mini】: 미니 여부 【bool】" - ] - }, - { - "file": "node3_shape.dart", - "name": "shape 속성", - "desc": [ - "【shape】: 모양 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_pt_PT.json deleted file mode 100644 index c49411f06..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_pt_PT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 28, - "name": "FloatingActionButton", - "localName": "Botão Flutuante", - "info": "Botão flutuante, geralmente usado em Scaffold, pode ser colocado em uma posição específica. Pode conter um componente filho, receber cliques, e definir cor, forma, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de clique do FloatingActionButton", - "desc": [ - "【child】: Componente filho 【Widget】", - "【tooltip】: Texto de dica ao pressionar 【String】", - "【backgroundColor】: Cor de fundo 【Color】", - "【foregroundColor】: Cor de frente 【Color】", - "【elevation】: Profundidade da sombra 【double】", - "【onPressed】: Evento de clique 【Function】" - ] - }, - { - "file": "node2_mini.dart", - "name": "Propriedade mini", - "desc": [ - "【mini】: É mini 【bool】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Propriedade shape", - "desc": [ - "【shape】: Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_ru_RU.json deleted file mode 100644 index e60f0cb23..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_ru_RU.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 28, - "name": "FloatingActionButton", - "localName": "Плавающая кнопка", - "info": "Плавающая кнопка, обычно используется в Scaffold, может быть размещена в определенном месте. Может содержать один дочерний компонент, принимает клики, может определять цвет, форму и т.д.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Событие нажатия FloatingActionButton", - "desc": [ - "【child】: Дочерний компонент 【Widget】", - "【tooltip】: Текст подсказки при долгом нажатии 【String】", - "【backgroundColor】: Цвет фона 【Color】", - "【foregroundColor】: Цвет переднего плана 【Color】", - "【elevation】: Глубина тени 【double】", - "【onPressed】: Событие нажатия 【Function】" - ] - }, - { - "file": "node2_mini.dart", - "name": "Свойство mini", - "desc": [ - "【mini】: Является ли мини 【bool】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Свойство shape", - "desc": [ - "【shape】: Форма 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_zh-CN.json deleted file mode 100644 index 71c3705ec..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/desc_zh-CN.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 28, - "name": "FloatingActionButton", - "localName": "浮动按钮", - "info": "浮动按钮,一般用于Scaffold中,可摆放在特定位置。可盛放一个子组件,接收点击、可定义颜色、形状等。", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FloatingActionButton点击事件", - "desc": [ - "【child】: 子组件 【Widget】", - "【tooltip】: 长按时提示文字 【String】", - "【backgroundColor】: 背景色 【Color】", - "【foregroundColor】: 前景色 【Color】", - "【elevation】: 影深 【double】", - "【onPressed】: 点击事件 【Function】" - ] - }, - { - "file": "node2_mini.dart", - "name": "mini属性", - "desc": [ - "【mini】: 是否是迷你 【bool】" - ] - }, - { - "file": "node3_shape.dart", - "name": "shape属性", - "desc": [ - "【shape】: 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/node1_base.dart deleted file mode 100644 index e55a46787..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/node1_base.dart +++ /dev/null @@ -1,29 +0,0 @@ -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/material.dart'; - -class CustomFAB extends StatelessWidget { - const CustomFAB({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Map data = { - Colors.red: Icons.add, - Colors.blue: Icons.bluetooth, - Colors.green: Icons.android, - }; - return Wrap( - spacing: 20, - children: data.keys - .map((e) => FloatingActionButton( - heroTag: e.toString()+"a", - onPressed: () {}, - backgroundColor: e, - foregroundColor: Colors.white, - child: Icon(data[e]), - tooltip: "android", - elevation: 5, //z-阴影盖度 - )).toList()); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/node2_mini.dart b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/node2_mini.dart deleted file mode 100644 index 0478fa291..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/node2_mini.dart +++ /dev/null @@ -1,31 +0,0 @@ -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - - -import 'package:flutter/material.dart'; - -class MiniFAB extends StatelessWidget { - const MiniFAB({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Map data = { - Colors.red: Icons.add, - Colors.blue: Icons.bluetooth, - Colors.green: Icons.android, - }; - return Wrap( - spacing: 20, - children: data.keys - .map((e) => FloatingActionButton( - heroTag: e.toString()+"b", - onPressed: () {}, - backgroundColor: e, - mini: true, - foregroundColor: Colors.white, - child: Icon(data[e]), - tooltip: "android", - elevation: 5, //z-阴影盖度 - )).toList()); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/node3_shape.dart b/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/node3_shape.dart deleted file mode 100644 index 4aa0083cf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FloatingActionButton/node3_shape.dart +++ /dev/null @@ -1,57 +0,0 @@ - - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - - -import 'dart:math'; - -import 'package:flutter/material.dart'; -import 'package:widgets/utils/pather.dart'; - -class ShapeFAB extends StatelessWidget { - const ShapeFAB({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Map data = { - Colors.red: Icons.add, - Colors.blue: Icons.bluetooth, - Colors.green: Icons.android, - }; - return Wrap( - spacing: 20, - children: data.keys - .map((e) => FloatingActionButton( - heroTag: e.toString()+"c", - onPressed: () {}, - backgroundColor: e, - shape: StarBorder(), - foregroundColor: Colors.white, - child: Icon(data[e]), - tooltip: "android", - elevation: 5, - )).toList()); - } -} - -/// 边线形状类 -class StarBorder extends ShapeBorder { - @override - EdgeInsetsGeometry get dimensions => EdgeInsets.zero; - - @override - Path getInnerPath(Rect rect, {TextDirection? textDirection}) => Path(); - - @override - Path getOuterPath(Rect rect, {TextDirection? textDirection}) { - return Pather.create.nStarPath(20, 25, 25 * cos((360 / 9 / 2) * pi / 180), - dx: rect.height / 2, dy: rect.width / 2); - } - - @override - void paint(Canvas canvas, Rect rect, {TextDirection? textDirection}) {} - - @override - ShapeBorder scale(double t) => this; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_de_DE.json deleted file mode 100644 index b16aa1cdb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 4, - "name": "FlutterLogo", - "localName": "Flutter-Logo", - "info": "Wird verwendet, um die Flutter-Logo-Komponente anzuzeigen. Kann Farbe, Größe, Anzeigemodus usw. definieren. Es ist eine sehr einfache Komponente.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Wird verwendet, um ein FlutterLogo anzuzeigen", - "desc": [ - "【size】 : Größe 【double】", - "【colors】: Farbe 【MaterialColor】" - ] - }, - { - "file": "node2_style.dart", - "name": "Stil wird verwendet, um Text anzuzeigen", - "desc": [ - "【style】 : Stil-3 Arten von Aufzählungen 【FlutterLogoStyle】", - "【textColor】: Textfarbe 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_en_US.json deleted file mode 100644 index df16eb502..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 4, - "name": "FlutterLogo", - "localName": "Flutter Icon", - "info": "Used to display the Flutter icon component. You can define color, size, display mode, and other information. It is a very simple component.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Used to display a FlutterLogo", - "desc": [ - "【size】 : Size 【double】", - "【colors】: Color 【MaterialColor】" - ] - }, - { - "file": "node2_style.dart", - "name": "Style used to display text", - "desc": [ - "【style】 : Style - 3 types of enumeration 【FlutterLogoStyle】", - "【textColor】: Text color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_es_ES.json deleted file mode 100644 index eeb38b9f1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 4, - "name": "FlutterLogo", - "localName": "Logotipo de Flutter", - "info": "Se utiliza para mostrar el componente del logotipo de Flutter. Puede definir información como el color, el tamaño, el modo de visualización, etc. Es un componente muy simple.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Se utiliza para mostrar un logotipo de Flutter", - "desc": [ - "【size】 : Tamaño 【double】", - "【colors】: Color 【MaterialColor】" - ] - }, - { - "file": "node2_style.dart", - "name": "Estilo utilizado para mostrar texto", - "desc": [ - "【style】 : Estilo - 3 tipos de enumeración 【FlutterLogoStyle】", - "【textColor】: Color del texto 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_fr_FR.json deleted file mode 100644 index 2f5331ac3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 4, - "name": "FlutterLogo", - "localName": "Icône Flutter", - "info": "Utilisé pour afficher le composant d'icône Flutter. Permet de définir des informations telles que la couleur, la taille, le mode d'affichage, etc. C'est un composant très simple.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisé pour afficher un FlutterLogo", - "desc": [ - "【size】 : Taille 【double】", - "【colors】: Couleur 【MaterialColor】" - ] - }, - { - "file": "node2_style.dart", - "name": "Style utilisé pour afficher du texte", - "desc": [ - "【style】 : Style - 3 types d'énumération 【FlutterLogoStyle】", - "【textColor】: Couleur du texte 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_it_IT.json deleted file mode 100644 index 808ae853b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 4, - "name": "FlutterLogo", - "localName": "Icona Flutter", - "info": "Utilizzato per mostrare il componente dell'icona Flutter. È possibile definire colore, dimensioni, modalità di visualizzazione, ecc. È un componente molto semplice.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzato per visualizzare un FlutterLogo", - "desc": [ - "【size】 : Dimensione 【double】", - "【colors】: Colore 【MaterialColor】" - ] - }, - { - "file": "node2_style.dart", - "name": "Stile utilizzato per visualizzare il testo", - "desc": [ - "【style】 : Stile - 3 tipi di enumerazione 【FlutterLogoStyle】", - "【textColor】: Colore del testo 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_ja_JP.json deleted file mode 100644 index 742935419..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 4, - "name": "FlutterLogo", - "localName": "Flutterアイコン", - "info": "Flutterアイコンコンポーネントを表示するために使用されます。色、サイズ、表示モードなどの情報を定義でき、非常にシンプルなコンポーネントです。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FlutterLogoを表示するために使用", - "desc": [ - "【size】 : サイズ 【double】", - "【colors】: 色 【MaterialColor】" - ] - }, - { - "file": "node2_style.dart", - "name": "テキストを表示するためのスタイル", - "desc": [ - "【style】 : スタイル-3種類の列挙 【FlutterLogoStyle】", - "【textColor】: テキストの色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_ko_KR.json deleted file mode 100644 index b9b2f8db2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 4, - "name": "FlutterLogo", - "localName": "Flutter 로고", - "info": "Flutter 로고 컴포넌트를 표시하는 데 사용됩니다. 색상, 크기, 표시 모드 등을 정의할 수 있는 매우 간단한 컴포넌트입니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "FlutterLogo를 표시하는 데 사용", - "desc": [ - "【size】 : 크기 【double】", - "【colors】: 색상 【MaterialColor】" - ] - }, - { - "file": "node2_style.dart", - "name": "텍스트 표시를 위한 스타일", - "desc": [ - "【style】 : 스타일-3가지 열거 【FlutterLogoStyle】", - "【textColor】: 텍스트 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_pt_PT.json deleted file mode 100644 index 74bd56ece..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 4, - "name": "FlutterLogo", - "localName": "Ícone do Flutter", - "info": "Usado para exibir o componente de ícone do Flutter. Pode definir cor, tamanho, modo de exibição e outras informações, é um componente muito simples.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Usado para exibir um FlutterLogo", - "desc": [ - "【size】 : Tamanho 【double】", - "【colors】: Cor 【MaterialColor】" - ] - }, - { - "file": "node2_style.dart", - "name": "Estilo usado para exibir texto", - "desc": [ - "【style】 : Estilo - 3 tipos de enumeração 【FlutterLogoStyle】", - "【textColor】: Cor do texto 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_ru_RU.json deleted file mode 100644 index d40a8818f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 4, - "name": "FlutterLogo", - "localName": "Логотип Flutter", - "info": "Используется для отображения компонента логотипа Flutter. Можно определить цвет, размер, режим отображения и другую информацию. Это очень простой компонент.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Используется для отображения логотипа Flutter", - "desc": [ - "【size】 : Размер 【double】", - "【colors】: Цвет 【MaterialColor】" - ] - }, - { - "file": "node2_style.dart", - "name": "Стиль для отображения текста", - "desc": [ - "【style】 : Стиль-3 типа перечисления 【FlutterLogoStyle】", - "【textColor】: Цвет текста 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_zh-CN.json deleted file mode 100644 index 10eea5bb0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 4, - "name": "FlutterLogo", - "localName": "Flutter图标", - "info": "用于展示Flutter图标组件。可定义颜色、尺寸、展示模式等信息,是一个非常简单的组件。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "用于显示一个FlutterLogo", - "desc": [ - "【size】 : 大小 【double】", - "【colors】: 颜色 【MaterialColor】" - ] - }, - { - "file": "node2_style.dart", - "name": "样式用于显示文字", - "desc": [ - "【style】 : 样式-3种枚举 【FlutterLogoStyle】", - "【textColor】: 文字颜色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/node1_base.dart deleted file mode 100644 index aa5bec8da..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/node1_base.dart +++ /dev/null @@ -1,28 +0,0 @@ - - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -import 'package:flutter/material.dart'; - -class CustomFlutterLogo extends StatelessWidget { - const CustomFlutterLogo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - - Map data = { - Colors.blue:50.0, - Colors.red:60.0, - Colors.green:70.0, - Colors.yellow:80.0, - }; - return Wrap( - children: data.keys - .map((e) => FlutterLogo( - size: data[e], - textColor: e, - )).toList(), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/node2_style.dart b/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/node2_style.dart deleted file mode 100644 index ace614eb5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/FlutterLogo/node2_style.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-26 -/// contact me by email 1981462002@qq.com - -class FlutterLogoWithText extends StatelessWidget { - const FlutterLogoWithText({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - final Map data = { - FlutterLogoStyle.horizontal: Colors.blue, - FlutterLogoStyle.markOnly: Colors.red, - FlutterLogoStyle.stacked: Colors.green, - }; - - return Wrap( - spacing: 20, - children: data.keys - .map((FlutterLogoStyle style) => FlutterLogo( - size: 80, - style: style, - textColor: data[style]!, - )) - .toList(), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_de_DE.json deleted file mode 100644 index 40f67dd96..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_de_DE.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id": 146, - "name": "GestureDetector", - "localName": "Gesten-Erkenner", - "info": "Komponente zur Erkennung von Gestenereignissen, kann Klicks, lange Drücke, Doppelklicks, Drücken, Loslassen, Bewegen usw. erkennen und kann Informationen über die Berührungspunkte abrufen. Ein unverzichtbares Werkzeug für zu Hause und unterwegs.", - "lever": 5, - "family": 0, - "linkIds": [ - 147, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Ereignisse von GestureDetector", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【onTap】 : Klick-Ereignis 【Function()】", - "【onDoubleTap】 : Doppelklick-Ereignis 【GestureTapCallback】", - "【onLongPress】 : Langer Druck-Ereignis 【GestureLongPressCallback】" - ] - }, - { - "file": "node2_tap.dart", - "name": "Details von GestureDetector", - "desc": [ - "【onTapDown】 : Rückruf beim Drücken 【GestureTapDownCallback】", - "【onTapUp】 : Rückruf beim Loslassen 【GestureTapUpCallback】", - "【onTapCancel】 : Klick abbrechen 【GestureTapCancelCallback】" - ] - }, - { - "file": "node3_pan.dart", - "name": "Pan-Ereignisse von GestureDetector", - "desc": [ - "【onPanDown】 : Rückruf beim Drücken 【GestureDragDownCallback】", - "【onPanEnd】 : Ende des Ziehens 【GestureDragEndCallback】", - "【onPanStart】 : Beginn des Ziehens 【GestureDragStartCallback】", - "【onPanUpdate】 : Aktualisierung des Ziehens 【GestureDragUpdateCallback】", - "【onPanCancel】 : Ziehen abbrechen 【GestureDragCancelCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_en_US.json deleted file mode 100644 index 33b508da1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_en_US.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id": 146, - "name": "GestureDetector", - "localName": "Gesture Detector", - "info": "A detector for component gesture events, capable of accepting events such as tap, long press, double tap, press, release, move, etc., and can obtain touch information. An essential component for home and travel.", - "lever": 5, - "family": 0, - "linkIds": [ - 147, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Events of GestureDetector", - "desc": [ - "【child】 : Child component 【Widget】", - "【onTap】 : Tap event 【Function()】", - "【onDoubleTap】 : Double tap event 【GestureTapCallback】", - "【onLongPress】 : Long press event 【GestureLongPressCallback】" - ] - }, - { - "file": "node2_tap.dart", - "name": "Details of GestureDetector", - "desc": [ - "【onTapDown】 : Press down callback 【GestureTapDownCallback】", - "【onTapUp】 : Tap release callback 【GestureTapUpCallback】", - "【onTapCancel】 : Tap cancel 【GestureTapCancelCallback】" - ] - }, - { - "file": "node3_pan.dart", - "name": "Pan Events of GestureDetector", - "desc": [ - "【onPanDown】 : Press down callback 【GestureDragDownCallback】", - "【onPanEnd】 : Drag end 【GestureDragEndCallback】", - "【onPanStart】 : Drag start 【GestureDragStartCallback】", - "【onPanUpdate】 : Drag update 【GestureDragUpdateCallback】", - "【onPanCancel】 : Drag cancel 【GestureDragCancelCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_es_ES.json deleted file mode 100644 index 25e66c3af..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_es_ES.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id": 146, - "name": "GestureDetector", - "localName": "Detector de gestos", - "info": "Detector de eventos de gestos del componente, puede aceptar eventos como clics, pulsaciones largas, doble clic, presionar, soltar, mover, etc., y puede obtener información de los puntos de contacto, un componente esencial para viajes y hogar.", - "lever": 5, - "family": 0, - "linkIds": [ - 147, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventos básicos de GestureDetector", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【onTap】 : Evento de clic 【Function()】", - "【onDoubleTap】 : Evento de doble clic 【GestureTapCallback】", - "【onLongPress】 : Evento de pulsación larga 【GestureLongPressCallback】" - ] - }, - { - "file": "node2_tap.dart", - "name": "Información detallada de GestureDetector", - "desc": [ - "【onTapDown】 : Callback de presionar 【GestureTapDownCallback】", - "【onTapUp】 : Callback de levantar el clic 【GestureTapUpCallback】", - "【onTapCancel】 : Cancelar clic 【GestureTapCancelCallback】" - ] - }, - { - "file": "node3_pan.dart", - "name": "Eventos Pan de GestureDetector", - "desc": [ - "【onPanDown】 : Callback de presionar 【GestureDragDownCallback】", - "【onPanEnd】 : Fin de arrastre 【GestureDragEndCallback】", - "【onPanStart】 : Inicio de arrastre 【GestureDragStartCallback】", - "【onPanUpdate】 : Actualización de arrastre 【GestureDragUpdateCallback】", - "【onPanCancel】 : Cancelar arrastre 【GestureDragCancelCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_fr_FR.json deleted file mode 100644 index 1d3b40aba..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_fr_FR.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id": 146, - "name": "GestureDetector", - "localName": "Détecteur de gestes", - "info": "Détecteur d'événements gestuels pour les composants, peut accepter des événements tels que le clic, le maintien, le double-clic, l'appui, le relâchement, le déplacement, et peut obtenir des informations sur les points de contact, un composant essentiel pour les voyages à domicile.", - "lever": 5, - "family": 0, - "linkIds": [ - 147, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événements de base de GestureDetector", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【onTap】 : Événement de clic 【Function()】", - "【onDoubleTap】 : Événement de double-clic 【GestureTapCallback】", - "【onLongPress】 : Événement de maintien 【GestureLongPressCallback】" - ] - }, - { - "file": "node2_tap.dart", - "name": "Informations détaillées de GestureDetector", - "desc": [ - "【onTapDown】 : Rappel d'appui 【GestureTapDownCallback】", - "【onTapUp】 : Rappel de relâchement 【GestureTapUpCallback】", - "【onTapCancel】 : Annulation de clic 【GestureTapCancelCallback】" - ] - }, - { - "file": "node3_pan.dart", - "name": "Événements Pan de GestureDetector", - "desc": [ - "【onPanDown】 : Rappel d'appui 【GestureDragDownCallback】", - "【onPanEnd】 : Fin de glissement 【GestureDragEndCallback】", - "【onPanStart】 : Début de glissement 【GestureDragStartCallback】", - "【onPanUpdate】 : Mise à jour de glissement 【GestureDragUpdateCallback】", - "【onPanCancel】 : Annulation de glissement 【GestureDragCancelCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_it_IT.json deleted file mode 100644 index 2b481e789..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_it_IT.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id": 146, - "name": "GestureDetector", - "localName": "Rilevatore di gesti", - "info": "Rilevatore di eventi gestuali del componente, può accettare eventi come clic, pressione lunga, doppio clic, premuto, rilasciato, spostamento, ecc., e può ottenere informazioni sui punti di contatto, un componente essenziale per viaggi e casa.", - "lever": 5, - "family": 0, - "linkIds": [ - 147, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventi di base di GestureDetector", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【onTap】 : Evento di clic 【Function()】", - "【onDoubleTap】 : Evento di doppio clic 【GestureTapCallback】", - "【onLongPress】 : Evento di pressione lunga 【GestureLongPressCallback】" - ] - }, - { - "file": "node2_tap.dart", - "name": "Dettagli di GestureDetector", - "desc": [ - "【onTapDown】 : Callback di pressione 【GestureTapDownCallback】", - "【onTapUp】 : Callback di rilascio del clic 【GestureTapUpCallback】", - "【onTapCancel】 : Annullamento del clic 【GestureTapCancelCallback】" - ] - }, - { - "file": "node3_pan.dart", - "name": "Eventi Pan di GestureDetector", - "desc": [ - "【onPanDown】 : Callback di pressione 【GestureDragDownCallback】", - "【onPanEnd】 : Fine del trascinamento 【GestureDragEndCallback】", - "【onPanStart】 : Inizio del trascinamento 【GestureDragStartCallback】", - "【onPanUpdate】 : Aggiornamento del trascinamento 【GestureDragUpdateCallback】", - "【onPanCancel】 : Annullamento del trascinamento 【GestureDragCancelCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_ja_JP.json deleted file mode 100644 index 4f3f9f408..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_ja_JP.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id": 146, - "name": "GestureDetector", - "localName": "ジェスチャー検出器", - "info": "コンポーネントのジェスチャーイベントを検出するデテクターで、クリック、長押し、ダブルクリック、押下、解放、移動などのイベントを受け取り、タッチポイントの情報を取得できます。家庭や旅行に必須のコンポーネントです。", - "lever": 5, - "family": 0, - "linkIds": [ - 147, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GestureDetector基本イベント", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【onTap】 : クリックイベント 【Function()】", - "【onDoubleTap】 : ダブルクリックイベント 【GestureTapCallback】", - "【onLongPress】 : 長押しイベント 【GestureLongPressCallback】" - ] - }, - { - "file": "node2_tap.dart", - "name": "GestureDetector詳細情報", - "desc": [ - "【onTapDown】 : 押下コールバック 【GestureTapDownCallback】", - "【onTapUp】 : クリック解放コールバック 【GestureTapUpCallback】", - "【onTapCancel】 : クリックキャンセル 【GestureTapCancelCallback】" - ] - }, - { - "file": "node3_pan.dart", - "name": "GestureDetectorのPanイベント", - "desc": [ - "【onPanDown】 : 押下コールバック 【GestureDragDownCallback】", - "【onPanEnd】 : ドラッグ終了 【GestureDragEndCallback】", - "【onPanStart】 : ドラッグ開始 【GestureDragStartCallback】", - "【onPanUpdate】 : ドラッグ更新 【GestureDragUpdateCallback】", - "【onPanCancel】 : ドラッグキャンセル 【GestureDragCancelCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_ko_KR.json deleted file mode 100644 index 520768ecd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_ko_KR.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id": 146, - "name": "GestureDetector", - "localName": "제스처 감지기", - "info": "컴포넌트 제스처 이벤트를 감지하는 장치로, 클릭, 길게 누르기, 더블 클릭, 누르기, 떼기, 이동 등의 이벤트를 받아들일 수 있으며, 접촉점 정보를 얻을 수 있습니다. 집에서 여행할 때 필수 컴포넌트입니다.", - "lever": 5, - "family": 0, - "linkIds": [ - 147, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GestureDetector 기본 이벤트", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【onTap】 : 클릭 이벤트 【Function()】", - "【onDoubleTap】 : 더블 클릭 이벤트 【GestureTapCallback】", - "【onLongPress】 : 길게 누르기 이벤트 【GestureLongPressCallback】" - ] - }, - { - "file": "node2_tap.dart", - "name": "GestureDetector 상세 정보", - "desc": [ - "【onTapDown】 : 누르기 콜백 【GestureTapDownCallback】", - "【onTapUp】 : 클릭 떼기 콜백 【GestureTapUpCallback】", - "【onTapCancel】 : 클릭 취소 【GestureTapCancelCallback】" - ] - }, - { - "file": "node3_pan.dart", - "name": "GestureDetector의 Pan 이벤트", - "desc": [ - "【onPanDown】 : 누르기 콜백 【GestureDragDownCallback】", - "【onPanEnd】 : 드래그 종료 【GestureDragEndCallback】", - "【onPanStart】 : 드래그 시작 【GestureDragStartCallback】", - "【onPanUpdate】 : 드래그 업데이트 【GestureDragUpdateCallback】", - "【onPanCancel】 : 드래그 취소 【GestureDragCancelCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_pt_PT.json deleted file mode 100644 index f53b6704f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_pt_PT.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id": 146, - "name": "GestureDetector", - "localName": "Detector de Gestos", - "info": "Detector de eventos de gestos do componente, pode aceitar eventos como clique, pressionamento longo, duplo clique, pressionar, soltar, mover, etc., e pode obter informações de toque, um componente essencial para viagens e uso doméstico.", - "lever": 5, - "family": 0, - "linkIds": [ - 147, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventos Básicos do GestureDetector", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【onTap】 : Evento de clique 【Function()】", - "【onDoubleTap】 : Evento de duplo clique 【GestureTapCallback】", - "【onLongPress】 : Evento de pressionamento longo 【GestureLongPressCallback】" - ] - }, - { - "file": "node2_tap.dart", - "name": "Detalhes do GestureDetector", - "desc": [ - "【onTapDown】 : Callback de pressionar 【GestureTapDownCallback】", - "【onTapUp】 : Callback de soltar o clique 【GestureTapUpCallback】", - "【onTapCancel】 : Cancelamento do clique 【GestureTapCancelCallback】" - ] - }, - { - "file": "node3_pan.dart", - "name": "Eventos de Pan do GestureDetector", - "desc": [ - "【onPanDown】 : Callback de pressionar 【GestureDragDownCallback】", - "【onPanEnd】 : Fim do arrasto 【GestureDragEndCallback】", - "【onPanStart】 : Início do arrasto 【GestureDragStartCallback】", - "【onPanUpdate】 : Atualização do arrasto 【GestureDragUpdateCallback】", - "【onPanCancel】 : Cancelamento do arrasto 【GestureDragCancelCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_ru_RU.json deleted file mode 100644 index 0ee8016d3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_ru_RU.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id": 146, - "name": "GestureDetector", - "localName": "Детектор жестов", - "info": "Детектор событий жестов компонента, который может принимать события, такие как нажатие, долгое нажатие, двойное нажатие, нажатие, отпускание, перемещение и т.д., а также может получать информацию о точках касания. Незаменимый компонент для домашнего использования и путешествий.", - "lever": 5, - "family": 0, - "linkIds": [ - 147, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основные события GestureDetector", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【onTap】 : Событие нажатия 【Function()】", - "【onDoubleTap】 : Событие двойного нажатия 【GestureTapCallback】", - "【onLongPress】 : Событие долгого нажатия 【GestureLongPressCallback】" - ] - }, - { - "file": "node2_tap.dart", - "name": "Детальная информация GestureDetector", - "desc": [ - "【onTapDown】 : Обратный вызов нажатия 【GestureTapDownCallback】", - "【onTapUp】 : Обратный вызов отпускания нажатия 【GestureTapUpCallback】", - "【onTapCancel】 : Отмена нажатия 【GestureTapCancelCallback】" - ] - }, - { - "file": "node3_pan.dart", - "name": "События Pan GestureDetector", - "desc": [ - "【onPanDown】 : Обратный вызов нажатия 【GestureDragDownCallback】", - "【onPanEnd】 : Завершение перетаскивания 【GestureDragEndCallback】", - "【onPanStart】 : Начало перетаскивания 【GestureDragStartCallback】", - "【onPanUpdate】 : Обновление перетаскивания 【GestureDragUpdateCallback】", - "【onPanCancel】 : Отмена перетаскивания 【GestureDragCancelCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_zh-CN.json deleted file mode 100644 index 483a6bd6b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/desc_zh-CN.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id": 146, - "name": "GestureDetector", - "localName": "手势监听器", - "info": "组件手势事件的检测器,可接受点击、长按、双击,按下、松开、移动等事件,并可以获取触点信息,居家旅行必备组件。", - "lever": 5, - "family": 0, - "linkIds": [ - 147, - 150 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GestureDetector基本事件", - "desc": [ - "【child】 : 子组件 【Widget】", - "【onTap】 : 点击事件 【Function()】", - "【onDoubleTap】 : 双击事件 【GestureTapCallback】", - "【onLongPress】 : 长按事件 【GestureLongPressCallback】" - ] - }, - { - "file": "node2_tap.dart", - "name": "GestureDetector详情信息", - "desc": [ - "【onTapDown】 : 按下回调 【GestureTapDownCallback】", - "【onTapUp】 : 点击抬起回调 【GestureTapUpCallback】", - "【onTapCancel】 : 点击取消 【GestureTapCancelCallback】" - ] - }, - { - "file": "node3_pan.dart", - "name": "GestureDetector的Pan事件", - "desc": [ - "【onPanDown】 : 按下回调 【GestureDragDownCallback】", - "【onPanEnd】 : 拖动结束 【GestureDragEndCallback】", - "【onPanStart】 : 开始拖动 【GestureDragStartCallback】", - "【onPanUpdate】 : 拖动更新 【GestureDragUpdateCallback】", - "【onPanCancel】 : 拖动取消 【GestureDragCancelCallback】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/node1_base.dart deleted file mode 100644 index b9f20e61b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/node1_base.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - - -class CustomGestureDetector extends StatefulWidget { - const CustomGestureDetector({Key? key}) : super(key: key); - - @override - _CustomGestureDetectorState createState() => _CustomGestureDetectorState(); -} - -class _CustomGestureDetectorState extends State { - String _info = ''; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => setState(() => _info = 'onTap'), - onDoubleTap: () => setState(() => _info = 'onDoubleTap'), - onLongPress: () => setState(() => _info = 'onLongPress'), - child: Container( - alignment: Alignment.center, - width: 300, - height: 300 * 0.4, - color: Colors.grey.withAlpha(33), - child: Text( - _info, - style: const TextStyle(fontSize: 18, color: Colors.blue), - ), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/node2_tap.dart b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/node2_tap.dart deleted file mode 100644 index c9d42241b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/node2_tap.dart +++ /dev/null @@ -1,36 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class TapGestureDetector extends StatefulWidget { - const TapGestureDetector({Key? key}) : super(key: key); - - @override - _TapGestureDetectorState createState() => _TapGestureDetectorState(); -} - -class _TapGestureDetectorState extends State { - String _info = ''; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTapDown: (detail) => setState(() => _info = - 'onTapDown:\n相对落点:${detail.localPosition}\n绝对落点:${detail.globalPosition}'), - onTapUp: (detail) => setState(() => _info = - 'onTapUp:\n相对落点:${detail.localPosition}\n绝对落点:${detail.globalPosition}'), - onTapCancel: () => setState(() => _info = 'onTapCancel'), - child: Container( - alignment: Alignment.center, - width: 300, - height: 300 * 0.618, - color: Colors.grey.withAlpha(33), - child: Text( - _info, - style: const TextStyle(fontSize: 18, color: Colors.blue), - ), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/node3_pan.dart b/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/node3_pan.dart deleted file mode 100644 index 34558bb37..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GestureDetector/node3_pan.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class PanGestureDetector extends StatefulWidget { - const PanGestureDetector({Key? key}) : super(key: key); - - @override - _PanGestureDetectorState createState() => _PanGestureDetectorState(); -} - -class _PanGestureDetectorState extends State { - String _info = ''; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onPanDown: (detail) => setState(() => _info = - 'onPanDown:\n相对落点:${detail.localPosition}\n绝对落点:${detail.globalPosition}'), - onPanEnd: (detail) => setState(() => _info = - 'onPanEnd:\n初速度:${detail.primaryVelocity}\n最终速度:${detail.velocity}'), - onPanUpdate: (detail) => setState(() => _info = - 'onPanUpdate:\n相对落点:${detail.localPosition}\n绝对落点:${detail.globalPosition}'), - onPanStart: (detail) => setState(() => _info = - 'onPanStart:\n相对落点:${detail.localPosition}\n绝对落点:${detail.globalPosition}'), - onPanCancel: () => setState(() => _info = 'onTapCancel'), - child: SingleChildScrollView( - child: Container( - alignment: Alignment.center, - width: 300, - height: 300 * 0.618, - color: Colors.grey.withAlpha(33), - child: Text( - _info, - style: const TextStyle(fontSize: 18, color: Colors.blue), - ), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_de_DE.json deleted file mode 100644 index 5bc18b0ff..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_de_DE.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 37, - "name": "GridPaper", - "localName": "Rasterlinien-Komponente", - "info": "Kann eine Komponente aufnehmen und ein Raster darauf zeichnen. Eigenschaften wie Farbe, Linienstärke, Abstand usw. können angegeben werden.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridPager Grundlegende Eigenschaften", - "desc": [ - "【child】: Untergeordnete Komponente 【Widget】", - "【color】: Farbe 【Color】", - "【interval】: Seitenlänge des kleinen Blocks 【double】" - ] - }, - { - "file": "node2_divisions.dart", - "name": "GridPager Unterteilung", - "desc": [ - "【child】: Untergeordnete Komponente 【Widget】", - "【color】: Farbe 【Color】", - "【subdivisions】: Anzahl der Unterblöcke im kleinen Block 【int】", - "【divisions】: Anzahl der Unterteilungen der Unterblöcke im kleinen Block 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_en_US.json deleted file mode 100644 index 6b1cffeec..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_en_US.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 37, - "name": "GridPaper", - "localName": "Grid Line Component", - "info": "Can contain a component and draw a grid on it. Properties such as color, line width, spacing, etc., can be specified.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridPager Basic Properties", - "desc": [ - "【child】: Child component 【Widget】", - "【color】: Color 【Color】", - "【interval】: Small block side length 【double】" - ] - }, - { - "file": "node2_divisions.dart", - "name": "GridPager Subdivision", - "desc": [ - "【child】: Child component 【Widget】", - "【color】: Color 【Color】", - "【subdivisions】: Number of sub-blocks in a small block 【int】", - "【divisions】: Number of subdivisions of sub-blocks in a small block 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_es_ES.json deleted file mode 100644 index 82a72db59..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_es_ES.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 37, - "name": "GridPaper", - "localName": "Componente de líneas de cuadrícula", - "info": "Puede contener un componente y dibujar una cuadrícula en él. Se pueden especificar propiedades como el color, el ancho de la línea, el espaciado, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propiedades básicas de GridPager", - "desc": [ - "【child】: Componente hijo 【Widget】", - "【color】: Color 【Color】", - "【interval】: Longitud del lado del bloque pequeño 【double】" - ] - }, - { - "file": "node2_divisions.dart", - "name": "Subdivisión de GridPager", - "desc": [ - "【child】: Componente hijo 【Widget】", - "【color】: Color 【Color】", - "【subdivisions】: Número de subbloques en el bloque pequeño 【int】", - "【divisions】: Número de divisiones de los subbloques en el bloque pequeño 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_fr_FR.json deleted file mode 100644 index 04f0e9f20..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_fr_FR.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 37, - "name": "GridPaper", - "localName": "Composant de grille", - "info": "Peut contenir un composant et dessiner une grille dessus. Peut spécifier des propriétés telles que la couleur, l'épaisseur de la ligne, l'espacement, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propriétés de base de GridPager", - "desc": [ - "【child】: Composant enfant 【Widget】", - "【color】: Couleur 【Color】", - "【interval】: Longueur du côté d'un petit bloc 【double】" - ] - }, - { - "file": "node2_divisions.dart", - "name": "Subdivision de GridPager", - "desc": [ - "【child】: Composant enfant 【Widget】", - "【color】: Couleur 【Color】", - "【subdivisions】: Nombre de sous-blocs dans un petit bloc 【int】", - "【divisions】: Nombre de subdivisions des sous-blocs dans un petit bloc 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_it_IT.json deleted file mode 100644 index 34edfbc1c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_it_IT.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 37, - "name": "GridPaper", - "localName": "Componente Griglia", - "info": "Può contenere un componente e disegnare una griglia su di esso. È possibile specificare proprietà come colore, spessore della linea, spaziatura, ecc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Proprietà Base di GridPager", - "desc": [ - "【child】: Componente Figlio 【Widget】", - "【color】: Colore 【Color】", - "【interval】: Lunghezza del lato del blocco 【double】" - ] - }, - { - "file": "node2_divisions.dart", - "name": "Suddivisione di GridPager", - "desc": [ - "【child】: Componente Figlio 【Widget】", - "【color】: Colore 【Color】", - "【subdivisions】: Numero di sotto-blocchi in un blocco 【int】", - "【divisions】: Numero di suddivisioni dei sotto-blocchi in un blocco 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_ja_JP.json deleted file mode 100644 index 24f5b37d7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_ja_JP.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 37, - "name": "GridPaper", - "localName": "グリッド線コンポーネント", - "info": "1つのコンポーネントを収容し、その上にグリッドを描画します。色、線幅、間隔などの属性を指定できます。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridPager 基本属性", - "desc": [ - "【child】: 子コンポーネント 【Widget】", - "【color】: 色 【Color】", - "【interval】: 小片の辺の長さ 【double】" - ] - }, - { - "file": "node2_divisions.dart", - "name": "GridPager 再分割", - "desc": [ - "【child】: 子コンポーネント 【Widget】", - "【color】: 色 【Color】", - "【subdivisions】: 小片中の中片の数 【int】", - "【divisions】: 小片中の中片の分割数 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_ko_KR.json deleted file mode 100644 index a961488c0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_ko_KR.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 37, - "name": "GridPaper", - "localName": "그리드 라인 컴포넌트", - "info": "하나의 컴포넌트를 수용할 수 있으며, 그 위에 그리드를 그립니다. 색상, 선 두께, 간격 등의 속성을 지정할 수 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridPager 기본 속성", - "desc": [ - "【child】: 자식 컴포넌트 【Widget】", - "【color】: 색상 【Color】", - "【interval】: 작은 블록의 변 길이 【double】" - ] - }, - { - "file": "node2_divisions.dart", - "name": "GridPager 재분할", - "desc": [ - "【child】: 자식 컴포넌트 【Widget】", - "【color】: 색상 【Color】", - "【subdivisions】: 작은 블록 내의 하위 블록 개수 【int】", - "【divisions】: 작은 블록 내의 하위 블록 분할 수 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_pt_PT.json deleted file mode 100644 index dfdbfcf8e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_pt_PT.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 37, - "name": "GridPaper", - "localName": "Componente de Linhas de Grelha", - "info": "Pode conter um componente, desenhando uma grelha sobre ele. Pode especificar propriedades como cor, largura da linha, espaçamento, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propriedades Básicas do GridPager", - "desc": [ - "【child】: Componente filho 【Widget】", - "【color】: Cor 【Color】", - "【interval】: Comprimento do lado do pequeno bloco 【double】" - ] - }, - { - "file": "node2_divisions.dart", - "name": "Subdivisão do GridPager", - "desc": [ - "【child】: Componente filho 【Widget】", - "【color】: Cor 【Color】", - "【subdivisions】: Número de sub-blocos no pequeno bloco 【int】", - "【divisions】: Número de divisões dos sub-blocos no pequeno bloco 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_ru_RU.json deleted file mode 100644 index 39087b7b1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_ru_RU.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 37, - "name": "GridPaper", - "localName": "Компонент с сеткой", - "info": "Может содержать один компонент, на котором рисуется сетка. Можно указать такие свойства, как цвет, толщина линий, расстояние и т.д.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основные свойства GridPager", - "desc": [ - "【child】: Дочерний компонент 【Widget】", - "【color】: Цвет 【Color】", - "【interval】: Длина стороны квадрата 【double】" - ] - }, - { - "file": "node2_divisions.dart", - "name": "Разделение GridPager", - "desc": [ - "【child】: Дочерний компонент 【Widget】", - "【color】: Цвет 【Color】", - "【subdivisions】: Количество подблоков в квадрате 【int】", - "【divisions】: Количество разделений подблоков в квадрате 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_zh-CN.json deleted file mode 100644 index 154fe340b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/desc_zh-CN.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": 37, - "name": "GridPaper", - "localName": "网格线组件", - "info": "可容纳一个组件,在其上绘制网格。可指定颜色、线宽、间距等属性。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridPager 基础属性", - "desc": [ - "【child】: 子组件 【Widget】", - "【color】: 颜色 【Color】", - "【interval】: 小块边长 【double】" - ] - }, - { - "file": "node2_divisions.dart", - "name": "GridPager 再分割", - "desc": [ - "【child】: 子组件 【Widget】", - "【color】: 颜色 【Color】", - "【subdivisions】: 小块中子块个数 【int】", - "【divisions】: 小块中子块的分割数 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/node1_base.dart deleted file mode 100644 index 173bc587a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/node1_base.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class CustomGridPaper extends StatelessWidget { - const CustomGridPaper({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 200, - height: 100, - child: GridPaper( - color: Colors.red, - interval: 50, - child: Image.asset( - "assets/images/wy_300x200.webp", - fit: BoxFit.cover, - ))); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/node2_divisions.dart b/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/node2_divisions.dart deleted file mode 100644 index 3c7ee0077..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridPaper/node2_divisions.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class DivisionsGridPaper extends StatelessWidget { - const DivisionsGridPaper({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 200, - height: 100, - child: GridPaper( - color: Colors.red, - interval: 50, - divisions: 4, - subdivisions: 4, - child: Image.asset( - "assets/images/wy_300x200.webp", - fit: BoxFit.cover, - ))); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_de_DE.json deleted file mode 100644 index 08ad2e816..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 21, - "name": "GridTile", - "localName": "Rasterkachel", - "info": "Eine allgemeine Listenstruktur, die von Flutter bereitgestellt wird, kann Kopf-, Fuß- und Unterkomponenten angeben und wird häufig in Rasterlisten verwendet.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Die grundlegende Darstellung von GridTile ist wie folgt", - "desc": [ - "【header】: Kopfkomponente 【Widget】", - "【child】: Unterkomponente 【Widget】", - "【footer】: Fußkomponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_en_US.json deleted file mode 100644 index a26935828..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 21, - "name": "GridTile", - "localName": "Grid Tile", - "info": "A general list item structure provided by Flutter, which can specify header, footer, and child components, commonly used in grid lists.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "The basic representation of GridTile is as follows", - "desc": [ - "【header】: Header component 【Widget】", - "【child】: Child component 【Widget】", - "【footer】: Footer component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_es_ES.json deleted file mode 100644 index 80ba2b89b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 21, - "name": "GridTile", - "localName": "Mosaico de cuadrícula", - "info": "Una estructura de lista genérica proporcionada por Flutter que permite especificar componentes de cabecera, pie y secundarios, comúnmente utilizada en listas de cuadrícula.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La representación básica de GridTile es la siguiente", - "desc": [ - "【header】: Componente de cabecera 【Widget】", - "【child】: Componente secundario 【Widget】", - "【footer】: Componente de pie 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_fr_FR.json deleted file mode 100644 index 1cc76759c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 21, - "name": "GridTile", - "localName": "Tuile de grille", - "info": "Une structure d'élément de liste générique fournie par Flutter, permettant de spécifier des composants de tête, de queue et enfants, souvent utilisée dans les listes en grille.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La représentation de base de GridTile est la suivante", - "desc": [ - "【header】: Composant de tête 【Widget】", - "【child】: Composant enfant 【Widget】", - "【footer】: Composant de pied 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_it_IT.json deleted file mode 100644 index 5d5022afa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 21, - "name": "GridTile", - "localName": "Piastrella a griglia", - "info": "Una struttura di voci di lista generica fornita da Flutter, che consente di specificare componenti di testa, coda e figlio, comunemente utilizzata nelle liste a griglia.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La rappresentazione di base di GridTile è la seguente", - "desc": [ - "【header】: componente di testa 【Widget】", - "【child】: componente figlio 【Widget】", - "【footer】: componente di coda 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_ja_JP.json deleted file mode 100644 index 9124ce39e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 21, - "name": "GridTile", - "localName": "グリッドタイル", - "info": "Flutterが提供する汎用リストエントリ構造で、ヘッダー、フッター、子コンポーネントを指定でき、グリッドリストでよく使用されます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridTileの基本的な表現は以下の通りです", - "desc": [ - "【header】: ヘッダーコンポーネント 【Widget】", - "【child】: 子コンポーネント 【Widget】", - "【footer】: フッターコンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_ko_KR.json deleted file mode 100644 index 9cf8a7905..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 21, - "name": "GridTile", - "localName": "그리드 타일", - "info": "Flutter에서 제공하는 일반적인 목록 항목 구조로, 헤더, 푸터, 자식 컴포넌트를 지정할 수 있으며, 주로 그리드 목록에 사용됩니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridTile의 기본 표현은 다음과 같습니다", - "desc": [ - "【header】: 헤더 컴포넌트 【Widget】", - "【child】: 자식 컴포넌트 【Widget】", - "【footer】: 푸터 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_pt_PT.json deleted file mode 100644 index 06300e45d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 21, - "name": "GridTile", - "localName": "Azulejo de Grade", - "info": "Uma estrutura de item de lista genérica fornecida pelo Flutter, que permite especificar componentes de cabeçalho, rodapé e filhos, comumente usada em listas de grade.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "A apresentação básica do GridTile é a seguinte", - "desc": [ - "【header】: Componente de cabeçalho 【Widget】", - "【child】: Componente filho 【Widget】", - "【footer】: Componente de rodapé 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_ru_RU.json deleted file mode 100644 index 6355dbdc7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 21, - "name": "GridTile", - "localName": "Сетка плитки", - "info": "Универсальная структура элемента списка, предоставляемая Flutter, которая позволяет указать компоненты заголовка, нижнего колонтитула и дочерние компоненты, часто используется в списках сеток.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное представление GridTile выглядит следующим образом", - "desc": [ - "【header】: Компонент заголовка 【Widget】", - "【child】: Дочерний компонент 【Widget】", - "【footer】: Компонент нижнего колонтитула 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_zh-CN.json deleted file mode 100644 index b55b947ba..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 21, - "name": "GridTile", - "localName": "网格瓦片", - "info": "Flutter提供的一个通用列表条目结构,可指定头、尾、子组件,常用于网格列表。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridTile的基本表现如下", - "desc": [ - "【header】: 头组件 【Widget】", - "【child】: 子组件 【Widget】", - "【footer】: 脚组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/GridTile/node1_base.dart deleted file mode 100644 index 3d9e7e261..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTile/node1_base.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - - -class CustomGridTile extends StatelessWidget { - const CustomGridTile({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 200, - height: 200, - child: GridTile( - header: GridTileBar( - backgroundColor: Colors.blue.withAlpha(120), - trailing: const Icon(Icons.star, color: Colors.red), - leading: const CircleAvatar( - backgroundImage: AssetImage("assets/images/wy_200x300.webp"), - ), - title: const Text("百里·巫缨"), - subtitle: const Text("倾国必倾城"), - ), - child: Opacity( - opacity: 0.5, - child: Image.asset("assets/images/sabar.webp", fit: BoxFit.cover), - ), - footer: const Padding( - padding: EdgeInsets.all(8.0), - child: Text( - "ID:z\$ySX32&29", - style: TextStyle( - shadows: [ - Shadow( - color: Colors.blue, offset: Offset(.1, .1), blurRadius: 2), - ], - ), - ), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_de_DE.json deleted file mode 100644 index 5948a8547..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 20, - "name": "GridTileBar", - "localName": "Gitterfliesenkopf", - "info": "Eine allgemeine Kopfstruktur, die von Flutter bereitgestellt wird, mit einer Struktur von links, Mitte und rechts. Komponenten können an den entsprechenden Positionen eingefügt werden, was eine einfache Handhabung spezifischer Einträge ermöglicht. Im Vergleich zu ListTile gibt es weniger Attribute.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Die grundlegende Darstellung von GridTileBar ist wie folgt", - "desc": [ - "【leading】: Linke Komponente 【Widget】", - "【trailing】: Rechte Komponente 【Widget】", - "【title】: Obere mittlere Komponente 【Widget】", - "【subtitle】: Untere mittlere Komponente 【Widget】", - "【backgroundColor】: Hintergrundfarbe 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_en_US.json deleted file mode 100644 index e9db776e0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 20, - "name": "GridTileBar", - "localName": "Grid Tile Header", - "info": "A common header structure provided by Flutter, with a left-center-right layout. Components can be inserted into the corresponding positions, making it easy to handle specific items. Compared to ListTile, it has fewer properties.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "The basic representation of GridTileBar is as follows", - "desc": [ - "【leading】: Left component 【Widget】", - "【trailing】: Trailing component 【Widget】", - "【title】: Top middle component 【Widget】", - "【subtitle】: Bottom middle component 【Widget】", - "【backgroundColor】: Background color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_es_ES.json deleted file mode 100644 index 28d06ccef..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 20, - "name": "GridTileBar", - "localName": "Barra de mosaico de cuadrícula", - "info": "Flutter proporciona una estructura de encabezado común, con una estructura de izquierda, centro y derecha. Se pueden insertar componentes en las posiciones correspondientes, lo que permite manejar elementos específicos de manera conveniente. En comparación con ListTile, tiene menos atributos.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La representación básica de GridTileBar es la siguiente", - "desc": [ - "【leading】: Componente izquierdo 【Widget】", - "【trailing】: Componente derecho 【Widget】", - "【title】: Componente superior central 【Widget】", - "【subtitle】: Componente inferior central 【Widget】", - "【backgroundColor】: Color de fondo 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_fr_FR.json deleted file mode 100644 index 0cd457192..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 20, - "name": "GridTileBar", - "localName": "Barre de tuile de grille", - "info": "Une structure de tête générique fournie par Flutter, avec une structure gauche-centre-droite. Des composants peuvent être insérés aux positions correspondantes, ce qui permet de répondre facilement à des entrées spécifiques, avec moins d'attributs que ListTile.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La performance de base de GridTileBar est la suivante", - "desc": [ - "【leading】: Composant gauche 【Widget】", - "【trailing】: Composant de queue 【Widget】", - "【title】: Composant supérieur central 【Widget】", - "【subtitle】: Composant inférieur central 【Widget】", - "【backgroundColor】: Couleur de fond 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_it_IT.json deleted file mode 100644 index c43d5fb52..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 20, - "name": "GridTileBar", - "localName": "Barra della piastrella della griglia", - "info": "Una struttura di intestazione generica fornita da Flutter, con una struttura sinistra-centro-destra. I componenti possono essere inseriti nelle posizioni corrispondenti, rendendolo molto conveniente per gestire voci specifiche, con meno attributi rispetto a ListTile.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La rappresentazione di base di GridTileBar è la seguente", - "desc": [ - "【leading】: Componente sinistro 【Widget】", - "【trailing】: Componente destro 【Widget】", - "【title】: Componente superiore centrale 【Widget】", - "【subtitle】: Componente inferiore centrale 【Widget】", - "【backgroundColor】: Colore di sfondo 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_ja_JP.json deleted file mode 100644 index 334e2d47d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 20, - "name": "GridTileBar", - "localName": "グリッドタイルバー", - "info": "Flutterが提供する一般的なヘッダー構造で、左中右の構造です。対応する位置にコンポーネントを挿入でき、特定の項目に簡単に対応できます。ListTileと比較して、属性が少ないです。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridTileBarの基本的な表現は以下の通りです", - "desc": [ - "【leading】: 左側のコンポーネント 【Widget】", - "【trailing】: 右側のコンポーネント 【Widget】", - "【title】: 中央上部のコンポーネント 【Widget】", - "【subtitle】: 中央下部のコンポーネント 【Widget】", - "【backgroundColor】: 背景色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_ko_KR.json deleted file mode 100644 index 239ae9286..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 20, - "name": "GridTileBar", - "localName": "그리드 타일 헤더", - "info": "Flutter에서 제공하는 일반적인 헤더 구조로, 왼쪽, 중앙, 오른쪽 구조를 가지고 있습니다. 해당 위치에 컴포넌트를 삽입할 수 있어 특정 항목에 쉽게 대응할 수 있으며, ListTile에 비해 속성이 적습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridTileBar의 기본적인 표현은 다음과 같습니다", - "desc": [ - "【leading】: 왼쪽 컴포넌트 【Widget】", - "【trailing】: 오른쪽 컴포넌트 【Widget】", - "【title】: 중앙 상단 컴포넌트 【Widget】", - "【subtitle】: 중앙 하단 컴포넌트 【Widget】", - "【backgroundColor】: 배경색 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_pt_PT.json deleted file mode 100644 index c130ca60f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 20, - "name": "GridTileBar", - "localName": "Barra de Azulejo de Grade", - "info": "Uma estrutura de cabeçalho genérica fornecida pelo Flutter, com uma estrutura de esquerda, centro e direita. Componentes podem ser inseridos nas posições correspondentes, o que facilita a adaptação a itens específicos, com menos atributos em comparação com o ListTile.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "A representação básica do GridTileBar é a seguinte", - "desc": [ - "【leading】: Componente esquerdo 【Widget】", - "【trailing】: Componente direito 【Widget】", - "【title】: Componente superior central 【Widget】", - "【subtitle】: Componente inferior central 【Widget】", - "【backgroundColor】: Cor de fundo 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_ru_RU.json deleted file mode 100644 index 39586e3b0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 20, - "name": "GridTileBar", - "localName": "Сетка плитки", - "info": "Flutter предоставляет универсальную структуру заголовка, которая имеет структуру слева, по центру и справа. В соответствующие позиции можно вставлять компоненты, что позволяет легко адаптироваться к конкретным элементам, по сравнению с ListTile, атрибутов меньше.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное представление GridTileBar выглядит следующим образом", - "desc": [ - "【leading】: Левый компонент 【Widget】", - "【trailing】: Правый компонент 【Widget】", - "【title】: Верхний центральный компонент 【Widget】", - "【subtitle】: Нижний центральный компонент 【Widget】", - "【backgroundColor】: Цвет фона 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_zh-CN.json deleted file mode 100644 index 799a543b2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 20, - "name": "GridTileBar", - "localName": "网格瓦片头", - "info": "Flutter提供的一个通用头结构,为左中右结构。相应位置可插入组件,可以很方便地应对特定的条目,相比ListTile而言,属性较少。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridTileBar的基本表现如下", - "desc": [ - "【leading】: 左侧组件 【Widget】", - "【trailing】: 尾组件 【Widget】", - "【title】: 中间上组件 【Widget】", - "【subtitle】: 中间下组件 【Widget】", - "【backgroundColor】: 背景色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/node1_base.dart deleted file mode 100644 index b5960402e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridTileBar/node1_base.dart +++ /dev/null @@ -1,23 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - - - -class CustomGridTileBar extends StatelessWidget { - const CustomGridTileBar({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return GridTileBar( - backgroundColor: Colors.blue.withAlpha(120), - trailing: const Icon(Icons.star, color: Colors.red), - leading: const CircleAvatar( - backgroundImage: AssetImage("assets/images/wy_200x300.webp"), - ), - title: const Text("百里·巫缨"), - subtitle: const Text("倾国必倾城"), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_de_DE.json deleted file mode 100644 index 26249c9a4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_de_DE.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 163, - "name": "GridView", - "localName": "Rasterkomponente", - "info": "Enthält mehrere Komponenten und organisiert sie in einem Raster. Kann über count, extent, custom, builder usw. konstruiert werden. Hat Eigenschaften wie Innenabstand, ob umgekehrt, Scroll-Controller usw.", - "lever": 5, - "family": 0, - "linkIds": [ - 21, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridView.count Konstruktion", - "desc": [ - "【children】 : Liste der Unterkomponenten 【List】", - "【crossAxisCount】 : Anzahl der Boxen pro Zeile in der Hauptachse 【int】", - "【mainAxisSpacing】 : Abstand zwischen den Zeilen in der Hauptachse 【double】", - "【crossAxisSpacing】 : Abstand zwischen den Zeilen in der Querachse 【double】", - "【childAspectRatio】 : Verhältnis von Hauptlänge zu Querlänge der Box 【double】", - "【crossAxisCount】 : Anzahl der Boxen pro Zeile in der Hauptachse 【int】" - ] - }, - { - "file": "node2_direction.dart", - "name": "GridView Scrollrichtung", - "desc": [ - "【scrollDirection】 : Scrollrichtung 【Axis】", - "【reverse】 : Ob umgekehrt gescrollt wird 【bool】", - "【shrinkWrap】 : Ob bei fehlenden Grenzen umwickelt wird 【bool】" - ] - }, - { - "file": "node3_extend.dart", - "name": "GridView Scrollrichtung", - "desc": [ - "【scrollDirection】 : Scrollrichtung 【Axis】", - "【reverse】 : Ob umgekehrt gescrollt wird 【bool】", - "【shrinkWrap】 : Ob bei fehlenden Grenzen umwickelt wird 【bool】" - ] - }, - { - "file": "node4_builder.dart", - "name": "GridView.builder Konstruktion", - "desc": [ - "【itemCount】 : Anzahl der Einträge 【int】", - "【gridDelegate】 : Rasterdelegat 【SliverGridDelegate】", - "【itemBuilder】 : Eintragskonstruktor 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_en_US.json deleted file mode 100644 index a99d2fdc1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_en_US.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 163, - "name": "GridView", - "localName": "Grid Component", - "info": "Accommodates multiple components in a grid manner. Can be constructed via count, extent, custom, builder, etc. Has properties such as padding, whether to reverse, scroll controller, etc.", - "lever": 5, - "family": 0, - "linkIds": [ - 21, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridView.count Construction", - "desc": [ - "【children】 : List of child components 【List】", - "【crossAxisCount】 : Number of boxes per row on the main axis 【int】", - "【mainAxisSpacing】 : Spacing between rows on the main axis 【double】", - "【crossAxisSpacing】 : Spacing between rows on the cross axis 【double】", - "【childAspectRatio】 : Main length/cross length of the box 【double】", - "【crossAxisCount】 : Number of boxes per row on the main axis 【int】" - ] - }, - { - "file": "node2_direction.dart", - "name": "GridView Scroll Direction", - "desc": [ - "【scrollDirection】 : Scroll direction 【Axis】", - "【reverse】 : Whether to scroll in reverse 【bool】", - "【shrinkWrap】 : Whether to wrap when there is no boundary 【bool】" - ] - }, - { - "file": "node3_extend.dart", - "name": "GridView Scroll Direction", - "desc": [ - "【scrollDirection】 : Scroll direction 【Axis】", - "【reverse】 : Whether to scroll in reverse 【bool】", - "【shrinkWrap】 : Whether to wrap when there is no boundary 【bool】" - ] - }, - { - "file": "node4_builder.dart", - "name": "GridView.builder Construction", - "desc": [ - "【itemCount】 : Number of items 【int】", - "【gridDelegate】 : Grid delegate 【SliverGridDelegate】", - "【itemBuilder】 : Item builder 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_es_ES.json deleted file mode 100644 index 62b7abda8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_es_ES.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 163, - "name": "GridView", - "localName": "Componente de cuadrícula", - "info": "Contiene múltiples componentes y los organiza en forma de cuadrícula. Se puede construir mediante count, extent, custom, builder, etc. Tiene propiedades como el relleno interno, si es inverso, el controlador de desplazamiento, etc.", - "lever": 5, - "family": 0, - "linkIds": [ - 21, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Construcción de GridView.count", - "desc": [ - "【children】 : Lista de componentes hijos 【List】", - "【crossAxisCount】 : Número de cajas por fila en el eje principal 【int】", - "【mainAxisSpacing】 : Espaciado entre filas en el eje principal 【double】", - "【crossAxisSpacing】 : Espaciado entre filas en el eje transversal 【double】", - "【childAspectRatio】 : Relación entre la longitud principal y la longitud transversal de la caja 【double】", - "【crossAxisCount】 : Número de cajas por fila en el eje principal 【int】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Dirección de desplazamiento de GridView", - "desc": [ - "【scrollDirection】 : Dirección de desplazamiento 【Axis】", - "【reverse】 : Si el desplazamiento es inverso 【bool】", - "【shrinkWrap】 : Si se envuelve cuando no hay límites 【bool】" - ] - }, - { - "file": "node3_extend.dart", - "name": "Dirección de desplazamiento de GridView", - "desc": [ - "【scrollDirection】 : Dirección de desplazamiento 【Axis】", - "【reverse】 : Si el desplazamiento es inverso 【bool】", - "【shrinkWrap】 : Si se envuelve cuando no hay límites 【bool】" - ] - }, - { - "file": "node4_builder.dart", - "name": "Construcción de GridView.builder", - "desc": [ - "【itemCount】 : Número de elementos 【int】", - "【gridDelegate】 : Delegado de cuadrícula 【SliverGridDelegate】", - "【itemBuilder】 : Constructor de elementos 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_fr_FR.json deleted file mode 100644 index 56ed3d5d6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_fr_FR.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 163, - "name": "GridView", - "localName": "Composant de grille", - "info": "Contient plusieurs composants et les organise en grille. Peut être construit via count, extent, custom, builder, etc. Possède des propriétés telles que la marge intérieure, la direction inverse, le contrôleur de défilement, etc.", - "lever": 5, - "family": 0, - "linkIds": [ - 21, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Construction de GridView.count", - "desc": [ - "【children】 : Liste des composants enfants 【List】", - "【crossAxisCount】 : Nombre de boîtes par ligne sur l'axe principal 【int】", - "【mainAxisSpacing】 : Espacement entre les lignes sur l'axe principal 【double】", - "【crossAxisSpacing】 : Espacement entre les lignes sur l'axe transversal 【double】", - "【childAspectRatio】 : Rapport longueur principale/longueur transversale de la boîte 【double】", - "【crossAxisCount】 : Nombre de boîtes par ligne sur l'axe principal 【int】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direction de défilement de GridView", - "desc": [ - "【scrollDirection】 : Direction de défilement 【Axis】", - "【reverse】 : Défilement inversé 【bool】", - "【shrinkWrap】 : Encapsulation lorsque sans limites 【bool】" - ] - }, - { - "file": "node3_extend.dart", - "name": "Direction de défilement de GridView", - "desc": [ - "【scrollDirection】 : Direction de défilement 【Axis】", - "【reverse】 : Défilement inversé 【bool】", - "【shrinkWrap】 : Encapsulation lorsque sans limites 【bool】" - ] - }, - { - "file": "node4_builder.dart", - "name": "Construction de GridView.builder", - "desc": [ - "【itemCount】 : Nombre d'éléments 【int】", - "【gridDelegate】 : Délégué de grille 【SliverGridDelegate】", - "【itemBuilder】 : Constructeur d'éléments 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_it_IT.json deleted file mode 100644 index c3b9b94fa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_it_IT.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 163, - "name": "GridView", - "localName": "Componente griglia", - "info": "Contiene più componenti e li organizza in una griglia. Può essere costruito utilizzando count, extent, custom, builder, ecc. Ha proprietà come padding, reverse, controller di scorrimento, ecc.", - "lever": 5, - "family": 0, - "linkIds": [ - 21, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Costruzione GridView.count", - "desc": [ - "【children】 : Lista di componenti figli 【List】", - "【crossAxisCount】 : Numero di box per riga nell'asse principale 【int】", - "【mainAxisSpacing】 : Spaziatura tra le righe nell'asse principale 【double】", - "【crossAxisSpacing】 : Spaziatura tra le righe nell'asse trasversale 【double】", - "【childAspectRatio】 : Rapporto lunghezza principale/lunghezza trasversale del box 【double】", - "【crossAxisCount】 : Numero di elementi per riga nell'asse principale 【int】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direzione di scorrimento GridView", - "desc": [ - "【scrollDirection】 : Direzione di scorrimento 【Axis】", - "【reverse】 : Scorrimento inverso 【bool】", - "【shrinkWrap】 : Avvolgere quando non ci sono confini 【bool】" - ] - }, - { - "file": "node3_extend.dart", - "name": "Direzione di scorrimento GridView", - "desc": [ - "【scrollDirection】 : Direzione di scorrimento 【Axis】", - "【reverse】 : Scorrimento inverso 【bool】", - "【shrinkWrap】 : Avvolgere quando non ci sono confini 【bool】" - ] - }, - { - "file": "node4_builder.dart", - "name": "Costruzione GridView.builder", - "desc": [ - "【itemCount】 : Numero di elementi 【int】", - "【gridDelegate】 : Delegato della griglia 【SliverGridDelegate】", - "【itemBuilder】 : Costruttore di elementi 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_ja_JP.json deleted file mode 100644 index c3a5a7a48..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_ja_JP.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 163, - "name": "GridView", - "localName": "グリッドコンポーネント", - "info": "複数のコンポーネントを収容し、グリッド方式で表示します。count、extent、custom、builderなどを使用して構築できます。内側の余白、逆方向かどうか、スクロールコントローラーなどの属性があります。", - "lever": 5, - "family": 0, - "linkIds": [ - 21, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridView.count構築", - "desc": [ - "【children】 : 子コンポーネントリスト 【List】", - "【crossAxisCount】 : 主軸一行のボックス数 【int】", - "【mainAxisSpacing】 : 主軸各行の間隔 【double】", - "【crossAxisSpacing】 : 交差軸各行の間隔 【double】", - "【childAspectRatio】 : ボックスの主軸長/交差軸長 【double】", - "【crossAxisCount】 : 主軸一行の数 【int】" - ] - }, - { - "file": "node2_direction.dart", - "name": "GridViewスクロール方向", - "desc": [ - "【scrollDirection】 : スクロール方向 【Axis】", - "【reverse】 : 逆方向にスクロールするかどうか 【bool】", - "【shrinkWrap】 : 境界がない場合にラップするかどうか 【bool】" - ] - }, - { - "file": "node3_extend.dart", - "name": "GridViewスクロール方向", - "desc": [ - "【scrollDirection】 : スクロール方向 【Axis】", - "【reverse】 : 逆方向にスクロールするかどうか 【bool】", - "【shrinkWrap】 : 境界がない場合にラップするかどうか 【bool】" - ] - }, - { - "file": "node4_builder.dart", - "name": "GridView.builder構築", - "desc": [ - "【itemCount】 : 項目数 【int】", - "【gridDelegate】 : グリッドデリゲート 【SliverGridDelegate】", - "【itemBuilder】 : 項目ビルダー 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_ko_KR.json deleted file mode 100644 index 68a10541c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_ko_KR.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 163, - "name": "GridView", - "localName": "그리드 컴포넌트", - "info": "여러 컴포넌트를 포함하고 그리드 방식으로 배치합니다. count, extent, custom, builder 등을 통해 구성할 수 있습니다. 내부 여백, 반대 방향 여부, 스크롤 컨트롤러 등의 속성이 있습니다.", - "lever": 5, - "family": 0, - "linkIds": [ - 21, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridView.count 구성", - "desc": [ - "【children】 : 자식 컴포넌트 리스트 【List】", - "【crossAxisCount】 : 주축 한 줄의 box 수 【int】", - "【mainAxisSpacing】 : 주축 각 줄 간격 【double】", - "【crossAxisSpacing】 : 교차축 각 줄 간격 【double】", - "【childAspectRatio】 : box 주 길이/교차축 길이 【double】", - "【crossAxisCount】 : 주축 한 줄 수 【int】" - ] - }, - { - "file": "node2_direction.dart", - "name": "GridView 스크롤 방향", - "desc": [ - "【scrollDirection】 : 스크롤 방향 【Axis】", - "【reverse】 : 반대 방향 스크롤 여부 【bool】", - "【shrinkWrap】 : 경계 없을 때 감싸기 여부 【bool】" - ] - }, - { - "file": "node3_extend.dart", - "name": "GridView 스크롤 방향", - "desc": [ - "【scrollDirection】 : 스크롤 방향 【Axis】", - "【reverse】 : 반대 방향 스크롤 여부 【bool】", - "【shrinkWrap】 : 경계 없을 때 감싸기 여부 【bool】" - ] - }, - { - "file": "node4_builder.dart", - "name": "GridView.builder 구성", - "desc": [ - "【itemCount】 : 항목 수 【int】", - "【gridDelegate】 : 그리드 대리자 【SliverGridDelegate】", - "【itemBuilder】 : 항목 빌더 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_pt_PT.json deleted file mode 100644 index 21b7bcc52..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_pt_PT.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 163, - "name": "GridView", - "localName": "Componente de Grade", - "info": "Acomoda vários componentes em formato de grade. Pode ser construído através de count, extent, custom, builder, etc. Possui propriedades como padding, reversão, controlador de deslize, etc.", - "lever": 5, - "family": 0, - "linkIds": [ - 21, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Construção de GridView.count", - "desc": [ - "【children】 : Lista de componentes filhos 【List】", - "【crossAxisCount】 : Número de caixas por linha no eixo principal 【int】", - "【mainAxisSpacing】 : Espaçamento entre linhas no eixo principal 【double】", - "【crossAxisSpacing】 : Espaçamento entre linhas no eixo cruzado 【double】", - "【childAspectRatio】 : Proporção do comprimento principal/comprimento do eixo cruzado da caixa 【double】", - "【crossAxisCount】 : Número de caixas por linha no eixo principal 【int】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direção de Deslize do GridView", - "desc": [ - "【scrollDirection】 : Direção de deslize 【Axis】", - "【reverse】 : Se desliza na direção inversa 【bool】", - "【shrinkWrap】 : Se envolve quando não há limites 【bool】" - ] - }, - { - "file": "node3_extend.dart", - "name": "Direção de Deslize do GridView", - "desc": [ - "【scrollDirection】 : Direção de deslize 【Axis】", - "【reverse】 : Se desliza na direção inversa 【bool】", - "【shrinkWrap】 : Se envolve quando não há limites 【bool】" - ] - }, - { - "file": "node4_builder.dart", - "name": "Construção de GridView.builder", - "desc": [ - "【itemCount】 : Número de itens 【int】", - "【gridDelegate】 : Delegado de grade 【SliverGridDelegate】", - "【itemBuilder】 : Construtor de itens 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_ru_RU.json deleted file mode 100644 index 4dc330ef2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_ru_RU.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 163, - "name": "GridView", - "localName": "Сетка", - "info": "Содержит несколько компонентов и отображает их в виде сетки. Может быть создан с использованием count, extent, custom, builder и других методов. Имеет свойства, такие как внутренние отступы, обратное направление, контроллер прокрутки и другие.", - "lever": 5, - "family": 0, - "linkIds": [ - 21, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Конструктор GridView.count", - "desc": [ - "【children】 : Список дочерних компонентов 【List】", - "【crossAxisCount】 : Количество элементов в строке по главной оси 【int】", - "【mainAxisSpacing】 : Расстояние между строками по главной оси 【double】", - "【crossAxisSpacing】 : Расстояние между строками по поперечной оси 【double】", - "【childAspectRatio】 : Соотношение длины по главной оси к длине по поперечной оси 【double】", - "【crossAxisCount】 : Количество элементов в строке по главной оси 【int】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Направление прокрутки GridView", - "desc": [ - "【scrollDirection】 : Направление прокрутки 【Axis】", - "【reverse】 : Обратное направление прокрутки 【bool】", - "【shrinkWrap】 : Обертывание при отсутствии границ 【bool】" - ] - }, - { - "file": "node3_extend.dart", - "name": "Направление прокрутки GridView", - "desc": [ - "【scrollDirection】 : Направление прокрутки 【Axis】", - "【reverse】 : Обратное направление прокрутки 【bool】", - "【shrinkWrap】 : Обертывание при отсутствии границ 【bool】" - ] - }, - { - "file": "node4_builder.dart", - "name": "Конструктор GridView.builder", - "desc": [ - "【itemCount】 : Количество элементов 【int】", - "【gridDelegate】 : Делегат сетки 【SliverGridDelegate】", - "【itemBuilder】 : Конструктор элементов 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_zh-CN.json deleted file mode 100644 index 226589b73..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/desc_zh-CN.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "id": 163, - "name": "GridView", - "localName": "网格组件", - "info": "容纳多个组件,并以网格的方式。可以通过count、extent、custom、builder等构造。有内边距、是否反向、滑动控制器等属性。", - "lever": 5, - "family": 0, - "linkIds": [ - 21, - 162 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "GridView.count构造", - "desc": [ - "【children】 : 子组件列表 【List】", - "【crossAxisCount】 : 主轴一行box数量 【int】", - "【mainAxisSpacing】 : 主轴每行间距 【double】", - "【crossAxisSpacing】 : 交叉轴每行间距 【double】", - "【childAspectRatio】 : box主长/交叉轴长 【double】", - "【crossAxisCount】 : 主轴一行数量 【int】" - ] - }, - { - "file": "node2_direction.dart", - "name": "GridView滑动方向", - "desc": [ - "【scrollDirection】 : 滑动方向 【Axis】", - "【reverse】 : 是否反向滑动 【bool】", - "【shrinkWrap】 : 无边界时是否包裹 【bool】" - ] - }, - { - "file": "node3_extend.dart", - "name": "GridView滑动方向", - "desc": [ - "【scrollDirection】 : 滑动方向 【Axis】", - "【reverse】 : 是否反向滑动 【bool】", - "【shrinkWrap】 : 无边界时是否包裹 【bool】" - ] - }, - { - "file": "node4_builder.dart", - "name": "GridView.builder构造", - "desc": [ - "【itemCount】 : 条目数量 【int】", - "【gridDelegate】 : 网格代理 【SliverGridDelegate】", - "【itemBuilder】 : 条目构造器 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/GridView/node1_base.dart deleted file mode 100644 index 475b961f7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/node1_base.dart +++ /dev/null @@ -1,56 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-27 -/// contact me by email 1981462002@qq.com -/// 说明: -// { -// "widgetId": 163, -// "name": 'GridView.count构造', -// "priority": 1, -// "subtitle": -// "【children】 : 子组件列表 【List】\n" -// "【crossAxisCount】 : 主轴一行box数量 【int】\n" -// "【mainAxisSpacing】 : 主轴每行间距 【double】\n" -// "【crossAxisSpacing】 : 交叉轴每行间距 【double】\n" -// "【childAspectRatio】 : box主长/交叉轴长 【double】\n" -// "【crossAxisCount】 : 主轴一行数量 【int】", -// } -class CustomGridView extends StatelessWidget { - const CustomGridView({super.key}); - - List get data => List.generate(128, (i) => Color(0xFFFF00FF - 2 * i)); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: GridView.count( - crossAxisCount: 4, - mainAxisSpacing: 2, - crossAxisSpacing: 2, - childAspectRatio: 1 / 0.618, - children: data.map((color) => _buildItem(color)).toList(), - ), - ); - } - - Container _buildItem(Color color) => Container( - alignment: Alignment.center, - width: 100, - height: 30, - color: color, - child: Text( - colorString(color), - style: const TextStyle( - color: Colors.white, - shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ], - ), - ), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/node2_direction.dart b/modules/widget_system/widgets/lib/StatelessWidget/GridView/node2_direction.dart deleted file mode 100644 index 32281c038..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/node2_direction.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-27 -/// contact me by email 1981462002@qq.com -/// 说明: - -// { -// "widgetId": 163, -// "name": 'GridView滑动方向', -// "priority": 2, -// "subtitle": -// "【scrollDirection】 : 滑动方向 【Axis】\n" -// "【reverse】 : 是否反向滑动 【bool】\n" -// "【shrinkWrap】 : 无边界时是否包裹 【bool】", -// } -class HorizontalGridView extends StatelessWidget { - const HorizontalGridView({super.key}); - - List get data => List.generate(128, (i) => Color(0xFF00FFFF - 2 * i)); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: GridView.count( - scrollDirection: Axis.horizontal, - reverse: true, - crossAxisCount: 4, - mainAxisSpacing: 2, - crossAxisSpacing: 2, - childAspectRatio: 0.618, - children: data.map((color) => _buildItem(color)).toList(), - ), - ); - } - - Container _buildItem(Color color) => Container( - alignment: Alignment.center, - width: 100, - height: 30, - color: color, - child: Text( - colorString(color), - style: const TextStyle( - color: Colors.white, - shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ], - ), - ), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/node3_extend.dart b/modules/widget_system/widgets/lib/StatelessWidget/GridView/node3_extend.dart deleted file mode 100644 index c42658dd0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/node3_extend.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-27 -/// contact me by email 1981462002@qq.com -/// 说明: - -// { -// "widgetId": 163, -// "name": 'GridView滑动方向', -// "priority": 2, -// "subtitle": -// "【scrollDirection】 : 滑动方向 【Axis】\n" -// "【reverse】 : 是否反向滑动 【bool】\n" -// "【shrinkWrap】 : 无边界时是否包裹 【bool】", -// } -class ExtentGridView extends StatelessWidget { - const ExtentGridView({super.key}); - - List get data => List.generate(128, (i) => Color(0xFF00FFFF - 2 * i)); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: GridView.extent( - scrollDirection: Axis.horizontal, - maxCrossAxisExtent: 80.0, - mainAxisSpacing: 2, - crossAxisSpacing: 2, - childAspectRatio: 0.618, - children: data.map((color) => _buildItem(color)).toList(), - ), - ); - } - - Container _buildItem(Color color) => Container( - alignment: Alignment.center, - width: 100, - height: 30, - color: color, - child: Text( - colorString(color), - style: const TextStyle( - color: Colors.white, - shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ], - ), - ), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/GridView/node4_builder.dart b/modules/widget_system/widgets/lib/StatelessWidget/GridView/node4_builder.dart deleted file mode 100644 index a0b2ca75e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/GridView/node4_builder.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-27 -/// contact me by email 1981462002@qq.com -/// 说明: - -// { -// "widgetId": 163, -// "name": 'GridView.builder构造', -// "priority": 4, -// "subtitle": -// "【itemCount】 : 条目数量 【int】\n" -// "【gridDelegate】 : 网格代理 【SliverGridDelegate】\n" -// "【itemBuilder】 : 条目构造器 【IndexedWidgetBuilder】", -// } -class BuilderGridView extends StatelessWidget { - const BuilderGridView({super.key}); - - List get data => List.generate(128, (i) => Color(0xFF33FFF - 2 * i)); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: GridView.builder( - itemCount: data.length, - scrollDirection: Axis.vertical, - gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( - //网格代理:定交叉轴数目 - crossAxisCount: 4, //条目个数 - mainAxisSpacing: 5, //主轴间距 - crossAxisSpacing: 5, //交叉轴间距 - childAspectRatio: 1 / 0.618), - itemBuilder: (_, int position) => _buildItem(data[position])), - ); - } - - Widget _buildItem(Color color) => Container( - alignment: Alignment.center, - width: 100, - height: 30, - color: color, - child: Text( - colorString(color), - style: const TextStyle( - color: Colors.white, - shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ], - ), - ), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_de_DE.json deleted file mode 100644 index a7e5179a6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 213, - "name": "HtmlElementView", - "localName": "html-Elementansicht", - "info": "Einbetten eines HTML-Elements in die Widget-Hierarchie von Flutter Web.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einführung in HtmlElementView", - "desc": [ - "【child】 : Untergeordnete Komponente 【child】", - "【viewType】 : Eindeutige Kennung des HTML-Elements 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_en_US.json deleted file mode 100644 index 5c1a76ba4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 213, - "name": "HtmlElementView", - "localName": "html element view", - "info": "Embeds an HTML element within the Widget hierarchy of Flutter Web.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to HtmlElementView", - "desc": [ - "【child】 : Child widget 【child】", - "【viewType】 : Unique identifier for the HTML element 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_es_ES.json deleted file mode 100644 index 7411690d0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 213, - "name": "HtmlElementView", - "localName": "vista de elemento html", - "info": "Incrusta un elemento HTML en la jerarquía de Widgets de Flutter Web.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a HtmlElementView", - "desc": [ - "【child】 : componente hijo 【child】", - "【viewType】 : identificador único del elemento html 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_fr_FR.json deleted file mode 100644 index a597b30af..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 213, - "name": "HtmlElementView", - "localName": "vue d'élément html", - "info": "Intégrer un élément HTML dans la hiérarchie des Widgets de Flutter Web.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à HtmlElementView", - "desc": [ - "【child】 : composant enfant 【child】", - "【viewType】 : identifiant unique de l'élément html 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_it_IT.json deleted file mode 100644 index 03d1b1469..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 213, - "name": "HtmlElementView", - "localName": "vista elemento html", - "info": "Incorpora un elemento HTML nella gerarchia dei widget di Flutter Web.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a HtmlElementView", - "desc": [ - "【child】 : componente figlio 【child】", - "【viewType】 : identificatore unico dell'elemento html 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_ja_JP.json deleted file mode 100644 index ee3c57dac..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 213, - "name": "HtmlElementView", - "localName": "html エレメントビュー", - "info": "Flutter Web の Widget 階層に HTML エレメントを埋め込みます。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "HtmlElementView 紹介", - "desc": [ - "【child】 : 子コンポーネント 【child】", - "【viewType】 : htmlエレメントのユニーク識別子 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_ko_KR.json deleted file mode 100644 index 16031534f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 213, - "name": "HtmlElementView", - "localName": "html 요소 뷰", - "info": "Flutter Web의 위젯 계층 구조에 HTML 요소를 삽입합니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "HtmlElementView 소개", - "desc": [ - "【child】 : 자식 위젯 【child】", - "【viewType】 : html 요소 고유 식별자 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_pt_PT.json deleted file mode 100644 index 5b0863d0b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 213, - "name": "HtmlElementView", - "localName": "vista de elemento html", - "info": "Incorpora um elemento HTML na hierarquia de Widgets do Flutter Web.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao HtmlElementView", - "desc": [ - "【child】 : componente filho 【child】", - "【viewType】 : identificador único do elemento html 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_ru_RU.json deleted file mode 100644 index 3a7aea921..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 213, - "name": "HtmlElementView", - "localName": "html элемент представления", - "info": "Встраивает HTML-элемент в иерархию виджетов Flutter Web.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в HtmlElementView", - "desc": [ - "【child】 : дочерний компонент 【child】", - "【viewType】 : уникальный идентификатор HTML-элемента 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_zh-CN.json deleted file mode 100644 index 899721db8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 213, - "name": "HtmlElementView", - "localName": "html 元素视图", - "info": "在 Flutter Web 的 Widget 层次结构中嵌入一个 HTML 元素。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "HtmlElementView 介绍", - "desc": [ - "【child】 : 子组件 【child】", - "【viewType】 : html元素唯一表识 【String】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/node1_base.dart deleted file mode 100644 index edbf1324d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/HtmlElementView/node1_base.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/11 -/// contact me by email 1981462002@qq.com -/// - -class HtmlElementViewDemo extends StatelessWidget { - const HtmlElementViewDemo({Key? key}) : super(key: key); - - final String info = - '该组件只能用于 Flutter Web 中,嵌入 Html 元素的较为昂贵。' - '内部基于 PlatformViewLink 和 PlatformViewSurface 组件实现。'; - - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_de_DE.json deleted file mode 100644 index a4370c7c3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_de_DE.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 6, - "name": "Icon", - "localName": "Symbolkomponente", - "info": "Komponente zur Anzeige von Symbolen. Ermöglicht die Angabe von Symbolressourcen, Größe und Farbe. Sehr einfach, aber sehr nützlich", - "lever": 2, - "family": 0, - "linkIds": [ - 7, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Zum Anzeigen eines Symbols", - "desc": [ - "【Eingabeparameter】 : Symboldaten 【IconData】", - "【size】 : Größe 【double】", - "【color】: Farbe 【Color】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Verwendung von benutzerdefinierten Symbolen", - "desc": [ - "Symbolschriftarten können von der iconfont-Website heruntergeladen und verwendet werden" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_en_US.json deleted file mode 100644 index 8952d62b0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_en_US.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 6, - "name": "Icon", - "localName": "Icon Component", - "info": "Component for displaying icons. Can specify icon resources, size, and color. Very simple, but very useful", - "lever": 2, - "family": 0, - "linkIds": [ - 7, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Used to display an icon", - "desc": [ - "【Input】 : Icon data 【IconData】", - "【size】 : Size 【double】", - "【color】: Color 【Color】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Use custom icons", - "desc": [ - "You can download icon fonts from the iconfont website for use" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_es_ES.json deleted file mode 100644 index 5fe3cb435..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_es_ES.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 6, - "name": "Icon", - "localName": "Componente de icono", - "info": "Componente para mostrar iconos. Puede especificar el recurso del icono, el tamaño y el color. Muy simple, pero muy útil", - "lever": 2, - "family": 0, - "linkIds": [ - 7, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Para mostrar un icono", - "desc": [ - "【Parámetro de entrada】: Datos del icono 【IconData】", - "【size】: Tamaño 【double】", - "【color】: Color 【Color】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Usar iconos personalizados", - "desc": [ - "Puede descargar fuentes de iconos desde el sitio web de iconfont para su uso" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_fr_FR.json deleted file mode 100644 index 280fb11ff..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_fr_FR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 6, - "name": "Icon", - "localName": "Composant d'icône", - "info": "Composant pour l'affichage d'icônes. Permet de spécifier la ressource d'icône, la taille, la couleur. Très simple, mais très utile", - "lever": 2, - "family": 0, - "linkIds": [ - 7, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Pour afficher une icône", - "desc": [ - "【Paramètre】 : Données de l'icône 【IconData】", - "【size】 : Taille 【double】", - "【color】: Couleur 【Color】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Utiliser des icônes personnalisées", - "desc": [ - "Vous pouvez télécharger des polices d'icônes sur le site iconfont pour les utiliser" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_it_IT.json deleted file mode 100644 index ede363f04..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_it_IT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 6, - "name": "Icon", - "localName": "Componente Icona", - "info": "Componente per la visualizzazione delle icone. Puoi specificare la risorsa dell'icona, la dimensione e il colore. Molto semplice, ma molto utile", - "lever": 2, - "family": 0, - "linkIds": [ - 7, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Per visualizzare un'icona", - "desc": [ - "【Parametro】 : Dati dell'icona 【IconData】", - "【size】 : Dimensione 【double】", - "【color】: Colore 【Color】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Usa icone personalizzate", - "desc": [ - "Puoi scaricare i caratteri delle icone dal sito iconfont per usarli" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_ja_JP.json deleted file mode 100644 index 74877e3df..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_ja_JP.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 6, - "name": "Icon", - "localName": "アイコンコンポーネント", - "info": "アイコン表示用のコンポーネントです。アイコンリソース、サイズ、色を指定できます。非常にシンプルですが、非常に便利です。", - "lever": 2, - "family": 0, - "linkIds": [ - 7, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "アイコンを表示するために使用", - "desc": [ - "【引数】: アイコンデータ 【IconData】", - "【size】: サイズ 【double】", - "【color】: 色 【Color】" - ] - }, - { - "file": "node2_diy.dart", - "name": "カスタムアイコンを使用", - "desc": [ - "iconfontウェブサイトからアイコンフォントをダウンロードして使用できます" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_ko_KR.json deleted file mode 100644 index f7e049a6f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_ko_KR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 6, - "name": "Icon", - "localName": "아이콘 컴포넌트", - "info": "아이콘 표시를 위한 컴포넌트입니다. 아이콘 리소스, 크기, 색상을 지정할 수 있습니다. 매우 간단하지만 매우 유용합니다.", - "lever": 2, - "family": 0, - "linkIds": [ - 7, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "아이콘을 표시하기 위해 사용", - "desc": [ - "【입력 매개변수】 : 아이콘 데이터 【IconData】", - "【size】 : 크기 【double】", - "【color】: 색상 【Color】" - ] - }, - { - "file": "node2_diy.dart", - "name": "사용자 정의 아이콘 사용", - "desc": [ - "iconfont 웹사이트에서 아이콘 폰트를 다운로드하여 사용할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_pt_PT.json deleted file mode 100644 index fb473652d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_pt_PT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 6, - "name": "Icon", - "localName": "Componente de Ícone", - "info": "Componente para exibição de ícones. Pode especificar o recurso do ícone, tamanho e cor. Muito simples, mas muito útil", - "lever": 2, - "family": 0, - "linkIds": [ - 7, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Usado para exibir um ícone", - "desc": [ - "【Parâmetro de entrada】: Dados do ícone 【IconData】", - "【size】: Tamanho 【double】", - "【color】: Cor 【Color】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Usar ícone personalizado", - "desc": [ - "Pode baixar fontes de ícones no site iconfont para uso" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_ru_RU.json deleted file mode 100644 index 9cda5c090..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_ru_RU.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 6, - "name": "Icon", - "localName": "Компонент иконки", - "info": "Компонент для отображения иконок. Можно указать ресурс иконки, размер, цвет. Очень просто, но очень полезно", - "lever": 2, - "family": 0, - "linkIds": [ - 7, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Для отображения иконки", - "desc": [ - "【Входные параметры】 : данные иконки 【IconData】", - "【size】 : размер 【double】", - "【color】: цвет 【Color】" - ] - }, - { - "file": "node2_diy.dart", - "name": "Использование пользовательской иконки", - "desc": [ - "Можно скачать шрифт иконки с сайта iconfont для использования" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_zh-CN.json deleted file mode 100644 index 6b2847df4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/desc_zh-CN.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 6, - "name": "Icon", - "localName": "图标组件", - "info": "用于图标显示的组件。可指定图标资源、大小、颜色。非常简单,但是非常用", - "lever": 2, - "family": 0, - "linkIds": [ - 7, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "用于显示一个图标", - "desc": [ - "【入参】 :图标数据 【IconData】", - "【size】 : 大小 【double】", - "【color】: 颜色 【Color】" - ] - }, - { - "file": "node2_diy.dart", - "name": "使用自定义图标", - "desc": [ - "可在iconfont网站中下载图标字体进行使用" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Icon/node1_base.dart deleted file mode 100644 index 4a27ebe70..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/node1_base.dart +++ /dev/null @@ -1,23 +0,0 @@ - - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - - - -class CustomIcon extends StatelessWidget { - const CustomIcon({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: const [ - Icon(Icons.send, color: Colors.orange, size: 60), - Icon(Icons.android, color: Colors.green, size: 100), - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Icon/node2_diy.dart b/modules/widget_system/widgets/lib/StatelessWidget/Icon/node2_diy.dart deleted file mode 100644 index 0bbffd9c6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Icon/node2_diy.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:app/app.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - - - -class MyIcon extends StatelessWidget { - const MyIcon({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - TolyIcon.icon_search, - TolyIcon.icon_star, - TolyIcon.icon_layout, - TolyIcon.icon_star_ok - ].map((e) => Icon( - e, - color: Colors.green, - size: 60, - ),).toList(), - ); - } -} - diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_de_DE.json deleted file mode 100644 index 095206db1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 30, - "name": "IconButton", - "localName": "Symbolschaltfläche", - "info": "Klickbare Symbolschaltfläche, die Symbolinformationen, Innenabstand, Größe, Farbe usw. angeben kann und Klickereignisse empfängt.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IconButton-Eigenschaften", - "desc": [ - "【icon】: Symbolkomponente 【Widget】", - "【tooltip】: Langzeitdruck-Hinweistext 【String】", - "【highlightColor】: Langzeitdruck-Highlight-Farbe 【Color】", - "【splashColor】: Wasserwellenfarbe 【Color】", - "【onPressed】: Klickereignis 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_en_US.json deleted file mode 100644 index 8284e78a2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 30, - "name": "IconButton", - "localName": "Icon Button", - "info": "A clickable icon button that can specify icon information, padding, size, color, etc., and receives click events.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IconButton Properties", - "desc": [ - "【icon】: Icon component 【Widget】", - "【tooltip】: Long press tooltip text 【String】", - "【highlightColor】: Long press highlight color 【Color】", - "【splashColor】: Ripple color 【Color】", - "【onPressed】: Click event 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_es_ES.json deleted file mode 100644 index 7432a0b41..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 30, - "name": "IconButton", - "localName": "Botón de icono", - "info": "Botón de icono clickeable, puede especificar información del icono, padding, tamaño, color, etc., y recibe eventos de clic.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propiedades de IconButton", - "desc": [ - "【icon】: Componente de icono 【Widget】", - "【tooltip】: Texto de sugerencia al mantener presionado 【String】", - "【highlightColor】: Color de resaltado al mantener presionado 【Color】", - "【splashColor】: Color de la onda 【Color】", - "【onPressed】: Evento de clic 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_fr_FR.json deleted file mode 100644 index 1cbaf9ebc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 30, - "name": "IconButton", - "localName": "Bouton d'icône", - "info": "Bouton d'icône cliquable, peut spécifier des informations d'icône, un remplissage, une taille, une couleur, etc., et reçoit des événements de clic.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propriétés d'IconButton", - "desc": [ - "【icon】: Composant d'icône 【Widget】", - "【tooltip】: Texte d'info-bulle lors d'un appui long 【String】", - "【highlightColor】: Couleur de surbrillance lors d'un appui long 【Color】", - "【splashColor】: Couleur de l'effet de vague 【Color】", - "【onPressed】: Événement de clic 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_it_IT.json deleted file mode 100644 index 317294485..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 30, - "name": "IconButton", - "localName": "Pulsante Icona", - "info": "Pulsante icona cliccabile, può specificare informazioni sull'icona, spaziatura interna, dimensione, colore, ecc., riceve eventi di clic.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Proprietà IconButton", - "desc": [ - "【icon】: Componente icona 【Widget】", - "【tooltip】: Testo di suggerimento per pressione prolungata 【String】", - "【highlightColor】: Colore evidenziato per pressione prolungata 【Color】", - "【splashColor】: Colore effetto ondulazione 【Color】", - "【onPressed】: Evento di clic 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_ja_JP.json deleted file mode 100644 index 39425031c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 30, - "name": "IconButton", - "localName": "アイコンボタン", - "info": "クリック可能なアイコンボタンで、アイコン情報、パディング、サイズ、色などを指定でき、クリックイベントを受け取ります。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IconButtonプロパティ", - "desc": [ - "【icon】: アイコンコンポーネント 【Widget】", - "【tooltip】: 長押し時のヒントテキスト 【String】", - "【highlightColor】: 長押し時のハイライト色 【Color】", - "【splashColor】: 波紋色 【Color】", - "【onPressed】: クリックイベント 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_ko_KR.json deleted file mode 100644 index 69529b1e8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 30, - "name": "IconButton", - "localName": "아이콘 버튼", - "info": "클릭 가능한 아이콘 버튼으로, 아이콘 정보, 패딩, 크기, 색상 등을 지정할 수 있으며 클릭 이벤트를 수신합니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IconButton 속성", - "desc": [ - "【icon】: 아이콘 컴포넌트 【Widget】", - "【tooltip】: 길게 누를 때 표시되는 텍스트 【String】", - "【highlightColor】: 길게 누를 때 강조 색상 【Color】", - "【splashColor】: 물결 효과 색상 【Color】", - "【onPressed】: 클릭 이벤트 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_pt_PT.json deleted file mode 100644 index 06ef0ae62..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 30, - "name": "IconButton", - "localName": "Botão de Ícone", - "info": "Botão de ícone clicável, pode especificar informações de ícone, preenchimento interno, tamanho, cor, etc., e recebe eventos de clique.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propriedades do IconButton", - "desc": [ - "【icon】: Componente de ícone 【Widget】", - "【tooltip】: Texto de dica ao pressionar 【String】", - "【highlightColor】: Cor de destaque ao pressionar 【Color】", - "【splashColor】: Cor do efeito de ondulação 【Color】", - "【onPressed】: Evento de clique 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_ru_RU.json deleted file mode 100644 index cc27ab35b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 30, - "name": "IconButton", - "localName": "Кнопка с иконкой", - "info": "Кликабельная кнопка с иконкой, можно указать информацию об иконке, внутренние отступы, размер, цвет и т.д., принимает событие клика.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Свойства IconButton", - "desc": [ - "【icon】: Компонент иконки 【Widget】", - "【tooltip】: Текст подсказки при долгом нажатии 【String】", - "【highlightColor】: Цвет подсветки при долгом нажатии 【Color】", - "【splashColor】: Цвет эффекта волны 【Color】", - "【onPressed】: Событие клика 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_zh-CN.json deleted file mode 100644 index b8e6bf4de..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 30, - "name": "IconButton", - "localName": "图标按钮", - "info": "可点击的图标按钮,可指定图标信息、内边距、大小、颜色等,接收点击事件。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "IconButton属性", - "desc": [ - "【icon】: 图标组件 【Widget】", - "【tooltip】: 长按提示文字 【String】", - "【highlightColor】: 长按高亮色 【Color】", - "【splashColor】: 水波纹色 【Color】", - "【onPressed】: 点击事件 【Function】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/IconButton/node1_base.dart deleted file mode 100644 index a3fff8484..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/IconButton/node1_base.dart +++ /dev/null @@ -1,23 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - - -class CustomIconButton extends StatelessWidget { - const CustomIconButton({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.all(8.0), - child: IconButton( - padding: const EdgeInsets.only(), - onPressed: () {}, - icon: const Icon(Icons.android, size: 40, color: Colors.green), - tooltip: "android", - highlightColor: Colors.orangeAccent, - splashColor: Colors.blue, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_de_DE.json deleted file mode 100644 index c9c0f95ae..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 7, - "name": "ImageIcon", - "localName": "Container", - "info": "Eine Komponente, die ein Bild in eine einfarbige Farbe umwandelt. Größe und Farbe können angegeben werden.", - "lever": 1, - "family": 0, - "linkIds": [ - 6, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Wird verwendet, um ein einfarbiges Bild anzuzeigen", - "desc": [ - "【Parameter】: Bildressource 【ImageProvider】", - "【size】: Größe 【double】", - "【color】: Farbe der Markierung 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_en_US.json deleted file mode 100644 index 90f16806e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 7, - "name": "ImageIcon", - "localName": "Container", - "info": "A component used to turn an image into a solid color. You can specify the size and color.", - "lever": 1, - "family": 0, - "linkIds": [ - 6, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Used to display a solid color image", - "desc": [ - "【Parameter】: Image resource 【ImageProvider】", - "【size】: Size 【double】", - "【color】: Badge color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_es_ES.json deleted file mode 100644 index 09e681c8c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 7, - "name": "ImageIcon", - "localName": "Contenedor", - "info": "Componente utilizado para convertir una imagen en un color sólido. Puede especificar el tamaño y el color.", - "lever": 1, - "family": 0, - "linkIds": [ - 6, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Se utiliza para mostrar una imagen de color sólido", - "desc": [ - "【Parámetro de entrada】: Recurso de imagen 【ImageProvider】", - "【size】: Tamaño 【double】", - "【color】: Color de la etiqueta 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_fr_FR.json deleted file mode 100644 index 36b48738e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 7, - "name": "ImageIcon", - "localName": "Conteneur", - "info": "Un composant pour transformer une image en une couleur unie. Peut spécifier la taille et la couleur.", - "lever": 1, - "family": 0, - "linkIds": [ - 6, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisé pour afficher une image en couleur unie", - "desc": [ - "【Paramètre】 : Ressource d'image 【ImageProvider】", - "【size】 : Taille 【double】", - "【color】: Couleur de l'étiquette 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_it_IT.json deleted file mode 100644 index f32ca86ab..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 7, - "name": "ImageIcon", - "localName": "Contenitore", - "info": "Componente utilizzato per trasformare un'immagine in un colore solido. È possibile specificare dimensioni e colore.", - "lever": 1, - "family": 0, - "linkIds": [ - 6, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilizzato per visualizzare un'immagine a tinta unita", - "desc": [ - "【Parametro】 : Risorsa immagine 【ImageProvider】", - "【size】 : Dimensione 【double】", - "【color】: Colore del badge 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_ja_JP.json deleted file mode 100644 index f14e7c892..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 7, - "name": "ImageIcon", - "localName": "コンテナ", - "info": "画像を単色に変えるためのコンポーネントです。サイズや色を指定できます。", - "lever": 1, - "family": 0, - "linkIds": [ - 6, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "単色の画像を表示するために使用", - "desc": [ - "【入参】 : 画像リソース 【ImageProvider】", - "【size】 : サイズ 【double】", - "【color】: バッジの色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_ko_KR.json deleted file mode 100644 index 11ec8ae0b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 7, - "name": "ImageIcon", - "localName": "컨테이너", - "info": "이미지를 단색으로 변경하는 컴포넌트입니다. 크기와 색상을 지정할 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [ - 6, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "단색 이미지를 표시하는 데 사용", - "desc": [ - "【입력 매개변수】 : 이미지 리소스 【ImageProvider】", - "【size】 : 크기 【double】", - "【color】: 배지 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_pt_PT.json deleted file mode 100644 index 7cf446f09..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 7, - "name": "ImageIcon", - "localName": "Recipiente", - "info": "Componente usado para transformar uma imagem em uma cor sólida. Pode especificar o tamanho e a cor.", - "lever": 1, - "family": 0, - "linkIds": [ - 6, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Usado para exibir uma imagem de cor sólida", - "desc": [ - "【Parâmetro de entrada】: Recurso de imagem 【ImageProvider】", - "【size】: Tamanho 【double】", - "【color】: Cor do ícone 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_ru_RU.json deleted file mode 100644 index f560ccf04..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 7, - "name": "ImageIcon", - "localName": "Контейнер", - "info": "Компонент для преобразования изображения в однотонный цвет. Можно указать размер и цвет.", - "lever": 1, - "family": 0, - "linkIds": [ - 6, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Используется для отображения однотонного изображения", - "desc": [ - "【Параметр】 : Ресурс изображения 【ImageProvider】", - "【size】 : Размер 【double】", - "【color】: Цвет индикатора 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_zh-CN.json deleted file mode 100644 index f86199f6f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 7, - "name": "ImageIcon", - "localName": "容器", - "info": "用于将一个图片变为纯色的组件。可指定大小、颜色。", - "lever": 1, - "family": 0, - "linkIds": [ - 6, - 30, - 125 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "用于显示一个纯色图片", - "desc": [ - "【入参】 : 图片资源 【ImageProvider】", - "【size】 : 大小 【double】", - "【color】: 角标颜色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/node1_base.dart deleted file mode 100644 index c687766c6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ImageIcon/node1_base.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - - -class CustomImageIcon extends StatelessWidget { - const CustomImageIcon({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Map data = { - Colors.blue: 50.0, - Colors.red: 60.0, - Colors.green: 70.0, - Colors.yellow: 80.0, - }; - return Wrap( - spacing: 10, - children: data.keys - .map((e) => ImageIcon( - const AssetImage("assets/images/leaf.webp"), - color: e, - size: data[e], - )) - .toList(), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_de_DE.json deleted file mode 100644 index b6e32c703..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_de_DE.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 14, - "name": "InputChip", - "localName": "Kombinierter Chip", - "info": "Ähnlich wie die Chip-Komponente, integriert Klick-, Lösch- und Auswahlereignisse. Hinweis: Klick- und Auswahlereignisse können nicht gleichzeitig vorhanden sein.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Kann Klick- und Lösch-Ereignisse akzeptieren", - "desc": [ - "【onPressed】: Klick-Ereignis 【Function()】", - "【onDeleted】: Lösch-Ereignis 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Kann Auswahl-Ereignisse akzeptieren", - "desc": [ - "【selected】: Ob ausgewählt 【bool】", - "【onSelected】: Auswahl-Ereignis 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_en_US.json deleted file mode 100644 index 6c0ac259d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_en_US.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 14, - "name": "InputChip", - "localName": "Comprehensive Chip", - "info": "Similar in style to the Chip component, it integrates click, delete, and select events into one. Note: Click event and select event cannot coexist.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Can accept click and delete events", - "desc": [ - "【onPressed】: Click event 【Function()】", - "【onDeleted】: Delete event 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Can accept select event", - "desc": [ - "【selected】: Whether selected 【bool】", - "【onSelected】: Select event 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_es_ES.json deleted file mode 100644 index bf5a73a29..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_es_ES.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 14, - "name": "InputChip", - "localName": "Chip Integrado", - "info": "Estilo similar al componente Chip, integra eventos de clic, eliminación y selección en uno. Nota: Los eventos de clic y selección no pueden coexistir.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Puede aceptar eventos de clic y eliminación", - "desc": [ - "【onPressed】: Evento de clic 【Function()】", - "【onDeleted】: Evento de eliminación 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Puede aceptar eventos de selección", - "desc": [ - "【selected】: Si está seleccionado 【bool】", - "【onSelected】: Evento de selección 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_fr_FR.json deleted file mode 100644 index f4ffd569f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_fr_FR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 14, - "name": "InputChip", - "localName": "Puce Intégrée", - "info": "Un style similaire au composant Chip, intégrant les événements de clic, de suppression et de sélection en un seul. Remarque : les événements de clic et de sélection ne peuvent pas coexister.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Peut accepter les événements de clic et de suppression", - "desc": [ - "【onPressed】: Événement de clic 【Function()】", - "【onDeleted】: Événement de suppression 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Peut accepter l'événement de sélection", - "desc": [ - "【selected】: Est sélectionné 【bool】", - "【onSelected】: Événement de sélection 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_it_IT.json deleted file mode 100644 index dc95c4e49..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_it_IT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 14, - "name": "InputChip", - "localName": "Chip Integrato", - "info": "Stile simile al componente Chip, integrato con eventi di clic, eliminazione e selezione. Nota: gli eventi di clic e selezione non possono coesistere.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Può accettare eventi di clic ed eliminazione", - "desc": [ - "【onPressed】: Evento di clic 【Function()】", - "【onDeleted】: Evento di eliminazione 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Può accettare eventi di selezione", - "desc": [ - "【selected】: Se selezionato 【bool】", - "【onSelected】: Evento di selezione 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_ja_JP.json deleted file mode 100644 index 314715264..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_ja_JP.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 14, - "name": "InputChip", - "localName": "統合チップ", - "info": "Chipコンポーネントと同様のスタイルで、クリック、削除、選択イベントを統合しています。注意: クリックイベントと選択イベントは同時に存在できません。", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "クリック、削除イベントを受け取ることができます", - "desc": [ - "【onPressed】: クリックイベント 【Function()】", - "【onDeleted】: 削除イベント 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "選択イベントを受け取ることができます", - "desc": [ - "【selected】: 選択されているかどうか 【bool】", - "【onSelected】: 選択イベント 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_ko_KR.json deleted file mode 100644 index 63de89c92..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_ko_KR.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 14, - "name": "InputChip", - "localName": "종합 칩", - "info": "Chip 컴포넌트와 유사한 스타일로, 클릭, 삭제, 선택 이벤트를 하나로 통합했습니다. 주의: 클릭 이벤트와 선택 이벤트는 동시에 존재할 수 없습니다.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "클릭 및 삭제 이벤트를 수신할 수 있음", - "desc": [ - "【onPressed】: 클릭 이벤트 【Function()】", - "【onDeleted】: 삭제 이벤트 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "선택 이벤트를 수신할 수 있음", - "desc": [ - "【selected】: 선택 여부 【bool】", - "【onSelected】: 선택 이벤트 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_pt_PT.json deleted file mode 100644 index 41eaaf1ba..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_pt_PT.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 14, - "name": "InputChip", - "localName": "Chip Integrado", - "info": "Estilo semelhante ao componente Chip, integra eventos de clique, exclusão e seleção em um só. Nota: os eventos de clique e seleção não podem coexistir.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Pode aceitar eventos de clique e exclusão", - "desc": [ - "【onPressed】: Evento de clique 【Function()】", - "【onDeleted】: Evento de exclusão 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Pode aceitar eventos de seleção", - "desc": [ - "【selected】: Se está selecionado 【bool】", - "【onSelected】: Evento de seleção 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_ru_RU.json deleted file mode 100644 index d1eb785ce..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_ru_RU.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 14, - "name": "InputChip", - "localName": "Комплексный чип", - "info": "Стиль, похожий на компонент Chip, объединяет события нажатия, удаления и выбора в одном элементе. Обратите внимание: события нажатия и выбора не могут существовать одновременно.", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Может принимать события нажатия и удаления", - "desc": [ - "【onPressed】: Событие нажатия 【Function()】", - "【onDeleted】: Событие удаления 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Может принимать событие выбора", - "desc": [ - "【selected】: Выбрано ли 【bool】", - "【onSelected】: Событие выбора 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_zh-CN.json deleted file mode 100644 index 9d99ecd40..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/desc_zh-CN.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": 14, - "name": "InputChip", - "localName": "综合小条", - "info": "和Chip组件类似的样式,集成了点击、删除、选择事件为一体。注意:点击事件和选择事件不能同时存在。", - "lever": 4, - "family": 0, - "linkIds": [ - 11, - 12, - 13, - 15, - 153 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "可以接受点击、删除事件", - "desc": [ - "【onPressed】: 点击事件 【Function()】", - "【onDeleted】: 删除事件 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "可以接受选中事件", - "desc": [ - "【selected】: 是否选中 【bool】", - "【onSelected】: 选中事件 【Function(bool)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/node1_base.dart deleted file mode 100644 index 3d1161beb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/node1_base.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - - -class PressInputChip extends StatefulWidget { - const PressInputChip({Key? key}) : super(key: key); - - @override - _PressInputChipState createState() => _PressInputChipState(); -} - -class _PressInputChipState extends State { - bool _delete = false; - - @override - Widget build(BuildContext context) { - return InputChip( - padding: const EdgeInsets.all(5), - labelPadding: const EdgeInsets.all(3), - label: Text( - !_delete ? - "This is a InputChip." : - "You are clicked delete icon."), - backgroundColor: Colors.grey.withAlpha(66), - avatar: Image.asset("assets/images/icon_head.webp"), - selectedColor: Colors.orangeAccent.withAlpha(88), - selectedShadowColor: Colors.blue, - shadowColor: Colors.orangeAccent, - elevation: 3, - onPressed: () => Navigator.of(context).pushNamed('AboutMePage'), - onDeleted: () => setState(() => _delete = !_delete)); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/node2_select.dart b/modules/widget_system/widgets/lib/StatelessWidget/InputChip/node2_select.dart deleted file mode 100644 index f19dcb12e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/InputChip/node2_select.dart +++ /dev/null @@ -1,41 +0,0 @@ -import 'package:flutter/material.dart'; - - - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - - -class SelectInputChip extends StatefulWidget { - const SelectInputChip({Key? key}) : super(key: key); - - @override - _SelectInputChipState createState() => _SelectInputChipState(); -} - -class _SelectInputChipState extends State { - bool _select = false; - - @override - Widget build(BuildContext context) { - return InputChip( - selected: _select, - padding: const EdgeInsets.all(5), - labelPadding: const EdgeInsets.all(3), - label: const Text("This is a InputChip."), - backgroundColor: Colors.grey.withAlpha(66), - avatar: Image.asset("assets/images/icon_head.webp"), - selectedColor: Colors.orangeAccent.withAlpha(88), - selectedShadowColor: Colors.blue, - shadowColor: Colors.orangeAccent, - elevation: 3, - onDeleted: () => Navigator.of(context).pushNamed('AboutMePage'), - onSelected: (bool value) { - setState(() { - _select = value; - }); - print("onSelected"); - }, - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_de_DE.json deleted file mode 100644 index 483c5b99e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_de_DE.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 16, - "name": "ListTile", - "localName": "Listenkachel", - "info": "Eine allgemeine Listenstruktur, die von Flutter bereitgestellt wird, mit einer Struktur von links, Mitte und rechts. An den entsprechenden Positionen können Komponenten eingefügt werden, was es sehr einfach macht, bestimmte Einträge zu verarbeiten.", - "lever": 3, - "family": 0, - "linkIds": [ - 162, - 334 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Darstellung von ListTile", - "desc": [ - "【leading】: Linke Komponente 【Widget】", - "【title】: Obere mittlere Komponente 【Widget】", - "【subtitle】: Untere mittlere Komponente 【Widget】", - "【trailing】: Rechte Komponente 【Widget】", - "【contentPadding】: Innenabstand 【EdgeInsetsGeometry】", - "【onLongPress】: Klick-Ereignis 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Auswahl-Effekt und Long-Press-Ereignis von ListTile", - "desc": [ - "【selected】: Ist ausgewählt 【bool】", - "【onTap】: Klick-Ereignis 【Function()】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Dichte Eigenschaft von ListTile", - "desc": [ - "【dense】: Ist dicht 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_en_US.json deleted file mode 100644 index cb894918e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_en_US.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 16, - "name": "ListTile", - "localName": "List Tile", - "info": "A general list item structure provided by Flutter, which has a left-center-right structure. Components can be inserted at the corresponding positions, making it easy to handle specific items.", - "lever": 3, - "family": 0, - "linkIds": [ - 162, - 334 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "The basic representation of ListTile is as follows", - "desc": [ - "【leading】: Left component 【Widget】", - "【title】: Top middle component 【Widget】", - "【subtitle】: Bottom middle component 【Widget】", - "【trailing】: Trailing component 【Widget】", - "【contentPadding】: Inner padding 【EdgeInsetsGeometry】", - "【onLongPress】: Click event 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "ListTile selection effect and long press event", - "desc": [ - "【selected】: Whether selected 【bool】", - "【onTap】: Click event 【Function()】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Dense property of ListTile", - "desc": [ - "【dense】: Whether dense 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_es_ES.json deleted file mode 100644 index 4437361ee..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_es_ES.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 16, - "name": "ListTile", - "localName": "Lista de fichas", - "info": "Una estructura de elementos de lista común proporcionada por Flutter, con una estructura de izquierda, centro y derecha. Se pueden insertar componentes en las posiciones correspondientes, lo que permite manejar elementos específicos de manera conveniente.", - "lever": 3, - "family": 0, - "linkIds": [ - 162, - 334 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La representación básica de ListTile es la siguiente", - "desc": [ - "【leading】: Componente izquierdo 【Widget】", - "【title】: Componente superior central 【Widget】", - "【subtitle】: Componente inferior central 【Widget】", - "【trailing】: Componente final 【Widget】", - "【contentPadding】: Relleno interno 【EdgeInsetsGeometry】", - "【onLongPress】: Evento de clic 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Efecto de selección y evento de pulsación prolongada de ListTile", - "desc": [ - "【selected】: Si está seleccionado 【bool】", - "【onTap】: Evento de clic 【Function()】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Propiedad de disposición densa de ListTile", - "desc": [ - "【dense】: Si está en disposición densa 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_fr_FR.json deleted file mode 100644 index dccc7dea7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_fr_FR.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 16, - "name": "ListTile", - "localName": "Tuile de liste", - "info": "Une structure d'élément de liste générique fournie par Flutter, avec une structure gauche-centre-droite. Des composants peuvent être insérés aux positions correspondantes, ce qui permet de répondre facilement à des éléments spécifiques.", - "lever": 3, - "family": 0, - "linkIds": [ - 162, - 334 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La performance de base de ListTile est la suivante", - "desc": [ - "【leading】: Composant de gauche 【Widget】", - "【title】: Composant du haut au centre 【Widget】", - "【subtitle】: Composant du bas au centre 【Widget】", - "【trailing】: Composant de fin 【Widget】", - "【contentPadding】: Marge intérieure 【EdgeInsetsGeometry】", - "【onLongPress】: Événement de clic 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Effet de sélection et événement de pression longue de ListTile", - "desc": [ - "【selected】: Est sélectionné 【bool】", - "【onTap】: Événement de clic 【Function()】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Propriété de densité de ListTile", - "desc": [ - "【dense】: Est dense 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_it_IT.json deleted file mode 100644 index 282eaca6e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_it_IT.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 16, - "name": "ListTile", - "localName": "Piastrella della lista", - "info": "Una struttura comune per gli elementi della lista fornita da Flutter, con una struttura sinistra-centro-destra. I componenti possono essere inseriti nelle posizioni corrispondenti, rendendo facile adattarsi a elementi specifici.", - "lever": 3, - "family": 0, - "linkIds": [ - 162, - 334 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La rappresentazione di base di ListTile è la seguente", - "desc": [ - "【leading】: Componente sinistro 【Widget】", - "【title】: Componente superiore centrale 【Widget】", - "【subtitle】: Componente inferiore centrale 【Widget】", - "【trailing】: Componente finale 【Widget】", - "【contentPadding】: Spaziatura interna 【EdgeInsetsGeometry】", - "【onLongPress】: Evento di clic 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Effetto di selezione e evento di pressione prolungata di ListTile", - "desc": [ - "【selected】: Selezionato 【bool】", - "【onTap】: Evento di clic 【Function()】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Proprietà di disposizione compatta di ListTile", - "desc": [ - "【dense】: Disposizione compatta 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_ja_JP.json deleted file mode 100644 index 86428b005..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_ja_JP.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 16, - "name": "ListTile", - "localName": "リストタイル", - "info": "Flutterが提供する一般的なリスト項目構造で、左中右の構造を持っています。対応する位置にコンポーネントを挿入することができ、特定の項目に簡単に対応できます。", - "lever": 3, - "family": 0, - "linkIds": [ - 162, - 334 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListTileの基本的な表現は以下の通りです", - "desc": [ - "【leading】: 左側のコンポーネント 【Widget】", - "【title】: 中央上部のコンポーネント 【Widget】", - "【subtitle】: 中央下部のコンポーネント 【Widget】", - "【trailing】: 末尾のコンポーネント 【Widget】", - "【contentPadding】: 内側の余白 【EdgeInsetsGeometry】", - "【onLongPress】: クリックイベント 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "ListTileの選択効果と長押しイベント", - "desc": [ - "【selected】: 選択されているかどうか 【bool】", - "【onTap】: クリックイベント 【Function()】" - ] - }, - { - "file": "node3_dense.dart", - "name": "ListTileの密排属性", - "desc": [ - "【dense】: 密排かどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_ko_KR.json deleted file mode 100644 index 3b4aef742..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_ko_KR.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 16, - "name": "ListTile", - "localName": "리스트 타일", - "info": "Flutter에서 제공하는 일반적인 리스트 항목 구조로, 왼쪽, 중앙, 오른쪽 구조를 가지고 있습니다. 해당 위치에 컴포넌트를 삽입할 수 있으며, 특정 항목에 쉽게 대응할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [ - 162, - 334 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListTile의 기본적인 표현은 다음과 같습니다", - "desc": [ - "【leading】: 왼쪽 컴포넌트 【Widget】", - "【title】: 중앙 상단 컴포넌트 【Widget】", - "【subtitle】: 중앙 하단 컴포넌트 【Widget】", - "【trailing】: 오른쪽 컴포넌트 【Widget】", - "【contentPadding】: 내부 여백 【EdgeInsetsGeometry】", - "【onLongPress】: 클릭 이벤트 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "ListTile 선택 효과 및 길게 누르기 이벤트", - "desc": [ - "【selected】: 선택 여부 【bool】", - "【onTap】: 클릭 이벤트 【Function()】" - ] - }, - { - "file": "node3_dense.dart", - "name": "ListTile의 밀집 속성", - "desc": [ - "【dense】: 밀집 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_pt_PT.json deleted file mode 100644 index f73b46a75..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_pt_PT.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 16, - "name": "ListTile", - "localName": "Azulejo de Lista", - "info": "Uma estrutura de item de lista genérica fornecida pelo Flutter, com uma estrutura de esquerda, centro e direita. Componentes podem ser inseridos nas posições correspondentes, o que pode lidar facilmente com itens específicos.", - "lever": 3, - "family": 0, - "linkIds": [ - 162, - 334 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "A apresentação básica do ListTile é a seguinte", - "desc": [ - "【leading】: Componente esquerdo 【Widget】", - "【title】: Componente superior central 【Widget】", - "【subtitle】: Componente inferior central 【Widget】", - "【trailing】: Componente final 【Widget】", - "【contentPadding】: Preenchimento interno 【EdgeInsetsGeometry】", - "【onLongPress】: Evento de clique 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Efeito de seleção e evento de pressionamento longo do ListTile", - "desc": [ - "【selected】: Se está selecionado 【bool】", - "【onTap】: Evento de clique 【Function()】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Propriedade de densidade do ListTile", - "desc": [ - "【dense】: Se é denso 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_ru_RU.json deleted file mode 100644 index 1ae22bb01..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_ru_RU.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 16, - "name": "ListTile", - "localName": "Список плиток", - "info": "Универсальная структура элемента списка, предоставляемая Flutter, имеет структуру слева, по центру и справа. В соответствующие позиции можно вставлять компоненты, что позволяет легко адаптироваться к конкретным элементам.", - "lever": 3, - "family": 0, - "linkIds": [ - 162, - 334 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное представление ListTile выглядит следующим образом", - "desc": [ - "【leading】: Левый компонент 【Widget】", - "【title】: Верхний центральный компонент 【Widget】", - "【subtitle】: Нижний центральный компонент 【Widget】", - "【trailing】: Правый компонент 【Widget】", - "【contentPadding】: Внутренний отступ 【EdgeInsetsGeometry】", - "【onLongPress】: Событие нажатия 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "Эффект выбора и событие долгого нажатия ListTile", - "desc": [ - "【selected】: Выбрано ли 【bool】", - "【onTap】: Событие нажатия 【Function()】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Свойство плотного расположения ListTile", - "desc": [ - "【dense】: Плотное ли расположение 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_zh-CN.json deleted file mode 100644 index aee1c8456..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/desc_zh-CN.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 16, - "name": "ListTile", - "localName": "列表瓦片", - "info": "Flutter提供的一个通用列表条目结构,为左中右结构。相应位置可插入组件,可以很方便地应对特定的条目。", - "lever": 3, - "family": 0, - "linkIds": [ - 162, - 334 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListTile的基本表现如下", - "desc": [ - "【leading】: 左侧组件 【Widget】", - "【title】: 中间上组件 【Widget】", - "【subtitle】: 中间下组件 【Widget】", - "【trailing】: 尾组件 【Widget】", - "【contentPadding】: 内边距 【EdgeInsetsGeometry】", - "【onLongPress】: 点击事件 【Function()】" - ] - }, - { - "file": "node2_select.dart", - "name": "ListTile选中效果和长按事件", - "desc": [ - "【selected】: 是否选中 【bool】", - "【onTap】: 点击事件 【Function()】" - ] - }, - { - "file": "node3_dense.dart", - "name": "ListTile的密排属性", - "desc": [ - "【dense】: 是否密排 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/node1_base.dart deleted file mode 100644 index 7e7f533d8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/node1_base.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomListTile extends StatelessWidget { - const CustomListTile({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(10), - color: Colors.grey.withAlpha(22), - child: ListTile( - leading: Image.asset("assets/images/icon_head.webp"), - title: const Text("以梦为马"), - subtitle: const Text("海子"), - contentPadding: const EdgeInsets.all(5), - trailing: const Icon(Icons.more_vert), - onLongPress: () => Navigator.of(context).pushNamed('AboutMePage'), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/node2_select.dart b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/node2_select.dart deleted file mode 100644 index 5262e161b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/node2_select.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class SelectListTile extends StatefulWidget { - const SelectListTile({Key? key}) : super(key: key); - - @override - _SelectListTileState createState() => _SelectListTileState(); -} - -class _SelectListTileState extends State { - bool _selected = false; - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(10), - color: Colors.grey.withAlpha(22), - child: ListTile( - leading: Image.asset("assets/images/icon_head.webp"), - selected: _selected, - title: const Text("以梦为马"), - subtitle: const Text("海子"), - contentPadding: const EdgeInsets.all(5), - trailing: const Icon(Icons.more_vert), - onTap: () => setState(() => _selected = !_selected), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/node3_dense.dart b/modules/widget_system/widgets/lib/StatelessWidget/ListTile/node3_dense.dart deleted file mode 100644 index 347c420d1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListTile/node3_dense.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class DenseListTile extends StatefulWidget { - const DenseListTile({Key? key}) : super(key: key); - - @override - _DenseListTileState createState() => _DenseListTileState(); -} - -class _DenseListTileState extends State { - bool _dense = false; - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(10), - color: Colors.grey.withAlpha(22), - child: ListTile( - leading: Image.asset("assets/images/icon_head.webp"), - title: const Text("以梦为马"), - subtitle: const Text("海子"), - selected: false, - contentPadding: const EdgeInsets.all(5), - trailing: const Icon(Icons.more_vert), - dense: _dense, - onTap: () => setState(() => _dense = !_dense), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_de_DE.json deleted file mode 100644 index 0d813b29f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_de_DE.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 162, - "name": "ListView", - "localName": "Listenkomponente", - "info": "Führende Figur bei der Anzeige von Listen, die mehrere Unterkomponenten aufnehmen kann und über Builder, Separated, Custom usw. konstruiert werden kann. Verfügt über Eigenschaften wie Innenabstand, Umkehrung, Scroll-Controller usw.", - "lever": 5, - "family": 0, - "linkIds": [ - 16, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von ListView", - "desc": [ - "【children】 : Liste der Unterkomponenten 【List】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Horizontales Scrollen mit ListView", - "desc": [ - "【scrollDirection】 : Scrollrichtung 【Axis】", - "【reverse】 : Umgekehrtes Scrollen 【bool】", - "【shrinkWrap】 : Bei fehlenden Grenzen einwickeln 【bool】" - ] - }, - { - "file": "node3_builder.dart", - "name": "ListView.builder Konstruktion", - "desc": [ - "【itemCount】 : Anzahl der Elemente 【int】", - "【itemBuilder】 : Elementkonstruktor 【IndexedWidgetBuilder】" - ] - }, - { - "file": "node4_separated.dart", - "name": "ListView.separated Konstruktion", - "desc": [ - "【separatorBuilder】 : Elementkonstruktor 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_en_US.json deleted file mode 100644 index df175a347..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_en_US.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 162, - "name": "ListView", - "localName": "List Component", - "info": "The leader in list display, accommodating multiple sub-components, can be constructed through builder, separated, custom, etc. It has properties such as padding, whether to reverse, scroll controller, etc.", - "lever": 5, - "family": 0, - "linkIds": [ - 16, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of ListView", - "desc": [ - "【children】 : List of child components 【List】", - "【padding】 : Padding 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Horizontal Scrolling of ListView", - "desc": [ - "【scrollDirection】 : Scroll direction 【Axis】", - "【reverse】 : Whether to scroll in reverse 【bool】", - "【shrinkWrap】 : Whether to wrap when unbounded 【bool】" - ] - }, - { - "file": "node3_builder.dart", - "name": "ListView.builder Construction", - "desc": [ - "【itemCount】 : Number of items 【int】", - "【itemBuilder】 : Item builder 【IndexedWidgetBuilder】" - ] - }, - { - "file": "node4_separated.dart", - "name": "ListView.separated Construction", - "desc": [ - "【separatorBuilder】 : Item builder 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_es_ES.json deleted file mode 100644 index 77fe43fed..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_es_ES.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 162, - "name": "ListView", - "localName": "Componente de lista", - "info": "El líder en la visualización de listas, capaz de contener múltiples componentes hijos, puede construirse mediante builder, separated, custom, etc. Tiene propiedades como el relleno interno, si es inverso, el controlador de desplazamiento, etc.", - "lever": 5, - "family": 0, - "linkIds": [ - 16, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de ListView", - "desc": [ - "【children】 : Lista de componentes hijos 【List】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Desplazamiento horizontal de ListView", - "desc": [ - "【scrollDirection】 : Dirección de desplazamiento 【Axis】", - "【reverse】 : Si el desplazamiento es inverso 【bool】", - "【shrinkWrap】 : Si se envuelve cuando no hay límites 【bool】" - ] - }, - { - "file": "node3_builder.dart", - "name": "Construcción de ListView.builder", - "desc": [ - "【itemCount】 : Número de elementos 【int】", - "【itemBuilder】 : Constructor de elementos 【IndexedWidgetBuilder】" - ] - }, - { - "file": "node4_separated.dart", - "name": "Construcción de ListView.separated", - "desc": [ - "【separatorBuilder】 : Constructor de elementos 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_fr_FR.json deleted file mode 100644 index c376522b0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_fr_FR.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 162, - "name": "ListView", - "localName": "Composant de liste", - "info": "Le leader de l'affichage de listes, contenant plusieurs sous-composants, peut être construit via builder, separated, custom, etc. Possède des attributs tels que le padding, la direction inverse, le contrôleur de défilement, etc.", - "lever": 5, - "family": 0, - "linkIds": [ - 16, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de ListView", - "desc": [ - "【children】 : Liste des sous-composants 【List】", - "【padding】 : Padding 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Défilement horizontal de ListView", - "desc": [ - "【scrollDirection】 : Direction de défilement 【Axis】", - "【reverse】 : Défilement inverse 【bool】", - "【shrinkWrap】 : Enveloppe sans limite 【bool】" - ] - }, - { - "file": "node3_builder.dart", - "name": "Construction de ListView.builder", - "desc": [ - "【itemCount】 : Nombre d'éléments 【int】", - "【itemBuilder】 : Constructeur d'éléments 【IndexedWidgetBuilder】" - ] - }, - { - "file": "node4_separated.dart", - "name": "Construction de ListView.separated", - "desc": [ - "【separatorBuilder】 : Constructeur d'éléments 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_it_IT.json deleted file mode 100644 index 2e4d601aa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_it_IT.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 162, - "name": "ListView", - "localName": "Componente Lista", - "info": "Leader nella visualizzazione delle liste, contiene più componenti figli, può essere costruito con builder, separated, custom, ecc. Ha proprietà come padding, reverse, controller di scorrimento, ecc.", - "lever": 5, - "family": 0, - "linkIds": [ - 16, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di ListView", - "desc": [ - "【children】 : Lista dei componenti figli 【List】", - "【padding】 : Padding interno 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Scorrimento orizzontale di ListView", - "desc": [ - "【scrollDirection】 : Direzione di scorrimento 【Axis】", - "【reverse】 : Scorrimento inverso 【bool】", - "【shrinkWrap】 : Avvolgere quando non ci sono confini 【bool】" - ] - }, - { - "file": "node3_builder.dart", - "name": "Costruzione di ListView.builder", - "desc": [ - "【itemCount】 : Numero di elementi 【int】", - "【itemBuilder】 : Costruttore di elementi 【IndexedWidgetBuilder】" - ] - }, - { - "file": "node4_separated.dart", - "name": "Costruzione di ListView.separated", - "desc": [ - "【separatorBuilder】 : Costruttore di elementi 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_ja_JP.json deleted file mode 100644 index 6b1e00e9b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_ja_JP.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 162, - "name": "ListView", - "localName": "リストコンポーネント", - "info": "リスト表示のリーダーであり、複数の子コンポーネントを収容し、builder、separated、customなどを介して構築できます。内側の余白、反転の有無、スクロールコントローラーなどの属性があります。", - "lever": 5, - "family": 0, - "linkIds": [ - 16, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListViewの基本使用", - "desc": [ - "【children】 : 子コンポーネントリスト 【List】", - "【padding】 : 内側の余白 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "ListViewの横方向スクロール", - "desc": [ - "【scrollDirection】 : スクロール方向 【Axis】", - "【reverse】 : 反転スクロールの有無 【bool】", - "【shrinkWrap】 : 境界がない場合にラップするかどうか 【bool】" - ] - }, - { - "file": "node3_builder.dart", - "name": "ListView.builderの構築", - "desc": [ - "【itemCount】 : アイテムの数 【int】", - "【itemBuilder】 : アイテムビルダー 【IndexedWidgetBuilder】" - ] - }, - { - "file": "node4_separated.dart", - "name": "ListView.separatedの構築", - "desc": [ - "【separatorBuilder】 : アイテムビルダー 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_ko_KR.json deleted file mode 100644 index 3eea3377d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_ko_KR.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 162, - "name": "ListView", - "localName": "리스트 컴포넌트", - "info": "리스트 표시의 선두주자로, 여러 하위 컴포넌트를 수용할 수 있으며 builder, separated, custom 등을 통해 구성할 수 있습니다. 내부 여백, 반대 방향 여부, 스크롤 컨트롤러 등의 속성이 있습니다.", - "lever": 5, - "family": 0, - "linkIds": [ - 16, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListView 기본 사용", - "desc": [ - "【children】 : 하위 컴포넌트 리스트 【List】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "ListView 가로 스크롤", - "desc": [ - "【scrollDirection】 : 스크롤 방향 【Axis】", - "【reverse】 : 반대 방향 스크롤 여부 【bool】", - "【shrinkWrap】 : 경계가 없을 때 감싸기 여부 【bool】" - ] - }, - { - "file": "node3_builder.dart", - "name": "ListView.builder 구성", - "desc": [ - "【itemCount】 : 항목 개수 【int】", - "【itemBuilder】 : 항목 빌더 【IndexedWidgetBuilder】" - ] - }, - { - "file": "node4_separated.dart", - "name": "ListView.separated 구성", - "desc": [ - "【separatorBuilder】 : 항목 빌더 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_pt_PT.json deleted file mode 100644 index 695d74854..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_pt_PT.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 162, - "name": "ListView", - "localName": "Componente de Lista", - "info": "O líder na exibição de listas, acomoda vários subcomponentes, pode ser construído através de builder, separated, custom, etc. Possui atributos como padding, reversão, controlador de deslizamento, etc.", - "lever": 5, - "family": 0, - "linkIds": [ - 16, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do ListView", - "desc": [ - "【children】 : Lista de subcomponentes 【List】", - "【padding】 : Padding 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Deslizamento horizontal do ListView", - "desc": [ - "【scrollDirection】 : Direção de deslizamento 【Axis】", - "【reverse】 : Deslizamento reverso 【bool】", - "【shrinkWrap】 : Envolver quando sem limites 【bool】" - ] - }, - { - "file": "node3_builder.dart", - "name": "Construção do ListView.builder", - "desc": [ - "【itemCount】 : Número de itens 【int】", - "【itemBuilder】 : Construtor de itens 【IndexedWidgetBuilder】" - ] - }, - { - "file": "node4_separated.dart", - "name": "Construção do ListView.separated", - "desc": [ - "【separatorBuilder】 : Construtor de itens 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_ru_RU.json deleted file mode 100644 index 5999aa8ef..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_ru_RU.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 162, - "name": "ListView", - "localName": "Компонент списка", - "info": "Лидер в отображении списков, вмещает несколько дочерних компонентов, может быть построен с помощью builder, separated, custom и других. Имеет такие свойства, как внутренние отступы, обратное направление, контроллер прокрутки и другие.", - "lever": 5, - "family": 0, - "linkIds": [ - 16, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование ListView", - "desc": [ - "【children】 : Список дочерних компонентов 【List】", - "【padding】 : Внутренние отступы 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Горизонтальная прокрутка ListView", - "desc": [ - "【scrollDirection】 : Направление прокрутки 【Axis】", - "【reverse】 : Обратное направление прокрутки 【bool】", - "【shrinkWrap】 : Обернуть ли при отсутствии границ 【bool】" - ] - }, - { - "file": "node3_builder.dart", - "name": "Конструкция ListView.builder", - "desc": [ - "【itemCount】 : Количество элементов 【int】", - "【itemBuilder】 : Конструктор элементов 【IndexedWidgetBuilder】" - ] - }, - { - "file": "node4_separated.dart", - "name": "Конструкция ListView.separated", - "desc": [ - "【separatorBuilder】 : Конструктор элементов 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_zh-CN.json deleted file mode 100644 index c3e9400b1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/desc_zh-CN.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id": 162, - "name": "ListView", - "localName": "列表组件", - "info": "列表显示的领军人物,容纳多个子组件,可以通过builder、separated、custom等构造。有内边距、是否反向、滑动控制器等属性。", - "lever": 5, - "family": 0, - "linkIds": [ - 16, - 163 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ListView基本使用", - "desc": [ - "【children】 : 子组件列表 【List】", - "【padding】 : 内边距 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "ListView横向滑动", - "desc": [ - "【scrollDirection】 : 滑动方向 【Axis】", - "【reverse】 : 是否反向滑动 【bool】", - "【shrinkWrap】 : 无边界时是否包裹 【bool】" - ] - }, - { - "file": "node3_builder.dart", - "name": "ListView.builder构造", - "desc": [ - "【itemCount】 : 条目个数 【int】", - "【itemBuilder】 : 条目构造器 【IndexedWidgetBuilder】" - ] - }, - { - "file": "node4_separated.dart", - "name": "ListView.separated构造", - "desc": [ - "【separatorBuilder】 : 条目构造器 【IndexedWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/ListView/node1_base.dart deleted file mode 100644 index a6c2a115c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/node1_base.dart +++ /dev/null @@ -1,53 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-27 -/// contact me by email 1981462002@qq.com - -class CustomListView extends StatelessWidget { - const CustomListView({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - TextStyle get textStyle => const TextStyle( - color: Colors.white, - shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ], - ); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: ListView( - padding: const EdgeInsets.symmetric(horizontal: 5), - children: data - .map((color) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: color, - child: Text( - colorString(color), - style: textStyle, - ), - )) - .toList(), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/node2_direction.dart b/modules/widget_system/widgets/lib/StatelessWidget/ListView/node2_direction.dart deleted file mode 100644 index ff9458e07..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/node2_direction.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class HorizontalListView extends StatelessWidget { - const HorizontalListView({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - TextStyle get textStyle => const TextStyle( - color: Colors.white, - shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ], - ); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: ListView( - reverse: true, - shrinkWrap: true, - scrollDirection: Axis.horizontal, - children: data - .map((color) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: color, - child: Text( - colorString(color), - style: textStyle, - ), - )) - .toList(), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/node3_builder.dart b/modules/widget_system/widgets/lib/StatelessWidget/ListView/node3_builder.dart deleted file mode 100644 index b479f73fc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/node3_builder.dart +++ /dev/null @@ -1,53 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class BuilderListView extends StatelessWidget { - const BuilderListView({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: ListView.builder( - itemCount: data.length, - itemBuilder: (context, index) => _buildItem(data[index]), - ), - ); - } - - TextStyle get textStyle => const TextStyle( - color: Colors.white, - shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ], - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - - Widget _buildItem(Color color) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: color, - child: Text( - colorString(color), - style: textStyle, - ), - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ListView/node4_separated.dart b/modules/widget_system/widgets/lib/StatelessWidget/ListView/node4_separated.dart deleted file mode 100644 index 8ccca75a9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ListView/node4_separated.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class SeparatedListView extends StatelessWidget { - const SeparatedListView({super.key}); - - List get data => [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: ListView.separated( - separatorBuilder: (context, index) => const Divider( - thickness: 1, - height: 1, - color: Colors.orange, - ), - itemCount: data.length, - itemBuilder: (context, index) => _buildItem(data[index]), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; - - TextStyle get textStyle => const TextStyle( - color: Colors.white, - shadows: [ - Shadow(color: Colors.black, offset: Offset(.5, .5), blurRadius: 2) - ], - ); - - Widget _buildItem(Color color) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: color, - child: Text( - colorString(color), - style: textStyle, - ), - ); -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_de_DE.json deleted file mode 100644 index 2ade155c9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 147, - "name": "Listener", - "localName": "Ereignis-Listener", - "info": "Der Listener für Komponentenereignisse kann Ereignisse wie Drücken, Loslassen, Bewegen, Abbrechen usw. akzeptieren. Im Vergleich zu GestureDetector ist es primitiver und kann mehr Informationen liefern.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Listener-Ereignisse", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【onPointerDown】 : Drücken-Ereignis 【Function(PointerDownEvent)】", - "【onPointerMove】 : Bewegen-Ereignis 【Function(PointerMoveEvent)】", - "【onPointerMove】 : Loslassen-Ereignis 【Function(PointerUpEvent)】", - "【onPointerCancel】 : Abbrechen-Ereignis 【Function(PointerUpEvent)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_en_US.json deleted file mode 100644 index 143fa9e1a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 147, - "name": "Listener", - "localName": "Event Listener", - "info": "A listener for component events, which can accept events such as press, release, move, cancel, etc. It is more primitive compared to GestureDetector and can obtain more information.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Events of Listener", - "desc": [ - "【child】 : Child component 【Widget】", - "【onPointerDown】 : Press event 【Function(PointerDownEvent)】", - "【onPointerMove】 : Move event 【Function(PointerMoveEvent)】", - "【onPointerMove】 : Release event 【Function(PointerUpEvent)】", - "【onPointerCancel】 : Cancel event 【Function(PointerUpEvent)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_es_ES.json deleted file mode 100644 index a601b4c23..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 147, - "name": "Listener", - "localName": "Escuchador de eventos", - "info": "Escuchador de eventos de componentes, puede aceptar eventos como presionar, soltar, mover, cancelar, etc. Es más primitivo en comparación con GestureDetector y puede obtener más información.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventos básicos de Listener", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【onPointerDown】 : Evento de presionar 【Function(PointerDownEvent)】", - "【onPointerMove】 : Evento de mover 【Function(PointerMoveEvent)】", - "【onPointerMove】 : Evento de soltar 【Function(PointerUpEvent)】", - "【onPointerCancel】 : Evento de cancelar 【Function(PointerUpEvent)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_fr_FR.json deleted file mode 100644 index 9fc559376..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 147, - "name": "Listener", - "localName": "Écouteur d'événements", - "info": "Un écouteur d'événements pour les composants, capable de recevoir des événements tels que l'appui, le relâchement, le déplacement et l'annulation. Plus primitif que GestureDetector, il permet d'obtenir plus d'informations.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événements de base de Listener", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【onPointerDown】 : Événement d'appui 【Function(PointerDownEvent)】", - "【onPointerMove】 : Événement de déplacement 【Function(PointerMoveEvent)】", - "【onPointerMove】 : Événement de relâchement 【Function(PointerUpEvent)】", - "【onPointerCancel】 : Événement d'annulation 【Function(PointerUpEvent)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_it_IT.json deleted file mode 100644 index 727234e7e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 147, - "name": "Listener", - "localName": "Ascoltatore di eventi", - "info": "Un ascoltatore di eventi del componente, può accettare eventi come premere, rilasciare, muovere, annullare, ecc. Rispetto a GestureDetector è più primitivo e può ottenere più informazioni.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventi di base di Listener", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【onPointerDown】 : Evento di pressione 【Function(PointerDownEvent)】", - "【onPointerMove】 : Evento di movimento 【Function(PointerMoveEvent)】", - "【onPointerMove】 : Evento di rilascio 【Function(PointerUpEvent)】", - "【onPointerCancel】 : Evento di annullamento 【Function(PointerUpEvent)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_ja_JP.json deleted file mode 100644 index bed58802a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 147, - "name": "Listener", - "localName": "イベントリスナー", - "info": "コンポーネントイベントのリスナーで、押下、離す、移動、キャンセルなどのイベントを受け取ることができます。GestureDetectorと比較して原始的で、より多くの情報を取得できます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Listener基本イベント", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【onPointerDown】 : 押下イベント 【Function(PointerDownEvent)】", - "【onPointerMove】 : 移動イベント 【Function(PointerMoveEvent)】", - "【onPointerMove】 : 離すイベント 【Function(PointerUpEvent)】", - "【onPointerCancel】 : キャンセルイベント 【Function(PointerUpEvent)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_ko_KR.json deleted file mode 100644 index 51d4280fa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 147, - "name": "Listener", - "localName": "이벤트 리스너", - "info": "컴포넌트 이벤트의 리스너로, 누름, 놓음, 이동, 취소 등의 이벤트를 수신할 수 있습니다. GestureDetector보다 원시적이며, 더 많은 정보를 얻을 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Listener 기본 이벤트", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【onPointerDown】 : 누름 이벤트 【Function(PointerDownEvent)】", - "【onPointerMove】 : 이동 이벤트 【Function(PointerMoveEvent)】", - "【onPointerMove】 : 놓음 이벤트 【Function(PointerUpEvent)】", - "【onPointerCancel】 : 취소 이벤트 【Function(PointerUpEvent)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_pt_PT.json deleted file mode 100644 index 9902d2163..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 147, - "name": "Listener", - "localName": "Ouvinte de Eventos", - "info": "Ouvinte de eventos do componente, pode aceitar eventos como pressionar, soltar, mover, cancelar, etc. Comparado ao GestureDetector, é mais primitivo e pode obter mais informações.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Eventos Básicos do Listener", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【onPointerDown】 : Evento de pressionar 【Function(PointerDownEvent)】", - "【onPointerMove】 : Evento de mover 【Function(PointerMoveEvent)】", - "【onPointerMove】 : Evento de soltar 【Function(PointerUpEvent)】", - "【onPointerCancel】 : Evento de cancelar 【Function(PointerUpEvent)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_ru_RU.json deleted file mode 100644 index 2a43cf615..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 147, - "name": "Listener", - "localName": "Слушатель событий", - "info": "Слушатель событий компонента, который может принимать события нажатия, отпускания, перемещения, отмены и т.д. Более примитивен, чем GestureDetector, но предоставляет больше информации.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основные события Listener", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【onPointerDown】 : Событие нажатия 【Function(PointerDownEvent)】", - "【onPointerMove】 : Событие перемещения 【Function(PointerMoveEvent)】", - "【onPointerMove】 : Событие отпускания 【Function(PointerUpEvent)】", - "【onPointerCancel】 : Событие отмены 【Function(PointerUpEvent)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_zh-CN.json deleted file mode 100644 index 8053c35af..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 147, - "name": "Listener", - "localName": "事件监听器", - "info": "组件事件的监听器,可接受按下、松开、移动、取消等事件。较GestureDetector比较原始,可获取的信息也更多。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Listener基本事件", - "desc": [ - "【child】 : 子组件 【Widget】", - "【onPointerDown】 : 按下事件 【Function(PointerDownEvent)】", - "【onPointerMove】 : 移动事件 【Function(PointerMoveEvent)】", - "【onPointerMove】 : 抬起事件 【Function(PointerUpEvent)】", - "【onPointerCancel】 : 取消事件 【Function(PointerUpEvent)】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Listener/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Listener/node1_base.dart deleted file mode 100644 index f302a3eb0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Listener/node1_base.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -class CustomListener extends StatefulWidget { - const CustomListener({Key? key}) : super(key: key); - - @override - _CustomListenerState createState() => _CustomListenerState(); -} - -class _CustomListenerState extends State { - String _info = ''; - - @override - Widget build(BuildContext context) { - return Listener( - onPointerDown: (detail) => setState(() => _info = detail.toString()), - onPointerMove: (detail) => setState(() => _info = detail.toString()), - onPointerUp: (detail) => setState(() => _info = detail.toString()), - onPointerCancel: (detail) => setState(() => _info = detail.toString()), - - child: Container( - alignment: Alignment.center, - width: 300, - height: 300 * 0.618, - color: Colors.grey.withAlpha(33), - child: Text( - _info, - style: const TextStyle(fontSize: 16, color: Colors.blue), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_de_DE.json deleted file mode 100644 index 30fb3fcb7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_de_DE.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 211, - "name": "MaterialBanner", - "localName": "Banner-Komponente", - "info": "Materialstil Banner-Komponente, unterstützt links-mitte-rechts oder links-mitte-unten Struktur, kann Ränder, Hintergrundfarbe usw. angeben", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_one_btn.dart", - "name": "Verwendung von MaterialBanner in einer Zeile", - "desc": [ - "【content】 : Mittlere Komponente 【Widget】", - "【leading】: Linke Komponente 【Widget】", - "【actions】: Liste der rechten Komponenten 【List】", - "【padding】: Innenabstand 【EdgeInsetsGeometry】", - "【forceActionsBelow】: Ob die Schaltflächen unten sind 【bool】", - "【backgroundColor】: Hintergrundfarbe 【Color】" - ] - }, - { - "file": "node2_two_btn.dart", - "name": "Verwendung von MaterialBanner in zwei Zeilen", - "desc": [ - "【contentTextStyle】: Stil der mittleren Position 【TextStyle】", - "【leadingPadding】: Rand der linken Komponente 【EdgeInsetsGeometry】", - "Wenn die Anzahl der Endkomponenten größer als 1 ist, ist die Struktur der Komponente links-mitte-unten." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_en_US.json deleted file mode 100644 index ceb877a36..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_en_US.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 211, - "name": "MaterialBanner", - "localName": "Banner Component", - "info": "A Material-style banner component that supports left-center-right or left-center-bottom structures, and allows specifying margins, background colors, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_one_btn.dart", - "name": "Usage of MaterialBanner in a Single Line", - "desc": [ - "【content】: Middle component 【Widget】", - "【leading】: Left component 【Widget】", - "【actions】: List of right components 【List】", - "【padding】: Padding 【EdgeInsetsGeometry】", - "【forceActionsBelow】: Whether buttons are below 【bool】", - "【backgroundColor】: Background color 【Color】" - ] - }, - { - "file": "node2_two_btn.dart", - "name": "Usage of MaterialBanner in Two Lines", - "desc": [ - "【contentTextStyle】: Style for the middle position 【TextStyle】", - "【leadingPadding】: Padding for the left component 【EdgeInsetsGeometry】", - "When the number of trailing components is greater than 1, the component structure is left-center-bottom." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_es_ES.json deleted file mode 100644 index e17431713..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_es_ES.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 211, - "name": "MaterialBanner", - "localName": "Componente de banner", - "info": "Componente de banner de estilo Material, compatible con estructuras de izquierda, centro, derecha o izquierda, centro, abajo, y permite especificar márgenes, colores de fondo, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_one_btn.dart", - "name": "Uso de MaterialBanner en una fila", - "desc": [ - "【content】 : Componente central 【Widget】", - "【leading】: Componente izquierdo 【Widget】", - "【actions】: Lista de componentes derechos 【List】", - "【padding】: Relleno interno 【EdgeInsetsGeometry】", - "【forceActionsBelow】: Si los botones están abajo 【bool】", - "【backgroundColor】: Color de fondo 【Color】" - ] - }, - { - "file": "node2_two_btn.dart", - "name": "Uso de MaterialBanner en dos filas", - "desc": [ - "【contentTextStyle】: Estilo de la posición central 【TextStyle】", - "【leadingPadding】: Márgenes del componente izquierdo 【EdgeInsetsGeometry】", - "Cuando el número de componentes en la cola es mayor que 1, la estructura del componente es izquierda, centro, abajo." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_fr_FR.json deleted file mode 100644 index 5a3856d3e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_fr_FR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 211, - "name": "MaterialBanner", - "localName": "Composant de bannière", - "info": "Composant de bannière de style Material, prenant en charge les structures gauche-centre-droite ou gauche-centre-bas, peut spécifier les marges, la couleur de fond, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_one_btn.dart", - "name": "Utilisation d'une ligne de MaterialBanner", - "desc": [ - "【content】 : Composant central 【Widget】", - "【leading】: Composant gauche 【Widget】", - "【actions】: Liste des composants droits 【List】", - "【padding】: Marge intérieure 【EdgeInsetsGeometry】", - "【forceActionsBelow】: Si les boutons sont en bas 【bool】", - "【backgroundColor】: Couleur de fond 【Color】" - ] - }, - { - "file": "node2_two_btn.dart", - "name": "Utilisation de deux lignes de MaterialBanner", - "desc": [ - "【contentTextStyle】: Style de la position centrale 【TextStyle】", - "【leadingPadding】: Marge du composant gauche 【EdgeInsetsGeometry】", - "Lorsque le nombre de composants de fin est supérieur à 1, la structure du composant est gauche-centre-bas." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_it_IT.json deleted file mode 100644 index 905bb35a1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_it_IT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 211, - "name": "MaterialBanner", - "localName": "Componente Banner", - "info": "Componente banner in stile Material, supporta strutture sinistra-centro-destra o sinistra-centro-basso, può specificare margini, colore di sfondo, ecc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_one_btn.dart", - "name": "Uso di MaterialBanner su una riga", - "desc": [ - "【content】 : Componente centrale 【Widget】", - "【leading】: Componente sinistro 【Widget】", - "【actions】: Lista dei componenti destri 【List】", - "【padding】: Spaziatura interna 【EdgeInsetsGeometry】", - "【forceActionsBelow】: Se i pulsanti sono in basso 【bool】", - "【backgroundColor】: Colore di sfondo 【Color】" - ] - }, - { - "file": "node2_two_btn.dart", - "name": "Uso di MaterialBanner su due righe", - "desc": [ - "【contentTextStyle】: Stile della posizione centrale 【TextStyle】", - "【leadingPadding】: Margine del componente sinistro 【EdgeInsetsGeometry】", - "Quando il numero di componenti di coda è maggiore di 1, la struttura del componente è sinistra-centro-basso." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_ja_JP.json deleted file mode 100644 index 6757a59d4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_ja_JP.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 211, - "name": "MaterialBanner", - "localName": "バナーコンポーネント", - "info": "Materialスタイルのバナーコンポーネントで、左中右または左中下の構造をサポートし、余白や背景色などを指定できます", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_one_btn.dart", - "name": "MaterialBanner一行の使用", - "desc": [ - "【content】 : 中間コンポーネント 【Widget】", - "【leading】: 左側コンポーネント 【Widget】", - "【actions】: 右側コンポーネントリスト 【List】", - "【padding】: 内側の余白 【EdgeInsetsGeometry】", - "【forceActionsBelow】: ボタンを下に配置するかどうか 【bool】", - "【backgroundColor】: 背景色 【Color】" - ] - }, - { - "file": "node2_two_btn.dart", - "name": "MaterialBanner二行の使用", - "desc": [ - "【contentTextStyle】: 中間位置のスタイル 【TextStyle】", - "【leadingPadding】: 左側コンポーネントの余白 【EdgeInsetsGeometry】", - "末尾のコンポーネント数が1より多い場合、このコンポーネントの構造は左中下になります。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_ko_KR.json deleted file mode 100644 index 8451bdd41..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_ko_KR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 211, - "name": "MaterialBanner", - "localName": "배너 컴포넌트", - "info": "Material 스타일의 배너 컴포넌트, 좌중우 또는 좌중하 구조를 지원하며, 여백 및 배경색 등을 지정할 수 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_one_btn.dart", - "name": "MaterialBanner 한 줄 사용", - "desc": [ - "【content】 : 중간 컴포넌트 【Widget】", - "【leading】: 왼쪽 컴포넌트 【Widget】", - "【actions】: 오른쪽 컴포넌트 리스트 【List】", - "【padding】: 안쪽 여백 【EdgeInsetsGeometry】", - "【forceActionsBelow】: 버튼이 아래에 있는지 여부 【bool】", - "【backgroundColor】: 배경색 【Color】" - ] - }, - { - "file": "node2_two_btn.dart", - "name": "MaterialBanner 두 줄 사용", - "desc": [ - "【contentTextStyle】: 중간 위치 스타일 【TextStyle】", - "【leadingPadding】: 왼쪽 컴포넌트 여백 【EdgeInsetsGeometry】", - "꼬리 컴포넌트 수가 1보다 크면, 이 컴포넌트 구조는 좌중하입니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_pt_PT.json deleted file mode 100644 index 6875665c1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_pt_PT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 211, - "name": "MaterialBanner", - "localName": "Componente de Banner", - "info": "Componente de banner no estilo Material, suporta estruturas esquerda-centro-direita ou esquerda-centro-abaixo, pode especificar margens, cor de fundo, etc.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_one_btn.dart", - "name": "Uso de uma linha do MaterialBanner", - "desc": [ - "【content】: Componente do meio 【Widget】", - "【leading】: Componente esquerdo 【Widget】", - "【actions】: Lista de componentes direitos 【List】", - "【padding】: Margem interna 【EdgeInsetsGeometry】", - "【forceActionsBelow】: Se os botões estão abaixo 【bool】", - "【backgroundColor】: Cor de fundo 【Color】" - ] - }, - { - "file": "node2_two_btn.dart", - "name": "Uso de duas linhas do MaterialBanner", - "desc": [ - "【contentTextStyle】: Estilo da posição central 【TextStyle】", - "【leadingPadding】: Margem do componente esquerdo 【EdgeInsetsGeometry】", - "Quando o número de componentes finais é maior que 1, a estrutura do componente é esquerda-centro-abaixo." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_ru_RU.json deleted file mode 100644 index 9c6300b4e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_ru_RU.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 211, - "name": "MaterialBanner", - "localName": "Компонент баннера", - "info": "Компонент баннера в стиле Material, поддерживает структуру слева-в центре-справа или слева-в центре-снизу, можно указать отступы, цвет фона и т.д.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_one_btn.dart", - "name": "Использование MaterialBanner в одну строку", - "desc": [ - "【content】 : Центральный компонент 【Widget】", - "【leading】: Левый компонент 【Widget】", - "【actions】: Список правых компонентов 【List】", - "【padding】: Внутренние отступы 【EdgeInsetsGeometry】", - "【forceActionsBelow】: Кнопки внизу 【bool】", - "【backgroundColor】: Цвет фона 【Color】" - ] - }, - { - "file": "node2_two_btn.dart", - "name": "Использование MaterialBanner в две строки", - "desc": [ - "【contentTextStyle】: Стиль центральной позиции 【TextStyle】", - "【leadingPadding】: Отступ левого компонента 【EdgeInsetsGeometry】", - "Когда количество конечных компонентов больше 1, структура компонента становится слева-в центре-снизу." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_zh-CN.json deleted file mode 100644 index d4af77e03..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/desc_zh-CN.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 211, - "name": "MaterialBanner", - "localName": "横幅组件", - "info": "Material风格的横幅组件,支持左中右或左中下结构,可指定边距背景色等", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_one_btn.dart", - "name": "MaterialBanner一行的使用", - "desc": [ - "【content】 : 中间组件 【Widget】", - "【leading】: 左侧组件 【Widget】", - "【actions】: 右侧组件列表 【List】", - "【padding】: 内边距 【EdgeInsetsGeometry】", - "【forceActionsBelow】: 是否按钮在下方 【bool】", - "【backgroundColor】: 背景色 【Color】" - ] - }, - { - "file": "node2_two_btn.dart", - "name": "MaterialBanner两行的使用", - "desc": [ - "【contentTextStyle】: 中间位置样式 【TextStyle】", - "【leadingPadding】: 左侧组件边距 【EdgeInsetsGeometry】", - "当尾部组件数量大于1,该组件结构为左中下。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/node1_one_btn.dart b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/node1_one_btn.dart deleted file mode 100644 index 9d1223666..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/node1_one_btn.dart +++ /dev/null @@ -1,38 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/21 -/// contact me by email 1981462002@qq.com - -class MaterialBannerDemo extends StatelessWidget { - const MaterialBannerDemo({Key? key}) : super(key: key); - - final String info = 'Welcome to Flutter Unit!'; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - MaterialBanner( - content: Text( - info, - style: const TextStyle(color: Colors.white), - ), - backgroundColor: Colors.purple, - leading: const Icon(Icons.info, color: Colors.lightBlueAccent), - padding: const EdgeInsetsDirectional.only(start: 16.0, top: 2.0), - forceActionsBelow: false, - // 默认false - actions: const [ - Text( - 'I KNOW', - style: TextStyle( - color: Colors.orange, - fontWeight: FontWeight.bold, - fontSize: 14), - ) - ], - )], - ); - } - -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/node2_two_btn.dart b/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/node2_two_btn.dart deleted file mode 100644 index d2fe347e5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialBanner/node2_two_btn.dart +++ /dev/null @@ -1,59 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/21 -/// contact me by email 1981462002@qq.com - -class MaterialBannerDemoTwo extends StatelessWidget { - const MaterialBannerDemoTwo({Key? key}) : super(key: key); - - final String info = - 'A banner displays an important, succinct message, and provides actions for users to address. ' - 'A user action is required for itto be dismissed.'; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - MaterialBanner( - content: Text( - info, - style: const TextStyle(color: Colors.white), - ), - backgroundColor: Colors.purple, - leading: const Icon(Icons.warning, color: Colors.yellow), - padding: - const EdgeInsetsDirectional.only(start: 16.0, top: 2.0, end: 2), - leadingPadding: const EdgeInsetsDirectional.only(end: 16.0), - actions: [ - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.white, - ), - onPressed: () {}, - child: const Text( - 'I KNOW', - style: TextStyle( - color: Colors.purple, - fontWeight: FontWeight.bold, - fontSize: 14), - ), - ), - ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.white, - ), - onPressed: () {}, - child: const Text( - 'I IGNORE', - style: TextStyle( - color: Colors.purple, - fontWeight: FontWeight.bold, - fontSize: 14), - ), - ), - ], - )], - ); - } - -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_de_DE.json deleted file mode 100644 index 01da8b87c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_de_DE.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id": 23, - "name": "MaterialButton", - "localName": "Material-Schaltfläche", - "info": "Eine allgemeine Material-Schaltfläche, die auf RawMaterialButton basiert. Kann ein Unterelement enthalten, kann Farbe, Form usw. definieren und kann Klick- und Long-Press-Ereignisse empfangen.", - "lever": 4, - "family": 0, - "linkIds": [ - 25, - 26, - 27, - 326, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialButton Klick-Ereignis", - "desc": [ - "【color】: Farbe 【Color】", - "【splashColor】: Wasserwellenfarbe 【Color】", - "【height】: Höhe 【double】", - "【elevation】: Schattentiefe 【double】", - "【child】: Unterelement 【Widget】", - "【textColor】: Textfarbe des Unterelements 【Color】", - "【highlightColor】: Hervorhebungsfarbe bei langem Drücken 【Color】", - "【padding】: Innenabstand 【EdgeInsetsGeometry】", - "【onPressed】: Klick-Ereignis 【Function】" - ] - }, - { - "file": "node2_onLongPress.dart", - "name": "MaterialButton Long-Press-Ereignis", - "desc": [ - "【highlightColor】: Hervorhebungsfarbe bei langem Drücken 【Color】", - "【onLongPress】: Long-Press-Ereignis 【Function】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Benutzerdefinierte Form der MaterialButton", - "desc": [ - "【shape】: Form 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_en_US.json deleted file mode 100644 index b9c3470ee..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_en_US.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id": 23, - "name": "MaterialButton", - "localName": "Material Button", - "info": "A general Material button implemented based on RawMaterialButton. It can contain a child component, define colors, shapes, etc., and can receive click and long press events.", - "lever": 4, - "family": 0, - "linkIds": [ - 25, - 26, - 27, - 326, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialButton Click Event", - "desc": [ - "【color】: Color 【Color】", - "【splashColor】: Ripple Color 【Color】", - "【height】: Height 【double】", - "【elevation】: Elevation 【double】", - "【child】: Child Component 【Widget】", - "【textColor】: Child Component Text Color 【Color】", - "【highlightColor】: Long Press Highlight Color 【Color】", - "【padding】: Padding 【EdgeInsetsGeometry】", - "【onPressed】: Click Event 【Function】" - ] - }, - { - "file": "node2_onLongPress.dart", - "name": "MaterialButton Long Press Event", - "desc": [ - "【highlightColor】: Long Press Highlight Color 【Color】", - "【onLongPress】: Long Press Event 【Function】" - ] - }, - { - "file": "node3_shape.dart", - "name": "MaterialButton Custom Shape", - "desc": [ - "【shape】: Shape 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_es_ES.json deleted file mode 100644 index afd5833aa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_es_ES.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id": 23, - "name": "MaterialButton", - "localName": "Botón de Material", - "info": "Botón de Material genérico implementado basado en RawMaterialButton. Puede contener un componente hijo, puede definir colores, formas, etc., y puede recibir eventos de clic y pulsación prolongada.", - "lever": 4, - "family": 0, - "linkIds": [ - 25, - 26, - 27, - 326, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de clic de MaterialButton", - "desc": [ - "【color】: Color 【Color】", - "【splashColor】: Color de efecto de ondas 【Color】", - "【height】: Altura 【double】", - "【elevation】: Profundidad de sombra 【double】", - "【child】: Componente hijo 【Widget】", - "【textColor】: Color del texto del componente hijo 【Color】", - "【highlightColor】: Color de resaltado al pulsar prolongadamente 【Color】", - "【padding】: Relleno interno 【EdgeInsetsGeometry】", - "【onPressed】: Evento de clic 【Function】" - ] - }, - { - "file": "node2_onLongPress.dart", - "name": "Evento de pulsación prolongada de MaterialButton", - "desc": [ - "【highlightColor】: Color de resaltado al pulsar prolongadamente 【Color】", - "【onLongPress】: Evento de pulsación prolongada 【Function】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Forma personalizada de MaterialButton", - "desc": [ - "【shape】: Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_fr_FR.json deleted file mode 100644 index 3f348033d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_fr_FR.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id": 23, - "name": "MaterialButton", - "localName": "Bouton Matériel", - "info": "Bouton Matériel générique basé sur RawMaterialButton. Peut contenir un composant enfant, peut définir des couleurs, des formes, etc., et peut recevoir des événements de clic et de pression longue.", - "lever": 4, - "family": 0, - "linkIds": [ - 25, - 26, - 27, - 326, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événement de clic de MaterialButton", - "desc": [ - "【color】: Couleur 【Color】", - "【splashColor】: Couleur de l'effet de vague 【Color】", - "【height】: Hauteur 【double】", - "【elevation】: Profondeur de l'ombre 【double】", - "【child】: Composant enfant 【Widget】", - "【textColor】: Couleur du texte du composant enfant 【Color】", - "【highlightColor】: Couleur de surbrillance lors d'une pression longue 【Color】", - "【padding】: Marge intérieure 【EdgeInsetsGeometry】", - "【onPressed】: Événement de clic 【Function】" - ] - }, - { - "file": "node2_onLongPress.dart", - "name": "Événement de pression longue de MaterialButton", - "desc": [ - "【highlightColor】: Couleur de surbrillance lors d'une pression longue 【Color】", - "【onLongPress】: Événement de pression longue 【Function】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Forme personnalisée de MaterialButton", - "desc": [ - "【shape】: Forme 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_it_IT.json deleted file mode 100644 index 598096884..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_it_IT.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id": 23, - "name": "MaterialButton", - "localName": "Pulsante Material", - "info": "Un pulsante Material generico implementato sulla base di RawMaterialButton. Può contenere un componente figlio, può definire colori, forme e altre rappresentazioni, e può ricevere eventi di clic e pressione prolungata.", - "lever": 4, - "family": 0, - "linkIds": [ - 25, - 26, - 27, - 326, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento di clic di MaterialButton", - "desc": [ - "【color】: Colore 【Color】", - "【splashColor】: Colore dell'effetto a increspatura 【Color】", - "【height】: Altezza 【double】", - "【elevation】: Profondità dell'ombra 【double】", - "【child】: Componente figlio 【Widget】", - "【textColor】: Colore del testo del componente figlio 【Color】", - "【highlightColor】: Colore di evidenziazione durante la pressione prolungata 【Color】", - "【padding】: Spaziatura interna 【EdgeInsetsGeometry】", - "【onPressed】: Evento di clic 【Function】" - ] - }, - { - "file": "node2_onLongPress.dart", - "name": "Evento di pressione prolungata di MaterialButton", - "desc": [ - "【highlightColor】: Colore di evidenziazione durante la pressione prolungata 【Color】", - "【onLongPress】: Evento di pressione prolungata 【Function】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Forma personalizzata di MaterialButton", - "desc": [ - "【shape】: Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_ja_JP.json deleted file mode 100644 index 2ced61863..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_ja_JP.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id": 23, - "name": "MaterialButton", - "localName": "マテリアルボタン", - "info": "RawMaterialButtonをベースにした汎用Materialボタンです。子コンポーネントを保持でき、色や形状などの表現を定義でき、クリックや長押しイベントを受け取ることができます。", - "lever": 4, - "family": 0, - "linkIds": [ - 25, - 26, - 27, - 326, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialButtonクリックイベント", - "desc": [ - "【color】: 色 【Color】", - "【splashColor】: 波紋色 【Color】", - "【height】: 高さ 【double】", - "【elevation】: 影の深さ 【double】", - "【child】: 子コンポーネント 【Widget】", - "【textColor】: 子コンポーネントのテキスト色 【Color】", - "【highlightColor】: 長押しハイライト色 【Color】", - "【padding】: パディング 【EdgeInsetsGeometry】", - "【onPressed】: クリックイベント 【Function】" - ] - }, - { - "file": "node2_onLongPress.dart", - "name": "MaterialButton長押しイベント", - "desc": [ - "【highlightColor】: 長押しハイライト色 【Color】", - "【onLongPress】: 長押しイベント 【Function】" - ] - }, - { - "file": "node3_shape.dart", - "name": "MaterialButtonのカスタム形状", - "desc": [ - "【shape】: 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_ko_KR.json deleted file mode 100644 index a2ea29180..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_ko_KR.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id": 23, - "name": "MaterialButton", - "localName": "재료 버튼", - "info": "RawMaterialButton를 기반으로 구현된 일반 Material 버튼입니다. 하나의 자식 위젯을 포함할 수 있으며, 색상, 모양 등을 정의할 수 있고, 클릭 및 길게 누르기 이벤트를 받을 수 있습니다.", - "lever": 4, - "family": 0, - "linkIds": [ - 25, - 26, - 27, - 326, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialButton 클릭 이벤트", - "desc": [ - "【color】: 색상 【Color】", - "【splashColor】: 물결 효과 색상 【Color】", - "【height】: 높이 【double】", - "【elevation】: 그림자 깊이 【double】", - "【child】: 자식 위젯 【Widget】", - "【textColor】: 자식 위젯 텍스트 색상 【Color】", - "【highlightColor】: 길게 누를 때 강조 색상 【Color】", - "【padding】: 안쪽 여백 【EdgeInsetsGeometry】", - "【onPressed】: 클릭 이벤트 【Function】" - ] - }, - { - "file": "node2_onLongPress.dart", - "name": "MaterialButton 길게 누르기 이벤트", - "desc": [ - "【highlightColor】: 길게 누를 때 강조 색상 【Color】", - "【onLongPress】: 길게 누르기 이벤트 【Function】" - ] - }, - { - "file": "node3_shape.dart", - "name": "MaterialButton의 사용자 정의 모양", - "desc": [ - "【shape】: 모양 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_pt_PT.json deleted file mode 100644 index b6784cc2f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_pt_PT.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id": 23, - "name": "MaterialButton", - "localName": "Botão de Material", - "info": "Botão Material genérico implementado com base no RawMaterialButton. Pode conter um componente filho, permite definir cor, forma e outras aparências, e pode receber eventos de clique e pressão longa.", - "lever": 4, - "family": 0, - "linkIds": [ - 25, - 26, - 27, - 326, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de clique do MaterialButton", - "desc": [ - "【color】: Cor 【Color】", - "【splashColor】: Cor do efeito de ondulação 【Color】", - "【height】: Altura 【double】", - "【elevation】: Profundidade da sombra 【double】", - "【child】: Componente filho 【Widget】", - "【textColor】: Cor do texto do componente filho 【Color】", - "【highlightColor】: Cor de destaque ao pressionar 【Color】", - "【padding】: Preenchimento interno 【EdgeInsetsGeometry】", - "【onPressed】: Evento de clique 【Function】" - ] - }, - { - "file": "node2_onLongPress.dart", - "name": "Evento de pressão longa do MaterialButton", - "desc": [ - "【highlightColor】: Cor de destaque ao pressionar 【Color】", - "【onLongPress】: Evento de pressão longa 【Function】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Forma personalizada do MaterialButton", - "desc": [ - "【shape】: Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_ru_RU.json deleted file mode 100644 index de0df3d5f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_ru_RU.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id": 23, - "name": "MaterialButton", - "localName": "Материальная кнопка", - "info": "Универсальная Material кнопка, реализованная на основе RawMaterialButton. Может содержать дочерний компонент, позволяет определять цвет, форму и другие характеристики, может принимать события нажатия и длительного нажатия.", - "lever": 4, - "family": 0, - "linkIds": [ - 25, - 26, - 27, - 326, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Событие нажатия MaterialButton", - "desc": [ - "【color】: Цвет 【Color】", - "【splashColor】: Цвет водяного эффекта 【Color】", - "【height】: Высота 【double】", - "【elevation】: Глубина тени 【double】", - "【child】: Дочерний компонент 【Widget】", - "【textColor】: Цвет текста дочернего компонента 【Color】", - "【highlightColor】: Цвет подсветки при длительном нажатии 【Color】", - "【padding】: Внутренний отступ 【EdgeInsetsGeometry】", - "【onPressed】: Событие нажатия 【Function】" - ] - }, - { - "file": "node2_onLongPress.dart", - "name": "Событие длительного нажатия MaterialButton", - "desc": [ - "【highlightColor】: Цвет подсветки при длительном нажатии 【Color】", - "【onLongPress】: Событие длительного нажатия 【Function】" - ] - }, - { - "file": "node3_shape.dart", - "name": "Пользовательская форма MaterialButton", - "desc": [ - "【shape】: Форма 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_zh-CN.json deleted file mode 100644 index 649b27fec..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/desc_zh-CN.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id": 23, - "name": "MaterialButton", - "localName": "材料按钮", - "info": "基于RawMaterialButton实现的通用Material按钮。可盛放一个子组件,能定义颜色、形状等表现,可接收点击和长按事件。", - "lever": 4, - "family": 0, - "linkIds": [ - 25, - 26, - 27, - 326, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "MaterialButton点击事件", - "desc": [ - "【color】: 颜色 【Color】", - "【splashColor】: 水波纹颜色 【Color】", - "【height】: 高 【double】", - "【elevation】: 影深 【double】", - "【child】: 子组件 【Widget】", - "【textColor】: 子组件文字颜色 【Color】", - "【highlightColor】: 长按高亮色 【Color】", - "【padding】: 内边距 【EdgeInsetsGeometry】", - "【onPressed】: 点击事件 【Function】" - ] - }, - { - "file": "node2_onLongPress.dart", - "name": "MaterialButton长按事件", - "desc": [ - "【highlightColor】: 长按高亮色 【Color】", - "【onLongPress】: 长按事件 【Function】" - ] - }, - { - "file": "node3_shape.dart", - "name": "MaterialButton的自定义形状", - "desc": [ - "【shape】: 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/node1_base.dart deleted file mode 100644 index 40b063c6b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/node1_base.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -class CustomMaterialButton extends StatelessWidget { - const CustomMaterialButton({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return MaterialButton( - height: 40, - elevation: 5, - color: Colors.blue, - textColor: Colors.white, - splashColor: Colors.orangeAccent, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(6)), - child: const Text("MaterialButton"), - onPressed: () { - - // Navigator.of(context).pushNamed('AboutMePage'); - }); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/node2_onLongPress.dart b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/node2_onLongPress.dart deleted file mode 100644 index a0d3c2ca4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/node2_onLongPress.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -class LongPressMaterialButton extends StatelessWidget { - const LongPressMaterialButton({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return MaterialButton( - height: 40, - elevation: 5, - color: Colors.blue, - highlightColor: Colors.green, - textColor: Colors.white, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(6)), - child: const Text("MaterialButton"), - onLongPress: () { - // Navigator.of(context).pushNamed('AboutMePage'); - }, - onPressed: () { - // Navigator.of(context).pushNamed('AboutMePage'); - }); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/node3_shape.dart b/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/node3_shape.dart deleted file mode 100644 index 5e497291c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/MaterialButton/node3_shape.dart +++ /dev/null @@ -1,57 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -class ShapeMaterialButton extends StatelessWidget { - const ShapeMaterialButton({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 20, - children: [ - SizedBox( - width: 40, - height: 40, - child: MaterialButton( - padding: const EdgeInsets.all(0), - textColor: const Color(0xffFfffff), - elevation: 3, - color: Colors.blue, - highlightColor: const Color(0xffF88B0A), - splashColor: Colors.red, - child: const Icon( - Icons.add, - color: Colors.white, - ), - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - ), - onLongPress: () => Navigator.of(context).pushNamed('AboutMePage'), - onPressed: () => Navigator.of(context).pushNamed('AboutMePage')), - ), - SizedBox( - width: 100, - height: 40, - child: MaterialButton( - padding: const EdgeInsets.all(0), - textColor: const Color(0xffFfffff), - elevation: 3, - color: Colors.blue, - highlightColor: const Color(0xffF88B0A), - splashColor: Colors.red, - child: const Icon( - Icons.remove, - color: Colors.white, - ), - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(15))), - onLongPress: () => Navigator.of(context).pushNamed('AboutMePage'), - onPressed: () => Navigator.of(context).pushNamed('AboutMePage')), - ), - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_de_DE.json deleted file mode 100644 index 68f51a75e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 212, - "name": "ModalBarrier", - "localName": "Barriere Modul", - "info": "Entspricht einer Vorhangschicht, die verhindert, dass der Benutzer mit den dahinter liegenden Widgets interagiert. Es kann durch dismissible festgelegt werden, ob beim Klicken der Rückgabestapel ausgelöst wird. Im Quellcode wird es für Dialog-bezogene Komponenten verwendet.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ModalBarrier Einführung", - "desc": [ - "【dismissible】 : Klicken, um zurückzukehren 【bool】", - "【color】 : Farbe 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_en_US.json deleted file mode 100644 index 2a27ad7af..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 212, - "name": "ModalBarrier", - "localName": "Modal Barrier", - "info": "Equivalent to a curtain layer, preventing users from interacting with the Widget behind it. It can be determined by dismissible whether to trigger the back stack when clicked. Used in the source code for Dialog related components.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to ModalBarrier", - "desc": [ - "【dismissible】: Whether to return when clicked 【bool】", - "【color】: Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_es_ES.json deleted file mode 100644 index 9756ab1de..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 212, - "name": "ModalBarrier", - "localName": "Barrera Modal", - "info": "Equivale a una capa de cortina que evita que el usuario interactúe con los Widgets detrás de ella. Se puede decidir si se activa la pila de retorno al hacer clic a través de dismissible. En el código fuente, se utiliza para componentes relacionados con Dialog.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a ModalBarrier", - "desc": [ - "【dismissible】: Si se retorna al hacer clic 【bool】", - "【color】: Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_fr_FR.json deleted file mode 100644 index c81a6a940..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 212, - "name": "ModalBarrier", - "localName": "Barrière modale", - "info": "Équivaut à une couche de rideau, empêchant l'utilisateur d'interagir avec les Widgets derrière. Peut être configuré pour déclencher ou non la pile de retour lors d'un clic via dismissible. Utilisé dans les composants liés à Dialog dans le code source.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à ModalBarrier", - "desc": [ - "【dismissible】 : Retour au clic 【bool】", - "【color】 : Couleur 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_it_IT.json deleted file mode 100644 index e6ffe7654..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 212, - "name": "ModalBarrier", - "localName": "Barriera Modale", - "info": "Equivale a uno strato di tenda che impedisce all'utente di interagire con i widget dietro di esso. È possibile decidere se attivare lo stack di ritorno al clic tramite dismissible. Nel codice sorgente è utilizzato per i componenti relativi a Dialog.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a ModalBarrier", - "desc": [ - "【dismissible】 : Ritorna al clic 【bool】", - "【color】 : Colore 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_ja_JP.json deleted file mode 100644 index 9993ed792..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 212, - "name": "ModalBarrier", - "localName": "バリアモード", - "info": "これは一種のカーテン層に相当し、ユーザーがその背後にあるウィジェットとやり取りするのを防ぎます。dismissibleを介して、クリック時に戻るスタックをトリガーするかどうかを決定できます。ソースコードではDialog関連のコンポーネントに使用されています。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ModalBarrier 紹介", - "desc": [ - "【dismissible】 : クリック時に戻るかどうか 【bool】", - "【color】 : 色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_ko_KR.json deleted file mode 100644 index 1ee2365eb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 212, - "name": "ModalBarrier", - "localName": "배리어 모드", - "info": "막대기와 같은 역할을 하며, 사용자가 뒤에 있는 위젯과 상호 작용하지 못하도록 합니다. dismissible을 통해 클릭 시 반환 스택을 트리거할지 여부를 결정할 수 있습니다. 소스 코드에서는 Dialog 관련 컴포넌트에 사용됩니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ModalBarrier 소개", - "desc": [ - "【dismissible】 : 클릭 시 반환 여부 【bool】", - "【color】 : 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_pt_PT.json deleted file mode 100644 index 42c896a2e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 212, - "name": "ModalBarrier", - "localName": "Barreira Modal", - "info": "Equivale a uma camada de cortina, impedindo que o usuário interaja com os Widgets por trás dela. Pode ser decidido através de dismissible se, ao clicar, deve-se acionar a pilha de retorno. No código-fonte, é usado para componentes relacionados ao Dialog.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao ModalBarrier", - "desc": [ - "【dismissible】 : Clicar retorna 【bool】", - "【color】 : Cor 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_ru_RU.json deleted file mode 100644 index 3102cc565..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 212, - "name": "ModalBarrier", - "localName": "Барьер", - "info": "Эквивалентно слою занавеса, который предотвращает взаимодействие пользователя с виджетами за ним. Можно определить, будет ли нажатие вызывать возврат в стек, с помощью dismissible. В исходном коде используется для компонентов, связанных с диалогами.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в ModalBarrier", - "desc": [ - "【dismissible】 : Возврат при нажатии 【bool】", - "【color】 : Цвет 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_zh-CN.json deleted file mode 100644 index 1cd6dd287..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 212, - "name": "ModalBarrier", - "localName": "屏障模", - "info": "相当于一块幕布层,防止用户与其背后的 Widget 交互,可以通过 dismissible 决定点击时,是否触发返回栈。源码中用于 Dialog 相关组件。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ModalBarrier 介绍", - "desc": [ - "【dismissible】 : 点击是否返回 【bool】", - "【color】 : 颜色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/node1_base.dart deleted file mode 100644 index 449fd8efb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ModalBarrier/node1_base.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-04-01 -/// contact me by email 1981462002@qq.com - -class ModalBarrierDemo extends StatelessWidget { - const ModalBarrierDemo({Key? key}) : super(key: key); - - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 200, - height: 100, - child: Stack(alignment: Alignment.center, children: [ - ModalBarrier( - dismissible: true, - color: Colors.grey.withOpacity(0.3), - ), - const Text('点击背景返回') - ]), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_de_DE.json deleted file mode 100644 index 3cc6538bd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 214, - "name": "NavigationToolbar", - "localName": "Navigationsleiste", - "info": "Allgemeine Strukturkomponente mit links, mittig und rechts Modus, kann den Abstand der mittleren Komponente zum linken Rand und ob sie zentriert ist, festlegen. Der Quellcode wird in Strukturen wie der AppBar verwendet.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung der NavigationToolbar", - "desc": [ - "【leading】 : Linke Komponente 【Widget】", - "【middle】: Mittlere Komponente 【Widget】", - "【trailing】: Rechte Komponente 【Widget】", - "【centerMiddle】: Ob die mittlere Komponente zentriert ist 【bool】", - "【middleSpacing】: Abstand der mittleren Komponente zum linken Rand 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_en_US.json deleted file mode 100644 index b64752257..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 214, - "name": "NavigationToolbar", - "localName": "Navigation Toolbar", - "info": "A general structural component with left-center-right mode, which can specify the left margin of the middle component and whether it is centered. The source code is used in the structure of navigation bars such as AppBar.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of NavigationToolbar", - "desc": [ - "【leading】: Left component 【Widget】", - "【middle】: Middle component 【Widget】", - "【trailing】: Right component 【Widget】", - "【centerMiddle】: Whether the middle component is centered 【bool】", - "【middleSpacing】: Distance of the middle component from the left 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_es_ES.json deleted file mode 100644 index d168fd878..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 214, - "name": "NavigationToolbar", - "localName": "Barra de herramientas de navegación", - "info": "Componente de estructura común en modo izquierdo, central y derecho, se puede especificar el margen izquierdo del componente central y si está centrado. El código fuente lo utiliza en estructuras de barras de navegación como AppBar.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de NavigationToolbar", - "desc": [ - "【leading】: Componente izquierdo 【Widget】", - "【middle】: Componente central 【Widget】", - "【trailing】: Componente derecho 【Widget】", - "【centerMiddle】: Si el componente central está centrado 【bool】", - "【middleSpacing】: Distancia del componente central al margen izquierdo 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_fr_FR.json deleted file mode 100644 index ef615c108..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 214, - "name": "NavigationToolbar", - "localName": "Barre d'outils de navigation", - "info": "Un composant structurel universel avec un modèle gauche-centre-droit, qui permet de spécifier la marge gauche du composant central et s'il est centré. Le code source est utilisé dans des structures de barres de navigation comme AppBar.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de NavigationToolbar", - "desc": [ - "【leading】 : Composant gauche 【Widget】", - "【middle】: Composant central 【Widget】", - "【trailing】: Composant droit 【Widget】", - "【centerMiddle】: Si le composant central est centré 【bool】", - "【middleSpacing】: Distance du composant central par rapport à la gauche 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_it_IT.json deleted file mode 100644 index 378c44998..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 214, - "name": "NavigationToolbar", - "localName": "Barra degli strumenti di navigazione", - "info": "Componente strutturale generico con modalità sinistra, centrale e destra, può specificare la distanza del componente centrale dal margine sinistro e se è centrato. Il codice sorgente viene utilizzato in strutture come AppBar.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di NavigationToolbar", - "desc": [ - "【leading】 : Componente sinistro 【Widget】", - "【middle】: Componente centrale 【Widget】", - "【trailing】: Componente destro 【Widget】", - "【centerMiddle】: Se il componente centrale è centrato 【bool】", - "【middleSpacing】: Distanza del componente centrale dal lato sinistro 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_ja_JP.json deleted file mode 100644 index ce590edab..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 214, - "name": "NavigationToolbar", - "localName": "ナビゲーションツールバー", - "info": "左中右モードの汎用構造コンポーネントで、中央コンポーネントの左側のマージンと中央揃えかどうかを指定できます。ソースコードはAppBarなどのナビゲーションバー構造で使用されています。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NavigationToolbarの基本的な使用", - "desc": [ - "【leading】 : 左側コンポーネント 【Widget】", - "【middle】: 中央コンポーネント 【Widget】", - "【trailing】: 右側コンポーネント 【Widget】", - "【centerMiddle】: 中央コンポーネントを中央揃えにするかどうか 【bool】", - "【middleSpacing】: 中央コンポーネントの左側からの距離 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_ko_KR.json deleted file mode 100644 index 4c9cd2452..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 214, - "name": "NavigationToolbar", - "localName": "네비게이션 툴바", - "info": "좌중우 모드의 일반 구조 컴포넌트로, 중간 컴포넌트의 왼쪽 여백 및 중앙 정렬 여부를 지정할 수 있습니다. 소스 코드는 AppBar 등 네비게이션 바 구조에서 이를 사용합니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NavigationToolbar 기본 사용", - "desc": [ - "【leading】 : 왼쪽 컴포넌트 【Widget】", - "【middle】: 중간 컴포넌트 【Widget】", - "【trailing】: 오른쪽 컴포넌트 【Widget】", - "【centerMiddle】: 중간 컴포넌트 중앙 정렬 여부 【bool】", - "【middleSpacing】: 중간 컴포넌트의 왼쪽 여백 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_pt_PT.json deleted file mode 100644 index 8dec55cab..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 214, - "name": "NavigationToolbar", - "localName": "Barra de Ferramentas de Navegação", - "info": "Componente estrutural genérico no modo esquerdo-central-direito, pode especificar a margem esquerda do componente central e se está centralizado. O código-fonte é usado em estruturas de barras de navegação como AppBar.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do NavigationToolbar", - "desc": [ - "【leading】: Componente esquerdo 【Widget】", - "【middle】: Componente central 【Widget】", - "【trailing】: Componente direito 【Widget】", - "【centerMiddle】: Se o componente central está centralizado 【bool】", - "【middleSpacing】: Distância do componente central à esquerda 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_ru_RU.json deleted file mode 100644 index 8a3988416..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 214, - "name": "NavigationToolbar", - "localName": "Панель навигации", - "info": "Универсальный структурный компонент с левым, центральным и правым режимами, можно указать отступ центрального компонента от левого края и выравнивание по центру. Исходный код используется в структурах навигационных панелей, таких как AppBar.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование NavigationToolbar", - "desc": [ - "【leading】 : Левый компонент 【Widget】", - "【middle】: Центральный компонент 【Widget】", - "【trailing】: Правый компонент 【Widget】", - "【centerMiddle】: Выравнивание центрального компонента по центру 【bool】", - "【middleSpacing】: Расстояние центрального компонента от левого края 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_zh-CN.json deleted file mode 100644 index 0fea6ef08..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 214, - "name": "NavigationToolbar", - "localName": "导航工具条", - "info": "左中右模式的通用结构组件,可指定中间组件距左侧边距及是否居中。源码在AppBar等导航条结构中有使用它。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "NavigationToolbar基本使用", - "desc": [ - "【leading】 : 左侧组件 【Widget】", - "【middle】: 中间组件 【Widget】", - "【trailing】: 右侧组件组件 【Widget】", - "【centerMiddle】: 中间组件是否居中 【bool】", - "【middleSpacing】: 中间组件距左距离 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/node1_base.dart deleted file mode 100644 index 37e89d969..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NavigationToolbar/node1_base.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/20 -/// contact me by email 1981462002@qq.com - -class NavigationToolbarDemo extends StatelessWidget { - const NavigationToolbarDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: const [ - SizedBox( - height: 60, - child: NavigationToolbar( - leading: Icon(Icons.ac_unit), - middle: Text('middleSpacing#true'), - middleSpacing: 20, - centerMiddle: true, - trailing: Icon(Icons.more_vert), - ), - ), - SizedBox( - height: 60, - child: NavigationToolbar( - leading: Icon(Icons.ac_unit), - middle: Text('middleSpacing#false'), - middleSpacing: 20, - centerMiddle: false, - trailing: Icon(Icons.more_vert), - ), - ), - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_de_DE.json deleted file mode 100644 index 7ed6f083d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 220, - "name": "NotificationListener", - "localName": "Benachrichtigungs-Listener", - "info": "Sie können den generischen Typ T von Notification angeben, um Änderungen dieses Typs zu überwachen. Flutter bietet viele integrierte Benachrichtigungen für das Scrollen, aber Sie können auch benutzerdefinierte Benachrichtigungen erstellen und überwachen.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Überwachung von OverscrollIndicatorNotification", - "desc": [ - "Diese Benachrichtigung wird nur dann zurückgerufen, wenn bis zum obersten oder untersten Rand gescrollt wird. Die Eigenschaft 'leading' bestimmt, ob es sich um den oberen oder unteren Rand handelt. Darüber hinaus kann die blaue Schattierung beim Scrollen am oberen und unteren Rand durch notification#disallowGlow() entfernt werden." - ] - }, - { - "file": "node2_update.dart", - "name": "Überwachung von ScrollUpdateNotification", - "desc": [ - "Während des Scrollvorgangs werden die Scroll-Daten zurückgerufen, sodass Sie eine Vielzahl von Daten für Operationen erhalten können." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_en_US.json deleted file mode 100644 index 798e2267a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 220, - "name": "NotificationListener", - "localName": "Notification Listener", - "info": "You can specify the sub-generic type T of Notification to listen for changes of that type. Flutter has many built-in sliding Notifications, and of course, you can also customize Notifications for listening.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Listen to OverscrollIndicatorNotification", - "desc": [ - "This notification is called back when sliding to the top and bottom, and it is judged whether it is the top or bottom by the leading property. In addition, you can remove the blue shadow at the top and bottom sliding through notification#disallowGlow()." - ] - }, - { - "file": "node2_update.dart", - "name": "Listen to ScrollUpdateNotification", - "desc": [ - "During the sliding process, the sliding data is called back, and you can obtain a large amount of data to operate." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_es_ES.json deleted file mode 100644 index f70e983b0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 220, - "name": "NotificationListener", - "localName": "Escuchador de notificaciones", - "info": "Puede especificar el subgenérico T de Notification para escuchar cambios en ese tipo. Flutter tiene muchas notificaciones de desplazamiento integradas, por supuesto, también puedes personalizar las notificaciones para escucharlas.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Escuchar OverscrollIndicatorNotification", - "desc": [ - "Esta notificación se devuelve de llamada después de deslizarse hasta la parte superior e inferior, y se juzga si es la parte superior o la inferior a través de la propiedad leading. Además, a través de notification#disallowGlow(), se puede eliminar la sombra azul de deslizamiento superior e inferior." - ] - }, - { - "file": "node2_update.dart", - "name": "Escuchar ScrollUpdateNotification", - "desc": [ - "Durante el proceso de desplazamiento, se devuelven los datos de desplazamiento, y puedes obtener una gran cantidad de datos para operar." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_fr_FR.json deleted file mode 100644 index 8ae278a82..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 220, - "name": "NotificationListener", - "localName": "Écouteur de notifications", - "info": "Vous pouvez spécifier le sous-générique T de Notification pour écouter les changements de ce type. Flutter intègre de nombreuses notifications de défilement, bien sûr, vous pouvez également personnaliser les notifications pour les écouter.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Écouter OverscrollIndicatorNotification", - "desc": [ - "Cette notification est rappelée uniquement lors du défilement vers le haut ou le bas, en utilisant la propriété leading pour déterminer si c'est le haut ou le bas. De plus, en utilisant notification#disallowGlow(), vous pouvez supprimer l'ombre bleue du défilement en haut et en bas." - ] - }, - { - "file": "node2_update.dart", - "name": "Écouter ScrollUpdateNotification", - "desc": [ - "Pendant le défilement, les données de défilement sont rappelées, vous pouvez obtenir de nombreuses données pour les manipuler." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_it_IT.json deleted file mode 100644 index a9a7e5c75..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 220, - "name": "NotificationListener", - "localName": "Ascoltatore di Notifiche", - "info": "È possibile specificare il sottotipo generico T di Notification per monitorare i cambiamenti di quel tipo. Flutter include molte notifiche di scorrimento integrate, ma puoi anche creare e monitorare notifiche personalizzate.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Monitorare OverscrollIndicatorNotification", - "desc": [ - "Questa notifica viene richiamata solo quando si scorre fino in cima o in fondo, e si può determinare se si tratta della cima o del fondo tramite la proprietà leading. Inoltre, è possibile rimuovere l'ombra blu dello scorrimento in cima e in fondo utilizzando notification#disallowGlow()." - ] - }, - { - "file": "node2_update.dart", - "name": "Monitorare ScrollUpdateNotification", - "desc": [ - "Durante lo scorrimento, i dati di scorrimento vengono richiamati, permettendoti di ottenere molti dati per operazioni successive." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_ja_JP.json deleted file mode 100644 index 243419363..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 220, - "name": "NotificationListener", - "localName": "通知リスナー", - "info": "NotificationのサブジェネリックTを指定して、そのタイプの変更を監視できます。Flutterには多くのスライドNotificationが組み込まれており、もちろん独自のNotificationを監視することもできます。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OverscrollIndicatorNotificationを監視", - "desc": [ - "この通知は、最上部または最下部にスライドしたときにコールバックされ、leadingプロパティを使用して上部か下部かを判断します。また、notification#disallowGlow()を使用して、上部と下部のスライド時の青色の影を取り除くことができます。" - ] - }, - { - "file": "node2_update.dart", - "name": "ScrollUpdateNotificationを監視", - "desc": [ - "スライド中にスライドデータをコールバックし、大量のデータを取得して操作することができます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_ko_KR.json deleted file mode 100644 index e514456f0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 220, - "name": "NotificationListener", - "localName": "알림 리스너", - "info": "Notification의 하위 제네릭 T를 지정하여 해당 유형의 변경 사항을 감지할 수 있습니다. Flutter에는 많은 스크롤 Notification이 내장되어 있으며, 물론 사용자 정의 Notification을 감지할 수도 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OverscrollIndicatorNotification 감지", - "desc": [ - "이 알림은 스크롤이 가장 위나 가장 아래에 도달했을 때 콜백되며, leading 속성을 통해 상단인지 하단인지 판단할 수 있습니다. 또한 notification#disallowGlow()를 통해 상하단 스크롤 시 파란색 그림자를 제거할 수 있습니다." - ] - }, - { - "file": "node2_update.dart", - "name": "ScrollUpdateNotification 감지", - "desc": [ - "스크롤 과정에서 스크롤 데이터를 콜백하며, 이를 통해 많은 데이터를 얻어 작업할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_pt_PT.json deleted file mode 100644 index debe830e7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 220, - "name": "NotificationListener", - "localName": "Ouvinte de Notificação", - "info": "Pode especificar o subgenérico T de Notification para monitorar alterações desse tipo. O Flutter possui muitas Notificações de deslizamento integradas, mas você também pode criar e monitorar suas próprias Notificações personalizadas.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Monitorar OverscrollIndicatorNotification", - "desc": [ - "Esta notificação é chamada de volta apenas quando o deslizamento atinge o topo ou o fundo, e o atributo leading determina se é o topo ou o fundo. Além disso, através de notification#disallowGlow(), é possível remover a sombra azul do deslizamento no topo e no fundo." - ] - }, - { - "file": "node2_update.dart", - "name": "Monitorar ScrollUpdateNotification", - "desc": [ - "Durante o processo de deslizamento, os dados de deslizamento são chamados de volta, permitindo que você obtenha uma grande quantidade de dados para operações." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_ru_RU.json deleted file mode 100644 index 25132315f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 220, - "name": "NotificationListener", - "localName": "Слушатель уведомлений", - "info": "Можно указать подтип T для Notification, чтобы отслеживать изменения этого типа. В Flutter встроено множество уведомлений о прокрутке, конечно, вы также можете настроить свои собственные уведомления для отслеживания.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Отслеживание OverscrollIndicatorNotification", - "desc": [ - "Это уведомление вызывается только при прокрутке до самого верха или низа, и можно определить, верх это или низ, с помощью свойства leading. Кроме того, с помощью notification#disallowGlow() можно убрать синюю тень при прокрутке вверху и внизу." - ] - }, - { - "file": "node2_update.dart", - "name": "Отслеживание ScrollUpdateNotification", - "desc": [ - "В процессе прокрутки данные о прокрутке передаются обратно, и вы можете получить множество данных для работы." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_zh-CN.json deleted file mode 100644 index e659e4513..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 220, - "name": "NotificationListener", - "localName": "通知监听器", - "info": "可指定Notification子泛型T,监听该类型的变化。Flutter内置很多滑动的Notification,当然你也可以自定义Notification进行监听。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "监听OverscrollIndicatorNotification", - "desc": [ - "该通知之后在滑动到最顶和最底是回调,通过leading属性判断是顶部还是底部。另外通过notification#disallowGlow(),可以去除顶底滑动蓝色阴影" - ] - }, - { - "file": "node2_update.dart", - "name": "监听ScrollUpdateNotification", - "desc": [ - "在滑动过程中对滑动数据进行回调,你可以获取大量数据来进行操作。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/node1_base.dart deleted file mode 100644 index ed6f94563..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/node1_base.dart +++ /dev/null @@ -1,61 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/8/14 -/// contact me by email 1981462002@qq.com - - -class NotificationListenerDemo extends StatefulWidget { - const NotificationListenerDemo({Key? key}) : super(key: key); - - @override - _NotificationListenerDemoState createState() => _NotificationListenerDemoState(); -} - -class _NotificationListenerDemoState extends State { - final List data = List.generate(30, (i) => '第${i + 1}条'); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 250, - child: NotificationListener( - onNotification: _onNotification, - child: CupertinoScrollbar( - child: ListView.separated( - itemBuilder: _buildItem, - itemCount: data.length, - separatorBuilder: (_,__)=>const Divider(height: 5,), - ), - )), - ); - } - - bool _onNotification(OverscrollIndicatorNotification notification) { - if (notification.leading) { - notification.disallowIndicator(); - ScaffoldMessenger.of(context).showSnackBar(const SnackBar( - content: Text('已滑到顶部'), - backgroundColor: Colors.blue, - duration: Duration(milliseconds: 200), - )); - } else { - notification.disallowIndicator(); - ScaffoldMessenger.of(context).showSnackBar(const SnackBar( - content: Text('已滑到底部'), - duration: Duration(milliseconds: 200), - backgroundColor: Colors.blue, - )); - } - - return true; - } - - Widget _buildItem(BuildContext context, int index) { - return Container( - height: 50, - alignment: Alignment.center, - child: Text(data[index],style: TextStyle(color: Theme.of(context).primaryColor,fontSize: 18),), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/node2_update.dart b/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/node2_update.dart deleted file mode 100644 index b7195b1d5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/NotificationListener/node2_update.dart +++ /dev/null @@ -1,79 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/8/14 -/// contact me by email 1981462002@qq.com - - -class NotificationListenerUpdate extends StatefulWidget { - const NotificationListenerUpdate({Key? key}) : super(key: key); - - @override - _NotificationListenerUpdateState createState() => - _NotificationListenerUpdateState(); -} - -class _NotificationListenerUpdateState - extends State { - final List data = List.generate(30, (i) => '第${i + 1}条'); - - String _info = ''; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: Stack( - children: [ - Positioned( - child: Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Text(_info), - )), - NotificationListener( - onNotification: _onNotification, - child: CupertinoScrollbar( - child: ListView.separated( - itemBuilder: _buildItem, - itemCount: data.length, - separatorBuilder: (_, __) => const Divider(height: 5), - ), - )), - - ], - ), - ); - } - - bool _onNotification(ScrollUpdateNotification notification) { - setState(() { - _info = 'axis------【${notification.metrics.axis}】------\n' - 'pixels------【${notification.metrics.pixels}】------\n' - 'atEdge------【${notification.metrics.atEdge}】------\n' - 'axisDirection------【${notification.metrics.axisDirection}】------\n' - 'extentInside------【${notification.metrics.extentInside}】------\n' - 'outOfRange------【${notification.metrics.outOfRange}】------\n' - 'minScrollExtent------【${notification.metrics.minScrollExtent}】------\n' - 'maxScrollExtent------【${notification.metrics.maxScrollExtent}】------\n' - 'viewportDimension------【${notification.metrics.viewportDimension}】------\n' - 'delta------【${notification.dragDetails?.delta}】------\n' - 'globalPosition------【${notification.dragDetails?.globalPosition}】------\n' - 'localPosition------【${notification.dragDetails?.localPosition}】------\n' - 'scrollDelta------【${notification.scrollDelta}】------\n' - 'depth------【${notification.depth}】------'; - }); - return true; - } - - Widget _buildItem(BuildContext context, int index) { - return Container( - height: 50, - alignment: Alignment.centerRight, - padding: const EdgeInsets.only(right: 8), - child: Text( - data[index], - style: TextStyle(color: Theme.of(context).primaryColor, fontSize: 18), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_de_DE.json deleted file mode 100644 index a5091791d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_de_DE.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 203, - "name": "OrientationBuilder", - "localName": "Ausrichtungs-Builder", - "info": "Kann zurückmelden, ob das übergeordnete Element horizontal oder vertikal ist, und kann darauf basierend verschiedene untergeordnete Elemente erstellen.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von OrientationBuilder", - "desc": [ - "【builder】 : Ausrichtungskomponenten-Builder 【OrientationWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_en_US.json deleted file mode 100644 index 77d4311fe..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_en_US.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 203, - "name": "OrientationBuilder", - "localName": "Orientation Builder", - "info": "Can callback whether the parent component is horizontal or vertical, and can build different child components based on this.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of OrientationBuilder", - "desc": [ - "【builder】: Orientation component builder 【OrientationWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_es_ES.json deleted file mode 100644 index 79d4f460b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_es_ES.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 203, - "name": "OrientationBuilder", - "localName": "Constructor de Orientación", - "info": "Puede devolver una llamada para determinar si el componente padre es horizontal o vertical, y puede construir diferentes componentes secundarios en consecuencia.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de OrientationBuilder", - "desc": [ - "【builder】: Constructor de componentes de orientación 【OrientationWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_fr_FR.json deleted file mode 100644 index b026d8821..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_fr_FR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 203, - "name": "OrientationBuilder", - "localName": "Constructeur d'orientation", - "info": "Capable de rappeler si le composant parent est horizontal ou vertical, et peut construire différents composants enfants en conséquence.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base d'OrientationBuilder", - "desc": [ - "【builder】 : Constructeur de composant d'orientation 【OrientationWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_it_IT.json deleted file mode 100644 index 3ee33c719..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_it_IT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 203, - "name": "OrientationBuilder", - "localName": "Costruttore di Orientamento", - "info": "Può richiamare se il componente genitore è orizzontale o verticale, e può costruire diversi componenti figli in base a ciò.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di OrientationBuilder", - "desc": [ - "【builder】 : Costruttore del componente di orientamento 【OrientationWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_ja_JP.json deleted file mode 100644 index 51eafbef3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_ja_JP.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 203, - "name": "OrientationBuilder", - "localName": "方向ビルダー", - "info": "親コンポーネントが横向きか縦向きかをコールバックでき、それに応じて異なる子コンポーネントを構築できます。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OrientationBuilderの基本的な使用", - "desc": [ - "【builder】 : 方向コンポーネントビルダー 【OrientationWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_ko_KR.json deleted file mode 100644 index acd5e42f7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_ko_KR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 203, - "name": "OrientationBuilder", - "localName": "방향 빌더", - "info": "부모 구성 요소가 가로 방향인지 세로 방향인지 콜백할 수 있으며, 이를 기반으로 다른 자식 구성 요소를 구축할 수 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OrientationBuilder 기본 사용", - "desc": [ - "【builder】 : 방향 구성 요소 빌더 【OrientationWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_pt_PT.json deleted file mode 100644 index db124afac..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_pt_PT.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 203, - "name": "OrientationBuilder", - "localName": "Construtor de Orientação", - "info": "Pode retornar se o componente pai é horizontal ou vertical, e pode construir diferentes componentes filhos com base nisso.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do OrientationBuilder", - "desc": [ - "【builder】 : Construtor de componentes de orientação 【OrientationWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_ru_RU.json deleted file mode 100644 index 060e68fe1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_ru_RU.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 203, - "name": "OrientationBuilder", - "localName": "Ориентация строителя", - "info": "Может обратно вызывать, является ли родительский компонент горизонтальным или вертикальным, и может создавать различные дочерние компоненты на основе этого.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование OrientationBuilder", - "desc": [ - "【builder】 : Строитель компонента ориентации 【OrientationWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_zh-CN.json deleted file mode 100644 index 3a25ec697..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/desc_zh-CN.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": 203, - "name": "OrientationBuilder", - "localName": "方向构造器", - "info": "能够回调父组件是横向还是纵向,可以据此来构建不同的子组件。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OrientationBuilder基本使用", - "desc": [ - "【builder】 : 方向组件构造器 【OrientationWidgetBuilder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/node1_base.dart deleted file mode 100644 index 1f383a903..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OrientationBuilder/node1_base.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/21 -/// contact me by email 1981462002@qq.com - -class OrientationBuilderDemo extends StatefulWidget { - const OrientationBuilderDemo({Key? key}) : super(key: key); - - @override - _OrientationBuilderDemoState createState() => _OrientationBuilderDemoState(); -} - -class _OrientationBuilderDemoState extends State { - double _width = 200; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Container( - width: _width, - height: 200, - child: OrientationBuilder(builder: _builder), - color: Colors.orange, - ), - _buildSlider() - ], - ); - } - - //根据回调的orientation返回组件 - Widget _builder(BuildContext context, Orientation orientation) { - switch(orientation){ - case Orientation.portrait: - return const Icon(Icons.phone_android,size: 60,); - case Orientation.landscape: - return const RotatedBox( - quarterTurns: 1, - child: Icon(Icons.phone_android,size: 60,)); - default: return Container(); - } - } - - Widget _buildSlider() =>Slider( - value: _width, - max: 350.0, - min: 80.0, - divisions: 17, - onChanged: (v)=> setState(() => _width= v), - ); -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_de_DE.json deleted file mode 100644 index 5b472ff85..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_de_DE.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 27, - "name": "OutlineButton", - "localName": "Umriss-Schaltfläche", - "info": "Schaltfläche mit Rahmenstil, basierend auf MaterialButton implementiert, alle Eigenschaften ähnlich wie MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 23, - 24, - 25, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OutlineButton Klickereignis", - "desc": [ - "【textColor】: Textfarbe der Unterkomponente 【Color】", - "【splashColor】: Wasserwellenfarbe 【Color】", - "【highlightColor】: Hervorhebungsfarbe bei langem Drücken 【Color】", - "【highlightedBorderColor】: Rahmenfarbe bei Hervorhebung 【Color】", - "【child】: Unterkomponente 【Widget】", - "【padding】: Innenabstand 【EdgeInsetsGeometry】", - "【borderSide】: Randlinie 【BorderSide】", - "【onPressed】: Klickereignis 【Function】", - " ", - "", - "class CustomOutlineButton extends StatelessWidget {", - " const CustomOutlineButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'Die OutlineButton-Schaltfläche hat die Bühne in Flutter 3.0 verlassen. Der Ersatz ist die OutlinedButton-Schaltfläche.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return OutlineButton(Umriss-Schaltfläche", - " onPressed: () {,", - " child: const Text(\"OutlineButton\"),", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " highlightColor: Colors.orangeAccent,", - " highlightedBorderColor: Colors.grey,", - " textColor: const Color(0xff000000),", - " borderSide: const BorderSide(color: Color(0xff0A66F8), width: 2)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_en_US.json deleted file mode 100644 index d8fffcfbb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_en_US.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 27, - "name": "OutlineButton", - "localName": "Outline Button", - "info": "A button with a border style, implemented based on MaterialButton, with all properties similar to MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 23, - 24, - 25, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OutlineButton Click Event", - "desc": [ - "【textColor】: Text color of child component 【Color】", - "【splashColor】: Ripple color 【Color】", - "【highlightColor】: Long press highlight color 【Color】", - "【highlightedBorderColor】: Border color when highlighted 【Color】", - "【child】: Child component 【Widget】", - "【padding】: Padding 【EdgeInsetsGeometry】", - "【borderSide】: Border side 【BorderSide】", - "【onPressed】: Click event 【Function】", - " ", - "", - "class CustomOutlineButton extends StatelessWidget {", - " const CustomOutlineButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'The OutlineButton has been phased out in Flutter 3.0. It is replaced by the OutlinedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return OutlineButton(", - " onPressed: () {,", - " child: const Text(\"OutlineButton\"),", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " highlightColor: Colors.orangeAccent,", - " highlightedBorderColor: Colors.grey,", - " textColor: const Color(0xff000000),", - " borderSide: const BorderSide(color: Color(0xff0A66F8), width: 2)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_es_ES.json deleted file mode 100644 index 48c34e9a7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_es_ES.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 27, - "name": "OutlineButton", - "localName": "Botón de contorno", - "info": "Botón con estilo de borde, implementado basado en MaterialButton, todas las propiedades son similares a MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 23, - 24, - 25, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de clic de OutlineButton", - "desc": [ - "【textColor】: Color del texto del componente hijo 【Color】", - "【splashColor】: Color de la onda 【Color】", - "【highlightColor】: Color de resaltado al mantener presionado 【Color】", - "【highlightedBorderColor】: Color del borde al resaltar 【Color】", - "【child】: Componente hijo 【Widget】", - "【padding】: Relleno interno 【EdgeInsetsGeometry】", - "【borderSide】: Línea del borde 【BorderSide】", - "【onPressed】: Evento de clic 【Function】", - " ", - "", - "class CustomOutlineButton extends StatelessWidget {", - " const CustomOutlineButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'El botón OutlineButton dejó de estar disponible en Flutter 3.0. Su reemplazo es el botón OutlinedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return OutlineButton(Botón de contorno", - " onPressed: () {,", - " child: const Text(\"OutlineButton\"),", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " highlightColor: Colors.orangeAccent,", - " highlightedBorderColor: Colors.grey,", - " textColor: const Color(0xff000000),", - " borderSide: const BorderSide(color: Color(0xff0A66F8), width: 2)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_fr_FR.json deleted file mode 100644 index 5dfc02352..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_fr_FR.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 27, - "name": "OutlineButton", - "localName": "Bouton à contour", - "info": "Bouton de style à bordure, basé sur MaterialButton, toutes les propriétés sont similaires à MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 23, - 24, - 25, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événement de clic OutlineButton", - "desc": [ - "【textColor】: Couleur du texte des composants enfants 【Color】", - "【splashColor】: Couleur de l'effet de vague 【Color】", - "【highlightColor】: Couleur de surbrillance lors d'un appui long 【Color】", - "【highlightedBorderColor】: Couleur de la bordure en surbrillance 【Color】", - "【child】: Composant enfant 【Widget】", - "【padding】: Marge intérieure 【EdgeInsetsGeometry】", - "【borderSide】: Bordure 【BorderSide】", - "【onPressed】: Événement de clic 【Function】", - " ", - "", - "class CustomOutlineButton extends StatelessWidget {", - " const CustomOutlineButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'Le bouton OutlineButton a quitté la scène historique dans Flutter 3.0. Il est remplacé par le bouton OutlinedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return OutlineButton(Bouton à contour", - " onPressed: () {,", - " child: const Text(\"OutlineButton\"),", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " highlightColor: Colors.orangeAccent,", - " highlightedBorderColor: Colors.grey,", - " textColor: const Color(0xff000000),", - " borderSide: const BorderSide(color: Color(0xff0A66F8), width: 2)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_it_IT.json deleted file mode 100644 index 0b312f10f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_it_IT.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 27, - "name": "OutlineButton", - "localName": "Pulsante a contorno", - "info": "Pulsante con stile bordo, implementato basandosi su MaterialButton, tutte le proprietà sono simili a MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 23, - 24, - 25, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento di clic di OutlineButton", - "desc": [ - "【textColor】: Colore del testo del componente figlio 【Color】", - "【splashColor】: Colore dell'effetto ripple 【Color】", - "【highlightColor】: Colore di evidenziazione durante la pressione prolungata 【Color】", - "【highlightedBorderColor】: Colore del bordo durante l'evidenziazione 【Color】", - "【child】: Componente figlio 【Widget】", - "【padding】: Spaziatura interna 【EdgeInsetsGeometry】", - "【borderSide】: Linea del bordo 【BorderSide】", - "【onPressed】: Evento di clic 【Function】", - " ", - "", - "class CustomOutlineButton extends StatelessWidget {", - " const CustomOutlineButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'Il pulsante OutlineButton è stato ritirato in Flutter 3.0. Il suo sostituto è il pulsante OutlinedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return OutlineButton(Pulsante a contorno", - " onPressed: () {,", - " child: const Text(\"OutlineButton\"),", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " highlightColor: Colors.orangeAccent,", - " highlightedBorderColor: Colors.grey,", - " textColor: const Color(0xff000000),", - " borderSide: const BorderSide(color: Color(0xff0A66F8), width: 2)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_ja_JP.json deleted file mode 100644 index 6ff6ea27a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_ja_JP.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 27, - "name": "OutlineButton", - "localName": "アウトライン ボタン", - "info": "枠線スタイルのボタンで、MaterialButtonをベースに実装されており、すべてのプロパティはMaterialButtonと同様です。", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 23, - 24, - 25, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OutlineButtonクリックイベント", - "desc": [ - "【textColor】: 子コンポーネントのテキストカラー 【Color】", - "【splashColor】: 波紋カラー 【Color】", - "【highlightColor】: 長押し時のハイライトカラー 【Color】", - "【highlightedBorderColor】: ハイライト時の枠線カラー 【Color】", - "【child】: 子コンポーネント 【Widget】", - "【padding】: 内側の余白 【EdgeInsetsGeometry】", - "【borderSide】: 枠線 【BorderSide】", - "【onPressed】: クリックイベント 【Function】", - " ", - "", - "class CustomOutlineButton extends StatelessWidget {", - " const CustomOutlineButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'OutlineButton ボタンは Flutter3.0 で歴史の舞台から退場しました。代替として OutlinedButton ボタンがあります。';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return OutlineButton(枠線ボタン", - " onPressed: () {,", - " child: const Text(\"OutlineButton\"),", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " highlightColor: Colors.orangeAccent,", - " highlightedBorderColor: Colors.grey,", - " textColor: const Color(0xff000000),", - " borderSide: const BorderSide(color: Color(0xff0A66F8), width: 2)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_ko_KR.json deleted file mode 100644 index 8105312e7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_ko_KR.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 27, - "name": "OutlineButton", - "localName": "아웃라인 버튼", - "info": "테두리 스타일 버튼, MaterialButton을 기반으로 구현되었으며, 모든 속성은 MaterialButton과 유사합니다.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 23, - 24, - 25, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OutlineButton 클릭 이벤트", - "desc": [ - "【textColor】: 자식 컴포넌트 텍스트 색상 【Color】", - "【splashColor】: 물결 효과 색상 【Color】", - "【highlightColor】: 길게 누를 때 강조 색상 【Color】", - "【highlightedBorderColor】: 강조 시 테두리 색상 【Color】", - "【child】: 자식 컴포넌트 【Widget】", - "【padding】: 안쪽 여백 【EdgeInsetsGeometry】", - "【borderSide】: 테두리 선 【BorderSide】", - "【onPressed】: 클릭 이벤트 【Function】", - " ", - "", - "class CustomOutlineButton extends StatelessWidget {", - " const CustomOutlineButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'OutlineButton 버튼은 Flutter3.0에서 역사의 무대에서 퇴장했습니다. 대체자는 OutlinedButton 버튼입니다.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return OutlineButton(아웃라인 버튼", - " onPressed: () {,", - " child: const Text(\"OutlineButton\"),", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " highlightColor: Colors.orangeAccent,", - " highlightedBorderColor: Colors.grey,", - " textColor: const Color(0xff000000),", - " borderSide: const BorderSide(color: Color(0xff0A66F8), width: 2)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_pt_PT.json deleted file mode 100644 index dedf8efff..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_pt_PT.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 27, - "name": "OutlineButton", - "localName": "Botão de Contorno", - "info": "Botão de estilo de borda, implementado com base no MaterialButton, todas as propriedades são semelhantes ao MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 23, - 24, - 25, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de Clique do OutlineButton", - "desc": [ - "【textColor】: Cor do texto do componente filho 【Color】", - "【splashColor】: Cor do efeito de ondulação 【Color】", - "【highlightColor】: Cor de destaque ao pressionar 【Color】", - "【highlightedBorderColor】: Cor da borda ao destacar 【Color】", - "【child】: Componente filho 【Widget】", - "【padding】: Preenchimento interno 【EdgeInsetsGeometry】", - "【borderSide】: Linha da borda 【BorderSide】", - "【onPressed】: Evento de clique 【Function】", - " ", - "", - "class CustomOutlineButton extends StatelessWidget {", - " const CustomOutlineButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'O botão OutlineButton saiu de cena no Flutter 3.0. O substituto é o botão OutlinedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return OutlineButton(Botão de Contorno", - " onPressed: () {,", - " child: const Text(\"OutlineButton\"),", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " highlightColor: Colors.orangeAccent,", - " highlightedBorderColor: Colors.grey,", - " textColor: const Color(0xff000000),", - " borderSide: const BorderSide(color: Color(0xff0A66F8), width: 2)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_ru_RU.json deleted file mode 100644 index b4a9f8a42..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_ru_RU.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 27, - "name": "OutlineButton", - "localName": "Кнопка с контуром", - "info": "Кнопка с рамкой, реализованная на основе MaterialButton, все свойства аналогичны MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 23, - 24, - 25, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Событие нажатия OutlineButton", - "desc": [ - "【textColor】: Цвет текста дочернего компонента 【Color】", - "【splashColor】: Цвет водяного эффекта 【Color】", - "【highlightColor】: Цвет подсветки при длительном нажатии 【Color】", - "【highlightedBorderColor】: Цвет рамки при подсветке 【Color】", - "【child】: Дочерний компонент 【Widget】", - "【padding】: Внутренний отступ 【EdgeInsetsGeometry】", - "【borderSide】: Линия рамки 【BorderSide】", - "【onPressed】: Событие нажатия 【Function】", - " ", - "", - "class CustomOutlineButton extends StatelessWidget {", - " const CustomOutlineButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'Кнопка OutlineButton ушла в историю с выходом Flutter 3.0. Ее заменила кнопка OutlinedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return OutlineButton(Кнопка с контуром", - " onPressed: () {,", - " child: const Text(\"OutlineButton\"),", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " highlightColor: Colors.orangeAccent,", - " highlightedBorderColor: Colors.grey,", - " textColor: const Color(0xff000000),", - " borderSide: const BorderSide(color: Color(0xff0A66F8), width: 2)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_zh-CN.json deleted file mode 100644 index ffaa5f472..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/desc_zh-CN.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 27, - "name": "OutlineButton", - "localName": "线框按钮", - "info": "边框样式按钮,基于MaterialButton实现,所有属性和MaterialButton类似。", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 23, - 24, - 25, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "OutlineButton点击事件", - "desc": [ - "【textColor】: 子组件文字颜色 【Color】", - "【splashColor】: 水波纹颜色 【Color】", - "【highlightColor】: 长按高亮色 【Color】", - "【highlightedBorderColor】: 高亮时框色 【Color】", - "【child】: 子组件 【Widget】", - "【padding】: 内边距 【EdgeInsetsGeometry】", - "【borderSide】: 边线 【BorderSide】", - "【onPressed】: 点击事件 【Function】", - " ", - "", - "class CustomOutlineButton extends StatelessWidget {", - " const CustomOutlineButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'OutlineButton 按钮于 Flutter3.0 退出历史舞台。取代者为 OutlinedButton 按钮。';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return OutlineButton(边线按钮", - " onPressed: () {,", - " child: const Text(\"OutlineButton\"),", - " padding: const EdgeInsets.all(8),", - " splashColor: Colors.green,", - " highlightColor: Colors.orangeAccent,", - " highlightedBorderColor: Colors.grey,", - " textColor: const Color(0xff000000),", - " borderSide: const BorderSide(color: Color(0xff0A66F8), width: 2)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/node1_base.dart deleted file mode 100644 index 3c8df0345..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/OutlineButton/node1_base.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomOutlineButton extends StatelessWidget { - const CustomOutlineButton({Key? key}) : super(key: key); - - final String info = - 'OutlineButton 按钮于 Flutter3.0 退出历史舞台。取代者为 OutlinedButton 按钮。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_de_DE.json deleted file mode 100644 index a459a8b0c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_de_DE.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 210, - "name": "PageStorage", - "localName": "Seitenspeicher", - "info": "Kann den Seitenstatus speichern und den Status beim Wechseln der Seite beibehalten. Im Quellcode wird es in ScrollView, PageView, ExpansionTile usw. verwendet.", - "lever": 3, - "family": 0, - "linkIds": [ - 52, - 165 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von PageStorage", - "desc": [ - "【bucket】 : Speicherbereich 【PageStorageBucket】", - "【child】: Untergeordnete Komponente 【Widget】", - "Beim Initialisieren der Komponente beim Wechseln der Oberfläche wird der Status nicht zurückgesetzt. Wie bei CountWidget muss die untergeordnete Komponente beim Initialisieren den Status aus dem Speicher lesen und beim Ändern des Status den Status in den Speicher schreiben. Außerdem ist PageStorage bereits in MaterialApp integriert, aber Sie können auch ein PageStorage erstellen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_en_US.json deleted file mode 100644 index dd4ed4b19..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_en_US.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 210, - "name": "PageStorage", - "localName": "Page Storage", - "info": "Can store the state of a page, maintaining the state when switching pages. It is used in ScrollView, PageView, ExpansionTile, etc. in the source code.", - "lever": 3, - "family": 0, - "linkIds": [ - 52, - 165 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of PageStorage", - "desc": [ - "【bucket】: Storage Area 【PageStorageBucket】", - "【child】: Child Widget 【Widget】", - "When switching interfaces and initializing components, the state will not be reset. As in the CountWidget example, the child component needs to read the state from the storage during initialization and write the state to the storage when changing the state. Additionally, MaterialApp already has PageStorage built-in, but you can also create your own PageStorage." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_es_ES.json deleted file mode 100644 index ca743ed2e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_es_ES.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 210, - "name": "PageStorage", - "localName": "Almacenamiento de Página", - "info": "Puede almacenar el estado de la página, manteniendo el estado al cambiar de página. En el código fuente, se utiliza en ScrollView, PageView, ExpansionTile, etc.", - "lever": 3, - "family": 0, - "linkIds": [ - 52, - 165 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de PageStorage", - "desc": [ - "【bucket】: Área de almacenamiento 【PageStorageBucket】", - "【child】: Componente hijo 【Widget】", - "Al cambiar de interfaz y inicializar componentes, el estado no se restablecerá. Como en CountWidget, el componente hijo necesita leer el estado del almacenamiento durante la inicialización y escribir el estado en el almacenamiento al cambiar el estado. Además, si usas MaterialApp, ya tiene PageStorage incorporado, pero también puedes crear uno." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_fr_FR.json deleted file mode 100644 index 5c9131434..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_fr_FR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 210, - "name": "PageStorage", - "localName": "Stockage de page", - "info": "Permet de stocker l'état de la page, ce qui permet de maintenir l'état lors du changement de page. Il est utilisé dans le code source de ScrollView, PageView, ExpansionTile, etc.", - "lever": 3, - "family": 0, - "linkIds": [ - 52, - 165 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de PageStorage", - "desc": [ - "【bucket】 : Zone de stockage 【PageStorageBucket】", - "【child】: Composant enfant 【Widget】", - "Lors de l'initialisation des composants en changeant d'interface, l'état n'est pas réinitialisé. Comme dans CountWidget, le composant enfant doit lire l'état du stockage lors de l'initialisation et écrire l'état dans le stockage lors du changement d'état. De plus, si vous utilisez MaterialApp, PageStorage est déjà intégré, mais vous pouvez également créer un PageStorage." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_it_IT.json deleted file mode 100644 index 53e06b5aa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_it_IT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 210, - "name": "PageStorage", - "localName": "Memoria di pagina", - "info": "Consente di memorizzare lo stato della pagina, mantenendo lo stato durante il cambio di pagina. Nel codice sorgente, viene utilizzato in ScrollView, PageView, ExpansionTile, ecc.", - "lever": 3, - "family": 0, - "linkIds": [ - 52, - 165 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di PageStorage", - "desc": [ - "【bucket】 : Area di archiviazione 【PageStorageBucket】", - "【child】: Componente figlio 【Widget】", - "Quando si inizializzano i componenti durante il cambio di interfaccia, lo stato non viene reimpostato. Ad esempio, nel caso di CountWidget, il componente figlio deve leggere lo stato dalla memoria durante l'inizializzazione e scrivere lo stato nella memoria quando lo stato cambia. Inoltre, se si utilizza MaterialApp, PageStorage è già integrato, ma è comunque possibile creare un PageStorage." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_ja_JP.json deleted file mode 100644 index 14259a6b5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_ja_JP.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 210, - "name": "PageStorage", - "localName": "ページストレージ", - "info": "ページの状態を保存することができ、ページを切り替える際に状態を保持することができます。ソースコードでは、ScrollView、PageView、ExpansionTileなどに適用されています。", - "lever": 3, - "family": 0, - "linkIds": [ - 52, - 165 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PageStorageの基本使用", - "desc": [ - "【bucket】 : ストレージエリア 【PageStorageBucket】", - "【child】: 子コンポーネント 【Widget】", - "上記のインターフェースを切り替える際、コンポーネントの初期化時に状態がリセットされることはありません。例えばCountWidgetでは、子コンポーネントは初期化時にストレージから状態を読み取り、状態を変更する際に状態をストレージに書き込む必要があります。また、MaterialAppを使用すると、すでにPageStorageが組み込まれていますが、自分でPageStorageを作成することもできます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_ko_KR.json deleted file mode 100644 index 77bbbfac1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_ko_KR.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 210, - "name": "PageStorage", - "localName": "페이지 스토리지", - "info": "페이지 상태를 저장할 수 있으며, 페이지 전환 시 상태를 유지할 수 있습니다. 소스 코드에서 ScrollView, PageView, ExpansionTile 등에 적용되어 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [ - 52, - 165 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PageStorage 기본 사용", - "desc": [ - "【bucket】 : 저장 영역 【PageStorageBucket】", - "【child】: 자식 위젯 【Widget】", - "위에서 인터페이스를 전환할 때 초기화 컴포넌트는 상태를 재설정하지 않습니다. 위의 CountWidget과 같이, 자식 컴포넌트는 초기화 시 스토리지에서 상태를 읽어야 하며, 상태를 변경할 때 상태를 스토리지에 기록해야 합니다. 또한, MaterialApp을 사용하면 이미 내장된 PageStorage가 있지만, PageStorage를 직접 생성할 수도 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_pt_PT.json deleted file mode 100644 index e440872ab..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_pt_PT.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 210, - "name": "PageStorage", - "localName": "Armazenamento de Página", - "info": "Pode armazenar o estado da página, mantendo o estado ao alternar entre páginas. No código-fonte, é aplicado em ScrollView, PageView, ExpansionTile, etc.", - "lever": 3, - "family": 0, - "linkIds": [ - 52, - 165 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do PageStorage", - "desc": [ - "【bucket】: Área de armazenamento 【PageStorageBucket】", - "【child】: Componente filho 【Widget】", - "Ao alternar a interface e inicializar componentes, o estado não será redefinido. Como no CountWidget, o componente filho precisa ler o estado do armazenamento durante a inicialização e escrever o estado no armazenamento ao alterar o estado. Além disso, se usar o MaterialApp, o PageStorage já está embutido, mas você também pode criar um PageStorage." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_ru_RU.json deleted file mode 100644 index 16b638c74..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_ru_RU.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 210, - "name": "PageStorage", - "localName": "Хранилище страниц", - "info": "Позволяет сохранять состояние страницы, чтобы оно сохранялось при переключении страниц. Используется в исходном коде в ScrollView, PageView, ExpansionTile и других.", - "lever": 3, - "family": 0, - "linkIds": [ - 52, - 165 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование PageStorage", - "desc": [ - "【bucket】 : Область хранения 【PageStorageBucket】", - "【child】: Дочерний компонент 【Widget】", - "При переключении интерфейса инициализация компонентов не сбрасывает состояние. Например, CountWidget, дочерний компонент должен читать состояние из хранилища при инициализации и записывать состояние в хранилище при изменении состояния. Кроме того, если вы используете MaterialApp, PageStorage уже встроен, но вы также можете создать PageStorage." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_zh-CN.json deleted file mode 100644 index f511ec008..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/desc_zh-CN.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 210, - "name": "PageStorage", - "localName": "页面存储器", - "info": "可以将页面状态进行存储,在切页时可以保持状态。源码中在ScrollView、PageView、ExpansionTile等皆有应用。", - "lever": 3, - "family": 0, - "linkIds": [ - 52, - 165 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PageStorage基本使用", - "desc": [ - "【bucket】 : 存储区 【PageStorageBucket】", - "【child】: 子组件 【Widget】", - "上面切换界面初始化组件时并不会将状态重置。如上CountWidget,子组件需要在初始化时从存储器中读取状态,在改变状态时将状态量写入存储器。另外,如果使用MaterialApp已经内置了PageStorage,不过你也可以创建PageStorage。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/node1_base.dart deleted file mode 100644 index 5f7cf6a96..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PageStorage/node1_base.dart +++ /dev/null @@ -1,109 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/8/14 -/// contact me by email 1981462002@qq.com - - -class PageStorageDemo extends StatefulWidget { - const PageStorageDemo({Key? key}) : super(key: key); - - @override - _PageStorageDemoState createState() => _PageStorageDemoState(); -} - -class _PageStorageDemoState extends State { - int _pageIndex = 0; - final PageStorageBucket _bucket = PageStorageBucket(); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: Scaffold( - body: PageStorage( - child: _buildContentByIndex(), - bucket: _bucket, - ), - bottomNavigationBar: BottomNavigationBar( - elevation: 0, - backgroundColor: Colors.blueAccent.withAlpha(55), - currentIndex: _pageIndex, - onTap: (int index) { - setState(() { - _pageIndex = index; - }); - }, - items: const [ - BottomNavigationBarItem( - icon: Icon(Icons.home), - label: 'Home', - ), - BottomNavigationBarItem( - icon: Icon(Icons.settings), - label: 'Setting', - ), - ], - ), - ), - ); - } - - Widget _buildContentByIndex() { - if (_pageIndex == 0) { - return const CountWidget(key: PageStorageKey('CountWidget1')); - } - - if (_pageIndex == 1) { - return const CountWidget(key: PageStorageKey('CountWidget2')); - } - - return ListView(); - } -} - -class CountWidget extends StatefulWidget { - const CountWidget({Key? key}) : super(key: key); - - @override - _CountWidgetState createState() => _CountWidgetState(); -} - -class _CountWidgetState extends State { - int _count = 0; - - @override - void initState() { - super.initState(); - _count = PageStorage.of(context)?.readState(context); - } - - @override - Widget build(BuildContext context) { - return Container( - alignment: Alignment.center, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text('点击了$_count次'), - MaterialButton( - onPressed: _addCount, - child: const Icon( - Icons.add, - color: Colors.white, - ), - color: Colors.green, - shape: const CircleBorder( - side: BorderSide(width: 2.0, color: Color(0xFFDFDFDF)), - )) - ], - ), - ); - } - - void _addCount() { - setState(() { - _count++; - PageStorage.of(context)?.writeState(context, _count); - }); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_de_DE.json deleted file mode 100644 index 68fa7dad6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_de_DE.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 36, - "name": "Placeholder", - "localName": "Platzhalter-Komponente", - "info": "Eine Platzhalter-Komponente mit einem Rechteck und einem Kreuz, bei der Farbe, Linienstärke, Breite, Höhe usw. angegeben werden können.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Eigenschaften des Platzhalters", - "desc": [ - "【color】: Farbe 【Color】", - "【strokeWidth】: Linienstärke 【double】" - ] - }, - { - "file": "node2_fallback.dart", - "name": "Fallback-Eigenschaften des Platzhalters", - "desc": [ - "Wenn der Bereich keine Breiten- und Höhenbeschränkungen hat, die Breite und Höhe der Platzhalter-Komponente.", - "【fallbackHeight】: Höhe 【double】", - "【fallbackWidth】: Breite 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_en_US.json deleted file mode 100644 index 2b9703837..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_en_US.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 36, - "name": "Placeholder", - "localName": "Placeholder Component", - "info": "A placeholder component with a rectangle and a cross, which can specify properties such as color, stroke width, width, and height.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Placeholder Basic Properties", - "desc": [ - "【color】: Color 【Color】", - "【strokeWidth】: Stroke Width 【double】" - ] - }, - { - "file": "node2_fallback.dart", - "name": "Placeholder Fallback Properties", - "desc": [ - "When there are no width and height constraints in the area, the width and height of the placeholder component.", - "【fallbackHeight】: Height 【double】", - "【fallbackWidth】: Width 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_es_ES.json deleted file mode 100644 index 95a7a9a55..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_es_ES.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 36, - "name": "Placeholder", - "localName": "Componente de marcador de posición", - "info": "Un componente de marcador de posición con un rectángulo y una cruz, que puede especificar propiedades como color, grosor de línea, ancho y alto.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propiedades básicas de Placeholder", - "desc": [ - "【color】: Color 【Color】", - "【strokeWidth】: Grosor de línea 【double】" - ] - }, - { - "file": "node2_fallback.dart", - "name": "Propiedades de fallback de Placeholder", - "desc": [ - "Cuando no hay restricciones de ancho y alto en el área, el ancho y alto del componente de marcador de posición.", - "【fallbackHeight】: Alto 【double】", - "【fallbackWidth】: Ancho 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_fr_FR.json deleted file mode 100644 index d9df0a99c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_fr_FR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 36, - "name": "Placeholder", - "localName": "Composant d'espace réservé", - "info": "Un composant d'espace réservé avec un rectangle et une croix, pouvant spécifier des propriétés telles que la couleur, l'épaisseur de la ligne, la largeur et la hauteur.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propriétés de base de Placeholder", - "desc": [ - "【color】: Couleur 【Color】", - "【strokeWidth】: Épaisseur de la ligne 【double】" - ] - }, - { - "file": "node2_fallback.dart", - "name": "Propriétés de fallback de Placeholder", - "desc": [ - "Lorsque la zone n'a pas de contraintes de largeur et de hauteur, la largeur et la hauteur du composant d'espace réservé.", - "【fallbackHeight】: Hauteur 【double】", - "【fallbackWidth】: Largeur 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_it_IT.json deleted file mode 100644 index 3b343b5d2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_it_IT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 36, - "name": "Placeholder", - "localName": "Componente segnaposto", - "info": "Un componente segnaposto con un rettangolo e una croce, che può specificare proprietà come colore, larghezza della linea, larghezza e altezza.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Proprietà di base del Placeholder", - "desc": [ - "【color】: Colore 【Color】", - "【strokeWidth】: Larghezza della linea 【double】" - ] - }, - { - "file": "node2_fallback.dart", - "name": "Proprietà fallback del Placeholder", - "desc": [ - "Quando non ci sono vincoli di larghezza e altezza nell'area, la larghezza e l'altezza del componente segnaposto.", - "【fallbackHeight】: Altezza 【double】", - "【fallbackWidth】: Larghezza 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_ja_JP.json deleted file mode 100644 index 295dc30f4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_ja_JP.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 36, - "name": "Placeholder", - "localName": "プレースホルダーコンポーネント", - "info": "矩形とバツ印のプレースホルダーコンポーネントで、色、線の太さ、幅と高さなどの属性を指定できます。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Placeholderの基本属性", - "desc": [ - "【color】: 色 【Color】", - "【strokeWidth】: 線の太さ 【double】" - ] - }, - { - "file": "node2_fallback.dart", - "name": "Placeholderのfallback属性", - "desc": [ - "エリアに幅と高さの制約がない場合のプレースホルダーコンポーネントの幅と高さ。", - "【fallbackHeight】: 高さ 【double】", - "【fallbackWidth】: 幅 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_ko_KR.json deleted file mode 100644 index fe00fc2dd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_ko_KR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 36, - "name": "Placeholder", - "localName": "플레이스홀더 컴포넌트", - "info": "사각형과 엑스 표시가 있는 플레이스홀더 컴포넌트로, 색상, 선 두께, 너비 및 높이 등의 속성을 지정할 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Placeholder 기본 속성", - "desc": [ - "【color】: 색상 【Color】", - "【strokeWidth】: 선 두께 【double】" - ] - }, - { - "file": "node2_fallback.dart", - "name": "Placeholder의 fallback 속성", - "desc": [ - "해당 영역에 너비와 높이 제약이 없을 때 플레이스홀더 컴포넌트의 너비와 높이.", - "【fallbackHeight】: 높이 【double】", - "【fallbackWidth】: 너비 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_pt_PT.json deleted file mode 100644 index a74137ffa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_pt_PT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 36, - "name": "Placeholder", - "localName": "Componente de Espaço Reservado", - "info": "Um componente de espaço reservado com um retângulo e um X, que permite especificar propriedades como cor, largura da linha, altura e largura.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Propriedades Básicas do Placeholder", - "desc": [ - "【color】: Cor 【Color】", - "【strokeWidth】: Espessura da Linha 【double】" - ] - }, - { - "file": "node2_fallback.dart", - "name": "Propriedades Fallback do Placeholder", - "desc": [ - "Quando a área não tem restrições de altura e largura, a altura e largura do componente de espaço reservado.", - "【fallbackHeight】: Altura 【double】", - "【fallbackWidth】: Largura 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_ru_RU.json deleted file mode 100644 index 51a976029..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_ru_RU.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 36, - "name": "Placeholder", - "localName": "Компонент-заглушка", - "info": "Прямоугольный компонент-заглушка с крестиком, можно указать цвет, толщину линии, ширину, высоту и другие свойства.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основные свойства Placeholder", - "desc": [ - "【color】: Цвет 【Color】", - "【strokeWidth】: Толщина линии 【double】" - ] - }, - { - "file": "node2_fallback.dart", - "name": "Свойства fallback Placeholder", - "desc": [ - "Ширина и высота компонента-заглушки, если в области нет ограничений по ширине и высоте.\"", - "【fallbackHeight】: Высота 【double】", - "【fallbackWidth】: Ширина 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_zh-CN.json deleted file mode 100644 index 00869967e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/desc_zh-CN.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 36, - "name": "Placeholder", - "localName": "占位组件", - "info": "一个矩形和叉叉的占位组件,可指定颜色、线宽、宽高等属性。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Placeholder基础属性", - "desc": [ - "【color】: 颜色 【Color】", - "【strokeWidth】: 线粗 【double】" - ] - }, - { - "file": "node2_fallback.dart", - "name": "Placeholder的fallback属性", - "desc": [ - "当所在区域无宽高约束时,占位组件的宽高。\"", - "【fallbackHeight】: 高 【double】", - "【fallbackWidth】: 宽 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/node1_base.dart deleted file mode 100644 index 560a8a2e6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/node1_base.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomPlaceholder extends StatelessWidget { - const CustomPlaceholder({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const SizedBox( - width: 100, - height: 100*0.618, - child: Placeholder( - color: Colors.orangeAccent, - strokeWidth: 2, - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/node2_fallback.dart b/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/node2_fallback.dart deleted file mode 100644 index 680283b51..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Placeholder/node2_fallback.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class FallbackPlaceholder extends StatelessWidget { - const FallbackPlaceholder({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const UnconstrainedBox( - child: Placeholder( - color: Colors.blue, - strokeWidth: 2, - fallbackHeight: 100, - fallbackWidth: 150, - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_de_DE.json deleted file mode 100644 index 63de5e989..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 159, - "name": "PositionedDirectional", - "localName": "Richtungsbasierte Positionierung", - "info": "Funktioniert wie die Positioned-Komponente, aber mit unterschiedlichen Eigenschaftsnamen. Kann nur in einem Stack verwendet werden und ermöglicht die präzise Platzierung einer Komponente durch Angabe der Abstände von oben, links, rechts und unten.", - "lever": 3, - "family": 0, - "linkIds": [ - 108, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von PositionedDirectional", - "desc": [ - "【child】 : Komponente 【Widget】", - "【top】 : Abstand zum oberen Rand des Elternelements 【double】", - "【end】 : Abstand zum rechten Rand des Elternelements 【double】", - "【start】 : Abstand zum linken Rand des Elternelements 【double】", - "【bottom】 : Abstand zum unteren Rand des Elternelements 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_en_US.json deleted file mode 100644 index 950dd6978..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 159, - "name": "PositionedDirectional", - "localName": "Directional Positioning", - "info": "Same functionality as the Positioned component, but with different property names. It can only be used in a Stack, allowing precise placement of a component by specifying distances from the top, left, right, and bottom.", - "lever": 3, - "family": 0, - "linkIds": [ - 108, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of PositionedDirectional", - "desc": [ - "【child】 : Component 【Widget】", - "【top】 : Distance to the top of the parent 【double】", - "【end】 : Distance to the right of the parent 【double】", - "【start】 : Distance to the left of the parent 【double】", - "【bottom】 : Distance to the bottom of the parent 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_es_ES.json deleted file mode 100644 index 8796fef0d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 159, - "name": "PositionedDirectional", - "localName": "Posicionamiento direccional", - "info": "Funciona igual que el componente Positioned, pero con nombres de propiedades diferentes. Solo se puede usar en Stack, y permite colocar un componente con precisión especificando las distancias desde la parte superior, inferior, izquierda y derecha.", - "lever": 3, - "family": 0, - "linkIds": [ - 108, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de PositionedDirectional", - "desc": [ - "【child】 : Componente 【Widget】", - "【top】 : Distancia desde la parte superior del padre 【double】", - "【end】 : Distancia desde la derecha del padre 【double】", - "【start】 : Distancia desde la izquierda del padre 【double】", - "【bottom】 : Distancia desde la parte inferior del padre 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_fr_FR.json deleted file mode 100644 index cf354b507..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 159, - "name": "PositionedDirectional", - "localName": "Positionnement directionnel", - "info": "Fonctionne comme le composant Positioned, mais avec des noms de propriétés différents. Ne peut être utilisé que dans une Stack, permet de positionner précisément un composant en spécifiant les distances par rapport au haut, à gauche, à droite et au bas.", - "lever": 3, - "family": 0, - "linkIds": [ - 108, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de PositionedDirectional", - "desc": [ - "【child】 : Composant 【Widget】", - "【top】 : Distance par rapport au haut du parent 【double】", - "【end】 : Distance par rapport à la droite du parent 【double】", - "【start】 : Distance par rapport à la gauche du parent 【double】", - "【bottom】 : Distance par rapport au bas du parent 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_it_IT.json deleted file mode 100644 index 6fb07841b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 159, - "name": "PositionedDirectional", - "localName": "Posizionamento Direzionale", - "info": "Funziona come il componente Positioned, ma con nomi di attributi diversi. Può essere utilizzato solo in Stack e consente di posizionare con precisione un componente specificando le distanze da sinistra, destra, alto e basso.", - "lever": 3, - "family": 0, - "linkIds": [ - 108, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Base di PositionedDirectional", - "desc": [ - "【child】 : Componente 【Widget】", - "【top】 : Distanza dal bordo superiore del genitore 【double】", - "【end】 : Distanza dal bordo destro del genitore 【double】", - "【start】 : Distanza dal bordo sinistro del genitore 【double】", - "【bottom】 : Distanza dal bordo inferiore del genitore 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_ja_JP.json deleted file mode 100644 index 63112a1ed..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 159, - "name": "PositionedDirectional", - "localName": "方向定位", - "info": "Positionedコンポーネントと同じ機能で、属性名が異なります。Stack内でのみ使用でき、左上右下の距離を指定してコンポーネントを正確に配置できます。", - "lever": 3, - "family": 0, - "linkIds": [ - 108, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PositionedDirectional基本使用", - "desc": [ - "【child】 : コンポーネント 【Widget】", - "【top】 : 親の上端までの距離 【double】", - "【end】 : 親の右端までの距離 【double】", - "【start】 : 親の左端までの距離 【double】", - "【bottom】 : 親の下端までの距離 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_ko_KR.json deleted file mode 100644 index b807c3b11..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 159, - "name": "PositionedDirectional", - "localName": "방향 위치 지정", - "info": "Positioned 컴포넌트와 기능이 동일하며, 속성 이름이 다릅니다. Stack에서만 사용할 수 있으며, 상하좌우 거리를 지정하여 특정 컴포넌트를 정확하게 배치할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [ - 108, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PositionedDirectional 기본 사용", - "desc": [ - "【child】 : 컴포넌트 【Widget】", - "【top】 : 부모 상단까지의 거리 【double】", - "【end】 : 부모 오른쪽까지의 거리 【double】", - "【start】 : 부모 왼쪽까지의 거리 【double】", - "【bottom】 : 부모 하단까지의 거리 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_pt_PT.json deleted file mode 100644 index b594afb36..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 159, - "name": "PositionedDirectional", - "localName": "Posicionamento Direcional", - "info": "Funciona da mesma forma que o componente Positioned, mas com nomes de propriedades diferentes. Só pode ser usado em Stack, e permite especificar distâncias de cima, esquerda, direita e baixo para posicionar um componente com precisão.", - "lever": 3, - "family": 0, - "linkIds": [ - 108, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de PositionedDirectional", - "desc": [ - "【child】 : Componente 【Widget】", - "【top】 : Distância até o topo do pai 【double】", - "【end】 : Distância até a direita do pai 【double】", - "【start】 : Distância até a esquerda do pai 【double】", - "【bottom】 : Distância até a base do pai 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_ru_RU.json deleted file mode 100644 index e0978368e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 159, - "name": "PositionedDirectional", - "localName": "Направленное позиционирование", - "info": "Функциональность аналогична компоненту Positioned, но с разными именами свойств. Может использоваться только в Stack, позволяет точно разместить компонент, указав расстояния до верха, низа, левого и правого краев.", - "lever": 3, - "family": 0, - "linkIds": [ - 108, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование PositionedDirectional", - "desc": [ - "【child】 : Компонент 【Widget】", - "【top】 : Расстояние до верхнего края родителя 【double】", - "【end】 : Расстояние до правого края родителя 【double】", - "【start】 : Расстояние до левого края родителя 【double】", - "【bottom】 : Расстояние до нижнего края родителя 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_zh-CN.json deleted file mode 100644 index 225dc9998..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 159, - "name": "PositionedDirectional", - "localName": "方向定位", - "info": "和Positioned组件功能一样,属性名不同。只能用于Stack中,可以指定左上右下的距离对某个组件进行位置精确安放。", - "lever": 3, - "family": 0, - "linkIds": [ - 108, - 122 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PositionedDirectional基本使用", - "desc": [ - "【child】 : 组件 【Widget】", - "【top】 : 到父顶距离 【double】", - "【end】 : 到父右距离 【double】", - "【start】 : 到父左距离 【double】", - "【bottom】 : 到父底距离 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/node1_base.dart deleted file mode 100644 index d918c053e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PositionedDirectional/node1_base.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class CustomPositionedDirectional extends StatelessWidget { - const CustomPositionedDirectional({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - Widget yellowBox = Container( - color: Colors.yellow, - height: 100, - width: 100, - ); - - Widget redBox = Container( - color: Colors.red, - height: 90, - width: 90, - ); - - Widget greenBox = Container( - color: Colors.green, - height: 80, - width: 80, - ); - - Widget cyanBox = Container( - color: Colors.cyanAccent, - height: 70, - width: 70, - ); - - return Container( - width: 200, - height: 120, - color: Colors.grey.withAlpha(33), - child: Stack( - children: [ - yellowBox, - redBox, - PositionedDirectional(top: 20, start: 20, child: greenBox), - PositionedDirectional( - child: cyanBox, - bottom: 10, - end: 10, - ) - ], - )); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_de_DE.json deleted file mode 100644 index 462a98c79..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_de_DE.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 204, - "name": "PreferredSize", - "localName": "Bevorzugte Größe", - "info": "Implementiert das PreferredSizeWidget-Interface, kann ein Kind-Widget aufnehmen, bevorzugte Größe festlegen und übt keine Einschränkungen auf sein Kind-Widget aus.", - "lever": 2, - "family": 0, - "linkIds": [ - 57, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PreferredSize passt die Höhe der AppBar an", - "desc": [ - "【preferredSize】 : Größe 【Size】" - ] - }, - { - "file": "node2_adapter.dart", - "name": "Umwandlung und Verwendung von PreferredSize", - "desc": [ - "【PreferredSize wandelt ein normales Widget in ein PreferredSizeWidget um" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_en_US.json deleted file mode 100644 index 9dfdf89e3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_en_US.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 204, - "name": "PreferredSize", - "localName": "Preferred Size", - "info": "Implements the PreferredSizeWidget interface, can contain a child component, sets the preferred size, and does not impose any constraints on its child component.", - "lever": 2, - "family": 0, - "linkIds": [ - 57, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Adjusting AppBar Height with PreferredSize", - "desc": [ - "【preferredSize】 : size 【Size】" - ] - }, - { - "file": "node2_adapter.dart", - "name": "Conversion and Usage of PreferredSize", - "desc": [ - "【PreferredSize converts a regular component into a PreferredSizeWidget" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_es_ES.json deleted file mode 100644 index eaa44d85b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_es_ES.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 204, - "name": "PreferredSize", - "localName": "Tamaño preferido", - "info": "Implementa la interfaz PreferredSizeWidget, puede contener un componente hijo, establece un tamaño preferido y no impone ninguna restricción a su componente hijo.", - "lever": 2, - "family": 0, - "linkIds": [ - 57, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Ajustar la altura de AppBar con PreferredSize", - "desc": [ - "【preferredSize】 : tamaño 【Size】" - ] - }, - { - "file": "node2_adapter.dart", - "name": "Uso de conversión de PreferredSize", - "desc": [ - "【PreferredSize convierte un componente normal en un PreferredSizeWidget" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_fr_FR.json deleted file mode 100644 index 24b4e2a25..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_fr_FR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 204, - "name": "PreferredSize", - "localName": "Taille préférée", - "info": "Implémente l'interface PreferredSizeWidget, peut contenir un composant enfant, définit une taille préférée et n'impose aucune contrainte à son composant enfant.", - "lever": 2, - "family": 0, - "linkIds": [ - 57, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Ajuster la hauteur de l'AppBar avec PreferredSize", - "desc": [ - "【preferredSize】 : taille 【Size】" - ] - }, - { - "file": "node2_adapter.dart", - "name": "Conversion et utilisation de PreferredSize", - "desc": [ - "【PreferredSize convertit un composant ordinaire en PreferredSizeWidget" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_it_IT.json deleted file mode 100644 index 280de33e7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_it_IT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 204, - "name": "PreferredSize", - "localName": "Dimensione Preferita", - "info": "Implementa l'interfaccia PreferredSizeWidget, può contenere un componente figlio, imposta una dimensione preferita e non applica alcun vincolo al suo componente figlio.", - "lever": 2, - "family": 0, - "linkIds": [ - 57, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Regolazione dell'altezza dell'AppBar con PreferredSize", - "desc": [ - "【preferredSize】 : dimensione 【Size】" - ] - }, - { - "file": "node2_adapter.dart", - "name": "Conversione e utilizzo di PreferredSize", - "desc": [ - "【PreferredSize converte un componente comune in un PreferredSizeWidget" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_ja_JP.json deleted file mode 100644 index 7e8a00689..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_ja_JP.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 204, - "name": "PreferredSize", - "localName": "優先サイズ", - "info": "PreferredSizeWidgetインターフェースを実装しており、子コンポーネントを収容し、優先サイズを設定しますが、子コンポーネントに制約を課しません。", - "lever": 2, - "family": 0, - "linkIds": [ - 57, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PreferredSizeでAppBarの高さを調整", - "desc": [ - "【preferredSize】 : サイズ 【Size】" - ] - }, - { - "file": "node2_adapter.dart", - "name": "PreferredSizeの変換と使用", - "desc": [ - "【PreferredSizeは通常のコンポーネントをPreferredSizeWidgetに変換します" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_ko_KR.json deleted file mode 100644 index 8d61e15ca..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_ko_KR.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 204, - "name": "PreferredSize", - "localName": "우선 크기", - "info": "PreferredSizeWidget 인터페이스를 구현하여 하나의 자식 위젯을 수용하고 우선 크기를 설정하며, 자식 위젯에 어떠한 제약도 가하지 않습니다.", - "lever": 2, - "family": 0, - "linkIds": [ - 57, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PreferredSize로 AppBar 높이 조정", - "desc": [ - "【preferredSize】 : 크기 【Size】" - ] - }, - { - "file": "node2_adapter.dart", - "name": "PreferredSize의 변환 사용", - "desc": [ - "【PreferredSize는 일반 위젯을 PreferredSizeWidget으로 변환합니다" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_pt_PT.json deleted file mode 100644 index 20c2181b8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_pt_PT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 204, - "name": "PreferredSize", - "localName": "Tamanho Preferido", - "info": "Implementa a interface PreferredSizeWidget, pode acomodar um componente filho, define o tamanho preferido e não impõe quaisquer restrições ao seu componente filho.", - "lever": 2, - "family": 0, - "linkIds": [ - 57, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Ajustar a altura do AppBar com PreferredSize", - "desc": [ - "【preferredSize】 : tamanho 【Size】" - ] - }, - { - "file": "node2_adapter.dart", - "name": "Conversão e uso do PreferredSize", - "desc": [ - "【PreferredSize converte um componente comum em PreferredSizeWidget" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_ru_RU.json deleted file mode 100644 index ded165f2f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_ru_RU.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 204, - "name": "PreferredSize", - "localName": "Предпочтительный размер", - "info": "Реализует интерфейс PreferredSizeWidget, может содержать дочерний компонент, устанавливает предпочтительный размер и не накладывает никаких ограничений на свои дочерние компоненты.", - "lever": 2, - "family": 0, - "linkIds": [ - 57, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Настройка высоты AppBar с помощью PreferredSize", - "desc": [ - "【preferredSize】 : размер 【Size】" - ] - }, - { - "file": "node2_adapter.dart", - "name": "Преобразование и использование PreferredSize", - "desc": [ - "【PreferredSize преобразует обычный компонент в PreferredSizeWidget" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_zh-CN.json deleted file mode 100644 index 77ca7e112..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/desc_zh-CN.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": 204, - "name": "PreferredSize", - "localName": "优先尺寸", - "info": "实现了PreferredSizeWidget接口,可容纳一个子组件,设置优先尺寸,不会对其子组件施加任何约束。", - "lever": 2, - "family": 0, - "linkIds": [ - 57, - 64 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "PreferredSize调整AppBar高度", - "desc": [ - "【preferredSize】 : 尺寸 【Size】" - ] - }, - { - "file": "node2_adapter.dart", - "name": "PreferredSize的转化使用", - "desc": [ - "【PreferredSize将普通组件转化为PreferredSizeWidget" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/node1_base.dart deleted file mode 100644 index 3879b6d30..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/node1_base.dart +++ /dev/null @@ -1,23 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/5/3 -/// contact me by email 1981462002@qq.com - -class CustomPreferredSize extends StatelessWidget { - const CustomPreferredSize({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: Scaffold( - appBar: PreferredSize( - preferredSize: const Size.fromHeight(150), - child: AppBar( - title: const Text('PreferredSize'), - ), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/node2_adapter.dart b/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/node2_adapter.dart deleted file mode 100644 index b68bf26cd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/PreferredSize/node2_adapter.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/5/3 -/// contact me by email 1981462002@qq.com - -class AdapterPreferredSize extends StatelessWidget { - const AdapterPreferredSize({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: Scaffold( - appBar: PreferredSize( - preferredSize: const Size.fromHeight(150), - child: AppBar( - title: const Text('PreferredSize'), - bottom: PreferredSize( - preferredSize: const Size.fromHeight(40), - child: Container( - height: 40, - color: Colors.orange, - ), - ), - ), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_de_DE.json deleted file mode 100644 index 191499f72..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_de_DE.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 19, - "name": "RadioListTile", - "localName": "Auswahlkachel", - "info": "Eine allgemeine Listenelementstruktur, die von Flutter bereitgestellt wird, mit einer mittel-rechten Struktur und einem Radio am Ende. Komponenten können an den entsprechenden Positionen eingefügt werden, wodurch spezifische Elemente leicht angepasst werden können.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RadioListTile benötigt einen generischen Typ T", - "desc": [ - "【value】 : Elementobjekt 【T】", - "【groupValue】 : Ausgewähltes Objekt 【T】", - "【selected】: Ob ausgewählt 【bool】", - "【secondary】: Rechte Komponente 【Widget】", - "【title】: Obere mittlere Komponente 【Widget】", - "【subtitle】: Untere mittlere Komponente 【Widget】", - "【onChanged】: Wechselereignis 【Function(T)】" - ] - }, - { - "file": "node2_dense.dart", - "name": "RadioListTile Auswahlfarbe und dichte Anordnung", - "desc": [ - "【activeColor】 : Farbe bei Auswahl 【Color】", - "【dense】: Ob dichte Anordnung 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_en_US.json deleted file mode 100644 index 5da2c4cd1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_en_US.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 19, - "name": "RadioListTile", - "localName": "Radio Tile", - "info": "A general list item structure provided by Flutter, with a middle-right structure, and a Radio at the end. Components can be inserted at corresponding positions, making it easy to handle specific items.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RadioListTile requires a generic type T", - "desc": [ - "【value】 : Item object 【T】", - "【groupValue】 : Selected object 【T】", - "【selected】: Whether selected 【bool】", - "【secondary】: Right component 【Widget】", - "【title】: Middle top component 【Widget】", - "【subtitle】: Middle bottom component 【Widget】", - "【onChanged】: Switch event 【Function(T)】" - ] - }, - { - "file": "node2_dense.dart", - "name": "RadioListTile selection color and dense layout", - "desc": [ - "【activeColor】 : Color when selected 【Color】", - "【dense】: Whether dense layout 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_es_ES.json deleted file mode 100644 index 4f1d55921..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_es_ES.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 19, - "name": "RadioListTile", - "localName": "Elemento de lista de radio", - "info": "Una estructura de elemento de lista genérica proporcionada por Flutter, con una estructura de centro-derecha y un Radio al final. Se pueden insertar componentes en las posiciones correspondientes, lo que permite manejar elementos específicos de manera conveniente.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RadioListTile requiere un tipo genérico T", - "desc": [ - "【value】 : Objeto del elemento 【T】", - "【groupValue】 : Objeto seleccionado 【T】", - "【selected】: Si está seleccionado 【bool】", - "【secondary】: Componente derecho 【Widget】", - "【title】: Componente superior central 【Widget】", - "【subtitle】: Componente inferior central 【Widget】", - "【onChanged】: Evento de cambio 【Function(T)】" - ] - }, - { - "file": "node2_dense.dart", - "name": "Color de selección y disposición densa de RadioListTile", - "desc": [ - "【activeColor】 : Color cuando está seleccionado 【Color】", - "【dense】: Si está en disposición densa 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_fr_FR.json deleted file mode 100644 index 80c5b656d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_fr_FR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 19, - "name": "RadioListTile", - "localName": "Tuile de bouton radio", - "info": "Une structure de liste générique fournie par Flutter, de structure centrale-droite, avec un bouton radio à la fin. Des composants peuvent être insérés aux positions appropriées, ce qui permet de répondre facilement à des entrées spécifiques.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RadioListTile nécessite un type générique T", - "desc": [ - "【value】 : objet de l'entrée 【T】", - "【groupValue】 : objet sélectionné 【T】", - "【selected】: si sélectionné 【bool】", - "【secondary】: composant droit 【Widget】", - "【title】: composant supérieur central 【Widget】", - "【subtitle】: composant inférieur central 【Widget】", - "【onChanged】: événement de bascule 【Function(T)】" - ] - }, - { - "file": "node2_dense.dart", - "name": "Couleur de sélection et alignement serré de RadioListTile", - "desc": [ - "【activeColor】 : couleur lors de la sélection 【Color】", - "【dense】: si alignement serré 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_it_IT.json deleted file mode 100644 index 7f1f85e33..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_it_IT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 19, - "name": "RadioListTile", - "localName": "Piastrella Radio", - "info": "Una struttura di elenco generica fornita da Flutter, con una struttura centrale-destra, e una Radio alla fine. I componenti possono essere inseriti nelle posizioni corrispondenti, rendendo facile adattarsi a voci specifiche.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RadioListTile richiede un tipo generico T", - "desc": [ - "【value】 : oggetto voce 【T】", - "【groupValue】 : oggetto selezionato 【T】", - "【selected】: se selezionato 【bool】", - "【secondary】: componente a destra 【Widget】", - "【title】: componente superiore centrale 【Widget】", - "【subtitle】: componente inferiore centrale 【Widget】", - "【onChanged】: evento di cambio 【Function(T)】" - ] - }, - { - "file": "node2_dense.dart", - "name": "Colore selezionato e disposizione compatta di RadioListTile", - "desc": [ - "【activeColor】 : colore quando selezionato 【Color】", - "【dense】: se disposto in modo compatto 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_ja_JP.json deleted file mode 100644 index e37e7747d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_ja_JP.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 19, - "name": "RadioListTile", - "localName": "ラジオタイル", - "info": "Flutterが提供する一般的なリストアイテム構造で、中央右構造で、末尾にラジオがあります。対応する位置にコンポーネントを挿入でき、特定のアイテムに簡単に対応できます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RadioListTileはジェネリック型Tを必要とします", - "desc": [ - "【value】 : アイテムオブジェクト 【T】", - "【groupValue】 : 選択オブジェクト 【T】", - "【selected】: 選択されているかどうか 【bool】", - "【secondary】: 右側のコンポーネント 【Widget】", - "【title】: 中央上部のコンポーネント 【Widget】", - "【subtitle】: 中央下部のコンポーネント 【Widget】", - "【onChanged】: 切り替えイベント 【Function(T)】" - ] - }, - { - "file": "node2_dense.dart", - "name": "RadioListTileの選択色と密排", - "desc": [ - "【activeColor】 : 選択時の色 【Color】", - "【dense】: 密排かどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_ko_KR.json deleted file mode 100644 index 1deb0e6a0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_ko_KR.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 19, - "name": "RadioListTile", - "localName": "라디오 타일", - "info": "Flutter에서 제공하는 일반적인 목록 항목 구조로, 중앙-오른쪽 구조이며 끝에 라디오 버튼이 있습니다. 해당 위치에 컴포넌트를 삽입할 수 있어 특정 항목에 쉽게 대응할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RadioListTile은 제네릭 T가 필요합니다", - "desc": [ - "【value】 : 항목 객체 【T】", - "【groupValue】 : 선택된 객체 【T】", - "【selected】: 선택 여부 【bool】", - "【secondary】: 오른쪽 컴포넌트 【Widget】", - "【title】: 중앙 상단 컴포넌트 【Widget】", - "【subtitle】: 중앙 하단 컴포넌트 【Widget】", - "【onChanged】: 전환 이벤트 【Function(T)】" - ] - }, - { - "file": "node2_dense.dart", - "name": "RadioListTile 선택 색상 및 밀집 배치", - "desc": [ - "【activeColor】 : 선택 시 색상 【Color】", - "【dense】: 밀집 배치 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_pt_PT.json deleted file mode 100644 index 708dd9bc0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_pt_PT.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 19, - "name": "RadioListTile", - "localName": "Azulejo de Rádio", - "info": "Uma estrutura de item de lista genérica fornecida pelo Flutter, com uma estrutura de centro-direita, e um Rádio na extremidade. Componentes podem ser inseridos nas posições correspondentes, o que permite lidar facilmente com itens específicos.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RadioListTile requer um tipo genérico T", - "desc": [ - "【value】 : objeto do item 【T】", - "【groupValue】 : objeto selecionado 【T】", - "【selected】: está selecionado 【bool】", - "【secondary】: componente à direita 【Widget】", - "【title】: componente superior no centro 【Widget】", - "【subtitle】: componente inferior no centro 【Widget】", - "【onChanged】: evento de alternância 【Function(T)】" - ] - }, - { - "file": "node2_dense.dart", - "name": "Cor de seleção e disposição densa do RadioListTile", - "desc": [ - "【activeColor】 : cor quando selecionado 【Color】", - "【dense】: disposição densa 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_ru_RU.json deleted file mode 100644 index b4a2d170d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_ru_RU.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 19, - "name": "RadioListTile", - "localName": "Плитка с радиокнопкой", - "info": "Универсальная структура элемента списка, предоставляемая Flutter, имеет структуру с центром справа, в конце которой находится радиокнопка. В соответствующие позиции можно вставлять компоненты, что позволяет легко адаптироваться к определенным элементам.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RadioListTile требует обобщенный тип T", - "desc": [ - "【value】 : объект элемента 【T】", - "【groupValue】 : выбранный объект 【T】", - "【selected】: выбран ли элемент 【bool】", - "【secondary】: правый компонент 【Widget】", - "【title】: верхний центральный компонент 【Widget】", - "【subtitle】: нижний центральный компонент 【Widget】", - "【onChanged】: событие переключения 【Function(T)】" - ] - }, - { - "file": "node2_dense.dart", - "name": "Цвет выбора и плотное расположение RadioListTile", - "desc": [ - "【activeColor】 : цвет при выборе 【Color】", - "【dense】: плотное расположение 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_zh-CN.json deleted file mode 100644 index 814244243..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/desc_zh-CN.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": 19, - "name": "RadioListTile", - "localName": "选钮瓦片", - "info": "Flutter提供的一个通用列表条目结构,为中右结构,尾部是一个Radio。相应位置可插入组件,可以很方便地应对特定的条目。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RadioListTile需要一个泛型T", - "desc": [ - "【value】 : 条目对象 【T】", - "【groupValue】 : 选中对象 【T】", - "【selected】: 是否选中 【bool】", - "【secondary】: 右侧组件 【Widget】", - "【title】: 中间上组件 【Widget】", - "【subtitle】: 中间下组件 【Widget】", - "【onChanged】: 切换事件 【Function(T)】" - ] - }, - { - "file": "node2_dense.dart", - "name": "RadioListTile选中色和密排", - "desc": [ - "【activeColor】 : 选中时颜色 【Color】", - "【dense】: 是否密排 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/node1_base.dart deleted file mode 100644 index 9e32a0cf7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/node1_base.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - - -enum ItemType { - java, - kotlin, - dart, -} - -class ItemBean { - final String title; - final String subTitle; - final String imgUrl; - - ItemBean(this.title, this.subTitle, this.imgUrl); -} - -class CustomRadioListTile extends StatefulWidget { - const CustomRadioListTile({Key? key}) : super(key: key); - - @override - _CustomRadioListTileState createState() => _CustomRadioListTileState(); -} - -class _CustomRadioListTileState extends State { - final Map languages = { - ItemType.java: - ItemBean("Java", "曾经世界上最流行的语言", "assets/images/java.webp"), - ItemType.kotlin: - ItemBean("Kotlin", "未来世界上最流行的语言", "assets/images/kotlin.webp"), - ItemType.dart: - ItemBean("Dart", "世界上最优雅的语言", "assets/images/dart.webp"), - }; - ItemType _type = ItemType.java; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.grey.withAlpha(11), - child: Column( - mainAxisSize: MainAxisSize.min, - children: languages.keys - .map((type) => RadioListTile( - value: type, - groupValue: _type, - title: Text(languages[type]!.title), - subtitle: Text(languages[type]!.subTitle), - selected: _type == type, - secondary: CircleAvatar( - backgroundImage: AssetImage(languages[type]!.imgUrl), - ), - onChanged: (ItemType? type) => setState(() => _type = type?? _type), - )) - .toList()), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/node2_dense.dart b/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/node2_dense.dart deleted file mode 100644 index dcbd3e3c0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RadioListTile/node2_dense.dart +++ /dev/null @@ -1,61 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - - -enum ItemType { - java, - kotlin, - dart, -} - -class ItemBean { - final String title; - final String subTitle; - final String imgUrl; - - ItemBean(this.title, this.subTitle, this.imgUrl); -} - -class DenseRadioListTile extends StatefulWidget { - const DenseRadioListTile({Key? key}) : super(key: key); - - @override - _DenseRadioListTileState createState() => _DenseRadioListTileState(); -} - -class _DenseRadioListTileState extends State { - final Map languages = { - ItemType.java: ItemBean("Java", "曾经世界上最流行的语言", "assets/images/java.webp"), - ItemType.kotlin: - ItemBean("Kotlin", "未来世界上最流行的语言", "assets/images/kotlin.webp"), - ItemType.dart: ItemBean("Dart", "世界上最优雅的语言", "assets/images/dart.webp"), - }; - ItemType _type = ItemType.java; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.grey.withAlpha(11), - child: Column( - mainAxisSize: MainAxisSize.min, - children: languages.keys - .map((type) => RadioListTile( - value: type, - groupValue: _type, - title: Text(languages[type]!.title), - activeColor: Colors.orangeAccent, - dense: true, - subtitle: Text(languages[type]!.subTitle), - selected: _type == type, - secondary: CircleAvatar( - backgroundImage: AssetImage(languages[type]!.imgUrl), - ), - onChanged: (ItemType? type) => - setState(() => _type = type ?? _type), - )) - .toList()), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_de_DE.json deleted file mode 100644 index f18bf9939..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_de_DE.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 26, - "name": "RaisedButton", - "localName": "Erhobener Button", - "info": "Ein Button mit Schatten, basierend auf MaterialButton, alle Eigenschaften ähneln MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 25, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RaisedButton Klick-Ereignis", - "desc": [ - "【color】: Farbe 【Color】", - "【splashColor】: Wasserwellenfarbe 【Color】", - "【elevation】: Schattentiefe 【double】", - "【child】: Untergeordnete Komponente 【Widget】", - "【textColor】: Textfarbe der Untergeordneten Komponente 【Color】", - "【highlightColor】: Hervorhebungsfarbe bei langem Drücken 【Color】", - "【padding】: Innenabstand 【EdgeInsetsGeometry】", - "【onPressed】: Klick-Ereignis 【Function】", - " ", - "", - "class CustomRaisedButton extends StatelessWidget {", - " const CustomRaisedButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'RaisedButton wurde in Flutter 3.3 aus dem Verkehr gezogen. Der Ersatz ist der ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return RaisedButton(", - " color: Colors.blue,", - " splashColor: Colors.green,", - " onPressed: () {,", - " child: const Text(\"RaisedButton\"),", - " textColor: const Color(0xffFfffff),", - " padding: const EdgeInsets.all(8),", - " elevation: 5,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_en_US.json deleted file mode 100644 index 44af003d6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_en_US.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 26, - "name": "RaisedButton", - "localName": "Raised Button", - "info": "A raised button with shadow, implemented based on MaterialButton, with all properties similar to MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 25, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RaisedButton Click Event", - "desc": [ - "【color】: Color 【Color】", - "【splashColor】: Ripple Color 【Color】", - "【elevation】: Shadow Depth 【double】", - "【child】: Child Widget 【Widget】", - "【textColor】: Child Widget Text Color 【Color】", - "【highlightColor】: Long Press Highlight Color 【Color】", - "【padding】: Padding 【EdgeInsetsGeometry】", - "【onPressed】: Click Event 【Function】", - " ", - "", - "class CustomRaisedButton extends StatelessWidget {", - " const CustomRaisedButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'RaisedButton button has exited the stage in Flutter 3.3. The replacement is the ElevatedButton button.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return RaisedButton(", - " color: Colors.blue,", - " splashColor: Colors.green,", - " onPressed: () {,", - " child: const Text(\"RaisedButton\"),", - " textColor: const Color(0xffFfffff),", - " padding: const EdgeInsets.all(8),", - " elevation: 5,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_es_ES.json deleted file mode 100644 index ed720d07d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_es_ES.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 26, - "name": "RaisedButton", - "localName": "Botón elevado", - "info": "Un botón elevado con sombra, implementado basado en MaterialButton, todas las propiedades son similares a MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 25, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de clic de RaisedButton", - "desc": [ - "【color】: Color 【Color】", - "【splashColor】: Color de la onda 【Color】", - "【elevation】: Profundidad de la sombra 【double】", - "【child】: Widget hijo 【Widget】", - "【textColor】: Color del texto del widget hijo 【Color】", - "【highlightColor】: Color de resaltado al mantener presionado 【Color】", - "【padding】: Relleno interno 【EdgeInsetsGeometry】", - "【onPressed】: Evento de clic 【Function】", - " ", - "", - "class CustomRaisedButton extends StatelessWidget {", - " const CustomRaisedButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'El botón RaisedButton ha dejado de usarse a partir de Flutter 3.3. Su reemplazo es el botón ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return RaisedButton(", - " color: Colors.blue,", - " splashColor: Colors.green,", - " onPressed: () {,", - " child: const Text(\"RaisedButton\"),", - " textColor: const Color(0xffFfffff),", - " padding: const EdgeInsets.all(8),", - " elevation: 5,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_fr_FR.json deleted file mode 100644 index 27552483f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_fr_FR.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 26, - "name": "RaisedButton", - "localName": "Bouton surélevé", - "info": "Bouton surélevé avec ombre, basé sur MaterialButton, toutes les propriétés sont similaires à MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 25, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Événement de clic sur RaisedButton", - "desc": [ - "【color】: Couleur 【Color】", - "【splashColor】: Couleur de l'effet de vague 【Color】", - "【elevation】: Profondeur de l'ombre 【double】", - "【child】: Composant enfant 【Widget】", - "【textColor】: Couleur du texte du composant enfant 【Color】", - "【highlightColor】: Couleur de surbrillance lors d'un appui long 【Color】", - "【padding】: Marge intérieure 【EdgeInsetsGeometry】", - "【onPressed】: Événement de clic 【Function】", - " ", - "", - "class CustomRaisedButton extends StatelessWidget {", - " const CustomRaisedButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'Le bouton RaisedButton a quitté la scène historique avec Flutter 3.3. Il est remplacé par le bouton ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return RaisedButton(", - " color: Colors.blue,", - " splashColor: Colors.green,", - " onPressed: () {,", - " child: const Text(\"RaisedButton\"),", - " textColor: const Color(0xffFfffff),", - " padding: const EdgeInsets.all(8),", - " elevation: 5,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_it_IT.json deleted file mode 100644 index c2a30a3ab..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_it_IT.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 26, - "name": "RaisedButton", - "localName": "Pulsante sollevato", - "info": "Un pulsante sollevato con ombre, basato su MaterialButton, con proprietà simili a MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 25, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento di clic di RaisedButton", - "desc": [ - "【color】: Colore 【Color】", - "【splashColor】: Colore dell'effetto splash 【Color】", - "【elevation】: Profondità dell'ombra 【double】", - "【child】: Widget figlio 【Widget】", - "【textColor】: Colore del testo del widget figlio 【Color】", - "【highlightColor】: Colore di evidenziazione durante il press lungo 【Color】", - "【padding】: Spaziatura interna 【EdgeInsetsGeometry】", - "【onPressed】: Evento di clic 【Function】", - " ", - "", - "class CustomRaisedButton extends StatelessWidget {", - " const CustomRaisedButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'Il pulsante RaisedButton è uscito di scena in Flutter 3.3. Il suo sostituto è il pulsante ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return RaisedButton(", - " color: Colors.blue,", - " splashColor: Colors.green,", - " onPressed: () {,", - " child: const Text(\"RaisedButton\"),", - " textColor: const Color(0xffFfffff),", - " padding: const EdgeInsets.all(8),", - " elevation: 5,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_ja_JP.json deleted file mode 100644 index 9e5f8b39a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_ja_JP.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 26, - "name": "RaisedButton", - "localName": "浮き上がるボタン", - "info": "影付きの浮き上がるボタンで、MaterialButtonを基に実装されています。すべてのプロパティはMaterialButtonと同様です。", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 25, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RaisedButtonクリックイベント", - "desc": [ - "【color】: 色 【Color】", - "【splashColor】: 波紋の色 【Color】", - "【elevation】: 影の深さ 【double】", - "【child】: 子ウィジェット 【Widget】", - "【textColor】: 子ウィジェットのテキスト色 【Color】", - "【highlightColor】: 長押し時のハイライト色 【Color】", - "【padding】: パディング 【EdgeInsetsGeometry】", - "【onPressed】: クリックイベント 【Function】", - " ", - "", - "class CustomRaisedButton extends StatelessWidget {", - " const CustomRaisedButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'RaisedButton ボタンは Flutter3.3 で歴史の舞台から退きました。代替として ElevatedButton ボタンがあります。';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return RaisedButton(", - " color: Colors.blue,", - " splashColor: Colors.green,", - " onPressed: () {,", - " child: const Text(\"RaisedButton\"),", - " textColor: const Color(0xffFfffff),", - " padding: const EdgeInsets.all(8),", - " elevation: 5,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_ko_KR.json deleted file mode 100644 index a23105c74..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_ko_KR.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 26, - "name": "RaisedButton", - "localName": "떠오르는 버튼", - "info": "그림자가 있는 떠오르는 버튼, MaterialButton을 기반으로 구현되었으며 모든 속성은 MaterialButton과 유사합니다.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 25, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RaisedButton 클릭 이벤트", - "desc": [ - "【color】: 색상 【Color】", - "【splashColor】: 물결 효과 색상 【Color】", - "【elevation】: 그림자 깊이 【double】", - "【child】: 자식 위젯 【Widget】", - "【textColor】: 자식 위젯 텍스트 색상 【Color】", - "【highlightColor】: 길게 누를 때 강조 색상 【Color】", - "【padding】: 안쪽 여백 【EdgeInsetsGeometry】", - "【onPressed】: 클릭 이벤트 【Function】", - " ", - "", - "class CustomRaisedButton extends StatelessWidget {", - " const CustomRaisedButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'RaisedButton 버튼은 Flutter3.3에서 역사의 뒤안길로 사라졌습니다. 대체 버튼은 ElevatedButton입니다.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return RaisedButton(", - " color: Colors.blue,", - " splashColor: Colors.green,", - " onPressed: () {,", - " child: const Text(\"RaisedButton\"),", - " textColor: const Color(0xffFfffff),", - " padding: const EdgeInsets.all(8),", - " elevation: 5,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_pt_PT.json deleted file mode 100644 index 40fb855cf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_pt_PT.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 26, - "name": "RaisedButton", - "localName": "Botão Elevado", - "info": "Um botão elevado com sombra, baseado no MaterialButton, com todas as propriedades semelhantes ao MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 25, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Evento de Clique do RaisedButton", - "desc": [ - "【color】: Cor 【Color】", - "【splashColor】: Cor do efeito de onda 【Color】", - "【elevation】: Profundidade da sombra 【double】", - "【child】: Widget filho 【Widget】", - "【textColor】: Cor do texto do widget filho 【Color】", - "【highlightColor】: Cor de destaque ao pressionar 【Color】", - "【padding】: Espaçamento interno 【EdgeInsetsGeometry】", - "【onPressed】: Evento de clique 【Function】", - " ", - "", - "class CustomRaisedButton extends StatelessWidget {", - " const CustomRaisedButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'O botão RaisedButton foi descontinuado no Flutter 3.3. O substituto é o botão ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return RaisedButton(", - " color: Colors.blue,", - " splashColor: Colors.green,", - " onPressed: () {,", - " child: const Text(\"RaisedButton\"),", - " textColor: const Color(0xffFfffff),", - " padding: const EdgeInsets.all(8),", - " elevation: 5,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_ru_RU.json deleted file mode 100644 index fccd3d2ea..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_ru_RU.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 26, - "name": "RaisedButton", - "localName": "Кнопка с тенью", - "info": "Кнопка с тенью, реализованная на основе MaterialButton, все свойства аналогичны MaterialButton.", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 25, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Событие нажатия RaisedButton", - "desc": [ - "【color】: Цвет 【Color】", - "【splashColor】: Цвол водной ряби 【Color】", - "【elevation】: Глубина тени 【double】", - "【child】: Дочерний виджет 【Widget】", - "【textColor】: Цвет текста дочернего виджета 【Color】", - "【highlightColor】: Цвет подсветки при длительном нажатии 【Color】", - "【padding】: Внутренние отступы 【EdgeInsetsGeometry】", - "【onPressed】: Событие нажатия 【Function】", - " ", - "", - "class CustomRaisedButton extends StatelessWidget {", - " const CustomRaisedButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'Кнопка RaisedButton ушла с исторической сцены в Flutter 3.3. Её заменила кнопка ElevatedButton.';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return RaisedButton(", - " color: Colors.blue,", - " splashColor: Colors.green,", - " onPressed: () {,", - " child: const Text(\"RaisedButton\"),", - " textColor: const Color(0xffFfffff),", - " padding: const EdgeInsets.all(8),", - " elevation: 5,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_zh-CN.json deleted file mode 100644 index e1cac5feb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/desc_zh-CN.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "id": 26, - "name": "RaisedButton", - "localName": "浮起按钮", - "info": "有阴影的浮起按钮,基于MaterialButton实现,所有属性和MaterialButton类似。", - "lever": 3, - "family": 0, - "deprecated": -1, - "linkIds": [ - 24, - 25, - 27, - 175 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RaisedButton点击事件", - "desc": [ - "【color】: 颜色 【Color】", - "【splashColor】: 水波纹颜色 【Color】", - "【elevation】: 影深 【double】", - "【child】: 子组件 【Widget】", - "【textColor】: 子组件文字颜色 【Color】", - "【highlightColor】: 长按高亮色 【Color】", - "【padding】: 内边距 【EdgeInsetsGeometry】", - "【onPressed】: 点击事件 【Function】", - " ", - "", - "class CustomRaisedButton extends StatelessWidget {", - " const CustomRaisedButton({Key? key) : super(key: key);", - "", - " final String info =", - " 'RaisedButton 按钮于 Flutter3.3 退出历史舞台。取代者为 ElevatedButton 按钮。';", - "", - " @override", - " Widget build(BuildContext context) {", - " return Container(", - " color: Colors.blue.withOpacity(0.1),", - " padding: const EdgeInsets.all(10),", - " margin: const EdgeInsets.all(10),", - " child: Text(info),", - " );", - " ", - "", - " @override", - " Widget build(BuildContext context) {", - " return RaisedButton(", - " color: Colors.blue,", - " splashColor: Colors.green,", - " onPressed: () {,", - " child: const Text(\"RaisedButton\"),", - " textColor: const Color(0xffFfffff),", - " padding: const EdgeInsets.all(8),", - " elevation: 5,", - " highlightColor: const Color(0xffF88B0A)," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/node1_base.dart deleted file mode 100644 index f8123b6a3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RaisedButton/node1_base.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class CustomRaisedButton extends StatelessWidget { - const CustomRaisedButton({Key? key}) : super(key: key); - - final String info = - 'RaisedButton 按钮于 Flutter3.3 退出历史舞台。取代者为 ElevatedButton 按钮。'; - - @override - Widget build(BuildContext context) { - return Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_de_DE.json deleted file mode 100644 index 8ebab7344..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 360, - "name": "RawMagnifier", - "localName": "Originalle Lupe", - "info": "Eine Lupe, die jede Komponente darunter vergrößern kann. Kann Eigenschaften wie Dekorationsform, Größe, Versatz usw. festlegen.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Einfache Verwendung von RawMagnifier", - "desc": [ - "【size】: Größe 【Size】", - "【magnificationScale】: Vergrößerungsmaßstab 【double】", - "【focalPointOffset】: Versatz des vergrößerten Inhalts 【Offset】", - "【decoration】: Dekoration entdecken 【MagnifierDecoration】", - "【child】: Untergeordnete Komponente 【Widget?】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Benutzerdefinierte Dekorationsform für RawMagnifier", - "desc": [ - "Hier wird eine benutzerdefinierte fünfzackige Dekorationsform erstellt" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_en_US.json deleted file mode 100644 index 0000d3448..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 360, - "name": "RawMagnifier", - "localName": "Original Magnifier", - "info": "A magnifier that can magnify any component below it. Properties such as decoration shape, size, offset, etc., can be set.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Simple use of RawMagnifier", - "desc": [ - "【size】: Size 【Size】", - "【magnificationScale】: Magnification 【double】", - "【focalPointOffset】: Magnification content offset 【Offset】", - "【decoration】: Decoration 【MagnifierDecoration】", - "【child】: Child component 【Widget?】" - ] - }, - { - "file": "node2_shape.dart", - "name": "Custom decoration shape for RawMagnifier", - "desc": [ - "Customize the five-pointed star decoration shape here" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_es_ES.json deleted file mode 100644 index f9ddd7fa0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 360, - "name": "RawMagnifier", - "localName": "Lupa original", - "info": "Una lupa que puede ampliar cualquier componente debajo, permite configurar propiedades como la forma de decoración, tamaño, desplazamiento, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de RawMagnifier", - "desc": [ - "【size】: Tamaño 【Size】", - "【magnificationScale】: Escala de ampliación 【double】", - "【focalPointOffset】: Desplazamiento del contenido ampliado 【Offset】", - "【decoration】: Decoración de la lupa 【MagnifierDecoration】", - "【child】: Componente hijo 【Widget?】," - ] - }, - { - "file": "node2_shape.dart", - "name": "Forma de decoración personalizada de RawMagnifier", - "desc": [ - "Aquí se personaliza la forma de decoración en estrella de cinco puntas" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_fr_FR.json deleted file mode 100644 index 7238b8f70..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 360, - "name": "RawMagnifier", - "localName": "Loupe brute", - "info": "Une loupe qui peut agrandir n'importe quel composant en dessous, avec des propriétés réglables telles que la forme de décoration, la taille, le décalage, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation simple de RawMagnifier", - "desc": [ - "【size】 : Taille 【Size】", - "【magnificationScale】 : Échelle de grossissement 【double】", - "【focalPointOffset】: Décalage du point focal 【Offset】", - "【decoration】: Décoration de découverte 【MagnifierDecoration】", - "【child】: Composant enfant 【Widget?】," - ] - }, - { - "file": "node2_shape.dart", - "name": "Forme de décoration personnalisée de RawMagnifier", - "desc": [ - "Ici, une forme de décoration en étoile à cinq branches personnalisée" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_it_IT.json deleted file mode 100644 index d8de73b79..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 360, - "name": "RawMagnifier", - "localName": "Lente d'ingrandimento originale", - "info": "Una lente d'ingrandimento che può ingrandire qualsiasi componente sottostante, con proprietà come forma decorativa, dimensioni, offset, ecc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso semplice di RawMagnifier", - "desc": [ - "【size】 : Dimensioni 【Size】", - "【magnificationScale】 : Fattore di ingrandimento 【double】", - "【focalPointOffset】: Offset del contenuto ingrandito 【Offset】", - "【decoration】: Decorazione scoperta 【MagnifierDecoration】", - "【child】: Componente figlio 【Widget?】," - ] - }, - { - "file": "node2_shape.dart", - "name": "Forma decorativa personalizzata di RawMagnifier", - "desc": [ - "Qui viene personalizzata la forma decorativa a stella a cinque punte" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_ja_JP.json deleted file mode 100644 index 363187ab4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 360, - "name": "RawMagnifier", - "localName": "原拡大鏡", - "info": "任意のコンポーネントを拡大する拡大鏡で、装飾形状、サイズ、オフセットなどのプロパティを設定できます。", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawMagnifier の簡単な使用", - "desc": [ - "【size】 : サイズ 【Size】", - "【magnificationScale】 : 倍率 【double】", - "【focalPointOffset】: 拡大内容のオフセット 【Offset】", - "【decoration】: 装飾を発見 【MagnifierDecoration】", - "【child】: 子コンポーネント 【Widget?】," - ] - }, - { - "file": "node2_shape.dart", - "name": "RawMagnifier カスタム装飾形状", - "desc": [ - "ここで五角形の装飾形状をカスタマイズします" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_ko_KR.json deleted file mode 100644 index 3f6e40366..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 360, - "name": "RawMagnifier", - "localName": "원 확대경", - "info": "아래의 임의의 컴포넌트를 확대할 수 있는 확대경으로, 장식 모양, 크기, 오프셋 등의 속성을 설정할 수 있습니다.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawMagnifier의 간단한 사용", - "desc": [ - "【size】 : 크기 【Size】", - "【magnificationScale】 : 확대 배율 【double】", - "【focalPointOffset】: 확대 내용 오프셋 【Offset】", - "【decoration】: 장식 발견 【MagnifierDecoration】", - "【child】: 자식 컴포넌트 【Widget?】," - ] - }, - { - "file": "node2_shape.dart", - "name": "RawMagnifier 사용자 정의 장식 모양", - "desc": [ - "여기서 사용자 정의 오각형 장식 모양" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_pt_PT.json deleted file mode 100644 index fab2680dc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 360, - "name": "RawMagnifier", - "localName": "Lupa Original", - "info": "Uma lupa que pode ampliar qualquer componente abaixo, com propriedades configuráveis como forma de decoração, tamanho, deslocamento, etc.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso simples do RawMagnifier", - "desc": [ - "【size】 : Tamanho 【Size】", - "【magnificationScale】 : Escala de ampliação 【double】", - "【focalPointOffset】: Deslocamento do conteúdo ampliado 【Offset】", - "【decoration】: Decoração descoberta 【MagnifierDecoration】", - "【child】: Componente filho 【Widget?】," - ] - }, - { - "file": "node2_shape.dart", - "name": "Forma de decoração personalizada do RawMagnifier", - "desc": [ - "Aqui, personaliza-se a forma de decoração em estrela de cinco pontas" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_ru_RU.json deleted file mode 100644 index 43de5b17c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 360, - "name": "RawMagnifier", - "localName": "Исходная лупа", - "info": "Лупа, которая может увеличивать любой компонент под ней, можно настроить такие свойства, как форма декора, размер, смещение и т.д.", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Простое использование RawMagnifier", - "desc": [ - "【size】 : Размер 【Size】", - "【magnificationScale】 : Увеличение 【double】", - "【focalPointOffset】: Смещение увеличенного содержимого 【Offset】", - "【decoration】: Обнаружение декора 【MagnifierDecoration】", - "【child】: Дочерний компонент 【Widget?】," - ] - }, - { - "file": "node2_shape.dart", - "name": "Пользовательская форма декора RawMagnifier", - "desc": [ - "Здесь пользовательская форма декора в виде пятиконечной звезды" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_zh-CN.json deleted file mode 100644 index 0eb7cf711..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 360, - "name": "RawMagnifier", - "localName": "原放大镜", - "info": "一个可以放大下方任意组件的放大镜,可以设置装饰形状、尺寸、偏移量等属性。", - "lever": 4, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "RawMagnifier 的简单使用", - "desc": [ - "【size】 : 尺寸 【Size】", - "【magnificationScale】 : 放大倍率 【double】", - "【focalPointOffset】: 放大内容偏移量 【Offset】", - "【decoration】: 发现装饰 【MagnifierDecoration】", - "【child】: 子组件 【Widget?】," - ] - }, - { - "file": "node2_shape.dart", - "name": "RawMagnifier 自定义装饰形状", - "desc": [ - "这里自定义五角星装饰形状" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/node1_base.dart deleted file mode 100644 index a391e6224..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/node1_base.dart +++ /dev/null @@ -1,76 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class MagnifierCircleShape extends StatefulWidget{ - - const MagnifierCircleShape({super.key}); - - @override - State createState() => _MagnifierCircleShapeState(); -} - -class _MagnifierCircleShapeState extends State { - final Size magnifierSize = const Size(150, 150); - - @override - Widget build(BuildContext context) { - return Stack( - alignment: Alignment.center, - children: [ - GestureDetector( - onPanDown: _onPanDown, - onPanEnd: _onPanEnd, - onPanUpdate: _onPanUpdate, - onPanCancel: _onPanCancel, - child: Image.asset('assets/images/sabar_bar.webp')), - Text("张风捷特烈",style: TextStyle(color: Colors.white),), - if(_show) - Positioned( - left: _dragGesturePosition.dx, - top: _dragGesturePosition.dy, - child: _buildMagnifier()), - ], - ); - } - - Widget _buildMagnifier(){ - return RawMagnifier( - decoration: const MagnifierDecoration( - shape: CircleBorder( - side: BorderSide(color: Colors.blue, width: 2), - ), - ), - size: magnifierSize, - // focalPointOffset: Offset(-10, 0), - magnificationScale: 3, - ); - } - - Offset _dragGesturePosition = Offset.zero; - bool _show = false; - - void _onPanDown(DragDownDetails details) { - _dragGesturePosition = details.localPosition-Offset(magnifierSize.width/2,magnifierSize.height/2); - _show = true; - setState(() { - - }); - } - - void _onPanEnd(DragEndDetails details) { - setState(() => _show = false); - } - - void _onPanUpdate(DragUpdateDetails details) { - _dragGesturePosition = details.localPosition-Offset(magnifierSize.width/2,magnifierSize.height/2); - setState(() { - - }); - } - - void _onPanCancel() { - setState(() => _show = false); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/node2_shape.dart b/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/node2_shape.dart deleted file mode 100644 index 69fd15080..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/RawMagnifier/node2_shape.dart +++ /dev/null @@ -1,117 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class MagnifierStarShape extends StatefulWidget{ - - const MagnifierStarShape({super.key}); - - @override - State createState() => _MagnifierStarShapeState(); -} - -class _MagnifierStarShapeState extends State { - final Size magnifierSize = const Size(150, 150); - - @override - Widget build(BuildContext context) { - return Stack( - alignment: Alignment.center, - children: [ - GestureDetector( - onPanDown: _onPanDown, - onPanEnd: _onPanEnd, - onPanUpdate: _onPanUpdate, - onPanCancel: _onPanCancel, - child: Image.asset('assets/images/sabar_bar.webp')), - Text("张风捷特烈",style: TextStyle(color: Colors.white),), - if(_show) - Positioned( - left: _dragGesturePosition.dx, - top: _dragGesturePosition.dy, - child: _buildMagnifier()), - ], - ); - } - - Widget _buildMagnifier(){ - return RawMagnifier( - decoration: MagnifierDecoration( - shape: _StarShapeBorder(), - ), - size: magnifierSize, - // focalPointOffset: Offset(-10, 0), - magnificationScale: 3, - ); - } - - Offset _dragGesturePosition = Offset.zero; - bool _show = false; - - void _onPanDown(DragDownDetails details) { - _dragGesturePosition = details.localPosition-Offset(magnifierSize.width/2,magnifierSize.height/2); - _show = true; - setState(() { - - }); - } - - void _onPanEnd(DragEndDetails details) { - setState(() => _show = false); - } - - void _onPanUpdate(DragUpdateDetails details) { - _dragGesturePosition = details.localPosition-Offset(magnifierSize.width/2,magnifierSize.height/2); - setState(() { - - }); - } - - void _onPanCancel() { - setState(() => _show = false); - } -} - -class _StarShapeBorder extends ShapeBorder { - final Path _path = Path(); - - @override - EdgeInsetsGeometry get dimensions => EdgeInsets.zero; - - @override - Path getInnerPath(Rect rect, {TextDirection? textDirection}) { - return Path(); - } - - @override - Path getOuterPath(Rect rect, {TextDirection? textDirection}) => - nStarPath(5, rect.height / 2, rect.height / 2 * 0.5, - dx: rect.width / 2, dy: rect.height / 2); - - @override - void paint(Canvas canvas, Rect rect, {TextDirection? textDirection}) { - Paint paint = Paint()..style=PaintingStyle.stroke..color=Colors.blue..strokeWidth =2; - canvas.drawPath(getOuterPath(rect), paint); - } - - Path nStarPath(int num, double R, double r, {dx = 0, dy = 0}) { - double perRad = 2 * pi / num; - double radA = perRad / 2 / 2; - double radB = 2 * pi / (num - 1) / 2 - radA / 2 + radA; - _path.moveTo(cos(radA) * R + dx, -sin(radA) * R + dy); - for (int i = 0; i < num; i++) { - _path.lineTo( - cos(radA + perRad * i) * R + dx, -sin(radA + perRad * i) * R + dy); - _path.lineTo( - cos(radB + perRad * i) * r + dx, -sin(radB + perRad * i) * r + dy); - } - _path.close(); - return _path; - } - - @override - ShapeBorder scale(double t) => this; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_de_DE.json deleted file mode 100644 index 74eedc963..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_de_DE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 207, - "name": "SafeArea", - "localName": "Sicherheitsbereich", - "info": "Durch das Hinzufügen von Innenabständen werden Layoutprobleme angepasst, die durch die Besonderheiten einiger Handys (abgerundete Ecken, Notch-Display usw.) verursacht werden.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SafeArea Verwendungstest", - "desc": [ - "【left】 : Ob die linke Seite aktiviert ist 【bool】", - "【top】 : Ob die obere Seite aktiviert ist 【bool】", - "【bottom】 : Ob die untere Seite aktiviert ist 【bool】", - "【right】 : Ob die rechte Seite aktiviert ist 【bool】", - "【child】 : Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_en_US.json deleted file mode 100644 index e50a9b22a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_en_US.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 207, - "name": "SafeArea", - "localName": "Safe Area", - "info": "Adapts layout issues caused by some phone-specific features (rounded corners, notches, etc.) by adding padding.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SafeArea Usage Test", - "desc": [ - "【left】: Whether to enable the left side 【bool】", - "【top】: Whether to enable the top 【bool】", - "【bottom】: Whether to enable the bottom 【bool】", - "【right】: Whether to enable the right side 【bool】", - "【child】: Child widget 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_es_ES.json deleted file mode 100644 index 0f677038b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_es_ES.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 207, - "name": "SafeArea", - "localName": "Área segura", - "info": "Adapta los problemas de diseño causados por las características especiales de algunos teléfonos (esquinas redondeadas, muescas, etc.) mediante la adición de relleno.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Prueba de uso de SafeArea", - "desc": [ - "【left】 : Si está habilitado en el lado izquierdo 【bool】", - "【top】 : Si está habilitado en la parte superior 【bool】", - "【bottom】 : Si está habilitado en la parte inferior 【bool】", - "【right】 : Si está habilitado en el lado derecho 【bool】", - "【child】 : Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_fr_FR.json deleted file mode 100644 index dff12976f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_fr_FR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 207, - "name": "SafeArea", - "localName": "Zone de sécurité", - "info": "Adapte les problèmes de mise en page causés par les particularités de certains téléphones (coins arrondis, encoche, etc.) en ajoutant des marges intérieures.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Test d'utilisation de SafeArea", - "desc": [ - "【left】 : Activer à gauche 【bool】", - "【top】 : Activer en haut 【bool】", - "【bottom】 : Activer en bas 【bool】", - "【right】 : Activer à droite 【bool】", - "【child】 : Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_it_IT.json deleted file mode 100644 index b53272198..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_it_IT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 207, - "name": "SafeArea", - "localName": "Area Sicura", - "info": "Adatta i problemi di layout causati da alcune caratteristiche speciali dei telefoni (angoli arrotondati, notch, ecc.) aggiungendo un padding.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Test di utilizzo di SafeArea", - "desc": [ - "【left】 : Se abilitare il lato sinistro 【bool】", - "【top】 : Se abilitare la parte superiore 【bool】", - "【bottom】 : Se abilitare la parte inferiore 【bool】", - "【right】 : Se abilitare il lato destro 【bool】", - "【child】 : Widget figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_ja_JP.json deleted file mode 100644 index f1b2021a3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_ja_JP.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 207, - "name": "SafeArea", - "localName": "セーフエリア", - "info": "パディングを追加することで、一部のスマートフォンの特殊性(角丸、ノッチスクリーンなど)によるレイアウトの問題に対応します。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SafeArea 使用テスト", - "desc": [ - "【left】 : 左側を有効にするか 【bool】", - "【top】 : 上部を有効にするか 【bool】", - "【bottom】 : 下部を有効にするか 【bool】", - "【right】 : 右側を有効にするか 【bool】", - "【child】 : 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_ko_KR.json deleted file mode 100644 index c9cd66afa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_ko_KR.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 207, - "name": "SafeArea", - "localName": "안전 영역", - "info": "일부 휴대폰의 특수성(둥근 모서리, 노치 등)으로 인한 레이아웃 문제를 해결하기 위해 패딩을 추가합니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SafeArea 사용 테스트", - "desc": [ - "【left】 : 왼쪽 활성화 여부 【bool】", - "【top】 : 상단 활성화 여부 【bool】", - "【bottom】 : 하단 활성화 여부 【bool】", - "【right】 : 오른쪽 활성화 여부 【bool】", - "【child】 : 자식 위젯 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_pt_PT.json deleted file mode 100644 index 40f34adaf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_pt_PT.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 207, - "name": "SafeArea", - "localName": "Área Segura", - "info": "Adapta problemas de layout causados por características especiais de alguns telemóveis (cantos arredondados, entalhes, etc.) através da adição de padding.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Teste de uso do SafeArea", - "desc": [ - "【left】 : Ativar à esquerda 【bool】", - "【top】 : Ativar no topo 【bool】", - "【bottom】 : Ativar na parte inferior 【bool】", - "【right】 : Ativar à direita 【bool】", - "【child】 : Componente filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_ru_RU.json deleted file mode 100644 index 3b34bfc8c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_ru_RU.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 207, - "name": "SafeArea", - "localName": "Безопасная зона", - "info": "Путём добавления внутренних отступов адаптирует проблемы макета, вызванные особенностями некоторых телефонов (скруглённые углы, вырез для камеры и т.д.).", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Тестирование использования SafeArea", - "desc": [ - "【left】 : Включено ли слева 【bool】", - "【top】 : Включено ли сверху 【bool】", - "【bottom】 : Включено ли снизу 【bool】", - "【right】 : Включено ли справа 【bool】", - "【child】 : Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_zh-CN.json deleted file mode 100644 index b0c52070a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/desc_zh-CN.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 207, - "name": "SafeArea", - "localName": "安全区", - "info": "通过添加内边距,来适配一些手机本身特殊性(圆角、刘海屏等)而所造成的布局问题。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SafeArea 使用测试", - "desc": [ - "【left】 : 左侧是否启用 【bool】", - "【top】 : 上方是否启用 【bool】", - "【bottom】 : 下方是否启用 【bool】", - "【right】 : 右侧是否启用 【bool】", - "【child】 : 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/node1_base.dart deleted file mode 100644 index d32b2dc5b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SafeArea/node1_base.dart +++ /dev/null @@ -1,116 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class SafeAreaDemo extends StatelessWidget { - const SafeAreaDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.all(10), - child: ElevatedButton( - onPressed: () { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => const SafeAreaPage()), - ); - }, - child: const Text("进入 SafeArea 测试页"), - ), - ); - } -} - -class SafeAreaPage extends StatefulWidget { - const SafeAreaPage({Key? key}) : super(key: key); - - @override - _SafeAreaPageState createState() => _SafeAreaPageState(); -} - -class _SafeAreaPageState extends State { - bool _top = true; - bool _left = true; - bool _right = true; - bool _bottom = true; - - @override - Widget build(BuildContext context) { - return SafeArea( - top: _top, - left: _left, - right: _right, - bottom: _bottom, - child: Scaffold( - appBar: AppBar( - title: const Text( - 'SafeArea 测试', - ), - ), - body: Column( - children: [ - ..._buildSlider(), - Expanded( - child: ListView.separated( - itemCount: 20, - separatorBuilder: (_, __) => const Divider( - height: 1, - ), - itemBuilder: (_, index) => Container( - color: Colors.blue, - // padding: EdgeInsets.only(left: 20), - alignment: Alignment.center, - height: 50, - child: Text( - "第$index个", - style: const TextStyle(fontSize: 24, color: Colors.white), - ), - ), - ), - ), - ], - ), - ), - ); - } - - List _buildSlider()=>[Row( - children: [ - Switch( - value: _top, - onChanged: (v) => setState(() => _top = v), - ), - Text("top: $_top") - ], - ), - Row( - children: [ - Switch( - value: _left, - onChanged: (v) => setState(() => _left = v), - ), - Text("left: $_left") - ], - ), - Row( - children: [ - Switch( - value: _right, - onChanged: (v) => setState(() => _right = v), - ), - Text("right: $_right") - ], - ), - Row( - children: [ - Switch( - value: _bottom, - onChanged: (v) => setState(() => _bottom = v), - ), - Text("bottom: $_bottom") - ], - ),]; -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_de_DE.json deleted file mode 100644 index 360fd9acb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 349, - "name": "ScrollView", - "localName": "Bildlaufansicht", - "info": "Diese Komponente wird zur Unterstützung des Scrollens verwendet. Diese Klasse ist eine abstrakte Klasse und kann daher nicht direkt verwendet werden. Sie hat viele Implementierungsklassen wie CustomScrollView, BoxScrollView, ListView und GridView.", - "lever": 2, - "family": 0, - "linkIds": [ - 183, - 162, - 163, - 253, - 340 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ScrollView Einführung", - "desc": [ - "【reverse】 : Ob umgekehrt 【bool】", - "【scrollDirection】 : Scrollrichtung 【Axis】", - "【cacheExtent】 : Cache-Länge 【double】", - "【dragStartBehavior】 : Ziehverhalten 【DragStartBehavior】", - "【clipBehavior】 : Ausschneideverhalten 【ClipBehavior】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_en_US.json deleted file mode 100644 index ba557c9b1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 349, - "name": "ScrollView", - "localName": "Scroll View", - "info": "This component is used to support scrolling. This class is an abstract class, so it cannot be used directly. It has many implementation classes, such as CustomScrollView, BoxScrollView, ListView, and GridView.", - "lever": 2, - "family": 0, - "linkIds": [ - 183, - 162, - 163, - 253, - 340 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction to ScrollView", - "desc": [ - "【reverse】: Whether to reverse 【bool】", - "【scrollDirection】: Scroll direction 【Axis】", - "【cacheExtent】: Cache length 【double】", - "【dragStartBehavior】: Drag behavior 【DragStartBehavior】", - "【clipBehavior】: Clip behavior 【ClipBehavior】", - "【controller】: Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_es_ES.json deleted file mode 100644 index 11607c3f3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 349, - "name": "ScrollView", - "localName": "Vista de desplazamiento", - "info": "Este componente se utiliza para soportar el desplazamiento, esta clase es una clase abstracta, por lo que no se puede usar directamente, tiene muchas clases de implementación, como CustomScrollView, BoxScrollView, ListView, GridView.", - "lever": 2, - "family": 0, - "linkIds": [ - 183, - 162, - 163, - 253, - 340 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introducción a ScrollView", - "desc": [ - "【reverse】 : Si es inverso 【bool】", - "【scrollDirection】 : Dirección de desplazamiento 【Axis】", - "【cacheExtent】 : Extensión de caché 【double】", - "【dragStartBehavior】 : Comportamiento de arrastre 【DragStartBehavior】", - "【clipBehavior】 : Comportamiento de recorte 【ClipBehavior】", - "【controller】 : Controlador 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_fr_FR.json deleted file mode 100644 index 555f79b25..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 349, - "name": "ScrollView", - "localName": "Vue de défilement", - "info": "Ce composant est utilisé pour prendre en charge le défilement, cette classe est une classe abstraite, donc elle ne peut pas être utilisée directement, elle a de nombreuses classes d'implémentation, telles que CustomScrollView, BoxScrollView, ListView, GridView.", - "lever": 2, - "family": 0, - "linkIds": [ - 183, - 162, - 163, - 253, - 340 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduction à ScrollView", - "desc": [ - "【reverse】 : Inverser ou non 【bool】", - "【scrollDirection】 : Direction de défilement 【Axis】", - "【cacheExtent】 : Longueur de cache 【double】", - "【dragStartBehavior】 : Comportement de glissement 【DragStartBehavior】", - "【clipBehavior】 : Comportement de découpage 【ClipBehavior】", - "【controller】 : Contrôleur 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_it_IT.json deleted file mode 100644 index 8a725f26e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 349, - "name": "ScrollView", - "localName": "Scorrimento Vista", - "info": "Questo componente è utilizzato per supportare lo scorrimento, questa classe è una classe astratta, quindi non può essere utilizzata direttamente, ha molte classi di implementazione, come CustomScrollView, BoxScrollView, ListView, GridView.", - "lever": 2, - "family": 0, - "linkIds": [ - 183, - 162, - 163, - 253, - 340 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introduzione a ScrollView", - "desc": [ - "【reverse】 : Se inverso 【bool】", - "【scrollDirection】 : Direzione di scorrimento 【Axis】", - "【cacheExtent】 : Estensione della cache 【double】", - "【dragStartBehavior】 : Comportamento di trascinamento 【DragStartBehavior】", - "【clipBehavior】 : Comportamento di ritaglio 【ClipBehavior】", - "【controller】 : Controller 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_ja_JP.json deleted file mode 100644 index cfdd5527b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 349, - "name": "ScrollView", - "localName": "スクロールビュー", - "info": "このコンポーネントはスクロールをサポートするために使用されます。このクラスは抽象クラスであるため、直接使用することはできません。CustomScrollView、BoxScrollView、ListView、GridViewなどの多くの実装クラスがあります。", - "lever": 2, - "family": 0, - "linkIds": [ - 183, - 162, - 163, - 253, - 340 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ScrollView 紹介", - "desc": [ - "【reverse】 : 逆方向かどうか 【bool】", - "【scrollDirection】 : スクロール方向 【Axis】", - "【cacheExtent】 : キャッシュ長 【double】", - "【dragStartBehavior】 : ドラッグ動作 【DragStartBehavior】", - "【clipBehavior】 : クリップ動作 【ClipBehavior】", - "【controller】 : コントローラー 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_ko_KR.json deleted file mode 100644 index b9d218386..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 349, - "name": "ScrollView", - "localName": "스크롤 뷰", - "info": "이 컴포넌트는 스크롤을 지원하기 위해 사용됩니다. 이 클래스는 추상 클래스이므로 직접 사용할 수 없으며, CustomScrollView, BoxScrollView, ListView, GridView와 같은 많은 구현 클래스가 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [ - 183, - 162, - 163, - 253, - 340 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ScrollView 소개", - "desc": [ - "【reverse】 : 역방향 여부 【bool】", - "【scrollDirection】 : 스크롤 방향 【Axis】", - "【cacheExtent】 : 캐시 길이 【double】", - "【dragStartBehavior】 : 드래그 시작 동작 【DragStartBehavior】", - "【clipBehavior】 : 클리핑 동작 【ClipBehavior】", - "【controller】 : 컨트롤러 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_pt_PT.json deleted file mode 100644 index 93d6fbaf9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 349, - "name": "ScrollView", - "localName": "Rolagem de Visualização", - "info": "Este componente é usado para suporte de rolagem, esta classe é uma classe abstrata, portanto, não pode ser usada diretamente, tem muitas classes de implementação, como CustomScrollView, BoxScrollView, ListView, GridView.", - "lever": 2, - "family": 0, - "linkIds": [ - 183, - 162, - 163, - 253, - 340 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Introdução ao ScrollView", - "desc": [ - "【reverse】 : Se é reverso 【bool】", - "【scrollDirection】 : Direção de rolagem 【Axis】", - "【cacheExtent】 : Extensão do cache 【double】", - "【dragStartBehavior】 : Comportamento de arrasto 【DragStartBehavior】", - "【clipBehavior】 : Comportamento de corte 【ClipBehavior】", - "【controller】 : Controlador 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_ru_RU.json deleted file mode 100644 index 6b6a0c112..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 349, - "name": "ScrollView", - "localName": "Прокрутка", - "info": "Этот компонент используется для поддержки прокрутки. Этот класс является абстрактным, поэтому его нельзя использовать напрямую. У него есть много реализаций, таких как CustomScrollView, BoxScrollView, ListView, GridView.", - "lever": 2, - "family": 0, - "linkIds": [ - 183, - 162, - 163, - 253, - 340 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Введение в ScrollView", - "desc": [ - "【reverse】 : Обратный ли 【bool】", - "【scrollDirection】 : Направление прокрутки 【Axis】", - "【cacheExtent】 : Длина кэша 【double】", - "【dragStartBehavior】 : Поведение перетаскивания 【DragStartBehavior】", - "【clipBehavior】 : Поведение обрезки 【ClipBehavior】", - "【controller】 : Контроллер 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_zh-CN.json deleted file mode 100644 index 78028aa7a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 349, - "name": "ScrollView", - "localName": "视滑动图", - "info": "该组件用于滑动的支持,该类是一个抽象类,所以无法直接使用,它有很多实现类,如 CustomScrollView、BoxScrollView、ListView、GridView。", - "lever": 2, - "family": 0, - "linkIds": [ - 183, - 162, - 163, - 253, - 340 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "ScrollView 介绍", - "desc": [ - "【reverse】 : 是否反向 【bool】", - "【scrollDirection】 : 滑动方向 【Axis】", - "【cacheExtent】 : 缓存长 【double】", - "【dragStartBehavior】 : 拖动行为 【DragStartBehavior】", - "【clipBehavior】 : 裁剪行为 【ClipBehavior】", - "【controller】 : 控制器 【ScrollController】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/node1_base.dart deleted file mode 100644 index a17fee85f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ScrollView/node1_base.dart +++ /dev/null @@ -1,103 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/9/21 -/// contact me by email 1981462002@qq.com - - -class ScrollViewDemo extends StatelessWidget { - const ScrollViewDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 300, - child: MyScrollView(), - ); - } -} - -class MyScrollView extends ScrollView { - MyScrollView({Key? key}) : super(key: key); - - final String info = - 'ScrollView 其内部依靠 Viewport + Scrollable 实现滑动。它只有一个 buildSlivers 的抽象方法,返回 Sliver 家族 Widget 列表,' - '其子类最简单的是 CustomScrollView,将 slivers 交由用户传递,自身打个酱油。' - 'ListView 和 GridView 在底层源码中也是使用 Sliver 家族相关组件实现的。'; - - final List data = [ - Colors.purple[50]!, - Colors.purple[100]!, - Colors.purple[200]!, - Colors.purple[300]!, - Colors.purple[400]!, - Colors.purple[500]!, - Colors.purple[600]!, - Colors.purple[700]!, - Colors.purple[800]!, - Colors.purple[900]!, - ]; - - @override - List buildSlivers(BuildContext context) { - return [ - _buildSliverAppBar(), - SliverToBoxAdapter( - child: Container( - color: Colors.blue.withOpacity(0.1), - padding: const EdgeInsets.all(10), - margin: const EdgeInsets.all(10), - child: Text(info), - ), - ), - _buildSliverFixedExtentList() - ]; - } - - _buildSliverAppBar() { - return SliverAppBar( - expandedHeight: 190.0, - leading: Container( - margin: const EdgeInsets.all(10), - child: Image.asset('assets/images/icon_head.webp')), - flexibleSpace: FlexibleSpaceBar(//伸展处布局 - titlePadding: const EdgeInsets.only(left: 55, bottom: 15), //标题边距 - collapseMode: CollapseMode.parallax, //视差效果 - title: const Text( - '张风捷特烈', - style: TextStyle(color: Colors.black, //标题 - shadows: [ - Shadow(color: Colors.blue, offset: Offset(1, 1), blurRadius: 2) - ]), - ), - background: Image.asset( - "assets/images/caver.webp", - fit: BoxFit.cover, - ), - ), - ); - } - - Widget _buildSliverFixedExtentList() => SliverFixedExtentList( - itemExtent: 60, - delegate: SliverChildBuilderDelegate( - (_, int index) => Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: data[index], - child: Text( - colorString(data[index]), - style: const TextStyle(color: Colors.white, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2) - ]), - ), - ), - childCount: data.length), - ); - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_de_DE.json deleted file mode 100644 index b8fc3b81b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 128, - "name": "SimpleDialog", - "localName": "Einfacher Dialog", - "info": "Eine einfache Dialogstruktur, die Kopf- und Mittelkomponenten angeben kann. Verfügt über Textstile und Ränder für Titel und Inhalt sowie Eigenschaften wie Schattentiefe und Form. Wird oft mit SimpleDialogOption verwendet.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SimpleDialog", - "desc": [ - "【title】 : Oberste Komponente 【Widget】", - "【children】 : Liste der Unterkomponenten 【List】", - "【titlePadding】 : Oberer Innenabstand 【EdgeInsetsGeometry】", - "【contentPadding】 : Innenabstand des Inhalts 【EdgeInsetsGeometry】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【elevation】 : Schattentiefe 【double】", - "【shape】 : Form 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_en_US.json deleted file mode 100644 index 7ed1afdf4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 128, - "name": "SimpleDialog", - "localName": "Simple Dialog", - "info": "A simple dialog structure that allows specifying components for the header and middle sections. It has properties such as text styles and margins for the title and content, as well as shadow depth and shape. Often used in conjunction with SimpleDialogOption.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SimpleDialog", - "desc": [ - "【title】 : Top component 【Widget】", - "【children】 : List of child components 【List】", - "【titlePadding】 : Top padding 【EdgeInsetsGeometry】", - "【contentPadding】 : Content padding 【EdgeInsetsGeometry】", - "【backgroundColor】 : Background color 【Color】", - "【elevation】 : Shadow depth 【double】", - "【shape】 : Shape 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_es_ES.json deleted file mode 100644 index 338649a36..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 128, - "name": "SimpleDialog", - "localName": "Cuadro de diálogo simple", - "info": "Una estructura de cuadro de diálogo simple que permite especificar componentes en la parte superior y central. Tiene estilos de texto y márgenes para el título y el contenido, así como propiedades como profundidad de sombra, forma, etc. A menudo se usa junto con SimpleDialogOption.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SimpleDialog", - "desc": [ - "【title】 : Componente superior 【Widget】", - "【children】 : Lista de componentes hijos 【List】", - "【titlePadding】 : Relleno superior 【EdgeInsetsGeometry】", - "【contentPadding】 : Relleno del contenido 【EdgeInsetsGeometry】", - "【backgroundColor】 : Color de fondo 【Color】", - "【elevation】 : Profundidad de sombra 【double】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_fr_FR.json deleted file mode 100644 index a72754b59..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 128, - "name": "SimpleDialog", - "localName": "Boîte de dialogue simple", - "info": "Une structure de boîte de dialogue simple qui permet de spécifier des composants pour l'en-tête et le corps. Elle possède des styles de texte pour le titre et le contenu, ainsi que des propriétés telles que les marges, la profondeur d'ombre, la forme, etc. Elle est souvent utilisée avec SimpleDialogOption.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SimpleDialog", - "desc": [ - "【title】 : Composant supérieur 【Widget】", - "【children】 : Liste des composants enfants 【List】", - "【titlePadding】 : Marge intérieure supérieure 【EdgeInsetsGeometry】", - "【contentPadding】 : Marge intérieure du contenu 【EdgeInsetsGeometry】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【elevation】 : Profondeur d'ombre 【double】", - "【shape】 : Forme 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_it_IT.json deleted file mode 100644 index 773932ec6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 128, - "name": "SimpleDialog", - "localName": "Finestra di dialogo semplice", - "info": "Una struttura di finestra di dialogo semplice che consente di specificare i componenti nella parte superiore e centrale. Possiede stili di testo e margini per titoli e contenuti, nonché proprietà come profondità dell'ombra, forma, ecc. Spesso utilizzato in combinazione con SimpleDialogOption.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SimpleDialog", - "desc": [ - "【title】 : Componente superiore 【Widget】", - "【children】 : Lista dei componenti figli 【List】", - "【titlePadding】 : Spaziatura interna superiore 【EdgeInsetsGeometry】", - "【contentPadding】 : Spaziatura interna del contenuto 【EdgeInsetsGeometry】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【elevation】 : Profondità dell'ombra 【double】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_ja_JP.json deleted file mode 100644 index a75dac7b7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 128, - "name": "SimpleDialog", - "localName": "シンプルダイアログ", - "info": "シンプルなダイアログ構造で、ヘッダーと中央のコンポーネントを指定できます。タイトルと内容のテキストスタイルとマージン、影の深さ、形状などの属性を持っています。SimpleDialogOptionと一緒に使用されることが多いです。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SimpleDialogの基本使用", - "desc": [ - "【title】 : トップコンポーネント 【Widget】", - "【children】 : 子コンポーネントリスト 【List】", - "【titlePadding】 : トップパディング 【EdgeInsetsGeometry】", - "【contentPadding】 : コンテンツパディング 【EdgeInsetsGeometry】", - "【backgroundColor】 : 背景色 【Color】", - "【elevation】 : 影の深さ 【double】", - "【shape】 : 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_ko_KR.json deleted file mode 100644 index ceef0b963..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 128, - "name": "SimpleDialog", - "localName": "간단한 대화 상자", - "info": "간단한 대화 상자 구조로, 상단과 중간의 컴포넌트를 지정할 수 있습니다. 제목, 내용의 텍스트 스타일과 여백, 그림자 깊이, 모양 등의 속성을 가지고 있습니다. 주로 SimpleDialogOption과 함께 사용됩니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SimpleDialog 기본 사용법", - "desc": [ - "【title】 : 상단 컴포넌트 【Widget】", - "【children】 : 하위 컴포넌트 리스트 【List】", - "【titlePadding】 : 상단 내부 여백 【EdgeInsetsGeometry】", - "【contentPadding】 : 내용 내부 여백 【EdgeInsetsGeometry】", - "【backgroundColor】 : 배경색 【Color】", - "【elevation】 : 그림자 깊이 【double】", - "【shape】 : 모양 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_pt_PT.json deleted file mode 100644 index 46bf6ca2b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 128, - "name": "SimpleDialog", - "localName": "Diálogo Simples", - "info": "Uma estrutura de diálogo simples que permite especificar componentes no topo e no meio. Possui estilos de texto e margens para o título e conteúdo, além de propriedades como sombra, forma, etc. Geralmente usado em conjunto com SimpleDialogOption.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SimpleDialog", - "desc": [ - "【title】 : Componente do topo 【Widget】", - "【children】 : Lista de componentes filhos 【List】", - "【titlePadding】 : Preenchimento interno do topo 【EdgeInsetsGeometry】", - "【contentPadding】 : Preenchimento interno do conteúdo 【EdgeInsetsGeometry】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【elevation】 : Profundidade da sombra 【double】", - "【shape】 : Forma 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_ru_RU.json deleted file mode 100644 index f2e1b7fc5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 128, - "name": "SimpleDialog", - "localName": "Простое диалоговое окно", - "info": "Простая структура диалогового окна, которая позволяет указать компоненты в верхней и средней частях. Имеет стили текста и отступы для заголовка и содержимого, а также свойства, такие как глубина тени и форма. Часто используется вместе с SimpleDialogOption.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SimpleDialog", - "desc": [ - "【title】 : Верхний компонент 【Widget】", - "【children】 : Список дочерних компонентов 【List】", - "【titlePadding】 : Верхний отступ 【EdgeInsetsGeometry】", - "【contentPadding】 : Отступ содержимого 【EdgeInsetsGeometry】", - "【backgroundColor】 : Цвет фона 【Color】", - "【elevation】 : Глубина тени 【double】", - "【shape】 : Форма 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_zh-CN.json deleted file mode 100644 index 5f5bbc27f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 128, - "name": "SimpleDialog", - "localName": "简单对话框", - "info": "一个简单的对话框结构,可指定头、中处的组件。拥有拥有标题、内容的文字样式和边距,影深、形状等属性。常与SimpleDialogOption联用。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SimpleDialog基本使用", - "desc": [ - "【title】 : 顶部组件 【Widget】", - "【children】 : 子组件列表 【List】", - "【titlePadding】 : 顶部内边距 【EdgeInsetsGeometry】", - "【contentPadding】 : 内容内边距 【EdgeInsetsGeometry】", - "【backgroundColor】 : 背景色 【Color】", - "【elevation】 : 影深 【double】", - "【shape】 : 形状 【ShapeBorder】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/node1_base.dart deleted file mode 100644 index 262eec587..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialog/node1_base.dart +++ /dev/null @@ -1,110 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-24 -/// contact me by email 1981462002@qq.com - -class CustomSimpleDialog extends StatelessWidget { - const CustomSimpleDialog({Key? key}) : super(key: key); - - final List info = const [ - '性别: 男 未婚', - '微信: zdl1994328', - "掘金: 张风捷特烈", - "github: toly1994328", - "邮箱: 1981462008@qq.com", - ]; - - @override - Widget build(BuildContext context) { - return Stack( - children: [ - _buildSimpleDialog(context), - Positioned( - top: 70, - right: 30, - child: _buildRaisedButton(context)), - - ], - ); - } - Widget _buildRaisedButton(BuildContext context) => ElevatedButton( - style: TextButton.styleFrom( - backgroundColor: Colors.blue, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10)), - ), - ), - onPressed: () { - showDialog(context: context, builder: (ctx) => _buildSimpleDialog(ctx)); - }, - child: const Text( - 'Just Show It', - style: TextStyle(color: Colors.white), - ), - ); - - SimpleDialog _buildSimpleDialog(BuildContext context) { - return SimpleDialog( - title: _buildTitle(), - titlePadding: const EdgeInsets.only( - top: 5, - left: 20, - ), - contentPadding: const EdgeInsets.symmetric(horizontal: 5), - children: _buildChild(context), - backgroundColor: Colors.white, - elevation: 4, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(10))), - ); - } - - List _buildChild(BuildContext context) { - return info - .map((str) => Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SimpleDialogOption( - onPressed: () => print(str), - child: SizedBox( - width: double.infinity, - child: Text( - str, - style: const TextStyle( - color: Color(0xff999999), fontSize: 16), - ), - ), - ), - Divider( - indent: 20, - height: 12, - color: info.indexOf(str) == info.length - 1 - ? Colors.transparent - : Theme.of(context).dividerColor, - ) - ], - )) - .toList(); - } - - Widget _buildTitle() { - return Row(//标题 - children: [ - Image.asset( - "assets/images/icon_head.webp", - width: 30, - height: 30, - ), - const SizedBox( - width: 10, - ), - const Expanded( - child: Text( - "张风捷特烈", - style: TextStyle(fontSize: 18), - )), - const CloseButton() - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_de_DE.json deleted file mode 100644 index 7af364aab..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_de_DE.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 133, - "name": "SimpleDialogOption", - "localName": "Einfache Dialogoption", - "info": "Eine Schaltfläche, die selten verwendet wird und normalerweise in SimpleDialog verwendet wird, um Klickereignisse zu empfangen.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SimpleDialogOption", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【onPressed】 : Klickereignis 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_en_US.json deleted file mode 100644 index b7c0cbbe5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_en_US.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 133, - "name": "SimpleDialogOption", - "localName": "Simple Dialog Option", - "info": "A button with limited use cases, typically used in SimpleDialog to receive click events.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SimpleDialogOption", - "desc": [ - "【child】 : Child widget 【Widget】", - "【onPressed】 : Click event 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_es_ES.json deleted file mode 100644 index b7330359f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_es_ES.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 133, - "name": "SimpleDialogOption", - "localName": "Opción de diálogo simple", - "info": "Un botón que se usa en pocas ocasiones, generalmente en SimpleDialog, que recibe eventos de clic.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SimpleDialogOption", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【onPressed】 : Evento de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_fr_FR.json deleted file mode 100644 index 7c182ece8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_fr_FR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 133, - "name": "SimpleDialogOption", - "localName": "Option de boîte de dialogue simple", - "info": "Un bouton, rarement utilisé, généralement utilisé dans SimpleDialog, reçoit les événements de clic.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SimpleDialogOption", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【onPressed】 : Événement de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_it_IT.json deleted file mode 100644 index 0bc86c9e6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_it_IT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 133, - "name": "SimpleDialogOption", - "localName": "Opzione del Dialogo Semplice", - "info": "Un pulsante, utilizzato raramente, solitamente all'interno di SimpleDialog, che riceve eventi di clic.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SimpleDialogOption", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【onPressed】 : Evento di clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_ja_JP.json deleted file mode 100644 index d8778257b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_ja_JP.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 133, - "name": "SimpleDialogOption", - "localName": "シンプルダイアログオプション", - "info": "ボタンで、使用シナリオが少なく、通常はSimpleDialogで使用され、クリックイベントを受け取ります。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SimpleDialogOptionの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【onPressed】 : クリックイベント 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_ko_KR.json deleted file mode 100644 index 09b02aa2a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_ko_KR.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 133, - "name": "SimpleDialogOption", - "localName": "간단한 대화 상자 옵션", - "info": "버튼 하나, 사용 시나리오가 적으며 일반적으로 SimpleDialog에서 사용되며 클릭 이벤트를 수신합니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SimpleDialogOption 기본 사용", - "desc": [ - "【child】 : 자식 위젯 【Widget】", - "【onPressed】 : 클릭 이벤트 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_pt_PT.json deleted file mode 100644 index 2c814d6ac..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_pt_PT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 133, - "name": "SimpleDialogOption", - "localName": "Opção de Diálogo Simples", - "info": "Um botão, com poucos cenários de aplicação, geralmente usado em SimpleDialog, recebe eventos de clique.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico de SimpleDialogOption", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【onPressed】 : Evento de clique 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_ru_RU.json deleted file mode 100644 index 29af17773..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_ru_RU.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 133, - "name": "SimpleDialogOption", - "localName": "Простая опция диалога", - "info": "Кнопка, которая редко используется, обычно используется в SimpleDialog, принимает событие нажатия.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SimpleDialogOption", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【onPressed】 : Событие нажатия 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_zh-CN.json deleted file mode 100644 index 54061f587..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/desc_zh-CN.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": 133, - "name": "SimpleDialogOption", - "localName": "简单对话框选项", - "info": "一个按钮,应用场景很少,通常用于SimpleDialog中,接收点击事件。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SimpleDialogOption基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【onPressed】 : 点击事件 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/node1_base.dart deleted file mode 100644 index 62f76cf51..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SimpleDialogOption/node1_base.dart +++ /dev/null @@ -1,36 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomSimpleDialogOption extends StatelessWidget { - const CustomSimpleDialogOption({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Container( - alignment: Alignment.center, - width: double.infinity, - height: 50, - margin: const EdgeInsets.all(5), - color: Colors.grey.withAlpha(33), - child: SimpleDialogOption( - onPressed: () => Navigator.of(context).pushNamed('AboutMePage'), - child: const Text('张风捷特烈')), - ), - Container( - height: 50, - alignment: Alignment.center, - width: double.infinity, - color: Colors.grey.withAlpha(33), - margin: const EdgeInsets.all(5), - child: SimpleDialogOption( - onPressed: () => Navigator.of(context).pushNamed('AboutMePage'), - child: const Text('百里·巫缨')), - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_de_DE.json deleted file mode 100644 index 04b6d9d58..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 164, - "name": "SingleChildScrollView", - "localName": "Einzelkind-Scrollen", - "info": "Ermöglicht einem Widget einen Scroll-Effekt, kann die Scroll-Richtung, ob umgekehrt, Scroll-Controller und andere Eigenschaften angeben.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SingleChildScrollView", - "desc": [ - "【child】 : Untergeordnetes Widget 【Widget】", - "【padding】 : Innenabstand 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Scrollrichtung von SingleChildScrollView", - "desc": [ - "【scrollDirection】 : Scrollrichtung 【Axis】", - "【reverse】 : Ob umgekehrt 【Axis】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_en_US.json deleted file mode 100644 index ba8db73e6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 164, - "name": "SingleChildScrollView", - "localName": "Single Child Scroll", - "info": "Makes a component scrollable, allowing you to specify properties such as the scroll direction, whether to reverse the direction, the scroll controller, etc.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SingleChildScrollView", - "desc": [ - "【child】: Child widget 【Widget】", - "【padding】: Padding 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Scroll Direction of SingleChildScrollView", - "desc": [ - "【scrollDirection】: Scroll direction 【Axis】", - "【reverse】: Whether to reverse 【Axis】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_es_ES.json deleted file mode 100644 index 3a31ff533..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 164, - "name": "SingleChildScrollView", - "localName": "Desplazamiento de un solo hijo", - "info": "Hace que un componente tenga un efecto de desplazamiento, y se pueden especificar propiedades como la dirección del desplazamiento, si es inverso, el controlador de desplazamiento, etc.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SingleChildScrollView", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【padding】 : Relleno interno 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Dirección de desplazamiento de SingleChildScrollView", - "desc": [ - "【scrollDirection】 : Dirección de desplazamiento 【Axis】", - "【reverse】 : Si es inverso 【Axis】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_fr_FR.json deleted file mode 100644 index f38f78947..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 164, - "name": "SingleChildScrollView", - "localName": "Défilement à un seul enfant", - "info": "Permet à un composant d'avoir un effet de défilement, avec des propriétés telles que la direction du défilement, l'inversion, le contrôleur de défilement, etc.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SingleChildScrollView", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【padding】 : Marge intérieure 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direction de défilement de SingleChildScrollView", - "desc": [ - "【scrollDirection】 : Direction de défilement 【Axis】", - "【reverse】 : Inversion 【Axis】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_it_IT.json deleted file mode 100644 index 63f3993c5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 164, - "name": "SingleChildScrollView", - "localName": "Scorrimento singolo figlio", - "info": "Rende un componente scorrevole, è possibile specificare la direzione di scorrimento, se invertire, il controller di scorrimento e altre proprietà.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SingleChildScrollView", - "desc": [ - "【child】 : componente figlio 【Widget】", - "【padding】 : spaziatura interna 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direzione di scorrimento di SingleChildScrollView", - "desc": [ - "【scrollDirection】 : direzione di scorrimento 【Axis】", - "【reverse】 : invertire 【Axis】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_ja_JP.json deleted file mode 100644 index cd62f691f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 164, - "name": "SingleChildScrollView", - "localName": "シングルチャイルドスクロール", - "info": "コンポーネントにスクロール効果を持たせ、スクロールの方向、反転、スクロールコントローラーなどのプロパティを指定できます。", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SingleChildScrollViewの基本使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【padding】 : 内側の余白 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "SingleChildScrollViewのスクロール方向", - "desc": [ - "【scrollDirection】 : スクロール方向 【Axis】", - "【reverse】 : 反転するかどうか 【Axis】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_ko_KR.json deleted file mode 100644 index a88236ed0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 164, - "name": "SingleChildScrollView", - "localName": "단일 자식 스크롤", - "info": "컴포넌트에 스크롤 효과를 부여하며, 스크롤 방향, 반대 방향 여부, 스크롤 컨트롤러 등의 속성을 지정할 수 있습니다.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SingleChildScrollView 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【padding】 : 내부 여백 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "SingleChildScrollView 스크롤 방향", - "desc": [ - "【scrollDirection】 : 스크롤 방향 【Axis】", - "【reverse】 : 반대 방향 여부 【Axis】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_pt_PT.json deleted file mode 100644 index 2a8b62acf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 164, - "name": "SingleChildScrollView", - "localName": "Deslizamento de Filho Único", - "info": "Torna um componente com efeito de deslizamento, podendo especificar a direção do deslizamento, se é reverso, controlador de deslizamento, entre outras propriedades.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SingleChildScrollView", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【padding】 : Preenchimento interno 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Direção de Deslizamento do SingleChildScrollView", - "desc": [ - "【scrollDirection】 : Direção de deslizamento 【Axis】", - "【reverse】 : Se é reverso 【Axis】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_ru_RU.json deleted file mode 100644 index 04e9dc278..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 164, - "name": "SingleChildScrollView", - "localName": "Одиночный скролл", - "info": "Делает компонент прокручиваемым, позволяет указать направление прокрутки, обратное направление, контроллер прокрутки и другие свойства.", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SingleChildScrollView", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【padding】 : Внутренний отступ 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "Направление прокрутки SingleChildScrollView", - "desc": [ - "【scrollDirection】 : Направление прокрутки 【Axis】", - "【reverse】 : Обратное направление 【Axis】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_zh-CN.json deleted file mode 100644 index 8dea51b5a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 164, - "name": "SingleChildScrollView", - "localName": "单子滑动", - "info": "使一个组件具有滑动的效果,可指定滑动的方向、是否反向、滑动控制器等属性。", - "lever": 5, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SingleChildScrollView基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【padding】 : 内边距 【EdgeInsetsGeometry】" - ] - }, - { - "file": "node2_direction.dart", - "name": "SingleChildScrollView滑动方向", - "desc": [ - "【scrollDirection】 : 滑动方向 【Axis】", - "【reverse】 : 是否反向 【Axis】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/node1_base.dart deleted file mode 100644 index 5c3d85b64..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/node1_base.dart +++ /dev/null @@ -1,59 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-28 -/// contact me by email 1981462002@qq.com - -class CustomSingleChildScrollView extends StatelessWidget { - const CustomSingleChildScrollView({super.key}); - - List get data => [ - Colors.blue[50]!, - Colors.blue[100]!, - Colors.blue[200]!, - Colors.blue[300]!, - Colors.blue[400]!, - Colors.blue[500]!, - Colors.blue[600]!, - Colors.blue[700]!, - Colors.blue[800]!, - Colors.blue[900]!, - ]; - - TextStyle get textStyle => const TextStyle( - color: Colors.white, - shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ], - ); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: SingleChildScrollView( - padding: const EdgeInsets.symmetric(horizontal: 10), - child: Column( - children: data - .map((color) => Container( - alignment: Alignment.center, - height: 50, - color: color, - child: Text( - colorString(color), - style: textStyle, - ), - )) - .toList(), - ), - - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/node2_direction.dart b/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/node2_direction.dart deleted file mode 100644 index 96b9351a4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SingleChildScrollView/node2_direction.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class DirectionSingleChildScrollView extends StatelessWidget { - const DirectionSingleChildScrollView({super.key}); - - List get data => [ - Colors.blue[50]!, - Colors.blue[100]!, - Colors.blue[200]!, - Colors.blue[300]!, - Colors.blue[400]!, - Colors.blue[500]!, - Colors.blue[600]!, - Colors.blue[700]!, - Colors.blue[800]!, - Colors.blue[900]!, - ]; - - TextStyle get textStyle => const TextStyle( - color: Colors.white, - shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ) - ], - ); - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: SingleChildScrollView( - scrollDirection: Axis.horizontal, - reverse: true, - padding: const EdgeInsets.symmetric(horizontal: 10), - child: Row( - children: data - .map((color) => Container( - alignment: Alignment.center, - width: 90, - color: color, - child: Text( - colorString(color), - style: textStyle, - ), - )) - .toList(), - ), - ), - ); - } - - String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_de_DE.json deleted file mode 100644 index bf007e818..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 140, - "name": "SnackBar", - "localName": "Informationsleiste", - "info": "Als Komponente handelt es sich um eine einfache Strukturkomponente, die Form, Schattentiefe, Hintergrundfarbe usw. angeben kann. Wird normalerweise über die showSnackBar-Methode von ScaffoldState von unten eingeblendet.", - "lever": 4, - "family": 1, - "linkIds": [ - 141, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SnackBar", - "desc": [ - "【content】 : Mittleres Inhalts-Widget 【Widget】", - "【action】 : Rechte Schaltfläche 【SnackBarAction】", - "【duration】 : Dauer 【Widget】", - "【backgroundColor】 : Hintergrundfarbe 【Color】", - "【elevation】 : Schattentiefe 【double】", - "【shape】 : Form 【ShapeBorder】", - "【onVisible】 : Callback bei Anzeige 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_en_US.json deleted file mode 100644 index 5b195a359..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 140, - "name": "SnackBar", - "localName": "SnackBar", - "info": "As a component, it is a simple structural component that can specify shape, shadow depth, background color, etc. It usually pops up from the bottom through the showSnackBar method of ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [ - 141, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SnackBar", - "desc": [ - "【content】: Middle content component 【Widget】", - "【action】: Right side button 【SnackBarAction】", - "【duration】: Duration 【Widget】", - "【backgroundColor】: Background color 【Color】", - "【elevation】: Shadow depth 【double】", - "【shape】: Shape 【ShapeBorder】", - "【onVisible】: Callback when shown 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_es_ES.json deleted file mode 100644 index 27dd24e49..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 140, - "name": "SnackBar", - "localName": "Barra de información", - "info": "Como componente, es una estructura simple que puede especificar forma, profundidad de sombra, color de fondo, etc. Generalmente aparece desde la parte inferior a través del método showSnackBar de ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [ - 141, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SnackBar", - "desc": [ - "【content】 : Componente de contenido central 【Widget】", - "【action】 : Botón derecho 【SnackBarAction】", - "【duration】 : Duración 【Widget】", - "【backgroundColor】 : Color de fondo 【Color】", - "【elevation】 : Profundidad de sombra 【double】", - "【shape】 : Forma 【ShapeBorder】", - "【onVisible】 : Devolución de llamada al mostrar 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_fr_FR.json deleted file mode 100644 index 2c375ecd8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 140, - "name": "SnackBar", - "localName": "Barre d'information", - "info": "En tant que composant, il s'agit d'une structure simple qui peut spécifier la forme, l'ombre, la couleur de fond, etc. Généralement, il apparaît depuis le bas via la méthode showSnackBar de ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [ - 141, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SnackBar", - "desc": [ - "【content】 : Composant de contenu central 【Widget】", - "【action】 : Bouton de droite 【SnackBarAction】", - "【duration】 : Durée 【Widget】", - "【backgroundColor】 : Couleur de fond 【Color】", - "【elevation】 : Profondeur de l'ombre 【double】", - "【shape】 : Forme 【ShapeBorder】", - "【onVisible】 : Rappel lors de l'affichage 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_it_IT.json deleted file mode 100644 index 9bb71debd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 140, - "name": "SnackBar", - "localName": "Barra di notifica", - "info": "Come componente, è una struttura semplice che può specificare forma, profondità dell'ombra, colore di sfondo, ecc. Generalmente viene visualizzato dal basso tramite il metodo showSnackBar di ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [ - 141, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SnackBar", - "desc": [ - "【content】 : Componente del contenuto centrale 【Widget】", - "【action】 : Bottone a destra 【SnackBarAction】", - "【duration】 : Durata 【Widget】", - "【backgroundColor】 : Colore di sfondo 【Color】", - "【elevation】 : Profondità dell'ombra 【double】", - "【shape】 : Forma 【ShapeBorder】", - "【onVisible】 : Callback quando viene visualizzato 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_ja_JP.json deleted file mode 100644 index 8ec32e385..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 140, - "name": "SnackBar", - "localName": "情報提示バー", - "info": "コンポーネントとして簡単な構造コンポーネントで、形状、影の深さ、背景色などを指定できます。一般的にScaffoldStateのshowSnackBarメソッドを使用して下部から表示されます。", - "lever": 4, - "family": 1, - "linkIds": [ - 141, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SnackBarの基本使用", - "desc": [ - "【content】 : 中間内容コンポーネント 【Widget】", - "【action】 : 右側ボタン 【SnackBarAction】", - "【duration】 : 持続時間 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【elevation】 : 影の深さ 【double】", - "【shape】 : 形状 【ShapeBorder】", - "【onVisible】 : 表示時のコールバック 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_ko_KR.json deleted file mode 100644 index 9d0848142..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 140, - "name": "SnackBar", - "localName": "정보 알림 바", - "info": "컴포넌트로서는 간단한 구조 컴포넌트로, 모양, 그림자 깊이, 배경색 등을 지정할 수 있습니다. 일반적으로 ScaffoldState의 showSnackBar 메소드를 통해 하단에서 팝업됩니다.", - "lever": 4, - "family": 1, - "linkIds": [ - 141, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SnackBar 기본 사용", - "desc": [ - "【content】 : 중간 내용 컴포넌트 【Widget】", - "【action】 : 오른쪽 버튼 【SnackBarAction】", - "【duration】 : 지속 시간 【Widget】", - "【backgroundColor】 : 배경색 【Color】", - "【elevation】 : 그림자 깊이 【double】", - "【shape】 : 모양 【ShapeBorder】", - "【onVisible】 : 표시 시 콜백 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_pt_PT.json deleted file mode 100644 index 8a888dd71..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 140, - "name": "SnackBar", - "localName": "Barra de Informação", - "info": "Como componente, é uma estrutura simples que pode especificar forma, profundidade de sombra, cor de fundo, etc. Geralmente é exibido a partir da parte inferior através do método showSnackBar do ScaffoldState.", - "lever": 4, - "family": 1, - "linkIds": [ - 141, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SnackBar", - "desc": [ - "【content】 : Componente de conteúdo central 【Widget】", - "【action】 : Botão do lado direito 【SnackBarAction】", - "【duration】 : Duração 【Widget】", - "【backgroundColor】 : Cor de fundo 【Color】", - "【elevation】 : Profundidade de sombra 【double】", - "【shape】 : Forma 【ShapeBorder】", - "【onVisible】 : Callback ao exibir 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_ru_RU.json deleted file mode 100644 index cf0b478b9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 140, - "name": "SnackBar", - "localName": "Информационная панель", - "info": "Как компонент, это простая структурная компонента, которая может указывать форму, глубину тени, цвет фона и т.д. Обычно вызывается методом showSnackBar из ScaffoldState, появляясь снизу.", - "lever": 4, - "family": 1, - "linkIds": [ - 141, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SnackBar", - "desc": [ - "【content】 : Промежуточный компонент содержимого 【Widget】", - "【action】 : Правая кнопка 【SnackBarAction】", - "【duration】 : Продолжительность 【Widget】", - "【backgroundColor】 : Цвет фона 【Color】", - "【elevation】 : Глубина тени 【double】", - "【shape】 : Форма 【ShapeBorder】", - "【onVisible】 : Обратный вызов при отображении 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_zh-CN.json deleted file mode 100644 index f199b3bf6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 140, - "name": "SnackBar", - "localName": "信息提示条", - "info": "作为组件来说是一个简单的结构组件,可指定形状、影深、背景色等。一般通过ScaffoldState的showSnackBar方法从底部弹出。", - "lever": 4, - "family": 1, - "linkIds": [ - 141, - 142 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SnackBar基本使用", - "desc": [ - "【content】 : 中间内容组件 【Widget】", - "【action】 : 右侧按钮 【SnackBarAction】", - "【duration】 : 持续时长 【Widget】", - "【backgroundColor】 : 背景色 【Color】", - "【elevation】 : 影深 【double】", - "【shape】 : 形状 【ShapeBorder】", - "【onVisible】 : 显示时回调 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/node1_base.dart deleted file mode 100644 index 36cac9c38..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBar/node1_base.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomSnackBar extends StatefulWidget { - const CustomSnackBar({Key? key}) : super(key: key); - - @override - _CustomSnackBarState createState() => _CustomSnackBarState(); -} - -class _CustomSnackBarState extends State { - @override - Widget build(BuildContext context) { - return ElevatedButton( - onPressed: () => - ScaffoldMessenger.of(context).showSnackBar(_buildSnackBar()), - child: const Text( - '点我弹出SnackBar', - style: TextStyle(color: Colors.white), - )); - } - - SnackBar _buildSnackBar() { - return SnackBar( - elevation: 3, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(10), topRight: Radius.circular(10))), - content: const Text('Wellcome to for join Flutter Unit!'), - duration: const Duration(seconds: 3), - //持续时间 - backgroundColor: Colors.red, - onVisible: () => print('onVisible'), - action: SnackBarAction( - textColor: Colors.white, label: '确定', onPressed: () {}), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_de_DE.json deleted file mode 100644 index 0d67865b4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 141, - "name": "SnackBarAction", - "localName": "SnackBar-Schaltfläche", - "info": "Wird im Allgemeinen nur in SnackBar verwendet, akzeptiert Klick-Ereignisse. Nach einem Klick wird die Schaltfläche deaktiviert, es können Farbe und deaktivierte Farbe angegeben werden.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von SnackBarAction", - "desc": [ - "【label】 : Beschriftung 【String】", - "【textColor】 : Textfarbe 【Color】", - "【disabledTextColor】 : Deaktivierte Textfarbe 【Color】", - "【onPressed】 : Klick-Rückruf 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_en_US.json deleted file mode 100644 index c5bb4f653..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 141, - "name": "SnackBarAction", - "localName": "Snack Bar Button", - "info": "Generally used only in SnackBar, accepts click events. The button will be disabled after one click, and the color and disabled color can be specified.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of SnackBarAction", - "desc": [ - "【label】 : Label 【String】", - "【textColor】 : Text Color 【Color】", - "【disabledTextColor】 : Disabled Text Color 【Color】", - "【onPressed】 : Click Callback 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_es_ES.json deleted file mode 100644 index 41e2e6d4b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 141, - "name": "SnackBarAction", - "localName": "Botón de barra de información", - "info": "Generalmente se usa solo en SnackBar, acepta eventos de clic. Después de hacer clic una vez, el botón se deshabilitará, se puede especificar el color y el color cuando está deshabilitado.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de SnackBarAction", - "desc": [ - "【label】 : Etiqueta 【String】", - "【textColor】 : Color del texto 【Color】", - "【disabledTextColor】 : Color del texto deshabilitado 【Color】", - "【onPressed】 : Callback de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_fr_FR.json deleted file mode 100644 index d87e87390..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 141, - "name": "SnackBarAction", - "localName": "Bouton de barre de message", - "info": "Généralement utilisé uniquement dans SnackBar, accepte les événements de clic. Après un clic, le bouton est désactivé, et vous pouvez spécifier la couleur et la couleur désactivée.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de SnackBarAction", - "desc": [ - "【label】 : Étiquette 【String】", - "【textColor】 : Couleur du texte 【Color】", - "【disabledTextColor】 : Couleur du texte désactivé 【Color】", - "【onPressed】 : Rappel de clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_it_IT.json deleted file mode 100644 index 1137e3470..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 141, - "name": "SnackBarAction", - "localName": "Pulsante della barra di notifica", - "info": "Generalmente utilizzato solo in SnackBar, accetta eventi di clic. Dopo un clic, il pulsante viene disabilitato. È possibile specificare il colore e il colore quando è disabilitato.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di SnackBarAction", - "desc": [ - "【label】 : Etichetta 【String】", - "【textColor】 : Colore del testo 【Color】", - "【disabledTextColor】 : Colore del testo disabilitato 【Color】", - "【onPressed】 : Callback del clic 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_ja_JP.json deleted file mode 100644 index e36d851c6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 141, - "name": "SnackBarAction", - "localName": "スナックバーボタン", - "info": "一般的にSnackBarでのみ使用され、クリックイベントを受け取ります。一度クリックするとボタンは無効化され、色や無効時の色を指定できます。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SnackBarActionの基本使用", - "desc": [ - "【label】 : ラベル 【String】", - "【textColor】 : 文字色 【Color】", - "【disabledTextColor】 : 無効時の文字色 【Color】", - "【onPressed】 : クリックコールバック 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_ko_KR.json deleted file mode 100644 index a20a19864..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 141, - "name": "SnackBarAction", - "localName": "스낵바 버튼", - "info": "일반적으로 SnackBar에서만 사용되며, 클릭 이벤트를 수신합니다. 한 번 클릭하면 버튼이 비활성화되며, 색상과 비활성화 시 색상을 지정할 수 있습니다.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SnackBarAction 기본 사용법", - "desc": [ - "【label】 : 라벨 【String】", - "【textColor】 : 텍스트 색상 【Color】", - "【disabledTextColor】 : 텍스트 비활성화 색상 【Color】", - "【onPressed】 : 클릭 콜백 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_pt_PT.json deleted file mode 100644 index 1c34e086e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 141, - "name": "SnackBarAction", - "localName": "Botão da Barra de Informações", - "info": "Geralmente usado apenas em SnackBar, aceita eventos de clique. Após um clique, o botão será desativado, e é possível especificar a cor e a cor quando desativado.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do SnackBarAction", - "desc": [ - "【label】 : Etiqueta 【String】", - "【textColor】 : Cor do texto 【Color】", - "【disabledTextColor】 : Cor do texto desativado 【Color】", - "【onPressed】 : Callback de clique 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_ru_RU.json deleted file mode 100644 index 74e932e5b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 141, - "name": "SnackBarAction", - "localName": "Кнопка информационной панели", - "info": "Обычно используется только в SnackBar, принимает события нажатия. После одного нажатия кнопка становится отключенной, можно указать цвет и цвет в отключенном состоянии.", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование SnackBarAction", - "desc": [ - "【label】 : Метка 【String】", - "【textColor】 : Цвет текста 【Color】", - "【disabledTextColor】 : Цвет текста в отключенном состоянии 【Color】", - "【onPressed】 : Обратный вызов при нажатии 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_zh-CN.json deleted file mode 100644 index a5e8dc226..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 141, - "name": "SnackBarAction", - "localName": "信息提示条按钮", - "info": "一般只用于SnackBar中,接受点击事件。点击一次后该按钮就会被禁用,可以指定颜色和禁用时颜色。", - "lever": 1, - "family": 1, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SnackBarAction基本使用", - "desc": [ - "【label】 : 标签 【String】", - "【textColor】 : 文字颜色 【Color】", - "【disabledTextColor】 : 文字失效色 【Color】", - "【onPressed】 : 点击回调 【Function()】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/node1_base.dart deleted file mode 100644 index 65cf6ac06..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SnackBarAction/node1_base.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomSnackBarAction extends StatelessWidget { - const CustomSnackBarAction({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SnackBarAction( - disabledTextColor: Colors.red, - textColor: Colors.blue, - label: '确定', - onPressed: () => print('onPressed'), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_de_DE.json deleted file mode 100644 index 0b33068d2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_de_DE.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 107, - "name": "Spacer", - "localName": "Raumkomponente", - "info": "Kann nur in Row-, Column- und Flex-Layouts verwendet werden. Nutzt den verbleibenden Platz als Platzhalter. Mit der flex-Eigenschaft kann der Platz für mehrere Spacer proportional zugeteilt werden.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Spacer", - "desc": [ - "Ein Spacer nimmt den erweiterbaren Bereich ein" - ] - }, - { - "file": "node2_flex.dart", - "name": "Raumzuweisung für mehrere Spacer", - "desc": [ - "【flex】 : Anteil der verbleibenden Raumzuweisung 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_en_US.json deleted file mode 100644 index 7bee2cc61..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_en_US.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 107, - "name": "Spacer", - "localName": "Space Component", - "info": "Can only be used in Row, Column, and Flex layouts. It can occupy the remaining space. The flex property can be used to allocate space proportionally among multiple Spacers.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Spacer", - "desc": [ - "A Spacer will occupy the extendable area" - ] - }, - { - "file": "node2_flex.dart", - "name": "Space Allocation with Multiple Spacers", - "desc": [ - "【flex】 : Proportion of remaining space allocation 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_es_ES.json deleted file mode 100644 index 11078f41d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_es_ES.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 107, - "name": "Spacer", - "localName": "Componente de espacio", - "info": "Solo se puede usar en diseños de Row, Column y Flex. Puede ocupar el espacio restante. La propiedad flex permite distribuir el espacio entre múltiples Spacer en proporción.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Spacer", - "desc": [ - "Un Spacer ocupará el área extensible" - ] - }, - { - "file": "node2_flex.dart", - "name": "Distribución de espacio entre múltiples Spacer", - "desc": [ - "【flex】 : Proporción de distribución del espacio restante 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_fr_FR.json deleted file mode 100644 index bc465c768..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_fr_FR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 107, - "name": "Spacer", - "localName": "Composant d'espace", - "info": "Ne peut être utilisé que dans les dispositions Row, Column et Flex, il occupe l'espace restant. La propriété flex permet de distribuer l'espace entre plusieurs Spacer proportionnellement.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Spacer", - "desc": [ - "Un Spacer occupe une zone extensible" - ] - }, - { - "file": "node2_flex.dart", - "name": "Répartition de l'espace entre plusieurs Spacer", - "desc": [ - "【flex】 : Proportion de répartition de l'espace restant 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_it_IT.json deleted file mode 100644 index a0e264305..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_it_IT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 107, - "name": "Spacer", - "localName": "Componente Spaziatore", - "info": "Può essere utilizzato solo nei layout Row, Column e Flex, occupa lo spazio rimanente e può distribuire lo spazio a più Spacer in proporzione utilizzando la proprietà flex.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Spacer", - "desc": [ - "Un Spacer occuperà l'area estensibile" - ] - }, - { - "file": "node2_flex.dart", - "name": "Distribuzione dello spazio con più Spacer", - "desc": [ - "【flex】 : percentuale di distribuzione dello spazio rimanente 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_ja_JP.json deleted file mode 100644 index 2fc247f67..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_ja_JP.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 107, - "name": "Spacer", - "localName": "スペーサー", - "info": "Row、Column、Flexレイアウトでのみ使用可能で、残りのスペースを占めるために使用されます。flexプロパティを使用して、複数のSpacerに比例してスペースを分配できます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Spacerの基本使用", - "desc": [ - "1つのSpacerが拡張可能な領域を占めます" - ] - }, - { - "file": "node2_flex.dart", - "name": "複数のSpacerスペース分配", - "desc": [ - "【flex】 : 残りのスペースの分配比率 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_ko_KR.json deleted file mode 100644 index a5c2cf176..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_ko_KR.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 107, - "name": "Spacer", - "localName": "공간 컴포넌트", - "info": "Row, Column, Flex 레이아웃에서만 사용할 수 있으며, 남은 공간을 차지하는 데 사용됩니다. flex 속성을 사용하여 여러 Spacer에 비례적으로 공간을 배분할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Spacer 기본 사용", - "desc": [ - "하나의 Spacer가 확장 가능한 영역을 차지합니다" - ] - }, - { - "file": "node2_flex.dart", - "name": "여러 Spacer 공간 배분", - "desc": [ - "【flex】 : 남은 공간 배분 비율 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_pt_PT.json deleted file mode 100644 index e1bcb0829..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_pt_PT.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 107, - "name": "Spacer", - "localName": "Componente de Espaço", - "info": "Só pode ser usado em layouts Row, Column e Flex, pode ocupar espaço utilizando o espaço restante, e a propriedade flex pode distribuir espaço proporcionalmente para múltiplos Spacers.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Spacer", - "desc": [ - "Um Spacer ocupará a área extensível" - ] - }, - { - "file": "node2_flex.dart", - "name": "Distribuição de Espaço para Múltiplos Spacers", - "desc": [ - "【flex】 : Proporção de distribuição do espaço restante 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_ru_RU.json deleted file mode 100644 index c75f90e54..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_ru_RU.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 107, - "name": "Spacer", - "localName": "Пространственный компонент", - "info": "Может использоваться только в макетах Row, Column и Flex, занимает оставшееся пространство. Свойство flex позволяет распределять пространство между несколькими Spacer пропорционально.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Spacer", - "desc": [ - "Один Spacer занимает расширяемую область" - ] - }, - { - "file": "node2_flex.dart", - "name": "Распределение пространства между несколькими Spacer", - "desc": [ - "【flex】 : Доля распределения оставшегося пространства 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_zh-CN.json deleted file mode 100644 index 3e50a8236..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/desc_zh-CN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": 107, - "name": "Spacer", - "localName": "空间组件", - "info": "只能用于Row、Column和Flex布局中,可利用剩余空间进行占位,使用flex属性可以给多个Spacer按比例分配空间。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Spacer基本使用", - "desc": [ - "一个Spacer会占据可延伸区域" - ] - }, - { - "file": "node2_flex.dart", - "name": "多个Spacer空间分配", - "desc": [ - "【flex】 : 剩余空间分配占比 【int】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/node1_base.dart deleted file mode 100644 index 2efb18a00..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/node1_base.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class OneSpacer extends StatelessWidget { - const OneSpacer({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return - Container( - color: Colors.grey.withAlpha(33), - child: Row(children: [ - Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: Colors.red, - ), - const Spacer(), - Container( - alignment: Alignment.center, - width: 60, - height: 50, - color: Colors.blue, - ), - ],), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/node2_flex.dart b/modules/widget_system/widgets/lib/StatelessWidget/Spacer/node2_flex.dart deleted file mode 100644 index dfc17ae76..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Spacer/node2_flex.dart +++ /dev/null @@ -1,67 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-22 -/// contact me by email 1981462002@qq.com - -class ManySpacer extends StatefulWidget { - const ManySpacer({Key? key}) : super(key: key); - - @override - _ManySpacerState createState() => _ManySpacerState(); -} - -class _ManySpacerState extends State { - int _flexA = 1; - int _flexB = 1; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - _buildSliders(), - Container( - color: Colors.grey.withAlpha(33), - child: Row(children: [ - Spacer(flex: _flexA), - Container( - alignment: Alignment.center, - width: 100, - height: 50, - color: Colors.red, - ), - Spacer(flex: _flexB), - Container( - alignment: Alignment.center, - width: 60, - height: 50, - color: Colors.blue, - ), - ],), - ) - ], - ); - } - - Widget _buildSliders() { - return Column( - children: [ - Slider( - divisions: 20, - min: 1, - max: 10, - label: "左边flex: $_flexA", - value: _flexA.toDouble(), - onChanged: (v) => setState(() => _flexA = v.round()) - ), - Slider( - divisions: 20, - label: "右边flex: $_flexB", - min: 1, - max: 10, - value: _flexB.toDouble(), - onChanged: (v) => setState(() => _flexB = v.round()) - ), - ], - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_de_DE.json deleted file mode 100644 index 568dbf543..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_de_DE.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 18, - "name": "SwitchListTile", - "localName": "Schalterkachel", - "info": "Eine allgemeine Listenstruktur, die von Flutter bereitgestellt wird, mit einer linken und mittleren Struktur und einem Schalter am Ende. Komponenten können an den entsprechenden Positionen eingefügt werden, um spezifische Einträge einfach zu handhaben.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Darstellung von SwitchListTile", - "desc": [ - "【secondary】: Linke Komponente 【Widget】", - "【title】: Obere mittlere Komponente 【Widget】", - "【subtitle】: Untere mittlere Komponente 【Widget】", - "【inactiveThumbColor】: Farbe des Kreises, wenn nicht ausgewählt 【Color】", - "【inactiveTrackColor】: Farbe der Schiene, wenn nicht ausgewählt 【Color】", - "【activeColor】: Farbe des Kreises, wenn ausgewählt 【Color】", - "【activeTrackColor】: Farbe der Schiene, wenn ausgewählt 【Color】", - "【onChanged】: Ereignis bei Auswahl 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Auswahleffekt von SwitchListTile", - "desc": [ - "【selected】: Ob ausgewählt 【bool】", - "【inactiveThumbImage】: Bild des Kreises, wenn nicht ausgewählt 【ImageProvider】", - "【activeThumbImage】: Bild des Kreises, wenn ausgewählt 【ImageProvider】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Dichte Eigenschaft von SwitchListTile", - "desc": [ - "【dense】: Ob dicht 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_en_US.json deleted file mode 100644 index b0a879fbf..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_en_US.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 18, - "name": "SwitchListTile", - "localName": "Switch Tile", - "info": "A common list item structure provided by Flutter, with a left-center structure and a Switch at the end. Components can be inserted at the corresponding positions, making it easy to handle specific items.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic representation of SwitchListTile", - "desc": [ - "【secondary】: Left component 【Widget】", - "【title】: Top middle component 【Widget】", - "【subtitle】: Bottom middle component 【Widget】", - "【inactiveThumbColor】: Circle color when not selected 【Color】", - "【inactiveTrackColor】: Track color when not selected 【Color】", - "【activeColor】: Circle color when selected 【Color】", - "【activeTrackColor】: Track color when selected 【Color】", - "【onChanged】: Selection event 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Selection effect of SwitchListTile", - "desc": [ - "【selected】: Whether selected 【bool】", - "【inactiveThumbImage】: Circle image when not selected 【ImageProvider】", - "【activeThumbImage】: Circle image when selected 【ImageProvider】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Dense property of SwitchListTile", - "desc": [ - "【dense】: Whether dense 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_es_ES.json deleted file mode 100644 index 956f9c095..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_es_ES.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 18, - "name": "SwitchListTile", - "localName": "Interruptor de Lista", - "info": "Estructura de elemento de lista genérica proporcionada por Flutter, con una estructura de izquierda a centro y un Switch en la cola. Se pueden insertar componentes en las posiciones correspondientes, lo que permite manejar elementos específicos de manera conveniente.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "El comportamiento básico de SwitchListTile es el siguiente", - "desc": [ - "【secondary】: Componente izquierdo 【Widget】", - "【title】: Componente superior central 【Widget】", - "【subtitle】: Componente inferior central 【Widget】", - "【inactiveThumbColor】: Color del círculo cuando no está seleccionado 【Color】", - "【inactiveTrackColor】: Color de la pista cuando no está seleccionado 【Color】", - "【activeColor】: Color del círculo cuando está seleccionado 【Color】", - "【activeTrackColor】: Color de la pista cuando está seleccionado 【Color】", - "【onChanged】: Evento de selección 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Efecto de selección de SwitchListTile", - "desc": [ - "【selected】: Si está seleccionado 【bool】", - "【inactiveThumbImage】: Imagen del círculo cuando no está seleccionado 【ImageProvider】", - "【activeThumbImage】: Imagen del círculo cuando está seleccionado 【ImageProvider】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Propiedad de densidad de SwitchListTile", - "desc": [ - "【dense】: Si está en modo denso 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_fr_FR.json deleted file mode 100644 index 161512fc4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_fr_FR.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 18, - "name": "SwitchListTile", - "localName": "Bouton de Commutation Tuile", - "info": "Une structure de liste générique fournie par Flutter, de structure gauche-centre, avec un Switch à la fin. Des composants peuvent être insérés aux positions correspondantes, ce qui permet de répondre facilement à des entrées spécifiques.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La performance de base de SwitchListTile est la suivante", - "desc": [ - "【secondary】: Composant gauche 【Widget】", - "【title】: Composant supérieur central 【Widget】", - "【subtitle】: Composant inférieur central 【Widget】", - "【inactiveThumbColor】: Couleur du cercle lorsqu'il n'est pas sélectionné 【Color】", - "【inactiveTrackColor】: Couleur de la piste lorsqu'elle n'est pas sélectionnée 【Color】", - "【activeColor】: Couleur du cercle lorsqu'il est sélectionné 【Color】", - "【activeTrackColor】: Couleur de la piste lorsqu'elle est sélectionnée 【Color】", - "【onChanged】: Événement de sélection 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Effet de sélection de SwitchListTile", - "desc": [ - "【selected】: Est sélectionné 【bool】", - "【inactiveThumbImage】: Image du cercle lorsqu'il n'est pas sélectionné 【ImageProvider】", - "【activeThumbImage】: Image du cercle lorsqu'il est sélectionné 【ImageProvider】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Propriété de densité de SwitchListTile", - "desc": [ - "【dense】: Est dense 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_it_IT.json deleted file mode 100644 index 20b56b709..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_it_IT.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 18, - "name": "SwitchListTile", - "localName": "Interruttore Piastrella", - "info": "Una struttura di elenco generica fornita da Flutter, con una struttura sinistra-centrale, e un interruttore alla fine. I componenti possono essere inseriti nelle posizioni appropriate, rendendo facile adattarsi a voci specifiche.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La rappresentazione di base di SwitchListTile è la seguente", - "desc": [ - "【secondary】: Componente sinistro 【Widget】", - "【title】: Componente superiore centrale 【Widget】", - "【subtitle】: Componente inferiore centrale 【Widget】", - "【inactiveThumbColor】: Colore del cerchio quando non selezionato 【Color】", - "【inactiveTrackColor】: Colore della scanalatura quando non selezionato 【Color】", - "【activeColor】: Colore del cerchio quando selezionato 【Color】", - "【activeTrackColor】: Colore della scanalatura quando selezionato 【Color】", - "【onChanged】: Evento di selezione 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Effetto di selezione di SwitchListTile", - "desc": [ - "【selected】: Se selezionato 【bool】", - "【inactiveThumbImage】: Immagine del cerchio quando non selezionato 【ImageProvider】", - "【activeThumbImage】: Immagine del cerchio quando selezionato 【ImageProvider】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Proprietà di densità di SwitchListTile", - "desc": [ - "【dense】: Se denso 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_ja_JP.json deleted file mode 100644 index b7026233d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_ja_JP.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 18, - "name": "SwitchListTile", - "localName": "スイッチリストタイル", - "info": "Flutterが提供する汎用リスト項目構造で、左中構造で、末尾にSwitchがあります。対応する位置にコンポーネントを挿入でき、特定の項目に簡単に対応できます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SwitchListTileの基本表現は以下の通りです", - "desc": [ - "【secondary】: 左側コンポーネント 【Widget】", - "【title】: 中央上コンポーネント 【Widget】", - "【subtitle】: 中央下コンポーネント 【Widget】", - "【inactiveThumbColor】: 未選択時の円の色 【Color】", - "【inactiveTrackColor】: 未選択時のスロットの色 【Color】", - "【activeColor】: 選択時の円の色 【Color】", - "【activeTrackColor】: 選択時のスロットの色 【Color】", - "【onChanged】: 選択イベント 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "SwitchListTileの選択効果", - "desc": [ - "【selected】: 選択されているかどうか 【bool】", - "【inactiveThumbImage】: 未選択時の円の画像 【ImageProvider】", - "【activeThumbImage】: 選択時の円の画像 【ImageProvider】" - ] - }, - { - "file": "node3_dense.dart", - "name": "SwitchListTileの密排属性", - "desc": [ - "【dense】: 密排かどうか 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_ko_KR.json deleted file mode 100644 index 743c75131..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_ko_KR.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 18, - "name": "SwitchListTile", - "localName": "스위치 리스트 타일", - "info": "Flutter에서 제공하는 일반적인 리스트 항목 구조로, 왼쪽과 중앙 구조이며, 끝에는 스위치가 있습니다. 해당 위치에 컴포넌트를 삽입할 수 있어 특정 항목에 쉽게 대응할 수 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SwitchListTile의 기본 표현은 다음과 같습니다", - "desc": [ - "【secondary】: 왼쪽 컴포넌트 【Widget】", - "【title】: 중앙 상단 컴포넌트 【Widget】", - "【subtitle】: 중앙 하단 컴포넌트 【Widget】", - "【inactiveThumbColor】: 선택되지 않았을 때 원 색상 【Color】", - "【inactiveTrackColor】: 선택되지 않았을 때 트랙 색상 【Color】", - "【activeColor】: 선택되었을 때 원 색상 【Color】", - "【activeTrackColor】: 선택되었을 때 트랙 색상 【Color】", - "【onChanged】: 선택 이벤트 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "SwitchListTile의 선택 효과", - "desc": [ - "【selected】: 선택 여부 【bool】", - "【inactiveThumbImage】: 선택되지 않았을 때 원 이미지 【ImageProvider】", - "【activeThumbImage】: 선택되었을 때 원 이미지 【ImageProvider】" - ] - }, - { - "file": "node3_dense.dart", - "name": "SwitchListTile의 밀집 속성", - "desc": [ - "【dense】: 밀집 여부 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_pt_PT.json deleted file mode 100644 index 6e3af4759..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_pt_PT.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 18, - "name": "SwitchListTile", - "localName": "Azulejo de Interruptor", - "info": "Uma estrutura de item de lista genérica fornecida pelo Flutter, com uma estrutura de esquerda para o meio, e um Switch no final. Componentes podem ser inseridos nas posições correspondentes, facilitando a adaptação a itens específicos.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "A apresentação básica do SwitchListTile é a seguinte", - "desc": [ - "【secondary】: Componente esquerdo 【Widget】", - "【title】: Componente superior central 【Widget】", - "【subtitle】: Componente inferior central 【Widget】", - "【inactiveThumbColor】: Cor do círculo quando não selecionado 【Color】", - "【inactiveTrackColor】: Cor do trilho quando não selecionado 【Color】", - "【activeColor】: Cor do círculo quando selecionado 【Color】", - "【activeTrackColor】: Cor do trilho quando selecionado 【Color】", - "【onChanged】: Evento de seleção 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Efeito de seleção do SwitchListTile", - "desc": [ - "【selected】: Se está selecionado 【bool】", - "【inactiveThumbImage】: Imagem do círculo quando não selecionado 【ImageProvider】", - "【activeThumbImage】: Imagem do círculo quando selecionado 【ImageProvider】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Propriedade de densidade do SwitchListTile", - "desc": [ - "【dense】: Se é denso 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_ru_RU.json deleted file mode 100644 index e4e3d0ce6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_ru_RU.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 18, - "name": "SwitchListTile", - "localName": "Переключатель плитки", - "info": "Общая структура элемента списка, предоставляемая Flutter, имеет лево-центральную структуру, а в конце находится Switch. Компоненты могут быть вставлены в соответствующие позиции, что позволяет легко адаптироваться к конкретным элементам.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное поведение SwitchListTile", - "desc": [ - "【secondary】: Левый компонент 【Widget】", - "【title】: Верхний центральный компонент 【Widget】", - "【subtitle】: Нижний центральный компонент 【Widget】", - "【inactiveThumbColor】: Цвет кружка в невыбранном состоянии 【Color】", - "【inactiveTrackColor】: Цвет дорожки в невыбранном состоянии 【Color】", - "【activeColor】: Цвет кружка в выбранном состоянии 【Color】", - "【activeTrackColor】: Цвет дорожки в выбранном состоянии 【Color】", - "【onChanged】: Событие выбора 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "Эффект выбора SwitchListTile", - "desc": [ - "【selected】: Выбрано ли 【bool】", - "【inactiveThumbImage】: Изображение кружка в невыбранном состоянии 【ImageProvider】", - "【activeThumbImage】: Изображение кружка в выбранном состоянии 【ImageProvider】" - ] - }, - { - "file": "node3_dense.dart", - "name": "Свойство плотного расположения SwitchListTile", - "desc": [ - "【dense】: Плотное ли расположение 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_zh-CN.json deleted file mode 100644 index 1feece7fe..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/desc_zh-CN.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "id": 18, - "name": "SwitchListTile", - "localName": "切钮瓦片", - "info": "Flutter提供的一个通用列表条目结构,为左中结构,尾部是一个Switch。相应位置可插入组件,可以很方便地应对特定的条目。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "SwitchListTile的基本表现如下", - "desc": [ - "【secondary】: 左侧组件 【Widget】", - "【title】: 中间上组件 【Widget】", - "【subtitle】: 中间下组件 【Widget】", - "【inactiveThumbColor】: 未选中时圆圈颜色 【Color】", - "【inactiveTrackColor】: 未选中滑槽颜色 【Color】", - "【activeColor】: 选中时圆圈颜色 【Color】", - "【activeTrackColor】: 选中滑槽颜色 【Color】", - "【onChanged】: 选中事件 【Function(bool)】" - ] - }, - { - "file": "node2_select.dart", - "name": "SwitchListTile的选中效果", - "desc": [ - "【selected】: 是否选中 【bool】", - "【inactiveThumbImage】: 未选中时圆圈图片 【ImageProvider】", - "【activeThumbImage】: 选中时圆圈图片 【ImageProvider】" - ] - }, - { - "file": "node3_dense.dart", - "name": "SwitchListTile的密排属性", - "desc": [ - "【dense】: 是否密排 【bool】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/node1_base.dart deleted file mode 100644 index 510988295..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/node1_base.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class CustomSwitchListTile extends StatefulWidget { - const CustomSwitchListTile({Key? key}) : super(key: key); - - @override - _CustomSwitchListTileState createState() => _CustomSwitchListTileState(); -} - -class _CustomSwitchListTileState extends State { - var _value=false; - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(10), - color: Colors.grey.withAlpha(22), - child: SwitchListTile( - value: _value, - inactiveThumbColor:Colors.cyanAccent , - inactiveTrackColor: Colors.blue.withAlpha(88), - activeColor: Colors.orangeAccent, - activeTrackColor: Colors.orange, - secondary: Image.asset("assets/images/icon_head.webp"), - title: const Text("张风捷特烈"), - subtitle: const Text("@万花过尽知无物"), - onChanged: (v) => setState(() => _value = !_value), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/node2_select.dart b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/node2_select.dart deleted file mode 100644 index bbdeaee30..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/node2_select.dart +++ /dev/null @@ -1,35 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class SelectSwitchListTile extends StatefulWidget { - const SelectSwitchListTile({Key? key}) : super(key: key); - - @override - _SelectSwitchListTileState createState() => _SelectSwitchListTileState(); -} - -class _SelectSwitchListTileState extends State { - bool _value=false; - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(10), - color: Colors.grey.withAlpha(22), - child: SwitchListTile( - value: _value, - selected: _value, - activeColor: Colors.orangeAccent, - secondary: Image.asset("assets/images/icon_head.webp"), - inactiveThumbImage: const AssetImage("assets/images/head_icon/icon_5.webp"), - activeThumbImage: const AssetImage("assets/images/icon_head.webp"), - title: const Text("张风捷特烈"), - subtitle: const Text("@万花过尽知无物"), - onChanged: (v) => setState(() => _value = !_value), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/node3_dense.dart b/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/node3_dense.dart deleted file mode 100644 index 06387d3c4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/SwitchListTile/node3_dense.dart +++ /dev/null @@ -1,34 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - -class DenseSwitchListTile extends StatefulWidget { - const DenseSwitchListTile({Key? key}) : super(key: key); - - @override - _DenseSwitchListTileState createState() => _DenseSwitchListTileState(); -} - -class _DenseSwitchListTileState extends State { - bool _value = false; - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.all(10), - color: Colors.grey.withAlpha(22), - child: SwitchListTile( - value: _value, - dense: true, - selected: _value, - activeColor: Colors.orangeAccent, - secondary: Image.asset("assets/images/icon_head.webp"), - title: const Text("张风捷特烈"), - subtitle: const Text("@万花过尽知无物"), - onChanged: (v) => setState(() => _value = !_value), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_de_DE.json deleted file mode 100644 index ee33c758d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_de_DE.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 148, - "name": "Tab", - "localName": "Tab", - "info": "Wird normalerweise für Items in der TabBar verwendet, hat eine obere und untere Struktur und kann ein Symbol und eine Inhaltskomponente angeben.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Tab", - "desc": [ - "【child】 : Untergeordnete Komponente 【Widget】", - "【text】 : Text 【String】", - "【icon】 : Untere Komponente 【Widgit】", - " text und child können nicht gleichzeitig existieren" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_en_US.json deleted file mode 100644 index f25740606..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_en_US.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 148, - "name": "Tab", - "localName": "Tab", - "info": "Generally used as an item in the TabBar, with a top-bottom structure, allowing the specification of an icon and a content component.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Tab", - "desc": [ - "【child】: Child component 【Widget】", - "【text】: Text 【String】", - "【icon】: Bottom component 【Widget】", - " text and child cannot exist simultaneously" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_es_ES.json deleted file mode 100644 index 926b3d31d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_es_ES.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 148, - "name": "Tab", - "localName": "Pestaña", - "info": "Generalmente se utiliza como un ítem en el TabBar, con una estructura de arriba hacia abajo, se puede especificar un ícono y un componente de contenido.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Tab", - "desc": [ - "【child】 : Componente hijo 【Widget】", - "【text】 : Texto 【String】", - "【icon】 : Componente inferior 【Widget】", - " text y child no pueden coexistir" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_fr_FR.json deleted file mode 100644 index 0b4fde058..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_fr_FR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 148, - "name": "Tab", - "localName": "Onglet", - "info": "Généralement utilisé comme élément dans une TabBar, structure verticale, peut spécifier une icône et un composant de contenu.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Tab", - "desc": [ - "【child】 : Composant enfant 【Widget】", - "【text】 : Texte 【String】", - "【icon】 : Composant inférieur 【Widgit】", - " text et child ne peuvent pas coexister" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_it_IT.json deleted file mode 100644 index 964a9f73a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_it_IT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 148, - "name": "Tab", - "localName": "Scheda", - "info": "Generalmente utilizzato per gli elementi in TabBar, struttura verticale, può specificare un'icona e un componente di contenuto.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di Tab", - "desc": [ - "【child】 : Componente figlio 【Widget】", - "【text】 : Testo 【String】", - "【icon】 : Componente inferiore 【Widgit】", - " text e child non possono esistere contemporaneamente" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_ja_JP.json deleted file mode 100644 index 0b432a21e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_ja_JP.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 148, - "name": "Tab", - "localName": "タブ", - "info": "一般的にTabBarのアイテムとして使用され、上下構造で、アイコンとコンテンツコンポーネントを指定できます。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Tabの基本的な使用", - "desc": [ - "【child】 : 子コンポーネント 【Widget】", - "【text】 : テキスト 【String】", - "【icon】 : 下部コンポーネント 【Widgit】", - " textとchildは同時に存在できません" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_ko_KR.json deleted file mode 100644 index 2a2307ed5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_ko_KR.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 148, - "name": "Tab", - "localName": "탭", - "info": "일반적으로 TabBar의 항목으로 사용되며, 상하 구조로 아이콘과 내용 컴포넌트를 지정할 수 있습니다.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "탭 기본 사용법", - "desc": [ - "【child】 : 자식 컴포넌트 【Widget】", - "【text】 : 텍스트 【String】", - "【icon】 : 하단 컴포넌트 【Widget】", - " text와 child는 동시에 존재할 수 없습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_pt_PT.json deleted file mode 100644 index 524a2d596..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_pt_PT.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 148, - "name": "Tab", - "localName": "Separador", - "info": "Geralmente utilizado como item na TabBar, com uma estrutura de cima para baixo, pode especificar um ícone e um componente de conteúdo.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico do Tab", - "desc": [ - "【child】 : Componente filho 【Widget】", - "【text】 : Texto 【String】", - "【icon】 : Componente inferior 【Widgit】", - " text e child não podem coexistir" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_ru_RU.json deleted file mode 100644 index c5eedc1c9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_ru_RU.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 148, - "name": "Tab", - "localName": "Вкладка", - "info": "Обычно используется как элемент в TabBar, имеет верхнюю и нижнюю структуру, может содержать иконку и компонент содержимого.", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Tab", - "desc": [ - "【child】 : Дочерний компонент 【Widget】", - "【text】 : Текст 【String】", - "【icon】 : Нижний компонент 【Widgit】", - " text и child не могут существовать одновременно" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_zh-CN.json deleted file mode 100644 index b3849f40c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/desc_zh-CN.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": 148, - "name": "Tab", - "localName": "标签", - "info": "一般用于TabBar中的item,上下结构,可指定图标和一个内容组件。", - "lever": 1, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Tab基本使用", - "desc": [ - "【child】 : 子组件 【Widget】", - "【text】 : 文字 【String】", - "【icon】 : 下方组件 【Widgit】", - " text和child不能同时存在" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Tab/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Tab/node1_base.dart deleted file mode 100644 index 932f2bc16..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Tab/node1_base.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-25 -/// contact me by email 1981462002@qq.com - - -class CustomTab extends StatelessWidget { - const CustomTab({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: const [ - Tab( - icon:Icon( Icons.add,color: Colors.blue,), - child: Text('添加'), - ), - Tab( - icon:Icon( Icons.close,color: Colors.red,), - text: '删除', - ), - Tab( - icon:Icon( Icons.refresh,color: Colors.green), - text: '更新', - ), - ], - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_de_DE.json deleted file mode 100644 index b6b2c857b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_de_DE.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 58, - "name": "TabBar", - "localName": "Tab-Leiste", - "info": "Eine schiebbare und klickbare Tab-Leiste, die normalerweise am unteren Rand der AppBar verwendet wird. Kann mit TabBarView kombiniert werden, um den Effekt des Seitenwechselns zu erzielen.", - "lever": 3, - "family": 1, - "linkIds": [ - 57, - 59, - 148 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von TabBar", - "desc": [ - "【controller】 : Controller 【TabController】", - "【indicatorColor】 : Indikatorfarbe 【Indikatorfarbe】", - "【indicatorWeight】 : Indikatorhöhe 【double】", - "【indicatorPadding】 : Indikatorrand 【EdgeInsetsGeometry】", - "【labelStyle】 : Textstil der Registerkarte 【TextStyle】", - "【unselectedLabelStyle】 : Textstil der nicht ausgewählten Registerkarte 【TextStyle】", - "【isScrollable】 : Ob scrollbar 【bool】", - "【onTap】 : Rückruf beim Klicken auf die Registerkarte 【Function(int)】", - "【tabs】 : Tab-Komponenten 【List】" - ] - }, - { - "file": "node2_noShadow.dart", - "name": "Durch das Setzen von Theme kann der Wasserwelleneffekt vermieden werden", - "desc": [ - "Setzen Sie die Farbe der Wasserwelle in Theme auf transparent." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_en_US.json deleted file mode 100644 index 88bd3cce8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_en_US.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 58, - "name": "TabBar", - "localName": "Tab Bar", - "info": "A slidable and clickable tab bar, usually used at the bottom of the AppBar, can be used in conjunction with TabBarView to achieve a sliding page effect.", - "lever": 3, - "family": 1, - "linkIds": [ - 57, - 59, - 148 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of TabBar", - "desc": [ - "【controller】 : Controller 【TabController】", - "【indicatorColor】 : Indicator Color 【Indicator Color】", - "【indicatorWeight】 : Indicator Height 【double】", - "【indicatorPadding】 : Indicator Margin 【EdgeInsetsGeometry】", - "【labelStyle】 : Tab Text Style 【TextStyle】", - "【unselectedLabelStyle】 : Unselected Text Style 【TextStyle】", - "【isScrollable】 : Whether Scrollable 【bool】", - "【onTap】 : Tab Click Callback 【Function(int)】", - "【tabs】 : Tab Components 【List】" - ] - }, - { - "file": "node2_noShadow.dart", - "name": "Achieve No Ripple Effect by Setting Theme", - "desc": [ - "Set the ripple color in the Theme to transparent." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_es_ES.json deleted file mode 100644 index 1844c1b3b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_es_ES.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 58, - "name": "TabBar", - "localName": "Barra de pestañas", - "info": "Barra de pestañas deslizante y clicable, generalmente utilizada en la parte inferior de AppBar, se puede usar junto con TabBarView para lograr un efecto de deslizamiento de página.", - "lever": 3, - "family": 1, - "linkIds": [ - 57, - 59, - 148 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de TabBar", - "desc": [ - "【controller】 : Controlador 【TabController】", - "【indicatorColor】 : Color del indicador 【Color del indicador】", - "【indicatorWeight】 : Altura del indicador 【double】", - "【indicatorPadding】 : Márgenes del indicador 【EdgeInsetsGeometry】", - "【labelStyle】 : Estilo del texto de la pestaña 【TextStyle】", - "【unselectedLabelStyle】 : Estilo del texto no seleccionado 【TextStyle】", - "【isScrollable】 : Deslizable 【bool】", - "【onTap】 : Callback al hacer clic en la pestaña 【Function(int)】", - "【tabs】 : Componentes de la pestaña 【List】" - ] - }, - { - "file": "node2_noShadow.dart", - "name": "Se puede lograr sin efecto de onda configurando Theme", - "desc": [ - "Simplemente configure el color de la onda en Theme como transparente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_fr_FR.json deleted file mode 100644 index 330c9071a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_fr_FR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 58, - "name": "TabBar", - "localName": "Barre d'onglets", - "info": "Barre d'onglets glissable et cliquable, généralement utilisée en bas de l'AppBar, peut être utilisée avec TabBarView pour réaliser un effet de glissement de page.", - "lever": 3, - "family": 1, - "linkIds": [ - 57, - 59, - 148 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de TabBar", - "desc": [ - "【controller】 : Contrôleur 【TabController】", - "【indicatorColor】 : Couleur de l'indicateur 【Couleur de l'indicateur】", - "【indicatorWeight】 : Hauteur de l'indicateur 【double】", - "【indicatorPadding】 : Marge de l'indicateur 【EdgeInsetsGeometry】", - "【labelStyle】 : Style de texte de l'onglet 【TextStyle】", - "【unselectedLabelStyle】 : Style de texte non sélectionné 【TextStyle】", - "【isScrollable】 : Peut être glissé 【bool】", - "【onTap】 : Rappel de clic sur l'onglet 【Function(int)】", - "【tabs】 : Composant d'onglet 【List】" - ] - }, - { - "file": "node2_noShadow.dart", - "name": "Réaliser sans ondulation en définissant Theme", - "desc": [ - "Définissez simplement la couleur de l'ondulation dans Theme comme transparente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_it_IT.json deleted file mode 100644 index 4245686a3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_it_IT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 58, - "name": "TabBar", - "localName": "Barra delle schede", - "info": "Barra delle schede scorrevole e cliccabile, solitamente utilizzata nella parte inferiore dell'AppBar, può essere utilizzata insieme a TabBarView per ottenere l'effetto di scorrimento delle pagine.", - "lever": 3, - "family": 1, - "linkIds": [ - 57, - 59, - 148 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di TabBar", - "desc": [ - "【controller】 : Controller 【TabController】", - "【indicatorColor】 : Colore dell'indicatore 【Colore dell'indicatore】", - "【indicatorWeight】 : Altezza dell'indicatore 【double】", - "【indicatorPadding】 : Margine dell'indicatore 【EdgeInsetsGeometry】", - "【labelStyle】 : Stile del testo della scheda 【TextStyle】", - "【unselectedLabelStyle】 : Stile del testo non selezionato 【TextStyle】", - "【isScrollable】 : Scorrevole 【bool】", - "【onTap】 : Callback del clic sulla scheda 【Function(int)】", - "【tabs】 : Componenti delle schede 【List】" - ] - }, - { - "file": "node2_noShadow.dart", - "name": "Impostando il tema è possibile ottenere l'effetto senza ondulazione", - "desc": [ - "Basta impostare il colore dell'ondulazione nel tema su trasparente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_ja_JP.json deleted file mode 100644 index 47debc38b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_ja_JP.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 58, - "name": "TabBar", - "localName": "タブバー", - "info": "スワイプやクリックが可能なタブバーで、通常はAppBarの下部に使用され、TabBarViewと連携してページをスワイプする効果を実現できます。", - "lever": 3, - "family": 1, - "linkIds": [ - 57, - 59, - 148 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBarの基本的な使用", - "desc": [ - "【controller】 : コントローラー 【TabController】", - "【indicatorColor】 : インジケーターの色 【インジケーターの色】", - "【indicatorWeight】 : インジケーターの高さ 【double】", - "【indicatorPadding】 : インジケーターの余白 【EdgeInsetsGeometry】", - "【labelStyle】 : タブのテキストスタイル 【TextStyle】", - "【unselectedLabelStyle】 : 未選択のテキストスタイル 【TextStyle】", - "【isScrollable】 : スワイプ可能かどうか 【bool】", - "【onTap】 : タブクリックのコールバック 【Function(int)】", - "【tabs】 : タブコンポーネント 【List】" - ] - }, - { - "file": "node2_noShadow.dart", - "name": "Themeを設定して水波紋を無効にする", - "desc": [ - "Themeの水波紋の色を透明に設定します。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_ko_KR.json deleted file mode 100644 index 40400db9c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_ko_KR.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 58, - "name": "TabBar", - "localName": "탭 바", - "info": "탭 바를 스와이프하고 클릭할 수 있으며, 일반적으로 AppBar의 하단에 사용됩니다. TabBarView와 함께 사용하여 페이지 슬라이딩 효과를 구현할 수 있습니다.", - "lever": 3, - "family": 1, - "linkIds": [ - 57, - 59, - 148 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBar 기본 사용", - "desc": [ - "【controller】 : 컨트롤러 【TabController】", - "【indicatorColor】 : 인디케이터 색상 【인디케이터 색상】", - "【indicatorWeight】 : 인디케이터 높이 【double】", - "【indicatorPadding】 : 인디케이터 여백 【EdgeInsetsGeometry】", - "【labelStyle】 : 탭 텍스트 스타일 【TextStyle】", - "【unselectedLabelStyle】 : 선택되지 않은 텍스트 스타일 【TextStyle】", - "【isScrollable】 : 스와이프 가능 여부 【bool】", - "【onTap】 : 탭 클릭 콜백 【Function(int)】", - "【tabs】 : 탭 위젯 【List】" - ] - }, - { - "file": "node2_noShadow.dart", - "name": "Theme 설정을 통해 물결 효과 없이 구현", - "desc": [ - "Theme에서 물결 효과 색상을 투명으로 설정하면 됩니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_pt_PT.json deleted file mode 100644 index 7105e7935..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_pt_PT.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 58, - "name": "TabBar", - "localName": "Barra de Etiquetas", - "info": "Barra de etiquetas deslizável e clicável, geralmente usada na parte inferior do AppBar, pode ser usada em conjunto com o TabBarView para alcançar o efeito de deslizar páginas.", - "lever": 3, - "family": 1, - "linkIds": [ - 57, - 59, - 148 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do TabBar", - "desc": [ - "【controller】 : Controlador 【TabController】", - "【indicatorColor】 : Cor do Indicador 【Cor do Indicador】", - "【indicatorWeight】 : Altura do Indicador 【double】", - "【indicatorPadding】 : Margem do Indicador 【EdgeInsetsGeometry】", - "【labelStyle】 : Estilo do Texto da Etiqueta 【TextStyle】", - "【unselectedLabelStyle】 : Estilo do Texto Não Selecionado 【TextStyle】", - "【isScrollable】 : Se é Deslizável 【bool】", - "【onTap】 : Callback de Clique na Etiqueta 【Function(int)】", - "【tabs】 : Componentes das Etiquetas 【List】" - ] - }, - { - "file": "node2_noShadow.dart", - "name": "Configuração do Theme para Eliminar Ondulações", - "desc": [ - "Defina a cor das ondulações no Theme como transparente." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_ru_RU.json deleted file mode 100644 index d0fad2872..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_ru_RU.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 58, - "name": "TabBar", - "localName": "Панель вкладок", - "info": "Скользящая и кликабельная панель вкладок, обычно используется в нижней части AppBar, может использоваться вместе с TabBarView для создания эффекта скользящих страниц.", - "lever": 3, - "family": 1, - "linkIds": [ - 57, - 59, - 148 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование TabBar", - "desc": [ - "【controller】 : Контроллер 【TabController】", - "【indicatorColor】 : Цвет индикатора 【Цвет индикатора】", - "【indicatorWeight】 : Высота индикатора 【double】", - "【indicatorPadding】 : Отступы индикатора 【EdgeInsetsGeometry】", - "【labelStyle】 : Стиль текста вкладки 【TextStyle】", - "【unselectedLabelStyle】 : Стиль текста невыбранной вкладки 【TextStyle】", - "【isScrollable】 : Возможность прокрутки 【bool】", - "【onTap】 : Обратный вызов при нажатии на вкладку 【Function(int)】", - "【tabs】 : Компоненты вкладок 【List】" - ] - }, - { - "file": "node2_noShadow.dart", - "name": "Реализация без водяных волн через настройку Theme", - "desc": [ - "Просто установите цвет водяных волн в Theme на прозрачный." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_zh-CN.json deleted file mode 100644 index b49dbb29f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/desc_zh-CN.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": 58, - "name": "TabBar", - "localName": "标签栏", - "info": "可滑动和点击标签栏,通常用于AppBar的底部,可与TabBarView联用,实现滑页的效果。", - "lever": 3, - "family": 1, - "linkIds": [ - 57, - 59, - 148 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabBar基本使用", - "desc": [ - "【controller】 : 控制器 【TabController】", - "【indicatorColor】 : 指示器颜色 【指示器颜色】", - "【indicatorWeight】 : 指示器高 【double】", - "【indicatorPadding】 : 指示器边距 【EdgeInsetsGeometry】", - "【labelStyle】 : 页签文字样式 【TextStyle】", - "【unselectedLabelStyle】 : 未选中文字样式 【TextStyle】", - "【isScrollable】 : 是否可滑动 【bool】", - "【onTap】 : 页签点击回调 【Function(int)】", - "【tabs】 : 标签组件 【List】" - ] - }, - { - "file": "node2_noShadow.dart", - "name": "通过设置Theme可实现无水波纹", - "desc": [ - "将Theme关于水波纹的颜色设置为透明即可。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/node1_base.dart deleted file mode 100644 index 747d93ea4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/node1_base.dart +++ /dev/null @@ -1,46 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-16 -/// contact me by email 1981462002@qq.com - -class CustomTabBar extends StatefulWidget { - const CustomTabBar({Key? key}) : super(key: key); - - @override - _CustomTabBarState createState() => _CustomTabBarState(); -} - -class _CustomTabBarState extends State - with SingleTickerProviderStateMixin { - final List tabs = ['风画庭', '雨韵舍', '雷鸣殿', '电疾堂', '霜寒阁', '雪月楼']; - late TabController _tabController; - - @override - void initState() { - super.initState(); - _tabController = TabController(vsync: this, length: tabs.length); - } - - @override - void dispose() { - _tabController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return TabBar( - onTap: (tab) => print(tab), - labelStyle: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - unselectedLabelStyle: const TextStyle(fontSize: 16), - isScrollable: true, - controller: _tabController, - labelColor: Colors.blue, - indicatorWeight: 3, - indicatorPadding: const EdgeInsets.symmetric(horizontal: 10), - unselectedLabelColor: Colors.grey, - indicatorColor: Colors.orangeAccent, - tabs: tabs.map((e) => Tab(text: e)).toList(), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/node2_noShadow.dart b/modules/widget_system/widgets/lib/StatelessWidget/TabBar/node2_noShadow.dart deleted file mode 100644 index 469933933..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabBar/node2_noShadow.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class NoShadowTabBarDemo extends StatefulWidget { - const NoShadowTabBarDemo({Key? key}) : super(key: key); - - @override - _NSTabBarState createState() => _NSTabBarState(); -} - -class _NSTabBarState extends State - with SingleTickerProviderStateMixin { - final List tabs = ['风画庭', '雨韵舍', '雷鸣殿', '电疾堂', '霜寒阁', '雪月楼']; - late TabController _tabController; - - @override - void initState() { - super.initState(); - _tabController = TabController(vsync: this, length: tabs.length); - } - - @override - void dispose() { - _tabController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Theme( - data: Theme.of(context).copyWith( - splashColor: Colors.transparent, - highlightColor: Colors.transparent, - ), - child: TabBar( - onTap: (tab) => print(tab), - labelStyle: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - unselectedLabelStyle: const TextStyle(fontSize: 16), - isScrollable: true, - controller: _tabController, - labelColor: Colors.blue, - indicatorWeight: 3, - indicatorPadding: const EdgeInsets.symmetric(horizontal: 10), - unselectedLabelColor: Colors.grey, - indicatorColor: Colors.orangeAccent, - tabs: tabs.map((e) => Tab(text: e)).toList(), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_de_DE.json deleted file mode 100644 index 96f33fc05..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_de_DE.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 205, - "name": "TabPageSelector", - "localName": "Tab-Seitenwähler", - "info": "Wird normalerweise als Indikator in Verbindung mit TabBarView verwendet und teilt sich einen gemeinsamen TabController. Farbe, Größe und ausgewählte Farbe können angegeben werden.", - "lever": 2, - "family": 0, - "linkIds": [ - 206, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von TabPageSelector", - "desc": [ - "【controller】 : Controller 【TabController】", - "【indicatorSize】: Indikatorgröße 【double】", - "【selectedColor】: Ausgewählte Farbe 【Color】", - "【color】: Farbe 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_en_US.json deleted file mode 100644 index b56c27475..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_en_US.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 205, - "name": "TabPageSelector", - "localName": "Tab Sliding Selector", - "info": "Usually used as an indicator with TabBarView, sharing a common TabController. Can specify color, size, and selected color.", - "lever": 2, - "family": 0, - "linkIds": [ - 206, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of TabPageSelector", - "desc": [ - "【controller】 : Controller 【TabController】", - "【indicatorSize】: Indicator Size 【double】", - "【selectedColor】: Selected Color 【Color】", - "【color】: Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_es_ES.json deleted file mode 100644 index 734482d3b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_es_ES.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 205, - "name": "TabPageSelector", - "localName": "Selector de pestañas deslizante", - "info": "Normalmente se utiliza como indicador junto con TabBarView, compartiendo un TabController. Se pueden especificar colores, tamaños y colores seleccionados.", - "lever": 2, - "family": 0, - "linkIds": [ - 206, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de TabPageSelector", - "desc": [ - "【controller】 : Controlador 【TabController】", - "【indicatorSize】: Tamaño del indicador 【double】", - "【selectedColor】: Color seleccionado 【Color】", - "【color】: Color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_fr_FR.json deleted file mode 100644 index 21bef59b7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_fr_FR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 205, - "name": "TabPageSelector", - "localName": "Sélecteur de page à onglets", - "info": "Utilisé généralement comme indicateur avec TabBarView, partageant un TabController commun. Peut spécifier la couleur, la taille, la couleur sélectionnée.", - "lever": 2, - "family": 0, - "linkIds": [ - 206, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de TabPageSelector", - "desc": [ - "【controller】 : Contrôleur 【TabController】", - "【indicatorSize】: Taille de l'indicateur 【double】", - "【selectedColor】: Couleur sélectionnée 【Color】", - "【color】: Couleur 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_it_IT.json deleted file mode 100644 index ca2cb9293..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_it_IT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 205, - "name": "TabPageSelector", - "localName": "Selettore di scorrimento delle schede", - "info": "Utilizzato solitamente come indicatore insieme a TabBarView, condividendo un TabController. È possibile specificare colore, dimensione e colore selezionato.", - "lever": 2, - "family": 0, - "linkIds": [ - 206, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso base di TabPageSelector", - "desc": [ - "【controller】 : Controller 【TabController】", - "【indicatorSize】: Dimensione dell'indicatore 【double】", - "【selectedColor】: Colore selezionato 【Color】", - "【color】: Colore 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_ja_JP.json deleted file mode 100644 index 9457a660c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_ja_JP.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 205, - "name": "TabPageSelector", - "localName": "タブページセレクター", - "info": "通常、インジケーターとしてTabBarViewと連携して使用され、同じTabControllerを共有します。色、サイズ、選択色を指定できます。", - "lever": 2, - "family": 0, - "linkIds": [ - 206, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabPageSelectorの基本的な使用", - "desc": [ - "【controller】 : コントローラー 【TabController】", - "【indicatorSize】: インジケーターサイズ 【double】", - "【selectedColor】: 選択色 【Color】", - "【color】: 色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_ko_KR.json deleted file mode 100644 index 0fe8b10b7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_ko_KR.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 205, - "name": "TabPageSelector", - "localName": "탭 페이지 선택기", - "info": "일반적으로 지시자로 사용되며 TabBarView와 함께 사용되며, 동일한 TabController를 공유합니다. 색상, 크기, 선택된 색상을 지정할 수 있습니다.", - "lever": 2, - "family": 0, - "linkIds": [ - 206, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabPageSelector 기본 사용", - "desc": [ - "【controller】 : 컨트롤러 【TabController】", - "【indicatorSize】: 지시자 크기 【double】", - "【selectedColor】: 선택된 색상 【Color】", - "【color】: 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_pt_PT.json deleted file mode 100644 index bc5a77ae3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_pt_PT.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 205, - "name": "TabPageSelector", - "localName": "Seletor de Deslizamento de Abas", - "info": "Geralmente usado como um indicador em conjunto com o TabBarView, compartilhando um TabController. Pode especificar cor, tamanho e cor de seleção.", - "lever": 2, - "family": 0, - "linkIds": [ - 206, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do TabPageSelector", - "desc": [ - "【controller】 : Controlador 【TabController】", - "【indicatorSize】: Tamanho do Indicador 【double】", - "【selectedColor】: Cor de Seleção 【Color】", - "【color】: Cor 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_ru_RU.json deleted file mode 100644 index 41d153360..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_ru_RU.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 205, - "name": "TabPageSelector", - "localName": "Выбор вкладок с прокруткой", - "info": "Обычно используется как индикатор вместе с TabBarView, используя общий TabController. Можно указать цвет, размер, цвет выбранного элемента.", - "lever": 2, - "family": 0, - "linkIds": [ - 206, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование TabPageSelector", - "desc": [ - "【controller】 : Контроллер 【TabController】", - "【indicatorSize】: Размер индикатора 【double】", - "【selectedColor】: Цвет выбранного элемента 【Color】", - "【color】: Цвет 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_zh-CN.json deleted file mode 100644 index 65dd3fd6d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/desc_zh-CN.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": 205, - "name": "TabPageSelector", - "localName": "页签滑动选择器", - "info": "通常作为指示器与TabBarView联用,共同使用一个TabController。可指定颜色、大小、选中色。", - "lever": 2, - "family": 0, - "linkIds": [ - 206, - 59 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabPageSelector基本使用", - "desc": [ - "【controller】 : 控制器 【TabController】", - "【indicatorSize】: 指示器大小 【double】", - "【selectedColor】: 选中色 【Color】", - "【color】: 颜色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/node1_base.dart deleted file mode 100644 index e061bc8b5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelector/node1_base.dart +++ /dev/null @@ -1,64 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class TabPageSelectorDemo extends StatefulWidget { - const TabPageSelectorDemo({Key? key}) : super(key: key); - - @override - _TabPageSelectorDemoState createState() => _TabPageSelectorDemoState(); -} - -class _TabPageSelectorDemoState extends State - with SingleTickerProviderStateMixin { - final List tabs = ['风画庭', '雨韵舍', '雷鸣殿', '电疾堂', '霜寒阁', '雪月楼']; - late TabController _tabController; - - @override - void initState() { - super.initState(); - _tabController = TabController(vsync: this, length: tabs.length); - } - - @override - void dispose() { - _tabController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 200, - child: Stack( - alignment: Alignment.center, - children: [ - Container(color: Colors.purple, child: _buildTableBarView()), - Positioned( - bottom: 10, - child: buildTabPageSelector(), - ), - ], - ), - ); - } - - Widget buildTabPageSelector() => TabPageSelector( - controller: _tabController, - color: Colors.white, - indicatorSize: 10, - selectedColor: Colors.orangeAccent, - ); - - Widget _buildTableBarView() => TabBarView( - controller: _tabController, - children: tabs - .map((e) => Center( - child: Text( - e, - style: const TextStyle(color: Colors.white, fontSize: 20), - ))) - .toList()); -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_de_DE.json deleted file mode 100644 index 4dcbc7e14..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 206, - "name": "TabPageSelectorIndicator", - "localName": "Tab-Indikator", - "info": "Eine runde Komponente mit Randlinie, bei der Größe, Farbe und Randfarbe angegeben werden können. Es ist Teil des TabPageSelector und wird in der Regel nicht allein verwendet.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von TabPageSelectorIndicator", - "desc": [ - "【size】: Größe 【double】", - "【backgroundColor】: Hintergrundfarbe 【Color】", - "【borderColor】: Randfarbe 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_en_US.json deleted file mode 100644 index 5394fb213..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 206, - "name": "TabPageSelectorIndicator", - "localName": "Tab Indicator", - "info": "A circular component with a border, which can specify size, color, and border color. It is part of the TabPageSelector and is generally not used alone.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of TabPageSelectorIndicator", - "desc": [ - "【size】: size 【double】", - "【backgroundColor】: background color 【Color】", - "【borderColor】: border color 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_es_ES.json deleted file mode 100644 index 660971761..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 206, - "name": "TabPageSelectorIndicator", - "localName": "Indicador de selección de pestañas", - "info": "Un componente circular con bordes que puede especificar tamaño, color y color del borde. Es parte de TabPageSelector y generalmente no se usa por separado.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de TabPageSelectorIndicator", - "desc": [ - "【size】: Tamaño 【double】", - "【backgroundColor】: Color de fondo 【Color】", - "【borderColor】: Color del borde 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_fr_FR.json deleted file mode 100644 index cecf95637..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 206, - "name": "TabPageSelectorIndicator", - "localName": "Indicateur d'onglet", - "info": "Un composant circulaire avec une bordure, pouvant spécifier la taille, la couleur et la couleur de la bordure. Fait partie du TabPageSelector, généralement non utilisé seul.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de TabPageSelectorIndicator", - "desc": [ - "【size】: Taille 【double】", - "【backgroundColor】: Couleur de fond 【Color】", - "【borderColor】: Couleur de la bordure 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_it_IT.json deleted file mode 100644 index a5f7ce13f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 206, - "name": "TabPageSelectorIndicator", - "localName": "Indicatore del selettore di pagine", - "info": "Un componente circolare con bordi, che può essere specificato per dimensioni, colore e colore del bordo. Fa parte del TabPageSelector e generalmente non viene utilizzato da solo.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di TabPageSelectorIndicator", - "desc": [ - "【size】: dimensione 【double】", - "【backgroundColor】: colore di sfondo 【Color】", - "【borderColor】: colore del bordo 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_ja_JP.json deleted file mode 100644 index df8e573cd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 206, - "name": "TabPageSelectorIndicator", - "localName": "タブインジケーター", - "info": "枠線付きの円形コンポーネントで、サイズ、色、枠線の色を指定できます。TabPageSelectorの一部であり、通常は単独で使用しません。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabPageSelectorIndicatorの基本使用", - "desc": [ - "【size】: サイズ 【double】", - "【backgroundColor】: 背景色 【Color】", - "【borderColor】: 枠線の色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_ko_KR.json deleted file mode 100644 index 482e05949..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 206, - "name": "TabPageSelectorIndicator", - "localName": "탭 페이지 선택기 표시기", - "info": "테두리가 있는 원형 컴포넌트로, 크기, 색상, 테두리 색상을 지정할 수 있습니다. TabPageSelector의 일부이며 일반적으로 단독으로 사용되지 않습니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabPageSelectorIndicator 기본 사용법", - "desc": [ - "【size】: 크기 【double】", - "【backgroundColor】: 배경색 【Color】", - "【borderColor】: 테두리 색상 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_pt_PT.json deleted file mode 100644 index f35b4ce92..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 206, - "name": "TabPageSelectorIndicator", - "localName": "Indicador de Seletor de Página", - "info": "Um componente circular com borda que pode especificar tamanho, cor e cor da borda. Faz parte do TabPageSelector e geralmente não é usado sozinho.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do TabPageSelectorIndicator", - "desc": [ - "【size】: Tamanho 【double】", - "【backgroundColor】: Cor de fundo 【Color】", - "【borderColor】: Cor da borda 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_ru_RU.json deleted file mode 100644 index c8ff63b0b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 206, - "name": "TabPageSelectorIndicator", - "localName": "Индикатор вкладки", - "info": "Круглый компонент с границей, который можно настроить по размеру, цвету и цвету границы. Является частью TabPageSelector и обычно не используется отдельно.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование TabPageSelectorIndicator", - "desc": [ - "【size】: Размер 【double】", - "【backgroundColor】: Цвет фона 【Color】", - "【borderColor】: Цвет границы 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_zh-CN.json deleted file mode 100644 index e667b9a44..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 206, - "name": "TabPageSelectorIndicator", - "localName": "页签指示器", - "info": "一个有边线的圆形组件,可指定大小、颜色、边线色。是TabPageSelector的部分之一,一般不单独使用。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "TabPageSelectorIndicator基本使用", - "desc": [ - "【size】: 大小 【double】", - "【backgroundColor】: 背景色 【Color】", - "【borderColor】: 边线色 【Color】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/node1_base.dart deleted file mode 100644 index 089bb4aca..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/TabPageSelectorIndicator/node1_base.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:flutter/material.dart'; - - - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - - -class TabPageSelectorIndicatorDemo extends StatelessWidget { - const TabPageSelectorIndicatorDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children:const [ - TabPageSelectorIndicator( - backgroundColor: Colors.greenAccent, - borderColor: Colors.deepPurpleAccent, - size: 15, - ), - TabPageSelectorIndicator( - backgroundColor: Colors.blue, - borderColor: Colors.grey, - size: 20, - ), - TabPageSelectorIndicator( - backgroundColor: Colors.green, - borderColor: Colors.red, - size: 25, - ), - TabPageSelectorIndicator( - backgroundColor: Colors.yellow, - borderColor: Colors.brown, - size: 30, - ), - TabPageSelectorIndicator( - backgroundColor: Colors.amber, - borderColor: Colors.purpleAccent, - size: 35, - ), - ], - ); - } - -} - diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_de_DE.json deleted file mode 100644 index 15ee33b2e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_de_DE.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "id": 2, - "name": "Text", - "localName": "Textkomponente", - "info": "Eine Komponente zur Anzeige von Text. Verfügt über eine Vielzahl von Eigenschaften, die Ihren Anforderungen gerecht werden. Der Kernstil wird durch das style-Attribut gesteuert.", - "lever": 5, - "family": 0, - "linkIds": [ - 101, - 324 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Grundlegende Textstile", - "desc": [ - "【Parameter】 : Text 【String】", - "【style】: Textstil 【TextStyle】", - "【color】: Textfarbe 【Color】", - "【fontSize】: Textgröße 【double】", - "【fontWeight】: Schriftstärke 【FontWeight】", - "【fontStyle】: Schriftstil 【fontStyle】", - "【letterSpacing】: Zeichenabstand 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Textschatten", - "desc": [ - "【shadows】 : Text 【List】", - "【backgroundColor】: Hintergrundfarbe 【Color】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Textdekoration", - "desc": [ - "【fontFamily】 : Schriftart 【String】", - "【decoration】: Dekorationslinie 【TextDecoration】", - "【decorationColor】: Dekorationslinienfarbe 【Color】", - "【decorationThickness】: Dekorationsliniendicke 【double】", - "【decorationStyle】: Dekorationslinienstil 【TextDecorationStyle】" - ] - }, - { - "file": "node4_textAlign.dart", - "name": "Textausrichtung", - "desc": [ - "【textAlign】: Ausrichtung 【TextAlign】", - "Unten sind in der Reihenfolge: left, right, center, justify, start, end." - ] - }, - { - "file": "node5_textDirection.dart", - "name": "Textrichtung und maximale Zeilenanzahl", - "desc": [ - "【maxLines】 : Maximale Zeilenanzahl 【int】", - "【textDirection】 : Textrichtung 【TextDirection】", - "Unten sind in der Reihenfolge: rtl, ltr." - ] - }, - { - "file": "node6_softWrap.dart", - "name": "Zeilenumbruch und Überlaufverhalten", - "desc": [ - "【softWrap】 : Zeilenumbruch 【bool】", - "【overflow】 : Überlaufverhalten 【TextOverflow】", - "Unten softWrap=false; overflow in der Reihenfolge: clip, fade, ellipsis, visible." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_en_US.json deleted file mode 100644 index cdfa68730..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_en_US.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "id": 2, - "name": "Text", - "localName": "Text Component", - "info": "A component used to display text. It has a wide range of properties to meet your usage needs, with core styles controlled by the style attribute.", - "lever": 5, - "family": 0, - "linkIds": [ - 101, - 324 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Basic Text Styles", - "desc": [ - "【Parameter】 : Text 【String】", - "【style】: Text Style 【TextStyle】", - "【color】: Text Color 【Color】", - "【fontSize】: Font Size 【double】", - "【fontWeight】: Font Weight 【FontWeight】", - "【fontStyle】: Font Style 【fontStyle】", - "【letterSpacing】: Letter Spacing 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Text Shadow", - "desc": [ - "【shadows】 : Text Shadows 【List】", - "【backgroundColor】: Background Color 【Color】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Text Decoration", - "desc": [ - "【fontFamily】 : Font Family 【String】", - "【decoration】: Decoration Line 【TextDecoration】", - "【decorationColor】: Decoration Line Color 【Color】", - "【decorationThickness】: Decoration Line Thickness 【double】", - "【decorationStyle】: Decoration Line Style 【TextDecorationStyle】" - ] - }, - { - "file": "node4_textAlign.dart", - "name": "Text Alignment", - "desc": [ - "【textAlign】: Alignment 【TextAlign】", - "The following are: left, right, center, justify, start, end." - ] - }, - { - "file": "node5_textDirection.dart", - "name": "Text Direction and Maximum Lines", - "desc": [ - "【maxLines】 : Maximum Lines 【int】", - "【textDirection】 : Text Direction 【TextDirection】", - "The following are: rtl, ltr." - ] - }, - { - "file": "node6_softWrap.dart", - "name": "Wrapping and Overflow Effects", - "desc": [ - "【softWrap】 : Whether to Wrap 【bool】", - "【overflow】 : Overflow Effect 【TextOverflow】", - "When softWrap=false; overflow options are: clip, fade, ellipsis, visible." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_es_ES.json deleted file mode 100644 index 57bfe77bb..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_es_ES.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "id": 2, - "name": "Text", - "localName": "Componente de texto", - "info": "Componente utilizado para mostrar texto. Tiene una gran cantidad de propiedades, suficientes para satisfacer tus necesidades de uso. El estilo principal está controlado por la propiedad style.", - "lever": 5, - "family": 0, - "linkIds": [ - 101, - 324 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Estilo básico del texto", - "desc": [ - "【Parámetro de entrada】 : Texto 【String】", - "【style】: Estilo del texto 【TextStyle】", - "【color】: Color del texto 【Color】", - "【fontSize】: Tamaño del texto 【double】", - "【fontWeight】: Peso de la fuente 【FontWeight】", - "【fontStyle】: Estilo de la fuente 【fontStyle】", - "【letterSpacing】: Espaciado entre letras 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Sombra del texto", - "desc": [ - "【shadows】 : Sombra del texto 【List】", - "【backgroundColor】: Color de fondo 【Color】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Línea decorativa del texto", - "desc": [ - "【fontFamily】 : Fuente del texto 【String】", - "【decoration】: Línea decorativa 【TextDecoration】", - "【decorationColor】: Color de la línea decorativa 【Color】", - "【decorationThickness】: Grosor de la línea decorativa 【double】", - "【decorationStyle】: Estilo de la línea decorativa 【TextDecorationStyle】" - ] - }, - { - "file": "node4_textAlign.dart", - "name": "Alineación del texto", - "desc": [ - "【textAlign】: Alineación del texto 【TextAlign】", - "A continuación se muestran en orden: izquierda, derecha, centro, justificado, inicio, final." - ] - }, - { - "file": "node5_textDirection.dart", - "name": "Dirección del texto y número máximo de líneas", - "desc": [ - "【maxLines】 : Número máximo de líneas 【int】", - "【textDirection】 : Dirección del texto 【TextDirection】", - "A continuación se muestran en orden: rtl, ltr." - ] - }, - { - "file": "node6_softWrap.dart", - "name": "Ajuste de línea y efecto de desbordamiento", - "desc": [ - "【softWrap】 : Ajuste de línea 【bool】", - "【overflow】 : Efecto de desbordamiento 【TextOverflow】", - "A continuación softWrap=false; overflow en orden: recortar, desvanecer, puntos suspensivos, visible." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_fr_FR.json deleted file mode 100644 index 650db5af9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_fr_FR.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "id": 2, - "name": "Text", - "localName": "Composant de texte", - "info": "Un composant pour afficher du texte. Possède de nombreuses propriétés, suffisantes pour répondre à vos besoins d'utilisation. Les styles de base sont contrôlés par l'attribut style.", - "lever": 5, - "family": 0, - "linkIds": [ - 101, - 324 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Style de base du texte", - "desc": [ - "【Paramètre】 : Texte 【String】", - "【style】: Style du texte 【TextStyle】", - "【color】: Couleur du texte 【Color】", - "【fontSize】: Taille du texte 【double】", - "【fontWeight】: Poids de la police 【FontWeight】", - "【fontStyle】: Style de la police 【fontStyle】", - "【letterSpacing】: Espacement des lettres 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Ombre du texte", - "desc": [ - "【shadows】 : Texte 【List】", - "【backgroundColor】: Couleur de fond 【Color】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Ligne de décoration du texte", - "desc": [ - "【fontFamily】 : Police du texte 【String】", - "【decoration】: Ligne de décoration 【TextDecoration】", - "【decorationColor】: Couleur de la ligne de décoration 【Color】", - "【decorationThickness】: Épaisseur de la ligne de décoration 【double】", - "【decorationStyle】: Style de la ligne de décoration 【TextDecorationStyle】" - ] - }, - { - "file": "node4_textAlign.dart", - "name": "Alignement du texte", - "desc": [ - "【textAlign】: Alignement 【TextAlign】", - "Les options suivantes sont : left, right, center, justify, start, end" - ] - }, - { - "file": "node5_textDirection.dart", - "name": "Direction du texte et nombre maximum de lignes", - "desc": [ - "【maxLines】 : Nombre maximum de lignes 【int】", - "【textDirection】 : Direction du texte 【TextDirection】", - "Les options suivantes sont : rtl, ltr" - ] - }, - { - "file": "node6_softWrap.dart", - "name": "Retour à la ligne et effet de débordement", - "desc": [ - "【softWrap】 : Retour à la ligne 【bool】", - "【overflow】 : Effet de débordement 【TextOverflow】", - "Si softWrap=false; les options overflow sont : clip, fade, ellipsis, visible" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_it_IT.json deleted file mode 100644 index 18a546bb7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_it_IT.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "id": 2, - "name": "Text", - "localName": "Componente di testo", - "info": "Componente per visualizzare il testo. Possiede molte proprietà, sufficienti per soddisfare le tue esigenze di utilizzo. Lo stile principale è controllato dalla proprietà style.", - "lever": 5, - "family": 0, - "linkIds": [ - 101, - 324 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Stile di base del testo", - "desc": [ - "【Parametro】 : Testo 【String】", - "【style】: Stile del testo 【TextStyle】", - "【color】: Colore del testo 【Color】", - "【fontSize】: Dimensione del testo 【double】", - "【fontWeight】: Peso del carattere 【FontWeight】", - "【fontStyle】: Stile del carattere 【fontStyle】", - "【letterSpacing】: Spaziatura tra i caratteri 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Ombreggiatura del testo", - "desc": [ - "【shadows】 : Ombre del testo 【List】", - "【backgroundColor】: Colore di sfondo 【Color】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Linea decorativa del testo", - "desc": [ - "【fontFamily】 : Famiglia del carattere 【String】", - "【decoration】: Linea decorativa 【TextDecoration】", - "【decorationColor】: Colore della linea decorativa 【Color】", - "【decorationThickness】: Spessore della linea decorativa 【double】", - "【decorationStyle】: Stile della linea decorativa 【TextDecorationStyle】" - ] - }, - { - "file": "node4_textAlign.dart", - "name": "Allineamento del testo", - "desc": [ - "【textAlign】: Allineamento 【TextAlign】", - "Di seguito in ordine: left, right, center, justify, start, end," - ] - }, - { - "file": "node5_textDirection.dart", - "name": "Direzione del testo e numero massimo di righe", - "desc": [ - "【maxLines】 : Numero massimo di righe 【int】", - "【textDirection】 : Direzione del testo 【TextDirection】", - "Di seguito in ordine: rtl, ltr," - ] - }, - { - "file": "node6_softWrap.dart", - "name": "A capo automatico ed effetto di overflow", - "desc": [ - "【softWrap】 : A capo automatico 【bool】", - "【overflow】 : Effetto di overflow 【TextOverflow】", - "Di seguito softWrap=false; overflow in ordine: clip, fade, ellipsis, visible," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_ja_JP.json deleted file mode 100644 index 80209a30f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_ja_JP.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "id": 2, - "name": "Text", - "localName": "テキストコンポーネント", - "info": "テキストを表示するためのコンポーネントです。多くの属性を持っており、あなたの使用ニーズを十分に満たすことができます。コアのスタイルはstyle属性によって制御されます。", - "lever": 5, - "family": 0, - "linkIds": [ - 101, - 324 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "テキストの基本スタイル", - "desc": [ - "【入参】 : テキスト 【String】", - "【style】: テキストスタイル 【TextStyle】", - "【color】: テキストカラー 【Color】", - "【fontSize】: テキストサイズ 【double】", - "【fontWeight】: フォントの太さ 【FontWeight】", - "【fontStyle】: フォントスタイル 【fontStyle】", - "【letterSpacing】: 文字間隔 【double】" - ] - }, - { - "file": "node2.dart", - "name": "テキストシャドウ", - "desc": [ - "【shadows】 : テキスト 【List】", - "【backgroundColor】: 背景色 【Color】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "テキスト装飾線", - "desc": [ - "【fontFamily】 : テキストフォント 【String】", - "【decoration】: 装飾線 【TextDecoration】", - "【decorationColor】: 装飾線の色 【Color】", - "【decorationThickness】: 装飾線の太さ 【double】", - "【decorationStyle】: 装飾線のスタイル 【TextDecorationStyle】" - ] - }, - { - "file": "node4_textAlign.dart", - "name": "テキストの配置", - "desc": [ - "【textAlign】: 配置 【TextAlign】", - "以下は順に:left、right、center、justify、start、end," - ] - }, - { - "file": "node5_textDirection.dart", - "name": "テキストの方向と最大行数", - "desc": [ - "【maxLines】 : 最大行数 【int】", - "【textDirection】 : テキストの方向 【TextDirection】", - "以下は順に:rtl、ltr," - ] - }, - { - "file": "node6_softWrap.dart", - "name": "折り返しとオーバーフロー効果", - "desc": [ - "【softWrap】 : 折り返し 【bool】", - "【overflow】 : オーバーフロー効果 【TextOverflow】", - "以下softWrap=false; overflowは順に:clip、fade、ellipsis、visible," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_ko_KR.json deleted file mode 100644 index 875691c29..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_ko_KR.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "id": 2, - "name": "Text", - "localName": "텍스트 컴포넌트", - "info": "텍스트를 표시하는 데 사용되는 컴포넌트. 매우 많은 속성을 가지고 있어 사용자의 요구를 충족시킬 수 있으며, 핵심 스타일은 style 속성에 의해 제어됩니다.", - "lever": 5, - "family": 0, - "linkIds": [ - 101, - 324 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "텍스트의 기본 스타일", - "desc": [ - "【입력 매개변수】 : 텍스트 【String】", - "【style】: 텍스트 스타일 【TextStyle】", - "【color】: 텍스트 색상 【Color】", - "【fontSize】: 텍스트 크기 【double】", - "【fontWeight】: 글자 두께 【FontWeight】", - "【fontStyle】: 글자 스타일 【fontStyle】", - "【letterSpacing】: 글자 간격 【double】" - ] - }, - { - "file": "node2.dart", - "name": "텍스트 그림자", - "desc": [ - "【shadows】 : 텍스트 【List】", - "【backgroundColor】: 배경 색상 【Color】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "텍스트 장식선", - "desc": [ - "【fontFamily】 : 텍스트 글꼴 【String】", - "【decoration】: 장식선 【TextDecoration】", - "【decorationColor】: 장식선 색상 【Color】", - "【decorationThickness】: 장식선 두께 【double】", - "【decorationStyle】: 장식선 스타일 【TextDecorationStyle】" - ] - }, - { - "file": "node4_textAlign.dart", - "name": "텍스트 정렬 방식", - "desc": [ - "【textAlign】: 정렬 방식 【TextAlign】", - "아래는 순서대로:left、right、center、justify、start、end," - ] - }, - { - "file": "node5_textDirection.dart", - "name": "텍스트 방향과 최대 줄 수", - "desc": [ - "【maxLines】 : 최대 줄 수 【int】", - "【textDirection】 : 텍스트 방향 【TextDirection】", - "아래는 순서대로:rtl、ltr," - ] - }, - { - "file": "node6_softWrap.dart", - "name": "줄바꿈 여부와 넘침 효과", - "desc": [ - "【softWrap】 : 줄바꿈 여부 【bool】", - "【overflow】 : 넘침 효과 【TextOverflow】", - "아래 softWrap=false; overflow는 순서대로:clip、fade、ellipsis、visible," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_pt_PT.json deleted file mode 100644 index 4a9489c81..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_pt_PT.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "id": 2, - "name": "Text", - "localName": "Componente de Texto", - "info": "Componente utilizado para exibir texto. Possui uma grande quantidade de atributos, suficientes para atender às suas necessidades de uso. O estilo principal é controlado pelo atributo style.", - "lever": 5, - "family": 0, - "linkIds": [ - 101, - 324 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Estilo Básico do Texto", - "desc": [ - "【Parâmetro de Entrada】 : Texto 【String】", - "【style】: Estilo do Texto 【TextStyle】", - "【color】: Cor do Texto 【Color】", - "【fontSize】: Tamanho do Texto 【double】", - "【fontWeight】: Peso da Fonte 【FontWeight】", - "【fontStyle】: Estilo da Fonte 【fontStyle】", - "【letterSpacing】: Espaçamento entre Letras 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Sombra do Texto", - "desc": [ - "【shadows】 : Sombra do Texto 【List】", - "【backgroundColor】: Cor de Fundo 【Color】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Linha de Decoração do Texto", - "desc": [ - "【fontFamily】 : Fonte do Texto 【String】", - "【decoration】: Linha de Decoração 【TextDecoration】", - "【decorationColor】: Cor da Linha de Decoração 【Color】", - "【decorationThickness】: Espessura da Linha de Decoração 【double】", - "【decorationStyle】: Estilo da Linha de Decoração 【TextDecorationStyle】" - ] - }, - { - "file": "node4_textAlign.dart", - "name": "Alinhamento do Texto", - "desc": [ - "【textAlign】: Alinhamento 【TextAlign】", - "A seguir estão: left, right, center, justify, start, end," - ] - }, - { - "file": "node5_textDirection.dart", - "name": "Direção do Texto e Número Máximo de Linhas", - "desc": [ - "【maxLines】 : Número Máximo de Linhas 【int】", - "【textDirection】 : Direção do Texto 【TextDirection】", - "A seguir estão: rtl, ltr," - ] - }, - { - "file": "node6_softWrap.dart", - "name": "Quebra de Linha e Efeito de Transbordamento", - "desc": [ - "【softWrap】 : Quebra de Linha 【bool】", - "【overflow】 : Efeito de Transbordamento 【TextOverflow】", - "A seguir, softWrap=false; overflow são: clip, fade, ellipsis, visible," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_ru_RU.json deleted file mode 100644 index 492442103..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_ru_RU.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "id": 2, - "name": "Text", - "localName": "Текстовый компонент", - "info": "Компонент для отображения текста. Имеет множество свойств, достаточных для удовлетворения ваших потребностей. Основные стили управляются свойством style.", - "lever": 5, - "family": 0, - "linkIds": [ - 101, - 324 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "Основные стили текста", - "desc": [ - "【Входные параметры】 : текст 【String】", - "【style】: стиль текста 【TextStyle】", - "【color】: цвет текста 【Color】", - "【fontSize】: размер текста 【double】", - "【fontWeight】: толщина шрифта 【FontWeight】", - "【fontStyle】: стиль шрифта 【fontStyle】", - "【letterSpacing】: межбуквенный интервал 【double】" - ] - }, - { - "file": "node2.dart", - "name": "Тень текста", - "desc": [ - "【shadows】 : тень текста 【List】", - "【backgroundColor】: цвет фона 【Color】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "Декоративные линии текста", - "desc": [ - "【fontFamily】 : шрифт текста 【String】", - "【decoration】: декоративная линия 【TextDecoration】", - "【decorationColor】: цвет декоративной линии 【Color】", - "【decorationThickness】: толщина декоративной линии 【double】", - "【decorationStyle】: стиль декоративной линии 【TextDecorationStyle】" - ] - }, - { - "file": "node4_textAlign.dart", - "name": "Выравнивание текста", - "desc": [ - "【textAlign】: выравнивание 【TextAlign】", - "Ниже приведены: left, right, center, justify, start, end," - ] - }, - { - "file": "node5_textDirection.dart", - "name": "Направление текста и максимальное количество строк", - "desc": [ - "【maxLines】 : максимальное количество строк 【int】", - "【textDirection】 : направление текста 【TextDirection】", - "Ниже приведены: rtl, ltr," - ] - }, - { - "file": "node6_softWrap.dart", - "name": "Перенос строк и эффект переполнения", - "desc": [ - "【softWrap】 : перенос строк 【bool】", - "【overflow】 : эффект переполнения 【TextOverflow】", - "Ниже softWrap=false; overflow: clip, fade, ellipsis, visible," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_zh-CN.json deleted file mode 100644 index cd97d60ab..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/desc_zh-CN.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "id": 2, - "name": "Text", - "localName": "文字组件", - "info": "用于显示文字的组件。拥有的属性非常多,足够满足你的使用需求,核心样式由style属性控制。", - "lever": 5, - "family": 0, - "linkIds": [ - 101, - 324 - ], - "nodes": [ - { - "file": "node1.dart", - "name": "文字的基本样式", - "desc": [ - "【入参】 : 文字 【String】", - "【style】: 文字样式 【TextStyle】", - "【color】: 文字样式 【Color】", - "【fontSize】: 文字大小 【double】", - "【fontWeight】: 字重 【FontWeight】", - "【fontStyle】: 字体样式 【fontStyle】", - "【letterSpacing】: 字距 【double】" - ] - }, - { - "file": "node2.dart", - "name": "文字阴影", - "desc": [ - "【shadows】 : 文字 【List】", - "【backgroundColor】: 背景颜色 【Color】" - ] - }, - { - "file": "node3_decoration.dart", - "name": "文字装饰线", - "desc": [ - "【fontFamily】 : 文字字体 【String】", - "【decoration】: 装饰线 【TextDecoration】", - "【decorationColor】: 装饰线颜色 【Color】", - "【decorationThickness】: 装饰线粗 【double】", - "【decorationStyle】: 装饰线样式 【TextDecorationStyle】" - ] - }, - { - "file": "node4_textAlign.dart", - "name": "文字对齐方式", - "desc": [ - "【textAlign】: 对齐方式 【TextAlign】", - "下面依次是:left、right、center、justify、start、end," - ] - }, - { - "file": "node5_textDirection.dart", - "name": "文字方向与最大行数", - "desc": [ - "【maxLines】 : 最大行数 【int】", - "【textDirection】 : 文字方向 【TextDirection】", - "下面依次是:rtl、ltr," - ] - }, - { - "file": "node6_softWrap.dart", - "name": "是否包裹与越界效果", - "desc": [ - "【softWrap】 : 是否换行 【bool】", - "【overflow】 : 越界效果 【TextOverflow】", - "下面softWrap=false; overflow依次是:clip、fade、ellipsis、visible," - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/node1.dart b/modules/widget_system/widgets/lib/StatelessWidget/Text/node1.dart deleted file mode 100644 index b7a871960..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/node1.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class TextDemo1 extends StatelessWidget { - const TextDemo1({super.key}); - - @override - Widget build(BuildContext context) { - const TextStyle style = TextStyle( - color: Colors.blue, - fontSize: 20, - fontWeight: FontWeight.bold, - fontStyle: FontStyle.italic, - letterSpacing: 10, - ); - return Container( - width: 200, - color: Colors.cyanAccent.withAlpha(33), - height: 76, - child: const Text("toly-张风捷特烈-1994`", style: style), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/node2.dart b/modules/widget_system/widgets/lib/StatelessWidget/Text/node2.dart deleted file mode 100644 index 9f3d949f3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/node2.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class TextDemo2 extends StatelessWidget { - const TextDemo2({super.key}); - - @override - Widget build(BuildContext context) { - const TextStyle style = TextStyle( - fontSize: 50, - color: Colors.white, - backgroundColor: Colors.black, - shadows: [ - Shadow(color: Colors.cyanAccent, offset: Offset(1, 1), blurRadius: 10), - Shadow(color: Colors.blue, offset: Offset(-0.1, 0.1), blurRadius: 10), - ]); - return const Text("张风捷特烈", style: style); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/node3_decoration.dart b/modules/widget_system/widgets/lib/StatelessWidget/Text/node3_decoration.dart deleted file mode 100644 index 7a3716e30..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/node3_decoration.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class DecorationText extends StatelessWidget { - const DecorationText({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const Text( - "19940328", - style: TextStyle( - fontSize: 50, - fontWeight: FontWeight.bold, - decoration: TextDecoration.underline, - decorationThickness: 3, - decorationStyle: TextDecorationStyle.wavy, - decorationColor: Colors.blue, - fontStyle: FontStyle.italic, - fontFamily: "DancingScript", - letterSpacing: 10), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/node4_textAlign.dart b/modules/widget_system/widgets/lib/StatelessWidget/Text/node4_textAlign.dart deleted file mode 100644 index de98a0340..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/node4_textAlign.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class TextAlignText extends StatelessWidget { - const TextAlignText({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - runSpacing: 10, - children: TextAlign.values - .map((TextAlign textAlign) => Container( - width: 120, - color: Colors.cyanAccent.withAlpha(33), - height: 120 * 0.618, - child: Text( - " 张风捷特烈 toly " * 3, - textAlign: textAlign, - ), - )) - .toList(), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/node5_textDirection.dart b/modules/widget_system/widgets/lib/StatelessWidget/Text/node5_textDirection.dart deleted file mode 100644 index 89d286abc..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/node5_textDirection.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class TextDirectionText extends StatelessWidget { - const TextDirectionText({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 40, - runSpacing: 10, - children: TextDirection.values - .map((TextDirection direction) => Container( - width: 120, - color: Colors.cyanAccent.withAlpha(33), - height: 120 * 0.618, - child: Text( - " 张风捷特烈 toly " * 10, - textDirection: direction, - maxLines: 3, - overflow: TextOverflow.ellipsis, - ), - )) - .toList(), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Text/node6_softWrap.dart b/modules/widget_system/widgets/lib/StatelessWidget/Text/node6_softWrap.dart deleted file mode 100644 index 9c1aba9a8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Text/node6_softWrap.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class SoftWrapText extends StatelessWidget { - const SoftWrapText({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - runSpacing: 10, - children: TextOverflow.values - .map((TextOverflow textOverflow) => Container( - width: 150, - color: Colors.cyanAccent.withAlpha(33), - height: 150 * 0.618 * 0.618, - child: Text( - " 张风捷特烈 toly " * 5, - overflow: textOverflow, - softWrap: false, - ), - )) - .toList(), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_de_DE.json deleted file mode 100644 index 20ae58b13..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_de_DE.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 168, - "name": "Theme", - "localName": "Thema", - "info": "Sie können das ThemeData-Objekt über Theme.of abrufen. Sie können auch ein Thema angeben, das auf die Nachkommenkomponenten von Theme angewendet wird.", - "lever": 4, - "family": 0, - "linkIds": [ - 65, - 169, - 224 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Textstil-ThemeData#TextTheme", - "desc": [ - "Untergeordnete Komponenten können die Daten des Themas über ThemeData.of abrufen und verwenden." - ] - }, - { - "file": "node2_use.dart", - "name": "Verwendung von Theme", - "desc": [ - "Mit Theme können Sie sehr viele Attribute als Thema angeben, die auf alle Nachkommenkomponenten angewendet werden, wie z. B. Schriftarten, Schieberegler, Karten, Text, Trennlinien, Schaltflächen usw." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_en_US.json deleted file mode 100644 index f3fe2ebdd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_en_US.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 168, - "name": "Theme", - "localName": "Theme", - "info": "You can obtain the ThemeData object through Theme.of. You can also specify a theme to be applied to the descendant components of Theme.", - "lever": 4, - "family": 0, - "linkIds": [ - 65, - 169, - 224 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Text Style-ThemeData#TextTheme", - "desc": [ - "Child components can use the theme data obtained through ThemeData.of." - ] - }, - { - "file": "node2_use.dart", - "name": "Usage of Theme", - "desc": [ - "Using Theme, you can specify a wide range of properties as themes, which will be applied to all descendant components, such as specifying properties for fonts, sliders, cards, text, dividers, buttons, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_es_ES.json deleted file mode 100644 index 98494e70f..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_es_ES.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 168, - "name": "Theme", - "localName": "Tema", - "info": "Puedes obtener el objeto ThemeData a través de Theme.of. También puedes especificar un tema para aplicarlo a los componentes descendientes de Theme.", - "lever": 4, - "family": 0, - "linkIds": [ - 65, - 169, - 224 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Estilo de texto-ThemeData#TextTheme", - "desc": [ - "Los componentes secundarios pueden obtener y utilizar los datos del tema a través de ThemeData.of." - ] - }, - { - "file": "node2_use.dart", - "name": "Uso de Theme", - "desc": [ - "Usando Theme, puedes especificar una gran cantidad de atributos como tema, que se aplicarán a todos los componentes descendientes, como la fuente, el control deslizante, la tarjeta, el texto, el divisor, el botón, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_fr_FR.json deleted file mode 100644 index 251f16963..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_fr_FR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 168, - "name": "Theme", - "localName": "Thème", - "info": "Vous pouvez obtenir l'objet ThemeData via Theme.of. Vous pouvez également spécifier un thème à appliquer aux composants descendants de Theme.", - "lever": 4, - "family": 0, - "linkIds": [ - 65, - 169, - 224 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Style de texte-ThemeData#TextTheme", - "desc": [ - "Les composants enfants peuvent obtenir les données du thème via ThemeData.of pour les utiliser." - ] - }, - { - "file": "node2_use.dart", - "name": "Utilisation de Theme", - "desc": [ - "En utilisant Theme, vous pouvez spécifier de nombreuses propriétés comme thème, ces propriétés seront appliquées à tous les composants descendants, comme la police, le curseur, la carte, le texte, la ligne de séparation, le bouton, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_it_IT.json deleted file mode 100644 index 6d2dc6e5a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_it_IT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 168, - "name": "Theme", - "localName": "Tema", - "info": "Puoi ottenere l'oggetto ThemeData tramite Theme.of. Puoi anche specificare un tema da applicare ai componenti discendenti di Theme.", - "lever": 4, - "family": 0, - "linkIds": [ - 65, - 169, - 224 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Stile del testo-ThemeData#TextTheme", - "desc": [ - "I componenti figli possono ottenere i dati del tema tramite ThemeData.of e utilizzarli." - ] - }, - { - "file": "node2_use.dart", - "name": "Uso di Theme", - "desc": [ - "Utilizzando Theme, puoi specificare molte proprietà come tema, che verranno applicate a tutti i componenti discendenti, come font, slider, card, testo, linee divisorie, pulsanti, ecc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_ja_JP.json deleted file mode 100644 index 07b34e756..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_ja_JP.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 168, - "name": "Theme", - "localName": "テーマ", - "info": "Theme.ofを使用してThemeDataオブジェクトを取得できます。また、テーマをThemeの子孫コンポーネントに適用することもできます。", - "lever": 4, - "family": 0, - "linkIds": [ - 65, - 169, - 224 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "テキストスタイル-ThemeData#TextTheme", - "desc": [ - "子コンポーネントはThemeData.ofを使用してテーマのデータを取得して使用できます。" - ] - }, - { - "file": "node2_use.dart", - "name": "Themeの使い方", - "desc": [ - "Themeを使用すると、フォント、スライダー、カード、テキスト、分割線、ボタンなどの属性をテーマとして指定でき、これらの属性はすべての子孫コンポーネントに適用されます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_ko_KR.json deleted file mode 100644 index 376210652..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_ko_KR.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 168, - "name": "Theme", - "localName": "테마", - "info": "Theme.of를 통해 ThemeData 객체를 얻을 수 있습니다. 또한 테마를 지정하여 Theme의 하위 구성 요소에 적용할 수 있습니다.", - "lever": 4, - "family": 0, - "linkIds": [ - 65, - 169, - 224 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "텍스트 스타일-ThemeData#TextTheme", - "desc": [ - "하위 구성 요소는 ThemeData.of를 통해 테마 데이터를 얻어 사용할 수 있습니다." - ] - }, - { - "file": "node2_use.dart", - "name": "Theme 사용법", - "desc": [ - "Theme를 사용하면 매우 많은 속성을 테마로 지정할 수 있으며, 이러한 속성은 모든 하위 구성 요소에 적용됩니다. 예를 들어 글꼴, 슬라이더, 카드, 텍스트, 구분선, 버튼 등의 속성을 지정할 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_pt_PT.json deleted file mode 100644 index 60fcfb4af..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_pt_PT.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 168, - "name": "Theme", - "localName": "Tema", - "info": "Pode obter o objeto ThemeData através de Theme.of. Também pode especificar um tema para ser aplicado aos componentes descendentes do Theme.", - "lever": 4, - "family": 0, - "linkIds": [ - 65, - 169, - 224 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Estilo de texto-ThemeData#TextTheme", - "desc": [ - "Os componentes filhos podem obter e usar os dados do tema através de ThemeData.of." - ] - }, - { - "file": "node2_use.dart", - "name": "Uso do Theme", - "desc": [ - "Ao usar Theme, pode especificar uma grande variedade de propriedades como tema, que serão aplicadas a todos os componentes descendentes, como fonte, slider, cartão, texto, divisor, botão, etc." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_ru_RU.json deleted file mode 100644 index 188d286f2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_ru_RU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 168, - "name": "Theme", - "localName": "Тема", - "info": "Можно получить объект ThemeData через Theme.of. Также можно указать тему для применения к дочерним компонентам Theme.", - "lever": 4, - "family": 0, - "linkIds": [ - 65, - 169, - 224 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Текстовые стили - ThemeData#TextTheme", - "desc": [ - "Дочерние компоненты могут использовать данные темы, полученные через ThemeData.of." - ] - }, - { - "file": "node2_use.dart", - "name": "Использование Theme", - "desc": [ - "Используя Theme, можно указать множество свойств в качестве темы, которые будут применены ко всем дочерним компонентам, таким как шрифты, ползунки, карточки, текст, разделители, кнопки и т.д." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_zh-CN.json deleted file mode 100644 index 18c0dedb4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/desc_zh-CN.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": 168, - "name": "Theme", - "localName": "主题", - "info": "可通过Theme.of获取ThemeData对象。也可以指定主题应用于Theme的后代组件。", - "lever": 4, - "family": 0, - "linkIds": [ - 65, - 169, - 224 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "文字样式-ThemeData#TextTheme", - "desc": [ - "子组件可以通过ThemeData.of获取主题的数据进行使用。" - ] - }, - { - "file": "node2_use.dart", - "name": "Theme的用法", - "desc": [ - "使用Theme,可以指定非常多的属性作为主题,这些属性将应用于所有的后代组件,如指定字体、滑块、卡片、文字、分割线、按钮等属性。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Theme/node1_base.dart deleted file mode 100644 index 69e4d691e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/node1_base.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020-03-29 -/// contact me by email 1981462002@qq.com - -class TextThemeDemo extends StatelessWidget { - const TextThemeDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - TextTheme queryData = Theme.of(context).textTheme; - Map styles = { - "headlineSmall: ": queryData.headlineSmall!, - "headlineMedium: ": queryData.headlineMedium!, - "headlineLarge: ": queryData.headlineLarge!, - "bodySmall: ": queryData.bodySmall!, - "bodyMedium: ": queryData.bodyMedium!, - "bodyLarge: ": queryData.bodyLarge!, - "titleSmall: ": queryData.titleSmall!, - "titleMedium: ": queryData.titleMedium!, - "titleLarge: ": queryData.titleLarge!, - "labelMedium: ": queryData.labelMedium!, - "labelSmall: ": queryData.labelSmall!, - "labelLarge: ": queryData.labelLarge!, - }; - - return Column( - children: styles.keys - .map((String styleInfo) => buildItem(styleInfo, styles[styleInfo]!)) - .toList(), - ); - } - - TextStyle get textStyle => const TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - ); - - Widget buildItem(String styleInfo, TextStyle style) => Column( - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text(styleInfo, style: textStyle), - Text("@toly", style: style) - ], - ), - ), - const Divider(height: 1) - ], - ); -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Theme/node2_use.dart b/modules/widget_system/widgets/lib/StatelessWidget/Theme/node2_use.dart deleted file mode 100644 index d2599ca41..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Theme/node2_use.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class CustomTheme extends StatelessWidget { - const CustomTheme({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Theme( - data: ThemeData( - cardTheme: const CardThemeData( - color: Colors.red, - elevation: 4, - ), - dividerTheme: const DividerThemeData( - color: Colors.blue, - thickness: 2, - ), - sliderTheme: const SliderThemeData( - thumbColor: Colors.red, - activeTrackColor: Colors.green, - inactiveTrackColor: Colors.grey, - )), - child: Wrap( - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - Card( - child: Container( - width: 50, - height: 50, - color: Colors.transparent, - ), - ), - const SizedBox( - width: 150, - child: Slider(value: 0.8, onChanged: null), - ), - const SizedBox(width: 150, child: Divider()) - ])); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_de_DE.json deleted file mode 100644 index 6f58c0b6b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_de_DE.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 208, - "name": "Title", - "localName": "Anwendungsname", - "info": "Diese Komponente wird verwendet, um den Namen der App im Betriebssystem zu beschreiben. Die Auswirkungen können in der Anwendungsleiste gesehen werden. Die Quelle des Effekts des title-Felds in MaterialApp ist diese Komponente.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Grundlegende Verwendung von Title", - "desc": [ - "【title】 : Name 【int】", - "【color】: Farbe 【Color】", - "【child】: Untergeordnete Komponente 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_en_US.json deleted file mode 100644 index 4ffca745a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_en_US.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 208, - "name": "Title", - "localName": "Application Title", - "info": "This component is used to describe the name of the app in the operating system, and the effect can be seen in the app bar list. The root of the title field effect in MaterialApp is this component.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Basic Usage of Title", - "desc": [ - "【title】: Name 【int】", - "【color】: Color 【Color】", - "【child】: Child Component 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_es_ES.json deleted file mode 100644 index 4804913b7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_es_ES.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 208, - "name": "Title", - "localName": "Título de la aplicación", - "info": "Este componente se utiliza para describir el nombre de la aplicación en el sistema operativo, y se puede ver el efecto en la lista de la barra de aplicaciones. El origen del efecto del campo title en MaterialApp es este componente.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso básico de Title", - "desc": [ - "【title】 : Nombre 【int】", - "【color】: Color 【Color】", - "【child】: Componente hijo 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_fr_FR.json deleted file mode 100644 index 1507f62a5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_fr_FR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 208, - "name": "Title", - "localName": "Titre de l'application", - "info": "Ce composant est utilisé pour décrire le nom de l'application dans le système d'exploitation, et son effet peut être vu dans la liste de la barre d'applications. La source de l'effet du champ title dans MaterialApp est ce composant.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Utilisation de base de Title", - "desc": [ - "【title】 : Nom 【int】", - "【color】: Couleur 【Color】", - "【child】: Composant enfant 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_it_IT.json deleted file mode 100644 index a7c3efba5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_it_IT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 208, - "name": "Title", - "localName": "Titolo dell'applicazione", - "info": "Questo componente è utilizzato per descrivere il nome dell'app nel sistema operativo, e l'effetto può essere visto nella lista della barra delle applicazioni. L'origine dell'effetto del campo title in MaterialApp è questo componente.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso di base di Title", - "desc": [ - "【title】 : Nome 【int】", - "【color】: Colore 【Color】", - "【child】: Componente figlio 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_ja_JP.json deleted file mode 100644 index 742a027d2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_ja_JP.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 208, - "name": "Title", - "localName": "アプリタイトル", - "info": "このコンポーネントは、アプリのオペレーティングシステムでの名前を記述するために使用され、アプリケーションバーのリストで効果を確認できます。MaterialAppのtitleフィールドの効果の根源はこのコンポーネントです。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Title基本使用", - "desc": [ - "【title】 : 名称 【int】", - "【color】: 色 【Color】", - "【child】: 子コンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_ko_KR.json deleted file mode 100644 index ce0edf1f7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_ko_KR.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 208, - "name": "Title", - "localName": "앱 제목", - "info": "이 컴포넌트는 앱이 운영 체제에서의 이름을 설명하는 데 사용되며, 앱 바 목록에서 효과를 볼 수 있습니다. MaterialApp의 title 필드 효과의 근원은 이 컴포넌트입니다.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Title 기본 사용", - "desc": [ - "【title】 : 이름 【int】", - "【color】: 색상 【Color】", - "【child】: 자식 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_pt_PT.json deleted file mode 100644 index de353c50b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_pt_PT.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 208, - "name": "Title", - "localName": "Título da Aplicação", - "info": "Este componente é usado para descrever o nome da aplicação no sistema operativo, e o efeito pode ser visto na lista da barra de aplicações. A origem do efeito do campo 'title' no MaterialApp é este componente.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Uso Básico do Title", - "desc": [ - "【title】 : Nome 【int】", - "【color】: Cor 【Color】", - "【child】: Componente Filho 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_ru_RU.json deleted file mode 100644 index 56b3fb155..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_ru_RU.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 208, - "name": "Title", - "localName": "Заголовок приложения", - "info": "Этот компонент используется для описания имени приложения в операционной системе, эффект можно увидеть в списке приложений. Источником эффекта поля title в MaterialApp является этот компонент.", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное использование Title", - "desc": [ - "【title】 : Название 【int】", - "【color】: Цвет 【Color】", - "【child】: Дочерний компонент 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_zh-CN.json deleted file mode 100644 index 0df024dbd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/desc_zh-CN.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": 208, - "name": "Title", - "localName": "应用标题", - "info": "该组件用于描述app在操作系统中的名称,可以在应用栏列表里看到效果。MaterialApp中的title字段效果的根源是该组件。", - "lever": 2, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Title基本使用", - "desc": [ - "【title】 : 名称 【int】", - "【color】: 颜色 【Color】", - "【child】: 子组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Title/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Title/node1_base.dart deleted file mode 100644 index 19bb988c1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Title/node1_base.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/7/22 -/// contact me by email 1981462002@qq.com - -class TitleDemo extends StatelessWidget { - const TitleDemo({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Title( - title: '张风捷特烈', - color: const Color(0xFF9C27B0), - child: const Center( - child: Text('应用菜单栏中该页的名称为: 张风捷特烈'), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_de_DE.json deleted file mode 100644 index 0e621b8ec..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_de_DE.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 33, - "name": "ToggleButtons", - "localName": "Schaltflächengruppe umschalten", - "info": "Empfängt eine Liste von Komponenten und kann Eigenschaften wie Randlinie, abgerundete Ecken, Farbe usw. angeben. Basierend auf der spezifischen Logik kann es die Anforderungen für die Einzel- oder Mehrfachauswahl mehrerer Schaltflächen erfüllen.", - "lever": 4, - "family": 0, - "linkIds": [ - 332, - 262 - ], - "nodes": [ - { - "file": "node1_single.dart", - "name": "ToggleButtons Einzelauswahl umschalten", - "desc": [ - "【children】: Untergeordnete Komponentensammlung 【List】", - "【borderWidth】: Randlinienbreite 【double】", - "【borderRadius】: Abgerundete Ecken 【BorderRadius】", - "【isSelected】: Auswahlstatus 【List】", - "【onPressed】: Klickereignis 【Function(int)】" - ] - }, - { - "file": "node2_color.dart", - "name": "ToggleButtons Farbeigenschaften", - "desc": [ - "【borderColor】: Randlinienfarbe 【Color】", - "【selectedBorderColor】: Ausgewählte Randlinienfarbe 【Color】", - "【selectedColor】: Farbe der ausgewählten Komponente 【Color】", - "【fillColor】: Füllfarbe bei Auswahl 【Color】", - "【splashColor】: Wasserwellenfarbe 【Color】" - ] - }, - { - "file": "node3_multi.dart", - "name": "ToggleButtons Mehrfachauswahl umschalten", - "desc": [ - "Kann die Logik der Zustandsänderung steuern, um unterschiedliche Effekte zu erzielen." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_en_US.json deleted file mode 100644 index 75e2c4cd8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_en_US.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 33, - "name": "ToggleButtons", - "localName": "Toggle Buttons Group", - "info": "Receives a list of components, and can specify properties such as border, rounded corners, color, etc. According to specific logic, it can achieve the requirements of single or multiple selection of buttons.", - "lever": 4, - "family": 0, - "linkIds": [ - 332, - 262 - ], - "nodes": [ - { - "file": "node1_single.dart", - "name": "ToggleButtons Single Selection", - "desc": [ - "【children】: Children components 【List】", - "【borderWidth】: Border width 【double】", - "【borderRadius】: Rounded corners 【BorderRadius】", - "【isSelected】: Selection status set 【List】", - "【onPressed】: Click event 【Function(int)】" - ] - }, - { - "file": "node2_color.dart", - "name": "ToggleButtons Color Properties", - "desc": [ - "【borderColor】: Border color 【Color】", - "【selectedBorderColor】: Selected border color 【Color】", - "【selectedColor】: Component color when selected 【Color】", - "【fillColor】: Fill color when selected 【Color】", - "【splashColor】: Ripple color 【Color】" - ] - }, - { - "file": "node3_multi.dart", - "name": "ToggleButtons Multiple Selection", - "desc": [ - "The logic of state transformation can be controlled to create different effects." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_es_ES.json deleted file mode 100644 index 17d5fb3c3..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_es_ES.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 33, - "name": "ToggleButtons", - "localName": "Grupo de botones de conmutación", - "info": "Recibe una lista de componentes y permite especificar propiedades como el borde, el radio de las esquinas, el color, etc. Según la lógica específica, se puede implementar la necesidad de selección única o múltiple de varios botones.", - "lever": 4, - "family": 0, - "linkIds": [ - 332, - 262 - ], - "nodes": [ - { - "file": "node1_single.dart", - "name": "Conmutación única de ToggleButtons", - "desc": [ - "【children】: Conjunto de componentes hijos 【List】", - "【borderWidth】: Ancho del borde 【double】", - "【borderRadius】: Radio de las esquinas 【BorderRadius】", - "【isSelected】: Conjunto de selección 【List】", - "【onPressed】: Evento de clic 【Function(int)】" - ] - }, - { - "file": "node2_color.dart", - "name": "Propiedades de color de ToggleButtons", - "desc": [ - "【borderColor】: Color del borde 【Color】", - "【selectedBorderColor】: Color del borde seleccionado 【Color】", - "【selectedColor】: Color del componente cuando está seleccionado 【Color】", - "【fillColor】: Color de relleno cuando está seleccionado 【Color】", - "【splashColor】: Color de la onda 【Color】" - ] - }, - { - "file": "node3_multi.dart", - "name": "Conmutación múltiple de ToggleButtons", - "desc": [ - "Puede controlar la lógica de transformación de estado para crear diferentes efectos." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_fr_FR.json deleted file mode 100644 index 1c28ef4dd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_fr_FR.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 33, - "name": "ToggleButtons", - "localName": "Groupe de boutons de bascule", - "info": "Reçoit une liste de composants, peut spécifier des propriétés telles que la bordure, le rayon, la couleur, etc. Selon la logique spécifique, il peut répondre à la demande de sélection unique ou multiple de plusieurs boutons.", - "lever": 4, - "family": 0, - "linkIds": [ - 332, - 262 - ], - "nodes": [ - { - "file": "node1_single.dart", - "name": "Basculement unique de ToggleButtons", - "desc": [ - "【children】: Ensemble de composants enfants 【List】", - "【borderWidth】: Largeur de la bordure 【double】", - "【borderRadius】: Rayon 【BorderRadius】", - "【isSelected】: Ensemble de sélection 【List】", - "【onPressed】: Événement de clic 【Function(int)】" - ] - }, - { - "file": "node2_color.dart", - "name": "Propriétés de couleur de ToggleButtons", - "desc": [ - "【borderColor】: Couleur de la bordure 【Color】", - "【selectedBorderColor】: Couleur de la bordure sélectionnée 【Color】", - "【selectedColor】: Couleur du composant sélectionné 【Color】", - "【fillColor】: Couleur de remplissage sélectionnée 【Color】", - "【splashColor】: Couleur de l'effet de vague 【Color】" - ] - }, - { - "file": "node3_multi.dart", - "name": "Basculement multiple de ToggleButtons", - "desc": [ - "Peut contrôler la logique de transformation d'état pour créer différents effets." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_it_IT.json deleted file mode 100644 index 8bed81226..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_it_IT.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 33, - "name": "ToggleButtons", - "localName": "Gruppo di pulsanti di commutazione", - "info": "Riceve un elenco di componenti e può specificare proprietà come bordi, angoli arrotondati, colori, ecc. In base alla logica specifica, è possibile implementare la selezione singola o multipla di più pulsanti.", - "lever": 4, - "family": 0, - "linkIds": [ - 332, - 262 - ], - "nodes": [ - { - "file": "node1_single.dart", - "name": "ToggleButtons selezione singola", - "desc": [ - "【children】: Insieme di componenti figli 【List】", - "【borderWidth】: Larghezza del bordo 【double】", - "【borderRadius】: Angoli arrotondati 【BorderRadius】", - "【isSelected】: Insieme di selezione 【List】", - "【onPressed】: Evento di clic 【Function(int)】" - ] - }, - { - "file": "node2_color.dart", - "name": "Proprietà del colore di ToggleButtons", - "desc": [ - "【borderColor】: Colore del bordo 【Color】", - "【selectedBorderColor】: Colore del bordo selezionato 【Color】", - "【selectedColor】: Colore del componente selezionato 【Color】", - "【fillColor】: Colore di riempimento selezionato 【Color】", - "【splashColor】: Colore dell'effetto ondulazione 【Color】" - ] - }, - { - "file": "node3_multi.dart", - "name": "ToggleButtons selezione multipla", - "desc": [ - "È possibile controllare la logica di trasformazione dello stato per creare effetti diversi." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_ja_JP.json deleted file mode 100644 index 084ac4a66..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_ja_JP.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 33, - "name": "ToggleButtons", - "localName": "トグルボタングループ", - "info": "コンポーネントリストを受け取り、境界線、角丸、色などの属性を指定できます。特定のロジックに基づいて、複数のボタンの単一選択または複数選択の要件を実現できます。", - "lever": 4, - "family": 0, - "linkIds": [ - 332, - 262 - ], - "nodes": [ - { - "file": "node1_single.dart", - "name": "ToggleButtons単一選択トグル", - "desc": [ - "【children】: 子コンポーネントセット 【List】", - "【borderWidth】: 境界線の幅 【double】", - "【borderRadius】: 角丸 【BorderRadius】", - "【isSelected】: 選択状態セット 【List】", - "【onPressed】: クリックイベント 【Function(int)】" - ] - }, - { - "file": "node2_color.dart", - "name": "ToggleButtonsカラープロパティ", - "desc": [ - "【borderColor】: 境界線の色 【Color】", - "【selectedBorderColor】: 選択時の境界線の色 【Color】", - "【selectedColor】: 選択時のコンポーネントの色 【Color】", - "【fillColor】: 選択時の塗りつぶし色 【Color】", - "【splashColor】: 波紋の色 【Color】" - ] - }, - { - "file": "node3_multi.dart", - "name": "ToggleButtons複数選択トグル", - "desc": [ - "状態変換のロジックを制御して、異なる効果を生み出すことができます。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_ko_KR.json deleted file mode 100644 index c424bb2d8..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_ko_KR.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 33, - "name": "ToggleButtons", - "localName": "토글 버튼 그룹", - "info": "컴포넌트 리스트를 받아 테두리, 모서리 둥글기, 색상 등 속성을 지정할 수 있습니다. 특정 로직에 따라 여러 버튼의 단일 선택 또는 다중 선택 요구를 구현할 수 있습니다.", - "lever": 4, - "family": 0, - "linkIds": [ - 332, - 262 - ], - "nodes": [ - { - "file": "node1_single.dart", - "name": "ToggleButtons 단일 선택 토글", - "desc": [ - "【children】: 자식 컴포넌트 집합 【List】", - "【borderWidth】: 테두리 두께 【double】", - "【borderRadius】: 모서리 둥글기 【BorderRadius】", - "【isSelected】: 선택 여부 집합 【List】", - "【onPressed】: 클릭 이벤트 【Function(int)】" - ] - }, - { - "file": "node2_color.dart", - "name": "ToggleButtons 색상 속성", - "desc": [ - "【borderColor】: 테두리 색상 【Color】", - "【selectedBorderColor】: 선택된 테두리 색상 【Color】", - "【selectedColor】: 선택된 컴포넌트 색상 【Color】", - "【fillColor】: 선택된 채우기 색상 【Color】", - "【splashColor】: 물결 효과 색상 【Color】" - ] - }, - { - "file": "node3_multi.dart", - "name": "ToggleButtons 다중 선택 토글", - "desc": [ - "상태 변환 로직을 제어하여 다양한 효과를 만들 수 있습니다." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_pt_PT.json deleted file mode 100644 index 507252ee9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_pt_PT.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 33, - "name": "ToggleButtons", - "localName": "Grupo de Botões de Alternância", - "info": "Recebe uma lista de componentes, pode especificar atributos como borda, raio, cor, etc. De acordo com a lógica específica, pode atender à necessidade de seleção única ou múltipla de vários botões.", - "lever": 4, - "family": 0, - "linkIds": [ - 332, - 262 - ], - "nodes": [ - { - "file": "node1_single.dart", - "name": "Alternância Única de ToggleButtons", - "desc": [ - "【children】: Conjunto de componentes filhos 【List】", - "【borderWidth】: Largura da borda 【double】", - "【borderRadius】: Raio da borda 【BorderRadius】", - "【isSelected】: Conjunto de seleção 【List】", - "【onPressed】: Evento de clique 【Function(int)】" - ] - }, - { - "file": "node2_color.dart", - "name": "Atributos de Cor de ToggleButtons", - "desc": [ - "【borderColor】: Cor da borda 【Color】", - "【selectedBorderColor】: Cor da borda selecionada 【Color】", - "【selectedColor】: Cor do componente quando selecionado 【Color】", - "【fillColor】: Cor de preenchimento quando selecionado 【Color】", - "【splashColor】: Cor do efeito de ondulação 【Color】" - ] - }, - { - "file": "node3_multi.dart", - "name": "Alternância Múltipla de ToggleButtons", - "desc": [ - "Pode controlar a lógica de transformação de estado para criar diferentes efeitos." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_ru_RU.json deleted file mode 100644 index 3534d10aa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_ru_RU.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 33, - "name": "ToggleButtons", - "localName": "Группа переключателей", - "info": "Принимает список компонентов, можно указать свойства границы, радиуса, цвета и т.д. В зависимости от конкретной логики, можно реализовать требования для одного или нескольких кнопок.", - "lever": 4, - "family": 0, - "linkIds": [ - 332, - 262 - ], - "nodes": [ - { - "file": "node1_single.dart", - "name": "Одиночный переключатель ToggleButtons", - "desc": [ - "【children】: Набор дочерних компонентов 【List】", - "【borderWidth】: Ширина границы 【double】", - "【borderRadius】: Радиус угла 【BorderRadius】", - "【isSelected】: Набор выбранных 【List】", - "【onPressed】: Событие нажатия 【Function(int)】" - ] - }, - { - "file": "node2_color.dart", - "name": "Цветовые свойства ToggleButtons", - "desc": [ - "【borderColor】: Цвет границы 【Color】", - "【selectedBorderColor】: Цвет выбранной границы 【Color】", - "【selectedColor】: Цвет компонента при выборе 【Color】", - "【fillColor】: Цвет заполнения при выборе 【Color】", - "【splashColor】: Цвет водяного знака 【Color】" - ] - }, - { - "file": "node3_multi.dart", - "name": "Множественный переключатель ToggleButtons", - "desc": [ - "Можно управлять логикой преобразования состояния для создания различных эффектов." - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_zh-CN.json deleted file mode 100644 index 570997964..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/desc_zh-CN.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id": 33, - "name": "ToggleButtons", - "localName": "切换按钮组", - "info": "接收组件列表,可指定边线、圆角、颜色等属性。根据具体逻辑,可以实现多个按钮单选或多选的需求。", - "lever": 4, - "family": 0, - "linkIds": [ - 332, - 262 - ], - "nodes": [ - { - "file": "node1_single.dart", - "name": "ToggleButtons单选切换", - "desc": [ - "【children】: 子组件集 【List】", - "【borderWidth】: 边线宽 【double】", - "【borderRadius】: 圆角 【BorderRadius】", - "【isSelected】: 是否选中集 【List】", - "【onPressed】: 点击事件 【Function(int)】" - ] - }, - { - "file": "node2_color.dart", - "name": "ToggleButtons颜色属性", - "desc": [ - "【borderColor】: 边线色 【Color】", - "【selectedBorderColor】: 选中边线色 【Color】", - "【selectedColor】: 选中时组件色 【Color】", - "【fillColor】: 选中时填充色 【Color】", - "【splashColor】: 水波纹色 【Color】" - ] - }, - { - "file": "node3_multi.dart", - "name": "ToggleButtons多选切换", - "desc": [ - "可以控制状态转化的逻辑来形成不同的效果。" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/node1_single.dart b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/node1_single.dart deleted file mode 100644 index 7ec287cc1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/node1_single.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class CustomToggleButtons extends StatefulWidget { - const CustomToggleButtons({Key? key}) : super(key: key); - - @override - _CustomToggleButtonsState createState() => _CustomToggleButtonsState(); -} - -class _CustomToggleButtonsState extends State { - List _isSelected = [true, false, false]; - - @override - Widget build(BuildContext context) { - return ToggleButtons( - children: const [ - Icon(Icons.skip_previous), - Icon(Icons.pause), - Icon(Icons.skip_next), - ], - borderWidth: 1, - borderRadius: BorderRadius.circular(10), - isSelected: _isSelected, - onPressed: (value) => setState(() { - _isSelected = _isSelected.map((e) => false).toList(); - _isSelected[value] = true; - }), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/node2_color.dart b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/node2_color.dart deleted file mode 100644 index db779159b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/node2_color.dart +++ /dev/null @@ -1,40 +0,0 @@ - - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class ColorToggleButtons extends StatefulWidget { - const ColorToggleButtons({Key? key}) : super(key: key); - - @override - _ColorToggleButtonsState createState() => _ColorToggleButtonsState(); -} - -class _ColorToggleButtonsState extends State { - List _isSelected = [true, false, false]; - - @override - Widget build(BuildContext context) { - return ToggleButtons( - children: const [ - Icon(Icons.skip_previous), - Icon(Icons.pause), - Icon(Icons.skip_next), - ], - borderWidth: 1, - borderColor: Colors.orangeAccent, - selectedBorderColor: Colors.blue, - splashColor: Colors.purple.withAlpha(66), - borderRadius: BorderRadius.circular(10), - selectedColor: Colors.red, - fillColor: Colors.green.withAlpha(11), - isSelected: _isSelected, - onPressed: (value) => setState(() { - _isSelected = _isSelected.map((e) => false).toList(); - _isSelected[value] = true; - }), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/node3_multi.dart b/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/node3_multi.dart deleted file mode 100644 index edb205b5a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/ToggleButtons/node3_multi.dart +++ /dev/null @@ -1,38 +0,0 @@ - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class ProToggleButtons extends StatefulWidget { - const ProToggleButtons({Key? key}) : super(key: key); - - @override - _ProToggleButtonsState createState() => _ProToggleButtonsState(); -} - -class _ProToggleButtonsState extends State { - final List _isSelected = [false, false, false]; - - @override - Widget build(BuildContext context) { - return ToggleButtons( - children: const [ - Icon(Icons.skip_previous), - Icon(Icons.pause), - Icon(Icons.skip_next), - ], - borderWidth: 1, - borderColor: Colors.blue, - selectedBorderColor: Colors.orangeAccent, - splashColor: Colors.purple.withAlpha(66), - borderRadius: BorderRadius.circular(10), - selectedColor: Colors.red, - fillColor: Colors.green.withAlpha(11), - isSelected: _isSelected, - onPressed: (value) => setState(() { - _isSelected[value] = !_isSelected[value]; - }), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_de_DE.json deleted file mode 100644 index 42b7931b1..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_de_DE.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 22, - "name": "UserAccountsDrawerHeader", - "localName": "Anzeigekopf", - "info": "Eine allgemeine Anzeigestruktur, die von Flutter bereitgestellt wird. Komponenten können an entsprechenden Positionen eingefügt werden, um spezifische Einträge einfach zu handhaben. Wird häufig in Drawern verwendet.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Die grundlegende Darstellung dieser Komponente ist wie folgt", - "desc": [ - "【currentAccountPicture】: Obere Komponente 【Widget】", - "【accountName】: Mittlere Komponente 【Widget】", - "【accountEmail】: Untere Komponente 【Widget】", - "【decoration】: Dekoration 【Decoration】" - ] - }, - { - "file": "node2_pro.dart", - "name": "Obere rechte Ecke und Unterseite", - "desc": [ - "【otherAccountsPictures】: Obere rechte Komponente 【List】", - "【onDetailsPressed】: Klickereignis in der unteren rechten Ecke 【Function()】", - "【arrowColor】: Farbe der Schaltfläche in der unteren rechten Ecke 【Color】", - "【margin】: Außenabstand 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_en_US.json deleted file mode 100644 index 93b0d2be0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_en_US.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 22, - "name": "UserAccountsDrawerHeader", - "localName": "Display Header", - "info": "A common display structure provided by Flutter, where components can be inserted in corresponding positions, making it easy to handle specific items, commonly used in Drawers.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "The basic performance of this component is as follows", - "desc": [ - "【currentAccountPicture】: Top component 【Widget】", - "【accountName】: Middle component 【Widget】", - "【accountEmail】: Bottom component 【Widget】", - "【decoration】: Decoration 【Decoration】" - ] - }, - { - "file": "node2_pro.dart", - "name": "Top right corner and bottom", - "desc": [ - "【otherAccountsPictures】: Top right component 【List】", - "【onDetailsPressed】: Bottom right click event 【Function()】", - "【arrowColor】: Bottom right button color 【Color】", - "【margin】: Margin 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_es_ES.json deleted file mode 100644 index 5a180edc2..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_es_ES.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 22, - "name": "UserAccountsDrawerHeader", - "localName": "Encabezado de exhibición", - "info": "Una estructura de exhibición genérica proporcionada por Flutter, donde se pueden insertar componentes en las posiciones correspondientes, lo que permite manejar fácilmente elementos específicos, comúnmente utilizado en Drawer.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La presentación básica de este componente es la siguiente", - "desc": [ - "【currentAccountPicture】: componente superior 【Widget】", - "【accountName】: componente central 【Widget】", - "【accountEmail】: componente inferior 【Widget】", - "【decoration】: decoración 【Decoration】" - ] - }, - { - "file": "node2_pro.dart", - "name": "Esquina superior derecha y parte inferior", - "desc": [ - "【otherAccountsPictures】: componente superior derecho 【List】", - "【onDetailsPressed】: evento de clic en la esquina inferior derecha 【Function()】", - "【arrowColor】: color del botón en la esquina inferior derecha 【Color】", - "【margin】: margen exterior 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_fr_FR.json deleted file mode 100644 index 3382b7357..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_fr_FR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 22, - "name": "UserAccountsDrawerHeader", - "localName": "En-tête d'affichage", - "info": "Une structure d'affichage générique fournie par Flutter, où des composants peuvent être insérés à des positions spécifiques, permettant de répondre facilement à des éléments spécifiques, souvent utilisé dans les Drawer.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La présentation de base de ce composant est la suivante", - "desc": [ - "【currentAccountPicture】: Composant supérieur 【Widget】", - "【accountName】: Composant central 【Widget】", - "【accountEmail】: Composant inférieur 【Widget】", - "【decoration】: Décoration 【Decoration】" - ] - }, - { - "file": "node2_pro.dart", - "name": "Coin supérieur droit et bas", - "desc": [ - "【otherAccountsPictures】: Composant supérieur droit 【List】", - "【onDetailsPressed】: Événement de clic en bas à droite 【Function()】", - "【arrowColor】: Couleur du bouton en bas à droite 【Color】", - "【margin】: Marge extérieure 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_it_IT.json deleted file mode 100644 index 4f0b3b4c9..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_it_IT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 22, - "name": "UserAccountsDrawerHeader", - "localName": "Intestazione del cassetto degli account utente", - "info": "Una struttura di visualizzazione generica fornita da Flutter, in cui è possibile inserire componenti nelle posizioni corrispondenti, utile per gestire voci specifiche, comunemente utilizzata nei cassetti.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "La rappresentazione di base di questo componente è la seguente", - "desc": [ - "【currentAccountPicture】: componente superiore 【Widget】", - "【accountName】: componente centrale 【Widget】", - "【accountEmail】: componente inferiore 【Widget】", - "【decoration】: decorazione 【Decoration】" - ] - }, - { - "file": "node2_pro.dart", - "name": "Angolo superiore destro e parte inferiore", - "desc": [ - "【otherAccountsPictures】: componente superiore destro 【List】", - "【onDetailsPressed】: evento di clic nell'angolo inferiore destro 【Function()】", - "【arrowColor】: colore del pulsante nell'angolo inferiore destro 【Color】", - "【margin】: margine esterno 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_ja_JP.json deleted file mode 100644 index fc71dfa33..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_ja_JP.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 22, - "name": "UserAccountsDrawerHeader", - "localName": "ヘッダーを表示", - "info": "Flutterが提供する汎用的な表示構造で、対応する位置にコンポーネントを挿入でき、特定の項目に簡単に対応できます。Drawerでよく使用されます。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "このコンポーネントの基本的な表現は以下の通りです", - "desc": [ - "【currentAccountPicture】: 上部コンポーネント 【Widget】", - "【accountName】: 中部コンポーネント 【Widget】", - "【accountEmail】: 下部コンポーネント 【Widget】", - "【decoration】: 装飾 【Decoration】" - ] - }, - { - "file": "node2_pro.dart", - "name": "右上と下部", - "desc": [ - "【otherAccountsPictures】: 右上コンポーネント 【List】", - "【onDetailsPressed】: 右下クリックイベント 【Function()】", - "【arrowColor】: 右下ボタンの色 【Color】", - "【margin】: マージン 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_ko_KR.json deleted file mode 100644 index 50fa97540..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_ko_KR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 22, - "name": "UserAccountsDrawerHeader", - "localName": "디스플레이 헤더", - "info": "Flutter에서 제공하는 일반적인 디스플레이 구조로, 해당 위치에 컴포넌트를 삽입할 수 있으며 특정 항목에 쉽게 대응할 수 있습니다. 주로 Drawer에서 사용됩니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "이 컴포넌트의 기본적인 표현은 다음과 같습니다", - "desc": [ - "【currentAccountPicture】: 상단 컴포넌트 【Widget】", - "【accountName】: 중간 컴포넌트 【Widget】", - "【accountEmail】: 하단 컴포넌트 【Widget】", - "【decoration】: 장식 【Decoration】" - ] - }, - { - "file": "node2_pro.dart", - "name": "오른쪽 상단과 하단", - "desc": [ - "【otherAccountsPictures】: 오른쪽 상단 컴포넌트 【List】", - "【onDetailsPressed】: 오른쪽 하단 클릭 이벤트 【Function()】", - "【arrowColor】: 오른쪽 하단 버튼 색상 【Color】", - "【margin】: 외부 여백 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_pt_PT.json deleted file mode 100644 index 261f41add..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_pt_PT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 22, - "name": "UserAccountsDrawerHeader", - "localName": "Cabeçalho de Exibição", - "info": "Uma estrutura de exibição genérica fornecida pelo Flutter, onde componentes podem ser inseridos nas posições correspondentes, facilitando a adaptação a itens específicos, comumente usado em Drawers.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "A representação básica deste componente é a seguinte", - "desc": [ - "【currentAccountPicture】: Componente superior 【Widget】", - "【accountName】: Componente do meio 【Widget】", - "【accountEmail】: Componente inferior 【Widget】", - "【decoration】: Decoração 【Decoration】" - ] - }, - { - "file": "node2_pro.dart", - "name": "Canto superior direito e inferior", - "desc": [ - "【otherAccountsPictures】: Componente superior direito 【List】", - "【onDetailsPressed】: Evento de clique no canto inferior direito 【Function()】", - "【arrowColor】: Cor do botão no canto inferior direito 【Color】", - "【margin】: Margem externa 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_ru_RU.json deleted file mode 100644 index f4512b44b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_ru_RU.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 22, - "name": "UserAccountsDrawerHeader", - "localName": "Заголовок отображения", - "info": "Универсальная структура отображения, предоставляемая Flutter, в которую можно вставлять компоненты в соответствующие места, что позволяет легко адаптироваться к конкретным элементам, часто используется в Drawer.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Основное представление компонента", - "desc": [ - "【currentAccountPicture】: Верхний компонент 【Widget】", - "【accountName】: Средний компонент 【Widget】", - "【accountEmail】: Нижний компонент 【Widget】", - "【decoration】: Декорация 【Decoration】" - ] - }, - { - "file": "node2_pro.dart", - "name": "Верхний правый угол и нижняя часть", - "desc": [ - "【otherAccountsPictures】: Верхний правый компонент 【List】", - "【onDetailsPressed】: Событие нажатия в нижнем правом углу 【Function()】", - "【arrowColor】: Цвет кнопки в нижнем правом углу 【Color】", - "【margin】: Внешний отступ 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_zh-CN.json deleted file mode 100644 index efda05170..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/desc_zh-CN.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 22, - "name": "UserAccountsDrawerHeader", - "localName": "展示头", - "info": "Flutter提供的一个通用展示结构,相应位置可插入组件,可以很方便地应对特定的条目,常用于Drawer中。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "该组件的基本表现如下", - "desc": [ - "【currentAccountPicture】: 上组件 【Widget】", - "【accountName】: 中组件 【Widget】", - "【accountEmail】: 下组件 【Widget】", - "【decoration】: 装饰 【Decoration】" - ] - }, - { - "file": "node2_pro.dart", - "name": "右上角和底部", - "desc": [ - "【otherAccountsPictures】: 右上组件 【List】", - "【onDetailsPressed】: 右下角点击事件 【Function()】", - "【arrowColor】: 右下角按钮颜色 【Color】", - "【margin】: 外边距 【EdgeInsetsGeometry】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/node1_base.dart deleted file mode 100644 index dc2eda1bd..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/node1_base.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - - -class CustomUAGHP extends StatelessWidget { - const CustomUAGHP({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width / 3 * 2, - child: UserAccountsDrawerHeader( - accountName: Container( - padding: const EdgeInsets.all(8.0), - child: const Text( - "张风捷特烈", - style: - TextStyle(color: Colors.orangeAccent, fontSize: 22, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ), - ]), - ), - ), - accountEmail: const Padding( - padding: EdgeInsets.all(8.0), - child: Text("1981462002@qq.com", - style: TextStyle(color: Colors.white, fontSize: 14, shadows: [ - Shadow( - color: Colors.orangeAccent, - offset: Offset(.5, .5), - blurRadius: 2), - ])), - ), - currentAccountPicture: Container( - padding: const EdgeInsets.all(15.0), - child: const CircleAvatar( - backgroundImage: AssetImage("assets/images/icon_head.webp"), - ), - ), - decoration: const BoxDecoration( - image: DecorationImage(image: AssetImage("assets/images/caver.webp")), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/node2_pro.dart b/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/node2_pro.dart deleted file mode 100644 index 3c8e7d544..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/UserAccountsDrawerHeader/node2_pro.dart +++ /dev/null @@ -1,59 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class ProUAGHP extends StatelessWidget { - const ProUAGHP({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return SizedBox( - width: MediaQuery.of(context).size.width / 3 * 2, - child: UserAccountsDrawerHeader( - margin: const EdgeInsets.all(10), - accountName: Container( - padding: const EdgeInsets.all(8.0), - child: const Text( - "张风捷特烈", - style: - TextStyle(color: Colors.orangeAccent, fontSize: 22, shadows: [ - Shadow( - color: Colors.black, - offset: Offset(.5, .5), - blurRadius: 2, - ), - ]), - ), - ), - accountEmail: const Padding( - padding: EdgeInsets.all(8.0), - child: Text("1981462002@qq.com", - style: TextStyle(color: Colors.white, fontSize: 14, shadows: [ - Shadow( - color: Colors.orangeAccent, - offset: Offset(.5, .5), - blurRadius: 2, - ), - ])), - ), - currentAccountPicture: Container( - padding: const EdgeInsets.all(15.0), - child: const CircleAvatar( - backgroundImage: AssetImage("assets/images/icon_head.webp"), - ), - ), - otherAccountsPictures: const [ - FlutterLogo(textColor: Colors.green), - ], - onDetailsPressed: () { - - }, - arrowColor: Colors.white, - decoration: const BoxDecoration( - image: DecorationImage(image: AssetImage("assets/images/caver.webp")), - ), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_de_DE.json deleted file mode 100644 index 746f6a94b..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_de_DE.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 35, - "name": "VerticalDivider", - "localName": "Vertikale Trennlinie", - "info": "Vertikale Trennlinie, kann Farbe, Breite, Dicke und Abstände oben und unten angeben, wird häufig als Trennlinie für Listenelemente verwendet.", - "lever": 2, - "family": 0, - "linkIds": [ - 34, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "VerticalDivider Farbe und Dicke", - "desc": [ - "【color】: Farbe 【Color】", - "【thickness】: Linienstärke 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "VerticalDivider Breite und Abstand", - "desc": [ - "【indent】: Abstand vorne 【double】", - "【endIndent】: Abstand hinten 【double】", - "【width】: Platzhalterbreite 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_en_US.json deleted file mode 100644 index 77b486897..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_en_US.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 35, - "name": "VerticalDivider", - "localName": "Vertical Divider", - "info": "Vertical divider, which can specify color, width, thickness, top and bottom margin information, commonly used as the divider between list items.", - "lever": 2, - "family": 0, - "linkIds": [ - 34, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "VerticalDivider Color and Thickness", - "desc": [ - "【color】: Color 【Color】", - "【thickness】: Line thickness 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "VerticalDivider Width and Indent", - "desc": [ - "【indent】: Front indent length 【double】", - "【endIndent】: Back indent length 【double】", - "【width】: Placeholder width 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_es_ES.json deleted file mode 100644 index d8fe84857..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_es_ES.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 35, - "name": "VerticalDivider", - "localName": "Divisor vertical", - "info": "Divisor vertical, se puede especificar el color, el ancho, el grosor, el margen superior e inferior, comúnmente utilizado como divisor de elementos en una lista.", - "lever": 2, - "family": 0, - "linkIds": [ - 34, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Color y grosor del VerticalDivider", - "desc": [ - "【color】: color 【Color】", - "【thickness】: grosor de la línea 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Ancho y espacio del VerticalDivider", - "desc": [ - "【indent】: longitud del espacio frontal 【double】", - "【endIndent】: longitud del espacio posterior 【double】", - "【width】: ancho de ocupación 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_fr_FR.json deleted file mode 100644 index 9ce751ace..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_fr_FR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 35, - "name": "VerticalDivider", - "localName": "Ligne de séparation verticale", - "info": "Ligne de séparation verticale, peut spécifier la couleur, la largeur, l'épaisseur, les marges supérieure et inférieure, couramment utilisée pour les lignes de séparation des éléments de liste.", - "lever": 2, - "family": 0, - "linkIds": [ - 34, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Couleur et épaisseur de VerticalDivider", - "desc": [ - "【color】: Couleur 【Color】", - "【thickness】: Épaisseur de la ligne 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Largeur et espacement de VerticalDivider", - "desc": [ - "【indent】: Longueur de l'espacement avant 【double】", - "【endIndent】: Longueur de l'espacement arrière 【double】", - "【width】: Largeur occupée 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_it_IT.json deleted file mode 100644 index af0d6378a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_it_IT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 35, - "name": "VerticalDivider", - "localName": "Divisore Verticale", - "info": "Divisore verticale, può specificare colore, larghezza, spessore, margini superiore e inferiore, comunemente usato come divisore per gli elementi di una lista.", - "lever": 2, - "family": 0, - "linkIds": [ - 34, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Colore e Spessore del VerticalDivider", - "desc": [ - "【color】: Colore 【Color】", - "【thickness】: Spessore della linea 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Larghezza e Spaziature del VerticalDivider", - "desc": [ - "【indent】: Lunghezza dello spazio anteriore 【double】", - "【endIndent】: Lunghezza dello spazio posteriore 【double】", - "【width】: Larghezza occupata 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_ja_JP.json deleted file mode 100644 index e1d4653e5..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_ja_JP.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 35, - "name": "VerticalDivider", - "localName": "垂直分割線", - "info": "垂直分割線、色、幅、太さ、上下の余白情報を指定でき、リストのアイテム分割線としてよく使われます。", - "lever": 2, - "family": 0, - "linkIds": [ - 34, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "VerticalDividerの色と太さ", - "desc": [ - "【color】: 色 【Color】", - "【thickness】: 線の太さ 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "VerticalDividerの幅と空白", - "desc": [ - "【indent】: 前の空白の長さ 【double】", - "【endIndent】: 後の空白の長さ 【double】", - "【width】: 占める幅 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_ko_KR.json deleted file mode 100644 index ad155b5a7..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_ko_KR.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 35, - "name": "VerticalDivider", - "localName": "수직 구분선", - "info": "수직 구분선, 색상, 너비, 두께, 상하 여백 정보를 지정할 수 있으며, 주로 리스트의 항목 구분선으로 사용됩니다.", - "lever": 2, - "family": 0, - "linkIds": [ - 34, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "VerticalDivider 색상 및 두께", - "desc": [ - "【color】: 색상 【Color】", - "【thickness】: 선 두께 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "VerticalDivider 너비 및 여백", - "desc": [ - "【indent】: 앞쪽 여백 길이 【double】", - "【endIndent】: 뒤쪽 여백 길이 【double】", - "【width】: 차지하는 너비 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_pt_PT.json deleted file mode 100644 index dafc51e13..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_pt_PT.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 35, - "name": "VerticalDivider", - "localName": "Divisor Vertical", - "info": "Divisor vertical, pode especificar cor, largura, espessura, margens superior e inferior, comumente usado como divisor de itens de lista.", - "lever": 2, - "family": 0, - "linkIds": [ - 34, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Cor e Espessura do VerticalDivider", - "desc": [ - "【color】: cor 【Color】", - "【thickness】: espessura da linha 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Largura e Espaço do VerticalDivider", - "desc": [ - "【indent】: comprimento do espaço frontal 【double】", - "【endIndent】: comprimento do espaço traseiro 【double】", - "【width】: largura ocupada 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_ru_RU.json deleted file mode 100644 index 39c05222d..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_ru_RU.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 35, - "name": "VerticalDivider", - "localName": "Вертикальный разделитель", - "info": "Вертикальный разделитель, можно указать цвет, ширину, толщину, отступы сверху и снизу, часто используется для разделения элементов списка.", - "lever": 2, - "family": 0, - "linkIds": [ - 34, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Цвет и толщина VerticalDivider", - "desc": [ - "【color】: цвет 【Color】", - "【thickness】: толщина линии 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "Ширина и отступы VerticalDivider", - "desc": [ - "【indent】: длина отступа спереди 【double】", - "【endIndent】: длина отступа сзади 【double】", - "【width】: ширина занимаемого места 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_zh-CN.json deleted file mode 100644 index 7fad0ce50..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/desc_zh-CN.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": 35, - "name": "VerticalDivider", - "localName": "竖直分割线", - "info": "竖直分割线,可指定颜色、宽度、粗细、上下边距信息,常用与列表的item分割线。", - "lever": 2, - "family": 0, - "linkIds": [ - 34, - 329 - ], - "nodes": [ - { - "file": "node1_base.dart", - "name": "VerticalDivider颜色和粗细", - "desc": [ - "【color】: 颜色 【Color】", - "【thickness】: 线粗细 【double】" - ] - }, - { - "file": "node2_height.dart", - "name": "VerticalDivider宽度和空缺", - "desc": [ - "【indent】: 前面空缺长度 【double】", - "【endIndent】: 后面空缺长度 【double】", - "【width】: 占位宽 【double】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/node1_base.dart deleted file mode 100644 index 36473ef20..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/node1_base.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class CustomVerticalDivider extends StatelessWidget { - const CustomVerticalDivider({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - List dataColor = [ - Colors.red, Colors.yellow, - Colors.blue, Colors.green]; - List dataThickness = [1.0, 2.0, 4.0, 6.0]; - Map data = Map.fromIterables(dataColor, dataThickness); - return SizedBox( - height: 150, - child: Row( - mainAxisSize: MainAxisSize.min, - children: dataColor - .map((e) => VerticalDivider( - color: e, - thickness: data[e], - )).toList(), - ), - ); - } -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/node2_height.dart b/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/node2_height.dart deleted file mode 100644 index 86610bcca..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/VerticalDivider/node2_height.dart +++ /dev/null @@ -1,34 +0,0 @@ - - -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class WidthVerticalDivider extends StatelessWidget { - const WidthVerticalDivider({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - List dataColor = [ - Colors.red, Colors.yellow, - Colors.blue, Colors.green]; - List dataThickness = [10.0, 20.0, 30.0, 40.0]; - Map data = Map.fromIterables(dataColor, dataThickness); - return SizedBox( - height: 150, - child: Row( - mainAxisSize: MainAxisSize.min, - children: dataColor - .map((e) => VerticalDivider( - color: e, - indent:data[e], - endIndent: data[e]!*2, - width: data[e], - thickness: data[e]!/10, - )) - .toList(), - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_de_DE.json b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_de_DE.json deleted file mode 100644 index d4836b21c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_de_DE.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 10, - "name": "Visibility", - "localName": "Sichtbarkeitskomponente", - "info": "Steuert die Anzeige oder Ausblendung einer Komponente und ermöglicht die Festlegung eines Platzhalterkomponente nach dem Ausblenden. Eine ähnliche Funktion bietet die OffStage-Komponente.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Steuert die Sichtbarkeit der internen Unterkomponenten basierend auf visible", - "desc": [ - "【visible】 : Gibt an, ob angezeigt wird 【bool】", - "【child】: Kind 【Widget】", - "Standardmäßig geht der ursprüngliche Bereich verloren, wenn das Kind ausgeblendet wird." - ] - }, - { - "file": "node2_replacement.dart", - "name": "replacement kann beim Ausblenden als Platzhalter verwendet werden", - "desc": [ - "【replacement】 : Platzhalterkomponente beim Ausblenden 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_en_US.json b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_en_US.json deleted file mode 100644 index 857330ac6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_en_US.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 10, - "name": "Visibility", - "localName": "Visibility Component", - "info": "Controls the display or hiding of a component, and can set a placeholder component when hidden. A similar function is provided by the OffStage component.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Control the visibility of internal child components based on visible", - "desc": [ - "【visible】: Whether to display 【bool】", - "【child】: Child 【Widget】", - "By default, the child will lose its original area when hidden." - ] - }, - { - "file": "node2_replacement.dart", - "name": "replacement can be used as a placeholder when hidden", - "desc": [ - "【replacement】: Placeholder component when hidden 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_es_ES.json b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_es_ES.json deleted file mode 100644 index ace7d1b88..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_es_ES.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 10, - "name": "Visibility", - "localName": "Componente de Visibilidad", - "info": "Controla si un componente se muestra o se oculta, y permite configurar un componente de marcador de posición cuando está oculto. Un componente similar en funcionalidad es el componente OffStage.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Controla la visibilidad de los componentes hijos internos según visible", - "desc": [ - "【visible】 : Si se muestra o no 【bool】", - "【child】: Hijo 【Widget】", - "Por defecto, cuando el hijo está oculto, pierde el área original donde estaba." - ] - }, - { - "file": "node2_replacement.dart", - "name": "replacement puede ocupar el lugar cuando está oculto", - "desc": [ - "【replacement】 : Componente de marcador de posición cuando está oculto 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_fr_FR.json b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_fr_FR.json deleted file mode 100644 index c6f8bc0c4..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_fr_FR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 10, - "name": "Visibility", - "localName": "Composant de visibilité", - "info": "Contrôle l'affichage ou la dissimulation d'un composant, peut définir un composant de remplacement lorsqu'il est caché. Le composant OffStage a une fonction similaire.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Contrôle l'affichage ou la dissimulation des composants enfants en fonction de visible", - "desc": [ - "【visible】 : Afficher ou non 【bool】", - "【child】: Enfant 【Widget】", - "Par défaut, l'enfant perd sa zone d'origine lorsqu'il est caché." - ] - }, - { - "file": "node2_replacement.dart", - "name": "replacement peut être utilisé comme espace réservé lors de la dissimulation", - "desc": [ - "【replacement】 : Composant de remplacement lors de la dissimulation 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_it_IT.json b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_it_IT.json deleted file mode 100644 index 5e05510aa..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_it_IT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 10, - "name": "Visibility", - "localName": "Componente di Visibilità", - "info": "Controlla la visualizzazione o l'occultamento di un componente, con la possibilità di impostare un componente segnaposto quando è nascosto. Una funzionalità simile è offerta dal componente OffStage.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Controlla la visibilità dei componenti figli interni in base a visible", - "desc": [ - "【visible】: Se visualizzare o meno 【bool】", - "【child】: Figlio 【Widget】", - "Per impostazione predefinita, quando il figlio è nascosto, perde l'area originale in cui si trovava." - ] - }, - { - "file": "node2_replacement.dart", - "name": "replacement può essere utilizzato come segnaposto quando è nascosto", - "desc": [ - "【replacement】: Componente segnaposto quando è nascosto 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_ja_JP.json b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_ja_JP.json deleted file mode 100644 index 9a43e083c..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_ja_JP.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 10, - "name": "Visibility", - "localName": "表示/非表示コンポーネント", - "info": "コンポーネントの表示または非表示を制御し、非表示時のプレースホルダーコンポーネントを設定できます。類似の機能を持つコンポーネントとしてOffStageコンポーネントがあります。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "visibleに基づいて内部の子コンポーネントの表示/非表示を制御", - "desc": [ - "【visible】 : 表示するかどうか 【bool】", - "【child】: 子コンポーネント 【Widget】", - "デフォルトでは、子コンポーネントが非表示になると元の領域を失います。" - ] - }, - { - "file": "node2_replacement.dart", - "name": "replacementを使用して非表示時のプレースホルダーを設定", - "desc": [ - "【replacement】 : 非表示時のプレースホルダーコンポーネント 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_ko_KR.json b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_ko_KR.json deleted file mode 100644 index 4cac94c9a..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_ko_KR.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 10, - "name": "Visibility", - "localName": "표시/숨김 컴포넌트", - "info": "컴포넌트의 표시 또는 숨김을 제어하며, 숨김 후의 자리 표시 컴포넌트를 설정할 수 있습니다. 이와 유사한 기능을 가진 OffStage 컴포넌트가 있습니다.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "visible에 따라 내부 자식 컴포넌트의 표시/숨김 상태를 제어", - "desc": [ - "【visible】 : 표시 여부 【bool】", - "【child】: 자식 【Widget】", - "기본적으로 자식이 숨겨지면 원래 영역을 잃습니다." - ] - }, - { - "file": "node2_replacement.dart", - "name": "replacement는 숨김 시 자리 표시를 할 수 있습니다", - "desc": [ - "【replacement】 : 숨김 시의 자리 표시 컴포넌트 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_pt_PT.json b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_pt_PT.json deleted file mode 100644 index 18e4cbaf0..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_pt_PT.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 10, - "name": "Visibility", - "localName": "Componente de Visibilidade", - "info": "Controla a exibição ou ocultação de um componente, podendo definir um componente de espaço reservado após a ocultação. Um componente com funcionalidade semelhante é o OffStage.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Controla a visibilidade dos componentes internos com base no visível", - "desc": [ - "【visible】 : Se deve ser exibido 【bool】", - "【child】: Filho 【Widget】", - "Por padrão, o filho perde a área original quando oculto." - ] - }, - { - "file": "node2_replacement.dart", - "name": "replacement pode ser usado como espaço reservado ao ocultar", - "desc": [ - "【replacement】 : Componente de espaço reservado ao ocultar 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_ru_RU.json b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_ru_RU.json deleted file mode 100644 index 52e8b516e..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_ru_RU.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 10, - "name": "Visibility", - "localName": "Компонент видимости", - "info": "Управляет отображением или скрытием компонента, можно установить компонент-заполнитель при скрытии. Похожую функциональность имеет компонент OffStage.", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "Управление видимостью внутренних дочерних компонентов с помощью visible", - "desc": [ - "【visible】 : Отображать ли 【bool】", - "【child】: Дочерний элемент 【Widget】", - "По умолчанию при скрытии дочернего элемента он теряет свою исходную область." - ] - }, - { - "file": "node2_replacement.dart", - "name": "replacement может использоваться для заполнения при скрытии", - "desc": [ - "【replacement】 : Компонент-заполнитель при скрытии 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_zh-CN.json b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_zh-CN.json deleted file mode 100644 index 48f0b2d69..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/desc_zh-CN.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id": 10, - "name": "Visibility", - "localName": "显隐组件", - "info": "控制一个组件显示或隐藏,可设置隐藏后的占位组件。与其功能相似的由OffStage组件。", - "lever": 3, - "family": 0, - "linkIds": [], - "nodes": [ - { - "file": "node1_base.dart", - "name": "根据visible控制内部子组件的显隐情况", - "desc": [ - "【visible】 : 是否显示 【bool】", - "【child】: 孩子 【Widget】", - "默认孩子隐藏时会失去原来所在区域。" - ] - }, - { - "file": "node2_replacement.dart", - "name": "replacement可在隐藏时进行占位", - "desc": [ - "【replacement】 : 隐藏时的占位组件 【Widget】" - ] - } - ] -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/node1_base.dart b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/node1_base.dart deleted file mode 100644 index e6c1de433..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/node1_base.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter/material.dart'; -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class CustomVisibility extends StatelessWidget { - const CustomVisibility({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: [ - _buildVisibility(true), - _buildVisibility(false), - ], - ); - } - - Widget _buildVisibility(bool visible) { - Widget box = Container( - height: 30, - width: 30, - color: Colors.blue, - ); - return Container( - width: 150, - height: 150 * 0.618, - color: Colors.cyanAccent.withAlpha(33), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - box, - Visibility( - visible: visible, - child: Container( - alignment: Alignment.center, - height: 80 * 0.618, - width: 80, - color: Colors.red, - child: const Text( - "visible\ntrue", - style: TextStyle(fontSize: 20), - ), - )), - box, - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/node2_replacement.dart b/modules/widget_system/widgets/lib/StatelessWidget/Visibility/node2_replacement.dart deleted file mode 100644 index 9c96f49d6..000000000 --- a/modules/widget_system/widgets/lib/StatelessWidget/Visibility/node2_replacement.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/material.dart'; - -/// create by 张风捷特烈 on 2020/4/27 -/// contact me by email 1981462002@qq.com - -class ReplacementVisibility extends StatelessWidget { - const ReplacementVisibility({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Wrap( - spacing: 10, - children: [ - _buildVisibility(true), - _buildVisibility(false), - ], - ); - } - - Widget _buildVisibility(bool visible) { - Widget box = Container( - height: 30, - width: 30, - color: Colors.blue, - ); - return Container( - width: 150, - height: 150 * 0.618, - color: Colors.cyanAccent.withAlpha(33), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - box, - Visibility( - visible: visible, - replacement: Container( - alignment: Alignment.center, - height: 80 * 0.618, - width: 80, - ), - child: Container( - alignment: Alignment.center, - height: 80 * 0.618, - width: 80, - color: Colors.red, - child: const Text( - "visible\ntrue", - style: TextStyle(fontSize: 20), - ), - )), - box, - ], - ), - ); - } -} diff --git a/modules/widget_system/widgets/lib/exp/MultiChildRenderObjectWidget.dart b/modules/widget_system/widgets/lib/exp/MultiChildRenderObjectWidget.dart deleted file mode 100644 index 692ab3958..000000000 --- a/modules/widget_system/widgets/lib/exp/MultiChildRenderObjectWidget.dart +++ /dev/null @@ -1,28 +0,0 @@ -library render_object_widget; - - -export '../MultiChildRenderObjectWidget/Flex/node_01.dart'; -export '../MultiChildRenderObjectWidget/Flex/node_02.dart'; -export '../MultiChildRenderObjectWidget/Flex/node_03.dart'; -export '../MultiChildRenderObjectWidget/Flex/node_04.dart'; -export '../MultiChildRenderObjectWidget/Flex/node_05.dart'; - -export '../MultiChildRenderObjectWidget/Flow/node_01.dart'; -export '../MultiChildRenderObjectWidget/Flow/node_02.dart'; -export '../MultiChildRenderObjectWidget/RichText/node1_base.dart'; -export '../MultiChildRenderObjectWidget/RichText/node2_widget.dart'; -export '../MultiChildRenderObjectWidget/Stack/node1_base.dart'; -export '../MultiChildRenderObjectWidget/Stack/node2_positioned.dart'; -export '../MultiChildRenderObjectWidget/Wrap/node1_base.dart'; -export '../MultiChildRenderObjectWidget/Wrap/node2_alignment.dart'; -export '../MultiChildRenderObjectWidget/Wrap/node3_crossAxisAlignment.dart'; -export '../MultiChildRenderObjectWidget/Wrap/node4_textDirection.dart'; -export '../MultiChildRenderObjectWidget/Wrap/node5_verticalDirection.dart'; -export '../MultiChildRenderObjectWidget/Column/node_01.dart'; -export '../MultiChildRenderObjectWidget/IndexedStack/node1_base.dart'; -export '../MultiChildRenderObjectWidget/Row/node1_base.dart'; -export '../MultiChildRenderObjectWidget/CustomMultiChildLayout/node_01.dart'; -export '../MultiChildRenderObjectWidget/Viewport/node1_base.dart'; -export '../MultiChildRenderObjectWidget/ListBody/node1_base.dart'; -export '../MultiChildRenderObjectWidget/ShrinkWrappingViewport/node1_base.dart'; -export '../MultiChildRenderObjectWidget/NestedScrollViewViewport/node1_base.dart'; diff --git a/modules/widget_system/widgets/lib/exp/Other.dart b/modules/widget_system/widgets/lib/exp/Other.dart deleted file mode 100644 index 8309e77f3..000000000 --- a/modules/widget_system/widgets/lib/exp/Other.dart +++ /dev/null @@ -1,16 +0,0 @@ -/// create by 张风捷特烈 on 2020/4/28 -/// contact me by email 1981462002@qq.com -/// 说明: - -library other_unit.dart; - - -export '../Other/ErrorWidget/node1_base.dart'; -export '../Other/Table/node1_base.dart'; -export '../Other/RawImage/node1_base.dart'; -export '../Other/PerformanceOverlay/node1_base.dart'; -export '../Other/RenderObjectToWidgetAdapter/node1_base.dart'; -export '../Other/ListWheelViewport/node1_base.dart'; -export '../Other/ListWheelViewport/node2_perspective.dart'; -export '../Other/ListWheelViewport/node3_magnifier.dart'; -export '../Other/ListWheelViewport/node4_opacity.dart'; \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/exp/ProxyWidget.dart b/modules/widget_system/widgets/lib/exp/ProxyWidget.dart deleted file mode 100644 index 2b2e5cdda..000000000 --- a/modules/widget_system/widgets/lib/exp/ProxyWidget.dart +++ /dev/null @@ -1,38 +0,0 @@ -/// create by 张风捷特烈 on 2020/4/28 -/// contact me by email 1981462002@qq.com -/// 说明: - -library proxy_widget_unit.dart; - - -export '../ProxyWidget/DropdownButtonHideUnderline/node1_base.dart'; -export '../ProxyWidget/Flexible/node1_base.dart'; -export '../ProxyWidget/MediaQuery/node1_base.dart'; -export '../ProxyWidget/ButtonTheme/node1_base.dart'; -export '../ProxyWidget/DefaultTextStyle/node1_base.dart'; -export '../ProxyWidget/SliderTheme/node1_base.dart'; -export '../ProxyWidget/SliderTheme/node2_diy.dart'; -export '../ProxyWidget/DividerTheme/node1_base.dart'; -export '../ProxyWidget/IconTheme/node1_base.dart'; -export '../ProxyWidget/ScrollConfiguration/node1_base.dart'; -export '../ProxyWidget/Expanded/node1_base.dart'; -export '../ProxyWidget/Positioned/node1_base.dart'; -export '../ProxyWidget/LayoutId/node1_base.dart'; -export '../ProxyWidget/ChipTheme/node1_base.dart' hide CustomFilterChip; -export '../ProxyWidget/ListTileTheme/node1_base.dart'; -export '../ProxyWidget/MaterialBannerTheme/node1_base.dart'; -export '../ProxyWidget/PopupMenuTheme/node1_base.dart'; -export '../ProxyWidget/ToggleButtonsTheme/node1_base.dart'; -export '../ProxyWidget/ButtonBarTheme/node1_base.dart'; -export '../ProxyWidget/TooltipTheme/node1_base.dart'; -export '../ProxyWidget/Directionality/node1_base.dart'; -export '../ProxyWidget/TableCell/node1_base.dart'; -export '../ProxyWidget/KeepAlive/node1_base.dart'; -export '../ProxyWidget/CupertinoUserInterfaceLevel/node1_base.dart'; -export '../ProxyWidget/InheritedTheme/node1_base.dart'; -export '../ProxyWidget/DefaultAssetBundle/node1_base.dart'; -export '../ProxyWidget/InheritedWidget/node1_base.dart'; -export '../ProxyWidget/InheritedWidget/node2_use.dart'; -export '../ProxyWidget/ParentDataWidget/node1_base.dart'; -export '../ProxyWidget/InheritedModel/node1.dart'; -export '../ProxyWidget/PrimaryScrollController/node1_base.dart'; diff --git a/modules/widget_system/widgets/lib/exp/SingleChildRenderObjectWidget.dart b/modules/widget_system/widgets/lib/exp/SingleChildRenderObjectWidget.dart deleted file mode 100644 index 6b519dcb5..000000000 --- a/modules/widget_system/widgets/lib/exp/SingleChildRenderObjectWidget.dart +++ /dev/null @@ -1,76 +0,0 @@ -library render_object_widget; - -export '../SingleChildRenderObjectWidget/Align/node1_base.dart'; -export '../SingleChildRenderObjectWidget/Align/node2_other.dart'; -export '../SingleChildRenderObjectWidget/CustomSingleChildLayout/node1_base.dart'; -export '../SingleChildRenderObjectWidget/CustomSingleChildLayout/node2_offset.dart'; -export '../SingleChildRenderObjectWidget/RepaintBoundary/node1_base.dart'; -export '../SingleChildRenderObjectWidget/RepaintBoundary/node2_save.dart'; -export '../SingleChildRenderObjectWidget/CompositedTransformTarget/node1_base.dart'; -export '../SingleChildRenderObjectWidget/CompositedTransformFollower/node1_base.dart'; - -export '../SingleChildRenderObjectWidget/AnnotatedRegion/node1_base.dart'; -export '../SingleChildRenderObjectWidget/CupertinoTextSelectionToolbar/node1_base.dart'; -export '../SingleChildRenderObjectWidget/SizeChangedLayoutNotifier/node1_base.dart'; -export '../SingleChildRenderObjectWidget/ColoredBox/node1_base.dart'; - -export '../SingleChildRenderObjectWidget/ConstrainedBox/node1_base.dart'; -export '../SingleChildRenderObjectWidget/PhysicalModel/node1_base.dart'; -export '../SingleChildRenderObjectWidget/FractionalTranslation/node1_base.dart'; -export '../SingleChildRenderObjectWidget/ColorFiltered/node1_base.dart'; -export '../SingleChildRenderObjectWidget/Baseline/node1_base.dart'; -export '../SingleChildRenderObjectWidget/DecoratedBox/node1_base.dart'; -export '../SingleChildRenderObjectWidget/DecoratedBox/node2_image.dart'; -export '../SingleChildRenderObjectWidget/DecoratedBox/node3_border.dart'; -export '../SingleChildRenderObjectWidget/DecoratedBox/node4_shape.dart'; -export '../SingleChildRenderObjectWidget/DecoratedBox/node5_line.dart'; -export '../SingleChildRenderObjectWidget/DecoratedBox/node6_flutterLogo.dart'; -export '../SingleChildRenderObjectWidget/FadeTransition/node1_base.dart'; -export '../SingleChildRenderObjectWidget/FittedBox/node1_base.dart'; -export '../SingleChildRenderObjectWidget/FractionallySizedBox/node1_base.dart'; -export '../SingleChildRenderObjectWidget/LimitedBox/node1_base.dart'; -export '../SingleChildRenderObjectWidget/OffStage/node1_base.dart'; -export '../SingleChildRenderObjectWidget/Opacity/node1_base.dart'; -export '../SingleChildRenderObjectWidget/Padding/node1_all.dart'; -export '../SingleChildRenderObjectWidget/Padding/node2_only.dart'; -export '../SingleChildRenderObjectWidget/Padding/node3_symmetric.dart'; -export '../SingleChildRenderObjectWidget/RotatedBox/node1_base.dart'; -export '../SingleChildRenderObjectWidget/SizedBox/node1_base.dart'; -export '../SingleChildRenderObjectWidget/SizedOverflowBox/node1_base.dart'; -export '../SingleChildRenderObjectWidget/Transform/node1_skew.dart'; -export '../SingleChildRenderObjectWidget/Transform/node2_translation.dart'; -export '../SingleChildRenderObjectWidget/Transform/node3_scale.dart'; -export '../SingleChildRenderObjectWidget/Transform/node4_rotate.dart'; -export '../SingleChildRenderObjectWidget/Transform/node5_perspective.dart'; -export '../SingleChildRenderObjectWidget/UnConstrainedBox/node1_base.dart'; -export '../StatefulWidget/PositionedTransition/node1_base.dart'; -export '../StatefulWidget/RotationTransition/node1_base.dart'; -export '../StatefulWidget/ScaleTransition/node1_base.dart'; -export '../StatefulWidget/SizeTransition/node1_base.dart'; -export '../SingleChildRenderObjectWidget/ClipOval/node1_base.dart'; -export '../SingleChildRenderObjectWidget/ClipPath/node1_base.dart'; -export '../SingleChildRenderObjectWidget/ClipRRect/node1_base.dart'; -export '../SingleChildRenderObjectWidget/ClipRect/node1_base.dart'; -export '../SingleChildRenderObjectWidget/OverflowBox/node1_base.dart'; -export '../SingleChildRenderObjectWidget/AspectRatio/node1_base.dart'; -export '../SingleChildRenderObjectWidget/AnimatedSize/node1_base.dart'; -export '../SingleChildRenderObjectWidget/Center/node1_base.dart'; -export '../SingleChildRenderObjectWidget/CustomPaint/node2_bezier.dart'; -export '../SingleChildRenderObjectWidget/CustomPaint/node1_clock.dart'; -export '../SingleChildRenderObjectWidget/AbsorbPointer/node1_base.dart'; -export '../SingleChildRenderObjectWidget/BackdropFilter/node1_base.dart'; -export '../SingleChildRenderObjectWidget/IgnorePointer/node1_base.dart'; -export '../SingleChildRenderObjectWidget/LayoutBuilder/node1_base.dart'; -export '../SingleChildRenderObjectWidget/LayoutBuilder/node2_fit.dart'; -export '../SingleChildRenderObjectWidget/LayoutBuilder/node3_expend.dart'; -export '../SingleChildRenderObjectWidget/ShaderMask/node1_radial.dart'; -export '../SingleChildRenderObjectWidget/ShaderMask/node2_linear.dart'; -export '../SingleChildRenderObjectWidget/IntrinsicHeight/node1_base.dart'; -export '../SingleChildRenderObjectWidget/IntrinsicWidth/node1_base.dart'; -export '../SingleChildRenderObjectWidget/PhysicalShape/node1_base.dart'; -export '../SingleChildRenderObjectWidget/ImageFiltered/node1_blur.dart'; -export '../SingleChildRenderObjectWidget/ImageFiltered/node2_color.dart'; -export '../SingleChildRenderObjectWidget/ImageFiltered/node3_matrix.dart'; -export '../SingleChildRenderObjectWidget/TapRegion/node1.dart'; -export '../SingleChildRenderObjectWidget/TextFieldTapRegion/node1.dart'; -export '../SingleChildRenderObjectWidget/CallbackShortcuts/node1.dart'; diff --git a/modules/widget_system/widgets/lib/exp/Sliver.dart b/modules/widget_system/widgets/lib/exp/Sliver.dart deleted file mode 100644 index b7cbed9ff..000000000 --- a/modules/widget_system/widgets/lib/exp/Sliver.dart +++ /dev/null @@ -1,37 +0,0 @@ -/// create by 张风捷特烈 on 2020/4/28 -/// contact me by email 1981462002@qq.com -/// 说明: - -library sliver_unit.dart; - -export '../Sliver/CustomScrollView/node1_base.dart'; -export '../Sliver/FlexibleSpaceBar/node1_base.dart'; -export '../Sliver/SliverAppBar/node1_base.dart'; -export '../Sliver/SliverFillViewport/node1_base.dart'; -export '../Sliver/SliverFixedExtentList/node1_base.dart'; -export '../Sliver/SliverGrid/node1_base.dart'; -export '../Sliver/SliverList/node1_base.dart'; -export '../Sliver/SliverOpacity/node1_base.dart'; -export '../Sliver/SliverPadding/node1_base.dart'; -export '../Sliver/SliverPersistentHeader/node1_base.dart'; -export '../Sliver/SliverToBoxAdapter/node1_base.dart'; -export '../Sliver/SliverOverlapAbsorber/node1_base.dart'; -export '../Sliver/SliverOverlapInjector/node1_base.dart'; -export '../Sliver/SliverPrototypeExtentList/node1_base.dart'; -export '../Sliver/CupertinoSliverNavigationBar/node1_base.dart'; -export '../Sliver/CupertinoSliverRefreshControl/node1_base.dart'; -export '../Sliver/SliverFillRemaining/node1_base.dart'; -export '../Sliver/SliverIgnorePointer/node1_base.dart'; -export '../Sliver/SliverAnimatedList/node1_base.dart'; -export '../Sliver/SliverLayoutBuilder/node1_base.dart'; -export '../Sliver/SliverWithKeepAliveWidget/node1_base.dart'; -export '../Sliver/DecoratedSliver/node1.dart'; -export '../Sliver/SliverConstrainedCrossAxis/node1.dart'; -export '../Sliver/SliverCrossAxisExpanded/node1.dart'; -export '../Sliver/SliverCrossAxisGroup/node1.dart'; -export '../Sliver/SliverMainAxisGroup/node1.dart'; -export '../Sliver/PinnedHeaderSliver/node_01.dart'; -export '../Sliver/PinnedHeaderSliver/node_02.dart'; -export '../Sliver/PinnedHeaderSliver/node_03.dart'; -// export '../Sliver/SliverResizingHeader/node_01.dart'; -// export '../Sliver/SliverResizingHeader/node_02.dart'; diff --git a/modules/widget_system/widgets/lib/exp/StatefulWidget.dart b/modules/widget_system/widgets/lib/exp/StatefulWidget.dart deleted file mode 100644 index f90b2fa0c..000000000 --- a/modules/widget_system/widgets/lib/exp/StatefulWidget.dart +++ /dev/null @@ -1,204 +0,0 @@ -library stateful_unit; - -export '../StatefulWidget/CupertinoButton/node1_base.dart'; -export '../StatefulWidget/CupertinoContextMenu/node1_base.dart'; -export '../StatefulWidget/CupertinoContextMenuAction/node1_base.dart'; -export '../StatefulWidget/DateRangePickerDialog/node1_base.dart'; -export '../StatefulWidget/DateRangePickerDialog/node2_diy.dart'; - -export '../StatefulWidget/CupertinoDatePicker/node1_base.dart'; -export '../StatefulWidget/CupertinoPicker/node1_base.dart'; -export '../StatefulWidget/CupertinoTimerPicker/node1_base.dart'; -export '../StatefulWidget/SlideTransition/node1_base.dart'; -export '../StatefulWidget/MonthPicker/node1_base.dart'; -export '../StatefulWidget/YearPicker/node1_base.dart'; -export '../StatefulWidget/WillPopScope/node1_base.dart'; -export '../StatefulWidget/NestedScrollView/node1_base.dart'; -export '../StatefulWidget/AppBar/node1_base.dart'; -export '../StatefulWidget/AppBar/node2_tab.dart'; -export '../StatefulWidget/BottomAppBar/node1_base.dart'; -export '../StatefulWidget/BottomNavigationBar/node1_base.dart'; -export '../StatefulWidget/BottomNavigationBar/node2_page.dart'; -export '../StatefulWidget/Checkbox/node1_base.dart'; -export '../StatefulWidget/Checkbox/node2_tristate.dart'; -export '../StatefulWidget/ExpandIcon/node1_base.dart'; -export '../StatefulWidget/ExpansionTile/node1_base.dart'; -export '../StatefulWidget/Radio/node1_base.dart'; -export '../StatefulWidget/Tooltip/node1_base.dart'; -export '../StatefulWidget/Tooltip/node2_decoration.dart'; -export '../StatefulWidget/CircularProgressIndicator/node1_base.dart'; -export '../StatefulWidget/CupertinoActivityIndicator/node1_base.dart'; -export '../StatefulWidget/CupertinoSlider/node1_base.dart'; -export '../StatefulWidget/CupertinoSwitch/node1_base.dart'; -export '../StatefulWidget/CupertinoSegmentedControl/node1_base.dart'; -export '../StatefulWidget/CupertinoSegmentedControl/node2_color.dart'; -export '../StatefulWidget/Navigator/node1_base.dart'; -export '../StatefulWidget/InteractiveViewer/node1_base.dart'; -export '../StatefulWidget/InteractiveViewer/node2_constrained.dart'; -export '../StatefulWidget/InteractiveViewer/node3_controller.dart'; -export '../StatefulWidget/CarouselView/node1_base.dart'; -export '../StatefulWidget/CarouselView/node2.dart'; - -export '../StatefulWidget/Image/node1_base.dart'; -export '../StatefulWidget/Image/node2_fit.dart'; -export '../StatefulWidget/Image/node3_alignment.dart'; -export '../StatefulWidget/Image/node4_colorBlendMode.dart'; -export '../StatefulWidget/Image/node5_repeat.dart'; -export '../StatefulWidget/Image/node6_centerSlice.dart'; - -export '../StatefulWidget/RangeSlider/node1_base.dart'; -export '../StatefulWidget/Slider/node1_base.dart'; -export '../StatefulWidget/Slider/node2_lable.dart'; -export '../StatefulWidget/Switch/node1_base.dart'; -export '../StatefulWidget/Switch/node2_image.dart'; -export '../StatefulWidget/StatefulBuilder/node1_base.dart'; -export '../StatefulWidget/RefreshIndicator/node1_base.dart'; -export '../StatefulWidget/SelectableText/node1_base.dart'; -export '../StatefulWidget/SelectableText/node2_align.dart'; -export '../StatefulWidget/CupertinoNavigationBar/node1_base.dart'; -export '../StatefulWidget/CupertinoTabBar/node1_base.dart'; -export '../StatefulWidget/CupertinoTextField/node1_base.dart'; -export '../StatefulWidget/CupertinoTextField/node2_style.dart'; -export '../StatefulWidget/ValueListenableBuilder/node1_base.dart'; -export '../StatefulWidget/MouseRegion/node1_base.dart'; -export '../StatefulWidget/Scrollable/node1_base.dart'; - -export '../StatefulWidget/DropdownButton/node1_base.dart'; -export '../StatefulWidget/DropdownButton/node2_style.dart'; - -export '../StatefulWidget/AnimatedCrossFade/node1_base.dart'; -export '../StatefulWidget/AnimatedCrossFade/node2_curve.dart'; - -export '../StatefulWidget/AnimatedList/node1_base.dart'; -export '../StatefulWidget/AnimatedSwitcher/node1_base.dart'; -export '../StatefulWidget/AlignTransition/node1_base.dart'; -export '../StatefulWidget/DecoratedBoxTransition/node1_base.dart'; -export '../StatefulWidget/DefaultTextStyleTransition/node1_base.dart'; -export '../StatefulWidget/RelativePositionedTransition/node1_base.dart'; -export '../StatefulWidget/CupertinoScrollbar/node1_base.dart'; -export '../StatefulWidget/RawGestureDetector/node1_base.dart'; - -export '../StatefulWidget/Dismissible/node1_base.dart'; -export '../StatefulWidget/AutomaticKeepAlive/node1_base.dart'; -export '../StatefulWidget/AnimatedModalBarrier/node1_base.dart'; -export '../StatefulWidget/FormField/node1_base.dart'; -export '../StatefulWidget/AnimatedBuilder/node1_base.dart'; -export '../StatefulWidget/TweenAnimationBuilder/node1_base.dart'; -export '../StatefulWidget/PaginatedDataTable/node1_base.dart'; -export '../StatefulWidget/RawKeyboardListener/node1_base.dart'; -export '../StatefulWidget/Dismissible/node2_direction.dart'; - -export '../StatefulWidget/DragTarget/node1_base.dart'; -export '../StatefulWidget/Draggable/node1_base.dart'; -export '../StatefulWidget/Draggable/node2_data.dart'; -export '../StatefulWidget/Draggable/node3_use.dart'; - -export '../StatefulWidget/Form/node1_base.dart'; -export '../StatefulWidget/StatusTransitionWidget/node1_base.dart'; -export '../StatefulWidget/UniqueWidget/node1_base.dart'; -export '../StatefulWidget/FutureBuilder/node1_base.dart'; -export '../StatefulWidget/Hero/node1_base.dart'; -export '../StatefulWidget/AnimatedAlign/node1_base.dart'; -export '../StatefulWidget/AnimatedScale/node1.dart'; -export '../StatefulWidget/AnimatedSlide/node1.dart'; -export '../StatefulWidget/AnimatedRotation/node1.dart'; -export '../StatefulWidget/AnimatedFractionallySizedBox/node1.dart'; -export '../StatefulWidget/AnimatedContainer/node1_base.dart'; -export '../StatefulWidget/AnimatedDefaultTextStyle/node1_base.dart'; -export '../StatefulWidget/AnimatedOpacity/node1_base.dart'; -export '../StatefulWidget/AnimatedPadding/node1_base.dart'; -export '../StatefulWidget/AnimatedPositioned/node1_base.dart'; -export '../StatefulWidget/AnimatedPositionedDirectional/node1_base.dart'; - -export '../StatefulWidget/ExpansionPanelList/node1_base.dart'; -export '../StatefulWidget/DropdownButtonFormField/node1_base.dart'; - -export '../StatefulWidget/Ink/node1_base.dart'; -export '../StatefulWidget/Ink/node2_image.dart'; - -export '../StatefulWidget/InkResponse/node1_base.dart'; - -export '../StatefulWidget/InkResponse/node2_color.dart'; -export '../StatefulWidget/DropdownMenu/node1.dart'; -export '../StatefulWidget/DropdownMenu/node2.dart'; -export '../StatefulWidget/DropdownMenu/node3.dart'; -export '../StatefulWidget/InkWell/node1_base.dart'; -export '../StatefulWidget/InkWell/node2_color.dart'; - -export '../StatefulWidget/LicensePage/node1_base.dart'; -export '../StatefulWidget/ListWheelScrollView/node1_base.dart'; -export '../StatefulWidget/LongPressDraggable/node1_base.dart'; -export '../StatefulWidget/Material/node1_base.dart'; -export '../StatefulWidget/Material/node2_shape.dart'; -export '../StatefulWidget/Overlay/node1_base.dart'; -export '../StatefulWidget/PageView/node1_base.dart'; -export '../StatefulWidget/PageView/node2_direction.dart'; -export '../StatefulWidget/PageView/node3_controller.dart'; -export '../StatefulWidget/PopupMenuButton/node1_base.dart'; -export '../StatefulWidget/PopupMenuDivider/node1_base.dart'; -export '../StatefulWidget/RawChip/node1_press.dart'; -export '../StatefulWidget/RawChip/node2_select.dart'; - -export '../StatefulWidget/RawMaterialButton/node1_base.dart'; -export '../StatefulWidget/RawMaterialButton/node2_shape.dart'; -export '../StatefulWidget/ReorderableListView/node1_base.dart'; -export '../StatefulWidget/ReorderableListView/node2_direction.dart'; -export '../StatefulWidget/Scrollbar/node1_base.dart'; -export '../StatefulWidget/Stepper/node1_base.dart'; -export '../StatefulWidget/Stepper/node2_type.dart'; -export '../StatefulWidget/StreamBuilder/node1_base.dart'; -export '../StatefulWidget/TableRowInkWell/node1_base.dart'; -export '../StatefulWidget/TextField/node1_base.dart'; -export '../StatefulWidget/TextField/node2_cursor.dart'; -export '../StatefulWidget/TextField/node3_decoration.dart'; - -export '../StatefulWidget/TextFormField/node1_base.dart'; -export '../StatefulWidget/LinearProgressIndicator/node1_base.dart'; -export '../StatefulWidget/CupertinoApp/node1_base.dart'; -export '../StatefulWidget/CupertinoPageScaffold/node1_base.dart'; -export '../StatefulWidget/CupertinoTabScaffold/node1_base.dart'; -export '../StatefulWidget/MaterialApp/node1_base.dart'; -export '../StatefulWidget/Scaffold/node1_base.dart'; -export '../StatefulWidget/TabBarView/node1_base.dart'; -export '../StatefulWidget/InputDecorator/node1_base.dart'; -export '../StatefulWidget/EditableText/node1_base.dart'; -export '../StatefulWidget/CupertinoSlidingSegmentedControl/node1_base.dart'; -export '../StatefulWidget/WidgetsApp/node1_base.dart' hide HomePage; -export '../StatefulWidget/WidgetInspector/node1_base.dart' hide HomePage; -export '../StatefulWidget/AnimatedTheme/node1_base.dart'; -export '../StatefulWidget/AnimatedPhysicalModel/node1_base.dart'; -export '../StatefulWidget/DefaultTabController/node1_base.dart'; -export '../StatefulWidget/GlowingOverscrollIndicator/node1_base.dart'; -export '../StatefulWidget/DraggableScrollableSheet/node1_base.dart'; -export '../StatefulWidget/DrawerController/node1_base.dart'; -export '../StatefulWidget/MergeableMaterial/node1_base.dart'; -export '../StatefulWidget/CupertinoTabView/node1_base.dart'; - -export '../StatefulWidget/TextButton/node1_base.dart'; -export '../StatefulWidget/TextButton/node2_style.dart'; -export '../StatefulWidget/FilledButton/node1.dart'; -export '../StatefulWidget/FilledButton/node2.dart'; -export '../StatefulWidget/Localizations/node1.dart'; - -export '../StatefulWidget/ElevatedButton/node1_base.dart'; -export '../StatefulWidget/ElevatedButton/node2_style.dart'; - -export '../StatefulWidget/OutlinedButton//node1_base.dart'; -export '../StatefulWidget/OutlinedButton/node2_style.dart'; - -export '../StatefulWidget/NavigationRail/node1_base.dart'; -export '../StatefulWidget/NavigationRail/node2_extend.dart'; -export '../StatefulWidget/NavigationRail/node3_dark.dart'; -export '../StatefulWidget/CupertinoCheckbox/node1.dart'; -export '../StatefulWidget/CupertinoCheckbox/node2.dart'; -export '../StatefulWidget/CupertinoCheckbox/node3.dart'; - -export '../StatefulWidget/CupertinoRadio/node1.dart'; -export '../StatefulWidget/CupertinoRadio/node2.dart'; -export '../StatefulWidget/CupertinoRadio/node3.dart'; -export '../StatefulWidget/UndoHistory/node1.dart'; -export '../StatefulWidget/TickerMode/node1.dart'; -export '../StatefulWidget/KeyboardListener/node1.dart'; -export '../StatefulWidget/Focus/node1.dart'; -export '../StatefulWidget/Focus/node2.dart'; -export '../StatefulWidget/Focus/node3.dart'; \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/exp/StatelessWidget.dart b/modules/widget_system/widgets/lib/exp/StatelessWidget.dart deleted file mode 100644 index 9833ccaee..000000000 --- a/modules/widget_system/widgets/lib/exp/StatelessWidget.dart +++ /dev/null @@ -1,213 +0,0 @@ -library stateless_unit; - -export '../StatelessWidget/AboutDialog/node1_base.dart'; -export '../StatelessWidget/AboutListTile/node1_base.dart'; -export '../StatelessWidget/ActionChip/node1_base.dart'; -export '../StatelessWidget/AlertDialog/node1_base.dart'; -export '../StatelessWidget/AnimatedIcon/node1_base.dart'; -export '../StatelessWidget/CheckedModeBanner/node1_base.dart'; -export '../StatelessWidget/Card/node1_base.dart'; -export '../StatelessWidget/Card/node2_shape.dart'; -export '../StatelessWidget/PreferredSize/node1_base.dart'; -export '../StatelessWidget/PreferredSize/node2_adapter.dart'; -export '../StatelessWidget/Builder/node1_base.dart'; -export '../StatelessWidget/NavigationToolbar/node1_base.dart'; -export '../StatelessWidget/CupertinoDialogAction/node1_base.dart'; -export '../StatelessWidget/DraggableScrollableActuator/node1_base.dart'; - -export '../StatelessWidget/CheckboxListTile/node1_base.dart'; -export '../StatelessWidget/CheckboxListTile/node2_select.dart'; -export '../StatelessWidget/CheckboxListTile/node3_dense.dart'; - -export '../StatelessWidget/Chip/node1_base.dart'; -export '../StatelessWidget/Chip/node2_color.dart'; -export '../StatelessWidget/Chip/node3_delete.dart'; - -export '../StatelessWidget/Container/node1_base.dart'; -export '../StatelessWidget/Container/node2_child.dart'; -export '../StatelessWidget/Container/node3_alignment.dart'; -export '../StatelessWidget/Container/node4_decoration.dart'; -export '../StatelessWidget/Container/node5_transform.dart'; -export '../StatelessWidget/Container/node6_constraints.dart'; -export '../StatelessWidget/MaterialBanner/node1_one_btn.dart'; -export '../StatelessWidget/MaterialBanner/node2_two_btn.dart'; -export '../StatelessWidget/SafeArea/node1_base.dart'; - -export '../StatelessWidget/Badge/node_1.dart'; -export '../StatelessWidget/Badge/node_2.dart'; -export '../StatelessWidget/Badge/node_3.dart'; - -export '../StatelessWidget/BackButtonIcon/node1_base.dart'; -export '../StatelessWidget/DrawerButtonIcon/node1_base.dart'; -export '../StatelessWidget/CloseButtonIcon/node1_base.dart'; -export '../StatelessWidget/EndDrawerButtonIcon/node1_base.dart'; - -export '../StatelessWidget/EndDrawerButton/node1_base.dart'; -export '../StatelessWidget/DrawerButton/node1_base.dart'; -export '../StatelessWidget/CloseButton/node1_base.dart'; -export '../StatelessWidget/BackButton/node1_base.dart'; - - -export '../StatelessWidget/CupertinoFullscreenDialogTransition/node1_base.dart'; -export '../StatelessWidget/CupertinoPageTransition/node1_base.dart'; -export '../StatelessWidget/HtmlElementView/node1_base.dart'; - -export '../StatelessWidget/DataTable/node1_base.dart'; -export '../StatelessWidget/DataTable/node2_operation.dart'; -export '../StatelessWidget/OrientationBuilder/node1_base.dart'; -export '../StatelessWidget/Title/node1_base.dart'; -export '../StatelessWidget/TabPageSelector/node1_base.dart'; -export '../StatelessWidget/TabPageSelectorIndicator/node1_base.dart'; -export '../StatelessWidget/CupertinoNavigationBarBackButton/node1_base.dart'; - -export '../StatelessWidget/CupertinoTheme/node1_base.dart'; -export '../StatelessWidget/CupertinoTheme/node2_use.dart'; - -export '../StatelessWidget/CupertinoPopupSurface/node1_base.dart'; -export '../StatelessWidget/Divider/node1_base.dart'; -export '../StatelessWidget/Divider/node2_height.dart'; - -export '../StatelessWidget/ScrollView/node1_base.dart'; -export '../StatelessWidget/ModalBarrier/node1_base.dart'; -export '../StatelessWidget/BoxScrollView/node1_base.dart'; -export '../StatelessWidget/FloatingActionButton/node1_base.dart'; -export '../StatelessWidget/FloatingActionButton/node2_mini.dart'; -export '../StatelessWidget/FloatingActionButton/node3_shape.dart'; -export '../StatelessWidget/GestureDetector/node1_base.dart'; -export '../StatelessWidget/GestureDetector/node2_tap.dart'; -export '../StatelessWidget/GestureDetector/node3_pan.dart'; - -export '../StatelessWidget/Banner/node1_base.dart'; -export '../StatelessWidget/ImageIcon/node1_base.dart'; -export '../StatelessWidget/FadeInImage/node1_base.dart'; -export '../StatelessWidget/CircleAvatar/node1_base.dart'; - - -export '../StatelessWidget/InputChip/node1_base.dart'; -export '../StatelessWidget/InputChip/node2_select.dart'; - - -export '../StatelessWidget/Visibility/node1_base.dart'; -export '../StatelessWidget/Visibility/node2_replacement.dart'; - -export '../StatelessWidget/ChoiceChip/node1_base.dart'; - -export '../StatelessWidget/FilterChip/node1_base.dart'; - - -export '../StatelessWidget/ListTile/node1_base.dart'; -export '../StatelessWidget/ListTile/node2_select.dart'; -export '../StatelessWidget/ListTile/node3_dense.dart'; - - -export '../StatelessWidget/ListView/node1_base.dart'; -export '../StatelessWidget/ListView/node2_direction.dart'; -export '../StatelessWidget/ListView/node3_builder.dart'; -export '../StatelessWidget/ListView/node4_separated.dart'; - -export '../StatelessWidget/MaterialButton/node1_base.dart'; -export '../StatelessWidget/MaterialButton/node2_onLongPress.dart'; -export '../StatelessWidget/MaterialButton/node3_shape.dart'; - -export '../StatelessWidget/GridTileBar/node1_base.dart'; -export '../StatelessWidget/GridTile/node1_base.dart'; - -export '../StatelessWidget/Icon/node1_base.dart'; -export '../StatelessWidget/Icon/node2_diy.dart'; - -export '../StatelessWidget/Placeholder/node1_base.dart'; -export '../StatelessWidget/Placeholder/node2_fallback.dart'; - -export '../StatelessWidget/RadioListTile/node1_base.dart'; -export '../StatelessWidget/RadioListTile/node2_dense.dart' show DenseRadioListTile; - -export '../StatelessWidget/SingleChildScrollView/node1_base.dart'; -export '../StatelessWidget/SingleChildScrollView/node2_direction.dart'; - -export '../StatelessWidget/TabBar/node1_base.dart'; -export '../StatelessWidget/TabBar/node2_noShadow.dart'; - - - -export '../StatelessWidget/ButtonBar/node1_base.dart'; -export '../StatelessWidget/ButtonBar/node2_padding.dart'; - - -export '../StatelessWidget/FlatButton/node1_base.dart'; - -export '../StatelessWidget/FlutterLogo/node1_base.dart'; -export '../StatelessWidget/FlutterLogo/node2_style.dart'; - -export '../StatelessWidget/IconButton/node1_base.dart'; -export '../StatelessWidget/OutlineButton/node1_base.dart'; -export '../StatelessWidget/RaisedButton/node1_base.dart'; - -export '../StatelessWidget/Drawer/node1_base.dart'; -export '../StatelessWidget/DrawerHeader/node1_base.dart'; - -export '../StatelessWidget/UserAccountsDrawerHeader/node1_base.dart'; -export '../StatelessWidget/UserAccountsDrawerHeader/node2_pro.dart'; - - -export '../StatelessWidget/VerticalDivider/node1_base.dart'; -export '../StatelessWidget/VerticalDivider/node2_height.dart'; - - -export '../StatelessWidget/GridView/node1_base.dart'; -export '../StatelessWidget/GridView/node2_direction.dart'; -export '../StatelessWidget/GridView/node3_extend.dart'; -export '../StatelessWidget/GridView/node4_builder.dart'; - -export '../StatelessWidget/GridPaper/node1_base.dart'; -export '../StatelessWidget/GridPaper/node2_divisions.dart'; - -export '../StatelessWidget/Spacer/node1_base.dart'; -export '../StatelessWidget/Spacer/node2_flex.dart'; - -export '../StatelessWidget/SwitchListTile/node1_base.dart'; -export '../StatelessWidget/SwitchListTile/node2_select.dart'; -export '../StatelessWidget/SwitchListTile/node3_dense.dart'; - -export '../StatelessWidget/Listener/node1_base.dart'; -export '../StatelessWidget/PositionedDirectional/node1_base.dart'; - -export '../StatelessWidget/Tab/node1_base.dart'; -export '../StatelessWidget/Theme/node1_base.dart'; -export '../StatelessWidget/Theme/node2_use.dart'; - -export '../StatelessWidget/ToggleButtons/node1_single.dart'; -export '../StatelessWidget/ToggleButtons/node2_color.dart'; -export '../StatelessWidget/ToggleButtons/node3_multi.dart'; - - -export '../StatelessWidget/BottomSheet/node1_base.dart'; -export '../StatelessWidget/CupertinoActionSheet/node1_base.dart'; -export '../StatelessWidget/CupertinoActionSheetAction/node1_base.dart'; -export '../StatelessWidget/CupertinoAlertDialog/node1_base.dart'; - -export '../StatelessWidget/Text/node1.dart'; -export '../StatelessWidget/Text/node2.dart'; -export '../StatelessWidget/Text/node3_decoration.dart'; -export '../StatelessWidget/Text/node4_textAlign.dart'; -export '../StatelessWidget/Text/node5_textDirection.dart'; -export '../StatelessWidget/Text/node6_softWrap.dart'; - - -export '../StatelessWidget/DayPicker/node1_base.dart'; -export '../StatelessWidget/Dialog/node1_base.dart'; - -export '../StatelessWidget/SimpleDialog/node1_base.dart'; -export '../StatelessWidget/SimpleDialogOption/node1_base.dart'; -export '../StatelessWidget/SnackBar/node1_base.dart'; -export '../StatelessWidget/SnackBarAction/node1_base.dart'; - -export '../StatelessWidget/PageStorage/node1_base.dart'; -export '../StatelessWidget/NotificationListener/node1_base.dart'; -export '../StatelessWidget/NotificationListener/node2_update.dart'; - -export '../StatelessWidget/Autocomplete/node1_base.dart'; -export '../StatelessWidget/Autocomplete/node2_type.dart'; -export '../StatelessWidget/RawMagnifier/node1_base.dart'; -export '../StatelessWidget/RawMagnifier/node2_shape.dart'; - - diff --git a/modules/widget_system/widgets/lib/node_display_map.dart b/modules/widget_system/widgets/lib/node_display_map.dart deleted file mode 100644 index a6929b0b1..000000000 --- a/modules/widget_system/widgets/lib/node_display_map.dart +++ /dev/null @@ -1,516 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'exp/Other.dart'; -import 'exp/ProxyWidget.dart'; -import 'exp/MultiChildRenderObjectWidget.dart'; -import 'exp/SingleChildRenderObjectWidget.dart'; -import 'exp/Sliver.dart'; -import 'exp/StatefulWidget.dart'; -import 'exp/StatelessWidget.dart'; - - -Widget mapNodeDisplay(int widgetId, int nodePriority) { - String name = '$widgetId#$nodePriority'; - - return switch (name) { - '96#0' => const ColumnNode1(), - '341#0' => const CustomMultiChildLayoutNode1(), - '94#0' => const FlexNode1(), - '94#1' => const FlexNode2(), - '94#2' => const FlexNode3(), - '94#3' => const FlexNode4(), - '94#4' => const FlexNode5(), - '99#0' => const FlowNode1(), - '99#1' => const FlowNode02(), - '161#0' => const IndexedStackNode01(), - '342#0' => const ListBodyDemo(), - '344#0' => const NestedScrollViewViewportDemo(), - '101#0' => const CustomRichText(), - '101#1' => const RichTextWithWidget(), - '95#0' => const CustomRow(), - '343#0' => const ShrinkWrappingViewportDemo(), - '97#0' => const CustomStack(), - '97#1' => const PositionedStack(), - '340#0' => const ViewportDemo(), - '98#0' => const DirectionWrap(), - '98#1' => const WrapAlignmentWrap(), - '98#2' => const CrossAxisAlignmentWrap(), - '98#3' => const TextDirectionWrap(), - '98#4' => const VerticalDirectionWrap(), - '197#0' => const ErrorWidgetDemo(), - '291#0' => const ListWheelViewportDemo(), - '291#1' => const ListWheelViewportDemo2(), - '291#2' => const ListWheelViewportDemo3(), - '291#3' => const ListWheelViewportDemo4(), - '312#0' => const PerformanceOverlayDemo(), - '313#0' => const RawImageDemo(), - '289#0' => const RenderObjectToWidgetAdapterDemo(), - '110#0' => const CustomTable(), - '338#0' => const ButtonBarThemeDemo(), - '326#0' => const ButtonThemeDemo(), - '328#0' => const ChipThemeDemo(), - '337#0' => const CupertinoUserInterfaceLevelDemo(), - '320#0' => const DefaultAssetBundleDemo(), - '324#0' => const DefaultTextStyleDemo(), - '319#0' => const DirectionalityDemo(), - '329#0' => const DividerThemeDemo(), - '181#0' => const CustomDropDownButtonHideUnderline(), - '106#0' => const CustomExpended(), - '109#0' => const CustomFlexible(), - '325#0' => const IconThemeDemo(), - '336#0' => const InheritedModelDemo(), - '345#0' => const InheritedThemeDemo(), - '346#0' => const InheritedWidgetDemo(), - '346#1' => const InheritedWidgetDemo2(), - '316#0' => const KeepAliveDemo(), - '315#0' => const LayoutIdDemo(), - '334#0' => const ListTileThemeDemo(), - '327#0' => const MaterialBannerThemeDemo(), - '167#0' => const CustomMediaQuery(), - '347#0' => const ParentDataWidgetDemo(), - '330#0' => const PopupMenuThemeDemo(), - '108#0' => const CustomPositioned(), - '335#0' => const PrimaryScrollControllerDemo(), - '180#0' => const CustomScrollConfiguration(), - '331#0' => const SliderThemeDemo(), - '331#1' => const DIYSliderTheme(), - '317#0' => const TableCellDemo(), - '332#0' => const ToggleButtonsThemeDemo(), - '333#0' => const TooltipThemeDemo(), - '295#0' => const CustomAbsorbPointer(), - '85#0' => const CustomAlign(), - '85#1' => const Ball(), - '201#0' => const CustomAnimatedSize(), - '288#0' => const AnnotatedRegionDemo(), - '77#0' => const CustomAspectRatio(), - '278#0' => const CustomBackdropFilter(), - '75#0' => const CustomBaseline(), - '283#0' => const CallbackShortcutsDemo1(), - '86#0' => const CustomCenter(), - '66#0' => const CustomClipOval(), - '69#0' => const CustomClipPath(), - '67#0' => const CustomClipRect(), - '68#0' => const CustomClipRRect(), - '267#0' => const ColoredBoxDemo(), - '88#0' => const CustomColorFiltered(), - '265#0' => const CompositedTransformFollowerDemo(), - '266#0' => const CompositedTransformTargetDemo(), - '80#0' => const CustomConstrainedBox(), - '299#0' => const CupertinoTextSelectionToolbarDemo(), - '166#0' => const ClockPage(), - '166#1' => const PlayBezier3Page(), - '285#0' => const CustomSingleChildLayoutDemo(), - '285#1' => const OffSetWidgetDemo(), - '70#0' => const BoxDecorationDemo(), - '70#1' => const ShapeImageDemo(), - '70#2' => const BorderDemo(), - '70#3' => const ShapeDecorationDemo(), - '70#4' => const UnderlineTabIndicatorDemo(), - '70#5' => const FlutterLogoDecorationDemo(), - '89#0' => const CustomFadeTransition(), - '87#0' => const CustomFittedBox(), - '82#0' => const CustomFractionallySizedBox(), - '263#0' => const FractionalTranslationDemo(), - '292#0' => const CustomIgnorePointer(), - '357#0' => const ImageFilteredBlur(), - '357#1' => const ImageFilteredColor(), - '357#2' => const ImageFilteredMatrix(), - '298#0' => const IntrinsicHeightDemo(), - '297#0' => const IntrinsicWidthDemo(), - '287#0' => const CustomLayoutBuilder(), - '287#1' => const FitByLayoutBuilder(), - '287#2' => const SimpleExpandableText(), - '79#0' => const CustomLimitedBox(), - '71#0' => const CustomOffstage(), - '73#0' => const CustomOpacity(), - '83#0' => const CustomOverflowBox(), - '74#0' => const PaddingAll(), - '74#1' => const PaddingOnly(), - '74#2' => const PaddingSymmetric(), - '296#0' => const PhysicalModelDemo(), - '279#0' => const PhysicalShapeDemo(), - '264#0' => const RepaintBoundaryDemo(), - '264#1' => const RepaintBoundarySave(), - '72#0' => const CustomRotatedBox(), - '277#0' => const RadialShaderMask(), - '277#1' => const LinearShaderMask(), - '294#0' => const SizeChangedLayoutNotifierDemo(), - '76#0' => const CustomSizedBox(), - '84#0' => const CustomSizedOverflowBox(), - '280#0' => const TapRegionDemo1(), - '281#0' => const TextFieldTapRegionDemo1(), - '78#0' => const SkewTransform(), - '78#1' => const TranslationTransform(), - '78#2' => const ScaleTransform(), - '78#3' => const RotateTransform(), - '78#4' => const R3C2(), - '81#0' => const CustomUnConstrainedBox(), - '302#0' => const CupertinoSliverNavigationBarDemo(), - '303#0' => const CupertinoSliverRefreshControlDemo(), - '183#0' => const CustomScrollViewDemo(), - '209#0' => const DecorationSliverDemo(), - '196#0' => const FlexibleSpaceBarDemo(), - '309#0' => const PinnedHeaderSliverNode1(), - '309#1' => const PinnedHeaderSliverNode2(), - '309#2' => const PinnedHeaderSliverNode3(), - '301#0' => const SliverAnimatedListDemo(), - '184#0' => const SliverAppBarDemo(), - '270#0' => const SliverConstrainedCrossAxisDemo(), - '271#0' => const SliverCrossAxisExpandedDemo(), - '269#0' => const SliverCrossAxisGroupDemo(), - '306#0' => const SliverFillRemainingDemo(), - '187#0' => const SliverFillViewportDemo(), - '186#0' => const SliverFixedExtentListDemo(), - '188#0' => const SliverGirdDemo(), - '305#0' => const SliverIgnorePointerDemo(), - '304#0' => const SliverLayoutBuilderDemo(), - '185#0' => const SliverListDemo(), - '268#0' => const SliverMainAxisGroupDemo(), - '192#0' => const SliverOpacityDemo(), - '307#0' => const SliverOverlapAbsorberDemo(), - '308#0' => const SliverOverlapInjectorDemo(), - '191#0' => const SliverPaddingDemo(), - '190#0' => const SliverPersistentHeaderDemo(), - '314#0' => const SliverPrototypeExtentListDemo(), - '189#0' => const SliverToBoxAdapterDemo(), - '348#0' => const SliverWithKeepAliveWidgetDemo(), - '111#0' => const CustomAlignTransition(), - '120#0' => const CustomAnimatedAlign(), - '228#0' => const AnimatedBuilderDemo(), - '123#0' => const CustomAnimatedContainer(), - '100#0' => const CustomAnimatedCrossFade(), - '100#1' => const CurveAnimatedCrossFade(), - '124#0' => const CustomAnimatedDefaultTextStyle(), - '260#0' => const AnimatedFractionallySizedBoxDemo(), - '117#0' => const CustomAnimatedList(), - '227#0' => const AnimatedModalBarrierDemo(), - '118#0' => const CustomAnimatedOpacity(), - '119#0' => const CustomAnimatedPadding(), - '225#0' => const AnimatedPhysicalModelDemo(), - '121#0' => const CustomAnimatedPositioned(), - '122#0' => const CustomAnimatedPositionedDirectional(), - '259#0' => const AnimatedRotationDemo(), - '249#0' => const AnimatedScaleDemo(), - '247#0' => const AnimatedSlideDemo(), - '116#0' => const CustomAnimatedSwitcher(), - '224#0' => const AnimatedThemeDemo(), - '57#0' => const CustomAppBar(), - '57#1' => const TabAppBar(), - '239#0' => const AutomaticKeepAliveDemo(), - '61#0' => const CustomBottomAppBar(), - '60#0' => const CustomBottomNavigationBar(), - '60#1' => const BottomNavigationBarWithPageView(), - '237#0' => const CarouselNode1(), - '237#1' => const CarouselNode2(), - '39#0' => const CustomCheckbox(), - '39#1' => const TristateCheckBok(), - '46#0' => const CustomCircularProgressIndicator(), - '48#0' => const CustomCupertinoActivityIndicator(), - '156#0' => const CustomCupertinoApp(), - '24#0' => const CustomCupertinoButton(), - '238#0' => const CupertinoCheckboxDemo1(), - '238#1' => const CupertinoCheckboxDemo2(), - '238#2' => const CupertinoCheckboxDemo3(), - '143#0' => const CustomCupertinoContextMenu(), - '144#0' => const CustomCupertinoContextMenuAction(), - '137#0' => const CustomCupertinoDatePicker(), - '62#0' => const CustomCupertinoNavigationBar(), - '157#0' => const CustomCupertinoPageScaffold(), - '139#0' => const CustomCupertinoPicker(), - '240#0' => const CupertinoRadioDemo1(), - '240#1' => const CupertinoRadioDemo2(), - '240#2' => const CupertinoRadioDemo3(), - '195#0' => const CustomCupertinoScrollbar(), - '262#0' => const CupertinoSegmentedControlDemo(), - '262#1' => const CupertinoSegmentedControlColor(), - '43#0' => const CustomCupertinoSlider(), - '256#0' => const CupertinoSlidingSegmentedControlDemo(), - '41#0' => const CustomCupertinoSwitch(), - '63#0' => const CustomCupertinoTabBar(), - '158#0' => const CustomCupertinoTabScaffold(), - '229#0' => const CupertinoTabViewDemo(), - '245#0' => const CupertinoTextFieldDemo(), - '245#1' => const CupertinoTextFieldStyle(), - '138#0' => const CustomCupertinoTimerPicker(), - '339#0' => const DateRangePickerDialogDemo(), - '339#1' => const DiyDateRangePickerDialogDemo(), - '113#0' => const CustomDecoratedBoxTransition(), - '230#0' => const DefaultTabControllerDemo(), - '114#0' => const CustomDefaultTextStyleTransition(), - '176#0' => const CustomDismissible(), - '176#1' => const DirectionDismissible(), - '103#0' => const CustomDraggable(), - '103#1' => const DraggablePage(), - '103#2' => const DeleteDraggable(), - '252#0' => const DraggableScrollableSheetDemo(), - '104#0' => const CustomDragTarget(), - '257#0' => const DrawerControllerDemo(), - '55#0' => const CustomDropDownButton(), - '55#1' => const StyleDropDownButton(), - '223#0' => const DropdownButtonFormFieldDemo(), - '370#0' => const DropdownMenuNode1(), - '370#1' => const DropdownMenuNode2(), - '370#2' => const DropdownMenuNode3(), - '244#0' => const EditableTextDemo(), - '354#0' => const ElevatedButtonDemo(), - '354#1' => const ElevatedButtonStyleDemo(), - '51#0' => const CustomExpandIcon(), - '178#0' => const CustomExpansionPanelList(), - '52#0' => const CustomExpansionTile(), - '359#0' => const FilledButtonDemo1(), - '359#1' => const FilledButtonDemo2(), - '282#0' => const FocusDemo1(), - '282#1' => const FocusDemo2(), - '282#2' => const FocusDemo3(), - '198#0' => const CustomForm(), - '222#0' => const FormFieldDemo(), - '172#0' => const CustomFutureBuilder(), - '250#0' => const GlowingOverscrollIndicatorDemo(), - '171#0' => const CustomHero(), - '38#0' => const LoadImage(), - '38#1' => const FitImage(), - '38#2' => const AlignmentImage(), - '38#3' => const BlendModeImage(), - '38#4' => const RepeatImage(), - '38#5' => const CenterSliceImage(), - '152#0' => const CustomInk(), - '152#1' => const InkImage(), - '149#0' => const CustomInkResponse(), - '149#1' => const ColorInkResponse(), - '150#0' => const CustomInkWell(), - '150#1' => const ColorInkWell(), - '231#0' => const InputDecoratorDemo(), - '351#0' => const InteractiveViewerDemo(), - '351#1' => const InteractiveViewerDemo2(), - '351#2' => const InteractiveViewerDemo3(), - '284#0' => const KeyboardListenerDemo1(), - '145#0' => const CustomLicensePage(), - '47#0' => const CustomLinearProgressIndicator(), - '179#0' => const CustomListWheelScrollView(), - '290#0' => const LocalizationsDemo1(), - '105#0' => const CustomLongPressDraggable(), - '160#0' => const CustomMaterial(), - '160#1' => const ShapeMaterial(), - '65#0' => const MaterialAppDemo(), - '261#0' => const MergeableMaterialDemo(), - '135#0' => const CustomMonthPicker(), - '293#0' => const MouseRegionDemo(), - '358#0' => const CustomNavigationRail(), - '358#1' => const ExtendableNavigationRail(), - '358#2' => const DarkNavigationRail(), - '232#0' => const NavigatorDemo(), - '251#0' => const NestedScrollViewDemo(), - '355#0' => const OutlinedButtonDemo(), - '355#1' => const OutlinedButtonStyleDemo(), - '182#0' => const CustomOverlay(), - '165#0' => const CustomPageView(), - '165#1' => const DirectionPageView(), - '165#2' => const CtrlPageView(), - '235#0' => const PaginatedDataTableDemo(), - '56#0' => const CustomPopupMenuButton(), - '174#0' => const CustomPopupMenuDivider(), - '93#0' => const CustomPositionedTransition(), - '45#0' => const CustomRadio(), - '44#0' => const CustomRangeSlider(), - '153#0' => const PressRawChip(), - '153#1' => const SelectRawChip(), - '248#0' => const RawGestureDetectorDemo(), - '254#0' => const RawKeyboardListenerDemo(), - '175#0' => const CustomRawMaterialButton(), - '175#1' => const ShapeRawMaterialButton(), - '49#0' => const CustomRefreshIndicator(), - '115#0' => const CustomRelativePositionedTransition(), - '177#0' => const CustomReorderableListView(), - '177#1' => const DirectionReorderableListView(), - '90#0' => const CustomRotationTransition(), - '64#0' => const CustomScaffold(), - '91#0' => const CustomScaleTransition(), - '253#0' => const ScrollableDemo(), - '194#0' => const CustomScrollbar(), - '53#0' => const CustomSelectableText(), - '53#1' => const AlignSelectableText(), - '92#0' => const CustomSizeTransition(), - '42#0' => const CustomSlider(), - '42#1' => const DivisionsSlider(), - '112#0' => const CustomSlideTransition(), - '242#0' => const StatefulBuilderDemo(), - '233#0' => const StatusTransitionWidgetDemo(), - '200#0' => const StepperDemo(), - '200#1' => const VerticalStepper(), - '173#0' => const CustomStreamBuilder(), - '40#0' => const CustomSwitch(), - '40#1' => const ImageSwitch(), - '59#0' => const CustomTabBarView(), - '151#0' => const CustomTableRowInkWell(), - '353#0' => const TextButtonDemo(), - '353#1' => const TextButtonStyleDemo(), - '54#0' => const CustomTextField(), - '54#1' => const CursorTextField(), - '54#2' => const ComplexTextField(), - '199#0' => const CustomTextFormField(), - '246#0' => const TickerModeDemo1(), - '50#0' => const CustomTooltip(), - '50#1' => const DecorationTooltip(), - '226#0' => const TweenAnimationBuilderDemo(), - '241#0' => const UndoHistoryDemo1(), - '243#0' => const UniqueWidgetDemo(), - '255#0' => const ValueListenableBuilderDemo(), - '234#0' => const WidgetInspectorDemo(), - '236#0' => const WidgetsAppDemo(), - '170#0' => const CustomWillPopScope(), - '136#0' => const CustomYearPicker(), - '130#0' => const CustomAboutDialog(), - '193#0' => const AboutListTileDemo(), - '13#0' => const CustomActionChip(), - '127#0' => const CustomAlertDialog(), - '125#0' => const CustomAnimatedIcon(), - '356#0' => const AutocompleteDemo(), - '356#1' => const AutocompleteType(), - '31#0' => const CustomBackButton(), - '272#0' => const BackButtonIconDemo(), - '258#0' => const BadgeDemo(), - '258#1' => const BadgeLabelDemo(), - '258#2' => const BadgeAlignOffsetDemo(), - '5#0' => const CustomBanner(), - '142#0' => const CustomBottomSheet(), - '350#0' => const BoxScrollViewDemo(), - '202#0' => const BuilderDemo(), - '29#0' => const CustomButtonBar(), - '29#1' => const PaddingButtonBar(), - '3#0' => const CustomCard(), - '3#1' => const ShapeCard(), - '17#0' => const CustomCheckBoxListTile(), - '17#1' => const SelectCheckBoxListTile(), - '17#2' => const DenseCheckBoxListTile(), - '215#0' => const CheckedModeBannerDemo(), - '11#0' => const CustomChip(), - '11#1' => const ColorOfChip(), - '11#2' => const DeleteOfChip(), - '12#0' => const CustomChoiceChip(), - '9#0' => const CustomCircleAvatar(), - '32#0' => const CustomCloseButton(), - '274#0' => const CloseButtonIconDemo(), - '1#0' => const CustomContainer(), - '1#1' => const ContainerWithChild(), - '1#2' => const ContainerAlignment(), - '1#3' => const ContainerDecoration(), - '1#4' => const ContainerTransform(), - '1#5' => const ContainerConstraints(), - '131#0' => const CustomCupertinoActionSheet(), - '132#0' => const CustomCupertinoActionSheetAction(), - '129#0' => const CustomCupertinoAlertDialog(), - '352#0' => const CupertinoDialogActionDemo(), - '219#0' => const CupertinoFullscreenDialogTransitionDemo(), - '218#0' => const CupertinoNavigationBarBackButtonDemo(), - '216#0' => const CupertinoPageTransitionDemo(), - '217#0' => const CupertinoPopupSurfaceDemo(), - '169#0' => const TextCupertinoTheme(), - '169#1' => const CustomCupertinoTheme(), - '102#0' => const CustomDataTable(), - '102#1' => const SortDataTable(), - '134#0' => const CustomDayPicker(), - '126#0' => const CustomDialog(), - '34#0' => const CustomDivider(), - '34#1' => const HeightDivider(), - '221#0' => const DraggableScrollableActuatorDemo(), - '154#0' => const CustomDrawer(), - '276#0' => const DrawerButtonDemo(), - '273#0' => const DrawerButtonIconDemo(), - '155#0' => const CustomDrawerHeader(), - '361#0' => const EndDrawerButtonDemo(), - '275#0' => const EndDrawerButtonIconDemo(), - '8#0' => const CustomFadeInImage(), - '15#0' => const CustomFilterChip(), - '25#0' => const CustomFlatButton(), - '28#0' => const CustomFAB(), - '28#1' => const MiniFAB(), - '28#2' => const ShapeFAB(), - '4#0' => const CustomFlutterLogo(), - '4#1' => const FlutterLogoWithText(), - '146#0' => const CustomGestureDetector(), - '146#1' => const TapGestureDetector(), - '146#2' => const PanGestureDetector(), - '37#0' => const CustomGridPaper(), - '37#1' => const DivisionsGridPaper(), - '21#0' => const CustomGridTile(), - '20#0' => const CustomGridTileBar(), - '163#0' => const CustomGridView(), - '163#1' => const HorizontalGridView(), - '163#2' => const ExtentGridView(), - '163#3' => const BuilderGridView(), - '213#0' => const HtmlElementViewDemo(), - '6#0' => const CustomIcon(), - '6#1' => const MyIcon(), - '30#0' => const CustomIconButton(), - '7#0' => const CustomImageIcon(), - '14#0' => const PressInputChip(), - '14#1' => const SelectInputChip(), - '147#0' => const CustomListener(), - '16#0' => const CustomListTile(), - '16#1' => const SelectListTile(), - '16#2' => const DenseListTile(), - '162#0' => const CustomListView(), - '162#1' => const HorizontalListView(), - '162#2' => const BuilderListView(), - '162#3' => const SeparatedListView(), - '211#0' => const MaterialBannerDemo(), - '211#1' => const MaterialBannerDemoTwo(), - '23#0' => const CustomMaterialButton(), - '23#1' => const LongPressMaterialButton(), - '23#2' => const ShapeMaterialButton(), - '212#0' => const ModalBarrierDemo(), - '214#0' => const NavigationToolbarDemo(), - '220#0' => const NotificationListenerDemo(), - '220#1' => const NotificationListenerUpdate(), - '203#0' => const OrientationBuilderDemo(), - '27#0' => const CustomOutlineButton(), - '210#0' => const PageStorageDemo(), - '36#0' => const CustomPlaceholder(), - '36#1' => const FallbackPlaceholder(), - '159#0' => const CustomPositionedDirectional(), - '204#0' => const CustomPreferredSize(), - '204#1' => const AdapterPreferredSize(), - '19#0' => const CustomRadioListTile(), - '19#1' => const DenseRadioListTile(), - '26#0' => const CustomRaisedButton(), - '360#0' => const MagnifierCircleShape(), - '360#1' => const MagnifierStarShape(), - '207#0' => const SafeAreaDemo(), - '349#0' => const ScrollViewDemo(), - '128#0' => const CustomSimpleDialog(), - '133#0' => const CustomSimpleDialogOption(), - '164#0' => const CustomSingleChildScrollView(), - '164#1' => const DirectionSingleChildScrollView(), - '140#0' => const CustomSnackBar(), - '141#0' => const CustomSnackBarAction(), - '107#0' => const OneSpacer(), - '107#1' => const ManySpacer(), - '18#0' => const CustomSwitchListTile(), - '18#1' => const SelectSwitchListTile(), - '18#2' => const DenseSwitchListTile(), - '148#0' => const CustomTab(), - '58#0' => const CustomTabBar(), - '58#1' => const NoShadowTabBarDemo(), - '205#0' => const TabPageSelectorDemo(), - '206#0' => const TabPageSelectorIndicatorDemo(), - '2#0' => const TextDemo1(), - '2#1' => const TextDemo2(), - '2#2' => const DecorationText(), - '2#3' => const TextAlignText(), - '2#4' => const TextDirectionText(), - '2#5' => const SoftWrapText(), - '168#0' => const TextThemeDemo(), - '168#1' => const CustomTheme(), - '208#0' => const TitleDemo(), - '33#0' => const CustomToggleButtons(), - '33#1' => const ColorToggleButtons(), - '33#2' => const ProToggleButtons(), - '22#0' => const CustomUAGHP(), - '22#1' => const ProUAGHP(), - '35#0' => const CustomVerticalDivider(), - '35#1' => const WidthVerticalDivider(), - '10#0' => const CustomVisibility(), - '10#1' => const ReplacementVisibility(), - - _ => const SizedBox(), - }; -} \ No newline at end of file diff --git a/modules/widget_system/widgets/lib/utils/color_utils.dart b/modules/widget_system/widgets/lib/utils/color_utils.dart deleted file mode 100644 index e1a2b49ea..000000000 --- a/modules/widget_system/widgets/lib/utils/color_utils.dart +++ /dev/null @@ -1,75 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; - -class RandomProvider{ - RandomProvider._();//私有化构造 - static final _random= Random(); - static Random get random =>_random; -} - -class ColorUtils { - static Color randomColor({ - int limitA = 120, - int limitR = 0, - int limitG = 0, - int limitB = 0, - }) { - Random random = RandomProvider.random; - int a = limitA + random.nextInt(256 - limitA); //透明度值 - int r = limitR + random.nextInt(256 - limitR); //红值 - int g = limitG + random.nextInt(256 - limitG); //绿值 - int b = limitB + random.nextInt(256 - limitB); //蓝值 - return Color.fromARGB(a, r, g, b); //生成argb模式的颜色 - } - - - /// 使用方法: - /// var color1=ColorUtils.parse("#33428A43"); - /// var color2=ColorUtils.parse("33428A43"); - /// var color3=ColorUtils.parse("#428A43"); - ///var color4=ColorUtils.parse("428A43"); - /// - static Color parse(String code) { - Color result =Colors.red; - int value = 0 ; - if (code.contains("#")) { - try { - value = int.parse(code.substring(1), radix: 16); - } catch (e) { - print(e); - } - switch (code.length) { - case 7://6位 - result = Color(value + 0xFF000000); - break; - case 9://8位 - result = Color(value); - break; - default: - result =Colors.red; - } - }else { - try { - value = int.parse(code, radix: 16); - } catch (e) { - print(e); - } - switch (code.length) { - case 6: - result = Color(value + 0xFF000000); - break; - case 8: - result = Color(value); - break; - default: - result =Colors.red; - } - } - return result; - } - - static String colorString(Color color) => - "#${color.value.toRadixString(16).padLeft(8, '0').toUpperCase()}"; -} - diff --git a/modules/widget_system/widgets/lib/utils/dialog_about.dart b/modules/widget_system/widgets/lib/utils/dialog_about.dart deleted file mode 100644 index 81b3023eb..000000000 --- a/modules/widget_system/widgets/lib/utils/dialog_about.dart +++ /dev/null @@ -1,57 +0,0 @@ -import 'package:app/app.dart'; -import 'package:flutter/material.dart'; - -class DialogAbout extends StatelessWidget { - const DialogAbout({super.key}); - - static show(BuildContext context){ - showDialog(//内置方法,创建对话弹框 - context: context, - builder: (_) => const DialogAbout()); - } - @override - Widget build(BuildContext context) { - Widget title = Row( - //标题 - children: [ - Image.asset( - "assets/images/icon_head.webp", - width: 30, - height: 30, - ), - const SizedBox( - width: 10, - ), - const Expanded(child: Text("关于",style: TextStyle(fontSize: 18),)), - InkWell( - child: const Icon(Icons.close), - onTap: ()=>Navigator.of(context).pop(), - ) - ], - ); - Widget content = const Column( - //内容 - mainAxisSize: MainAxisSize.min, - children: [ - FlutterLogo(size: 50,), - SizedBox( - height: 20, - ), - Text( - "Flutter Unit ${StrUnit.version}", - ), - ]); - return AlertDialog(title: title, content: content, actions: const [ - Padding( - padding: EdgeInsets.only(right:15.0,bottom: 10,top: 10), - child: Column( - children: [ - Text( - "Power By GF·J·Toly\n张风捷特烈", - textAlign: TextAlign.center, - ), - ], - )) - ]); - } -} diff --git a/modules/widget_system/widgets/lib/utils/pather.dart b/modules/widget_system/widgets/lib/utils/pather.dart deleted file mode 100644 index 6953fdf34..000000000 --- a/modules/widget_system/widgets/lib/utils/pather.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/cupertino.dart'; - -class Pather { - Pather._(); - - static Pather create = Pather._(); - - final Path _path = Path(); - - Path nStarPath(int num, double R, double r, {dx = 0, dy = 0}) { - _path.reset();//重置路径 - double perRad = 2 * pi / num;//每份的角度 - double radA = perRad / 2 / 2;//a角 - double radB = 2 * pi / (num - 1) / 2 - radA / 2 + radA;//起始b角 - _path.moveTo(cos(radA) * R + dx, -sin(radA) * R + dy);//移动到起点 - for (int i = 0; i < num; i++) {//循环生成点,路径连至 - _path.lineTo(cos(radA + perRad * i) * R + dx, -sin(radA + perRad * i) * R + dy); - _path.lineTo(cos(radB + perRad * i) * r + dx, -sin(radB + perRad * i) * r + dy); - } - _path.close(); - return _path; - } -} diff --git a/modules/widget_system/widgets/lib/widgets.dart b/modules/widget_system/widgets/lib/widgets.dart deleted file mode 100644 index 6454bac6c..000000000 --- a/modules/widget_system/widgets/lib/widgets.dart +++ /dev/null @@ -1,3 +0,0 @@ -library widgets; - -export 'node_display_map.dart'; diff --git a/modules/widget_system/widgets/test/widgets_test.dart b/modules/widget_system/widgets/test/widgets_test.dart deleted file mode 100644 index f286e7dcc..000000000 --- a/modules/widget_system/widgets/test/widgets_test.dart +++ /dev/null @@ -1,12 +0,0 @@ -// import 'package:flutter_test/flutter_test.dart'; -// -// import 'package:widgets/widgets.dart'; -// -// void main() { -// test('adds one to input values', () { -// final calculator = Calculator(); -// expect(calculator.addOne(2), 3); -// expect(calculator.addOne(-7), -6); -// expect(calculator.addOne(0), 1); -// }); -// } diff --git a/pubspec.lock b/pubspec.lock index 35cb81af2..e16819a50 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -505,26 +505,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" + sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0" url: "https://pub.flutter-io.cn" source: hosted - version: "10.0.9" + version: "11.0.1" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.1" + version: "3.0.2" lints: dependency: transitive description: @@ -876,14 +876,6 @@ packages: relative: true source: path version: "0.4.2" - refresh: - dependency: "direct main" - description: - name: refresh - sha256: cbf2254cd1a54135855c9a544af1e1c25472781a9f2c973e56b2068907d669dc - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.0.1" screen_retriever: dependency: transitive description: @@ -1133,10 +1125,10 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" url: "https://pub.flutter-io.cn" source: hosted - version: "0.7.4" + version: "0.7.6" toggle_rotate: dependency: "direct main" description: @@ -1193,6 +1185,14 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "0.2.0+3" + tolyui_refresh: + dependency: "direct main" + description: + name: tolyui_refresh + sha256: "7249643bbe67e12af38841737c1968e27a21436070acd254097c8b279bc643a9" + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.0.1+1" tolyui_rx_layout: dependency: transitive description: @@ -1201,6 +1201,14 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "1.0.0" + tolyui_text: + dependency: transitive + description: + name: tolyui_text + sha256: "881c40567724ed059377d3a9c58bf4e840017ad3e7b5f5476df2bc7a147cb7d5" + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.0.1+4" two_dimensional_scrollables: dependency: transitive description: @@ -1217,6 +1225,14 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "1.4.0" + unit_widgets_display: + dependency: transitive + description: + name: unit_widgets_display + sha256: bd1cfdef49c8a9cb56c9d60eb9007b35fd07228ecfd9cbc51397b00dc9efcad6 + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.0.1+2" url_launcher: dependency: "direct main" description: @@ -1317,10 +1333,10 @@ packages: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -1376,6 +1392,13 @@ packages: relative: true source: path version: "0.0.1" + widget_ui: + dependency: transitive + description: + path: "modules/widget_system/widget_ui" + relative: true + source: path + version: "0.0.1" win32: dependency: transitive description: @@ -1425,5 +1448,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0 <4.0.0" + dart: ">=3.8.0-0 <4.0.0" flutter: ">=3.27.0" diff --git a/pubspec.yaml b/pubspec.yaml index 80339e0aa..cec27c193 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: flutter_unit description: All Platform Flutter Experience App. publish_to: none -version: 3.1.0+2002 +version: 3.2.3+2006 author: 张风捷特烈 <1981462002@qq.com> homepage: https://juejin.cn/user/149189281194766/posts @@ -27,7 +27,6 @@ workspace: - modules/tools_system/treasure_tools - modules/widget_system/widget_module - - modules/widget_system/widgets - modules/knowledge_system/note dependencies: @@ -65,7 +64,8 @@ dependencies: # 视图展示 tolyui: 0.0.4+10 # tolyui - refresh: ^1.0.1 # 下拉刷新 + tolyui_refresh: 0.0.1+1 # 下拉刷新 + dash_painter: ^1.0.2 # 虚线 flutter_star: ^1.0.2 # 星星组件 flutter_spinkit: ^5.2.0 # loading @@ -98,6 +98,7 @@ flutter: - assets/images/head_icon/ - assets/images/widgets/ - assets/flutter.db + - assets/article.db - assets/version.json fonts: # 配置字体,可配置多个,支持ttf和otf,ttc等字体资源 diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index a6068005f..d9665f3a7 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -6,15 +6,12 @@ #include "generated_plugin_registrant.h" -#include #include #include #include #include void RegisterPlugins(flutter::PluginRegistry* registry) { - FileSelectorWindowsRegisterWithRegistrar( - registry->GetRegistrarForPlugin("FileSelectorWindows")); ScreenRetrieverWindowsPluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("ScreenRetrieverWindowsPluginCApi")); SharePlusWindowsPluginCApiRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 7bf92b331..0cefa2b7c 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -3,7 +3,6 @@ # list(APPEND FLUTTER_PLUGIN_LIST - file_selector_windows screen_retriever_windows share_plus url_launcher_windows