2012-01-24 2 views
4

테마의 기본 스타일을 확인하지 않는 개별 위젯 요소에 사용자 정의 스타일을 적용하는 가장 편리한 방법은 무엇입니까? 나는 아직도 장식 자의 사용법과 혼동 스럽다. 예를 들어 다중 데코레이터를 어떻게 적용할까요? border 속성과 background에 대한 widget 요소.Qooxdoo : 개별 위젯 스타일링

예를 들어 사용자 정의 데코레이터를 사용해 보았습니다. : 입력 값 '[믹스 인 qx.ui.decoration.MBackgroundImage]와 방법 setDecorator의 클래스 qx.ui.container.Composite의 속성 장식의

오류 :


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

하지만 오류를받을 : 유효하지 않다!

답변

2

데코레이터 믹스 중 하나가 아닌 적절한 데코레이터를 인스턴스화해야합니다. 예 : 귀하의 경우이 같은 작업을해야합니다 : 당신이 "qx.Theme.define"와 docorations를 정의 할 때

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

당신은 단지 장식이나 mixin을 사용해야합니다.

사용자 정의 스타일을 정의하는 더 좋은 방법은 새로운 모양 키를 정의하고 대신이 키를 위젯에 사용하는 것입니다.

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