创建Decorator-Mixins的最佳做法是什么?

时间:2017-12-16 17:15:33

标签: qooxdoo

我再次尝试了主题和装饰,并尝试为qx.ui.decoration.MLinearBackgroundGradient实现更好的Decorator-Mixin,它不仅具有开始和结束颜色和位置,而且可以获得一组颜色来设置标签样式这个:enter image description here

在我的测试应用程序中,这个工作非常好,但我不认为它是一种优雅的方式,因为样式的值[“background-image”]的正则表达式。 但因为这是一个Mixin,我无法继承MLinearBackgroundGradient。

我应该将代码从MLinearBackgroundGradient复制到我的自定义mixin并增强我需要的代码和属性吗?这将是某种代码重复。

您可以在Qooxdoo游乐场找到我正在进行的课程:Playground example of the mixin under construction

不幸的是我无法将整个示例复制到Playground,因为我得到像这样的愚蠢错误消息:GlobalError:无法在属性定义中没有“精炼”标志的情况下优化属性“textFillColor”!这个类:qx.ui.decoration.Decorator,原始类:qx.ui.decoration.Decorator。

我在开发领域没有遇到的错误。所以我只是在操场上复制并评论了mixin课程。

上面的图片是在我的自定义Decoration.js中用这种装饰制作的:

"myLabel": {
          decorator: [              
              MExtendedLinearBackgroundGradient
          ],
          style: {
              colorPositionUnit: "px",
              gradientStart: ["black", 20],
              gradientSteps: [{ "green": "20px" }, { "blue": "40px" }, { "red": "60px" }, { "yellow": "80px" }],
              gradientEnd: ["red", 100],
              textFillColor: "transparent"
         }
      }

问候 瑞奇

0 个答案:

没有答案