Pārlūkot izejas kodu

fix: 修改控件属性

liaojiaxing 3 nedēļas atpakaļ
vecāks
revīzija
7a4801703c

+ 46 - 31
src/renderer/src/lvgl-widgets/bar/index.ts

@@ -265,47 +265,62 @@ export default {
             { label: 'Normal', value: 'normal' },
             { label: 'Symmetrical', value: 'symmetrical' },
             { label: 'Range', value: 'range' }
-          ]
+          ],
+          onValueChange: (val, formData) => {
+            if (val !== 'range') {
+              formData.props.startanimation = false
+            }
+          }
         },
         canUseEventSet: true
       },
       {
-        label: '',
-        valueType: 'group',
-        children: [
-          {
-            valueType: 'dependency',
-            name: ['props.mode', 'props.min', 'props.max'],
-            dependency: (dependency) => {
-              const min = dependency['props.min']
-              const max = dependency['props.max']
-              return dependency['props.mode'] === 'range'
-                ? [
+        valueType: 'dependency',
+        name: ['props.mode'],
+        dependency: (dependency) => {
+          return dependency['props.mode'] === 'range'
+            ? [
+                {
+                  label: '',
+                  valueType: 'group',
+                  children: [
+                    {
+                      valueType: 'dependency',
+                      name: ['props.mode', 'props.min', 'props.max'],
+                      dependency: (dependency) => {
+                        const min = dependency['props.min']
+                        const max = dependency['props.max']
+                        return dependency['props.mode'] === 'range'
+                          ? [
+                              {
+                                label: '开始值',
+                                field: 'props.startValue',
+                                valueType: 'number',
+                                componentProps: {
+                                  min: Math.min(min, max),
+                                  max: Math.max(min, max),
+                                  span: 18
+                                },
+                                canUseEventSet: true
+                              }
+                            ]
+                          : []
+                      }
+                    },
                     {
-                      label: '开始值',
-                      field: 'props.startValue',
-                      valueType: 'number',
+                      label: '',
+                      field: 'props.startanimation',
+                      valueType: 'switch',
                       componentProps: {
-                        min: Math.min(min, max),
-                        max: Math.max(min, max),
-                        span: 18
+                        span: 6
                       },
                       canUseEventSet: true
                     }
                   ]
-                : []
-            }
-          },
-          {
-            label: '',
-            field: 'props.startanimation',
-            valueType: 'switch',
-            componentProps: {
-              span: 6
-            },
-            canUseEventSet: true
-          }
-        ]
+                }
+              ]
+            : []
+        }
       }
     ],
     // 组件样式

+ 1 - 1
src/renderer/src/lvgl-widgets/dropdown/style.json

