2012-01-24 103 views
4

將某些自定義樣式應用於未確認主題默認樣式的單個窗口小部件元素的最便捷方式是什麼?我仍然對裝飾器的使用感到困惑。如何應用多個裝飾器,例如。邊框屬性和背景到一個小部件元素。Qooxdoo:設計單個窗口小部件

我已經嘗試使用自定義裝飾器例如。 :


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

但是我收到一個錯誤:在與進入的值 '[密新qx.ui.decoration.MBackgroundImage]' 方法setDecorator類qx.ui.container.Composite的屬性裝飾

錯誤:是無效的!

回答

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 
    }); 
2

當你定義一個「qx.Theme.define」 docorations您應該只使用裝修混入。

我認爲定義自定義樣式的更好方法是定義一個新的外觀關鍵字,並將其用於您的構件。

 
    var titleBar = new qx.ui.container.Composite(); 
    titleBar.setAppearance("myApperanceKey"); 
相關問題