Qooxdoo:设计个性小部件

时间:2012-01-24 18:53:33

标签: javascript qooxdoo

将一些自定义样式应用于未确认主题的默认样式的单个窗口小部件元素的最方便方法是什么。我仍然对装饰器的使用感到困惑。如何应用多个装饰器,例如。用于边框属性和窗口小部件元素的背景。

我尝试过使用自定义装饰器,例如。 :


        var titleBar = new qx.ui.container.Composite();
        titleBar.set({
            decorator : qx.ui.decoration.MBackgroundImage,
                        style : {
                backgroundImage : '/images/tbar.png'
                        }
        });

但我收到一个错误:

方法setDecorator中类qx.ui.container.Composite的属性装饰器出错,传入值为'[Mixin qx.ui.decoration.MBackgroundImage]':无效!

2 个答案:

答案 0 :(得分:2)

你必须实例化一个合适的装饰器,而不是装饰器mixin之一。例如。在你的情况下,这样的事情应该有效:

    var titleBar = new qx.ui.container.Composite();
    var myBackground = new qx.ui.decoration.Background();
    myBackground.setBackgroundImage("/images/tbar.png");
    titleBar.set({
        decorator : myBackground
    });

答案 1 :(得分:2)

只有在使用“qx.Theme.define”定义docorations时,才应使用装饰Mixins。

我认为定义自定义样式的更好方法是定义新的外观键,并将此键用于窗口小部件。

    var titleBar = new qx.ui.container.Composite();
    titleBar.setAppearance("myApperanceKey");