@@ -111,7 +111,7 @@
       "state": []
     },
     {
-      "partName": "listSelected",
+      "partName": "Selected",
       "defaultStyle": {
         "background": {
           "color": "#55ffffff",

+ 100 - 8
src/renderer/src/lvgl-widgets/image-button/index.ts

@@ -43,9 +43,13 @@ export default {
       ],
       states: [],
       ReleasedImage: '',
+      ReleasedImageAlign: 'left',
       PressedImage: '',
+      PressedImageAlign: 'right',
       CheckedReleasedImage: '',
-      CheckedPressedImage: ''
+      CheckedReleasedImageAlign: 'center',
+      CheckedPressedImage: '',
+      CheckedPressedImageAlign: 'right'
       // scale: 256,
       // // 抗锯齿
       // antiAliasing: false
@@ -261,7 +265,7 @@ export default {
         label: '文本',
         field: 'props.text',
         valueType: 'text',
-        labelWidth: '80px',
+        labelWidth: '100px',
         componentProps: {
           supportLangues: true,
           type: 'text'
@@ -272,31 +276,119 @@ export default {
         label: '释放后',
         field: 'props.ReleasedImage',
         valueType: 'image',
-        labelWidth: '80px'
+        labelWidth: '100px'
+      },
+      {
+        label: '释放后对齐',
+        field: 'props.ReleasedImageAlign',
+        valueType: 'select',
+        labelWidth: '100px',
+        componentProps: {
+          options: [
+            {
+              label: '居中',
+              value: 'center'
+            },
+            {
+              label: '左对齐',
+              value: 'left'
+            },
+            {
+              label: '右对齐',
+              value: 'right'
+            }
+          ]
+        }
       },
       {
         label: '按下时',
         field: 'props.PressedImage',
         valueType: 'image',
-        labelWidth: '80px'
+        labelWidth: '100px'
+      },
+      {
+        label: '按下时对齐',
+        field: 'props.PressedImageAlign',
+        valueType: 'select',
+        labelWidth: '100px',
+        componentProps: {
+          options: [
+            {
+              label: '居中',
+              value: 'center'
+            },
+            {
+              label: '左对齐',
+              value: 'left'
+            },
+            {
+              label: '右对齐',
+              value: 'right'
+            }
+          ]
+        }
       },
       {
         label: '选中释放后',
         field: 'props.CheckedReleasedImage',
         valueType: 'image',
-        labelWidth: '80px'
+        labelWidth: '100px'
+      },
+      {
+        label: '选中释放后对齐',
+        field: 'props.CheckedReleasedImageAlign',
+        valueType: 'select',
+        labelWidth: '100px',
+        componentProps: {
+          options: [
+            {
+              label: '居中',
+              value: 'center'
+            },
+            {
+              label: '左对齐',
+              value: 'left'
+            },
+            {
+              label: '右对齐',
+              value: 'right'
+            }
+          ]
+        }
       },
       {
         label: '选中按下时',
         field: 'props.CheckedPressedImage',
         valueType: 'image',
-        labelWidth: '80px'
+        labelWidth: '100px'
+      },
+      {
+        label: '选中按下时对齐',
+        field: 'props.CheckedPressedImageAlign',
+        valueType: 'select',
+        labelWidth: '100px',
+        componentProps: {
+          options: [
+            {
+              label: '居中',
+              value: 'center'
+            },
+            {
+              label: '左对齐',
+              value: 'left'
+            },
+            {
+              label: '右对齐',
+              value: 'right'
+            }
+          ]
+        }
       }
       // {
       //   label: '缩放',
       //   field: 'props.scale',
       //   valueType: 'number',
-      //   labelWidth: '80px',
+      //   labelWidth: '100px',
       //   componentProps: {
       //     min: 0,
       //     max: 10000
@@ -306,7 +398,7 @@ export default {
       //   label: '抗锯齿',
       //   field: 'props.antiAliasing',
       //   valueType: 'switch',
-      //   labelWidth: '80px'
+      //   labelWidth: '100px'
       // }
     ],
     // 组件样式

+ 46 - 31
src/renderer/src/lvgl-widgets/slider/index.ts

@@ -269,47 +269,62 @@ export default {
             { label: 'Normal', value: 'normal' },
             { label: 'Symmetrical', value: 'symmetrical' },
             { label: 'Range', value: 'range' }
-          ]
+          ],
+          onValueChange: (val, formData) => {
+            if (val !== 'range') {
+              formData.props.startanimation = false
+            }
+          }
         },
         canUseEventSet: true
       },
       {
-        label: '',
-        valueType: 'group',
-        children: [
-          {
-            valueType: 'dependency',
-            name: ['props.mode', 'props.min', 'props.max'],
-            dependency: (dependency) => {
-              const min = dependency['props.min']
-              const max = dependency['props.max']
-              return dependency['props.mode'] === 'range'
-                ? [
+        valueType: 'dependency',
+        name: ['props.mode'],
+        dependency: (dependency) => {
+          return dependency['props.mode'] === 'range'
+            ? [
+                {
+                  label: '',
+                  valueType: 'group',
+                  children: [
+                    {
+                      valueType: 'dependency',
+                      name: ['props.mode', 'props.min', 'props.max'],
+                      dependency: (dependency) => {
+                        const min = dependency['props.min']
+                        const max = dependency['props.max']
+                        return dependency['props.mode'] === 'range'
+                          ? [
+                              {
+                                label: '开始值',
+                                field: 'props.startValue',
+                                valueType: 'number',
+                                componentProps: {
+                                  min: Math.min(min, max),
+                                  max: Math.max(min, max),
+                                  span: 18
+                                },
+                                canUseEventSet: true
+                              }
+                            ]
+                          : []
+                      }
+                    },
                     {
-                      label: '开始值',
-                      field: 'props.startValue',
-                      valueType: 'number',
+                      label: '',
+                      field: 'props.startanimation',
+                      valueType: 'switch',
                       componentProps: {
-                        min: Math.min(min, max),
-                        max: Math.max(min, max),
-                        span: 18
+                        span: 6
                       },
                       canUseEventSet: true
                     }
                   ]
-                : []
-            }
-          },
-          {
-            label: '',
-            field: 'props.startanimation',
-            valueType: 'switch',
-            componentProps: {
-              span: 6
-            },
-            canUseEventSet: true
-          }
-        ]
+                }
+              ]
+            : []
+        }
       }
     ],
     // 组件样式

+ 7 - 1
src/renderer/src/lvgl-widgets/variableConfig.ts

@@ -134,6 +134,7 @@ const widgetVariableConfigMap: WidgetVariableConfigMap = {
     'props.value': { type: 'int32_t' },
     'props.animationTime': { type: 'uint32_t' },
     'props.animation': { type: 'bool' },
+    'props.startanimation': { type: 'bool' },
     'props.mode': { type: 'enum', enumMap: barModeEnumMap },
     'props.startValue': { type: 'int32_t' }
   },
@@ -142,6 +143,9 @@ const widgetVariableConfigMap: WidgetVariableConfigMap = {
     'props.min': { type: 'int32_t' },
     'props.max': { type: 'int32_t' },
     'props.value': { type: 'int32_t' },
+    'props.animationTime': { type: 'uint32_t' },
+    'props.animation': { type: 'bool' },
+    'props.startanimation': { type: 'bool' },
     'props.mode': { type: 'enum', enumMap: barModeEnumMap },
     'props.startValue': { type: 'int32_t' }
   },
@@ -316,7 +320,9 @@ const withVariableConfig = (
   return nextSchema
 }
 
-export const enhanceWidgetVariableConfig = (widget: IComponentModelConfig): IComponentModelConfig => {
+export const enhanceWidgetVariableConfig = (
+  widget: IComponentModelConfig
+): IComponentModelConfig => {
   const configMap = {
     ...commonWidgetVariableConfig,
     ...(widgetVariableConfigMap[widget.key] || {})