comparison dwtx/draw2d/ButtonBorder.d @ 103:2d6540440fe6

Replace static ctors with lazy init.
author Frank Benoit <benoit@tionex.de>
date Sun, 03 Aug 2008 17:01:51 +0200
parents 0de61c6f08ca
children
comparison
equal deleted inserted replaced
102:0de61c6f08ca 103:2d6540440fe6
42 alias SchemeBorder.paint paint; 42 alias SchemeBorder.paint paint;
43 /** 43 /**
44 * Default button border. 44 * Default button border.
45 * @see SCHEMES#BUTTON 45 * @see SCHEMES#BUTTON
46 */ 46 */
47 private static const Border BUTTON_; 47 private static Border BUTTON_;
48 public static ButtonScheme BUTTON(){ 48 public static Border BUTTON(){
49 if( BUTTON_ is null ){ 49 if( BUTTON_ is null ){
50 synchronized( ButtonScheme.classinfo ){ 50 synchronized( ButtonScheme.classinfo ){
51 if( BUTTON_ is null ){ 51 if( BUTTON_ is null ){
52 BUTTON_ = new ButtonBorder(SCHEMES.BUTTON); 52 BUTTON_ = new ButtonBorder(SCHEMES.BUTTON);
53 } 53 }
57 } 57 }
58 /** 58 /**
59 * Inverted hightlight colors from BUTTON. 59 * Inverted hightlight colors from BUTTON.
60 * @see SCHEMES#BUTTON_CONTRAST 60 * @see SCHEMES#BUTTON_CONTRAST
61 */ 61 */
62 private static const Border BUTTON_CONTRAST_; 62 private static Border BUTTON_CONTRAST_;
63 public static ButtonScheme BUTTON_CONTRAST(){ 63 public static Border BUTTON_CONTRAST(){
64 if( BUTTON_CONTRAST_ is null ){ 64 if( BUTTON_CONTRAST_ is null ){
65 synchronized( ButtonScheme.classinfo ){ 65 synchronized( ButtonScheme.classinfo ){
66 if( BUTTON_CONTRAST_ is null ){ 66 if( BUTTON_CONTRAST_ is null ){
67 BUTTON_CONTRAST_ = new ButtonBorder(SCHEMES.BUTTON_CONTRAST); 67 BUTTON_CONTRAST_ = new ButtonBorder(SCHEMES.BUTTON_CONTRAST);
68 } 68 }
72 } 72 }
73 /** 73 /**
74 * Used for scrollbar buttons. 74 * Used for scrollbar buttons.
75 * @see SCHEMES#BUTTON_SCROLLBAR 75 * @see SCHEMES#BUTTON_SCROLLBAR
76 */ 76 */
77 private static const Border BUTTON_SCROLLBAR_; 77 private static Border BUTTON_SCROLLBAR_;
78 public static ButtonScheme BUTTON_SCROLLBAR(){ 78 public static Border BUTTON_SCROLLBAR(){
79 if( BUTTON_SCROLLBAR_ is null ){ 79 if( BUTTON_SCROLLBAR_ is null ){
80 synchronized( ButtonScheme.classinfo ){ 80 synchronized( ButtonScheme.classinfo ){
81 if( BUTTON_SCROLLBAR_ is null ){ 81 if( BUTTON_SCROLLBAR_ is null ){
82 BUTTON_SCROLLBAR_ = new ButtonBorder(SCHEMES.BUTTON_SCROLLBAR); 82 BUTTON_SCROLLBAR_ = new ButtonBorder(SCHEMES.BUTTON_SCROLLBAR);
83 } 83 }
87 } 87 }
88 /** 88 /**
89 * Used for toolbar buttons. 89 * Used for toolbar buttons.
90 * @see SCHEMES#TOOLBAR 90 * @see SCHEMES#TOOLBAR
91 */ 91 */
92 private static const Border TOOLBAR_; 92 private static Border TOOLBAR_;
93 public static ButtonScheme TOOLBAR(){ 93 public static Border TOOLBAR(){
94 if( TOOLBAR_ is null ){ 94 if( TOOLBAR_ is null ){
95 synchronized( ButtonScheme.classinfo ){ 95 synchronized( ButtonScheme.classinfo ){
96 if( TOOLBAR_ is null ){ 96 if( TOOLBAR_ is null ){
97 TOOLBAR_ = new ButtonBorder(SCHEMES.TOOLBAR); 97 TOOLBAR_ = new ButtonBorder(SCHEMES.TOOLBAR);
98 } 98 }
224 public struct SCHEMES { 224 public struct SCHEMES {
225 225
226 /** 226 /**
227 * Contrast button scheme 227 * Contrast button scheme
228 */ 228 */
229 private static const ButtonScheme BUTTON_CONTRAST_; 229 private static ButtonScheme BUTTON_CONTRAST_;
230 static ButtonScheme BUTTON_CONTRAST(){ 230 static ButtonScheme BUTTON_CONTRAST(){
231 if( BUTTON_CONTRAST_ is null ){ 231 if( BUTTON_CONTRAST_ is null ){
232 synchronized( ButtonScheme.classinfo ){ 232 synchronized( ButtonScheme.classinfo ){
233 if( BUTTON_CONTRAST_ is null ){ 233 if( BUTTON_CONTRAST_ is null ){
234 BUTTON_CONTRAST_ = new ButtonScheme( 234 BUTTON_CONTRAST_ = new ButtonScheme(
241 return BUTTON_CONTRAST_; 241 return BUTTON_CONTRAST_;
242 } 242 }
243 /** 243 /**
244 * Regular button scheme 244 * Regular button scheme
245 */ 245 */
246 private static const ButtonScheme BUTTON_; 246 private static ButtonScheme BUTTON_;
247 static ButtonScheme BUTTON(){ 247 static ButtonScheme BUTTON(){
248 if( BUTTON_ is null ){ 248 if( BUTTON_ is null ){
249 synchronized( ButtonScheme.classinfo ){ 249 synchronized( ButtonScheme.classinfo ){
250 if( BUTTON_ is null ){ 250 if( BUTTON_ is null ){
251 BUTTON_ = new ButtonScheme( 251 BUTTON_ = new ButtonScheme(
258 return BUTTON_; 258 return BUTTON_;
259 } 259 }
260 /** 260 /**
261 * Toolbar button scheme 261 * Toolbar button scheme
262 */ 262 */
263 private static const ButtonScheme TOOLBAR_; 263 private static ButtonScheme TOOLBAR_;
264 static ButtonScheme TOOLBAR(){ 264 static ButtonScheme TOOLBAR(){
265 if( TOOLBAR_ is null ){ 265 if( TOOLBAR_ is null ){
266 synchronized( ButtonScheme.classinfo ){ 266 synchronized( ButtonScheme.classinfo ){
267 if( TOOLBAR_ is null ){ 267 if( TOOLBAR_ is null ){
268 TOOLBAR_ = new ButtonScheme( 268 TOOLBAR_ = new ButtonScheme(
275 return TOOLBAR_; 275 return TOOLBAR_;
276 } 276 }
277 /** 277 /**
278 * Scrollbar button scheme 278 * Scrollbar button scheme
279 */ 279 */
280 private static const ButtonScheme BUTTON_SCROLLBAR_; 280 private static ButtonScheme BUTTON_SCROLLBAR_;
281 static ButtonScheme BUTTON_SCROLLBAR(){ 281 static ButtonScheme BUTTON_SCROLLBAR(){
282 if( BUTTON_SCROLLBAR_ is null ){ 282 if( BUTTON_SCROLLBAR_ is null ){
283 synchronized( ButtonScheme.classinfo ){ 283 synchronized( ButtonScheme.classinfo ){
284 if( BUTTON_SCROLLBAR_ is null ){ 284 if( BUTTON_SCROLLBAR_ is null ){
285 BUTTON_SCROLLBAR_ = new ButtonScheme( 285 BUTTON_SCROLLBAR_ = new ButtonScheme(