Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 346683
Collapse All | Expand All

(-)js/org/eclipse/rwt/Border.js (-5 / +13 lines)
Lines 88-103 Link Here
88
      if( widget._innerStyle ) {
88
      if( widget._innerStyle ) {
89
        widget._innerStyle.border = "";
89
        widget._innerStyle.border = "";
90
      }
90
      }
91
      try{
91
      this._resetRadii( widget );
92
      this._resetComplexBorder( widget );
93
    },
94
95
    _resetRadii : function( widget ) {
96
      try {
92
        for( var i = 0; i < 4; i++ ) {
97
        for( var i = 0; i < 4; i++ ) {
93
          widget._style[ this._BORDERRADII[ i ] ] = "";
98
          widget._style[ this._BORDERRADII[ i ] ] = "";
94
        }
99
        }
95
      } catch( ex ) {
100
      } catch( ex ) {
96
        //ignore
101
        // ignore for browser without radii support
97
      }
102
      }
98
      this._resetComplexBorder( widget );
99
    },
103
    },
100
    
104
101
    _resetComplexBorder : qx.core.Variant.select("qx.client", {
105
    _resetComplexBorder : qx.core.Variant.select("qx.client", {
102
      "gecko" : function( widget ) {
106
      "gecko" : function( widget ) {
103
        var statics = org.eclipse.rwt.Border
107
        var statics = org.eclipse.rwt.Border
Lines 122-127 Link Here
122
  },
126
  },
123
127
124
  members : {
128
  members : {
129
125
    _setColor : function( value ) {
130
    _setColor : function( value ) {
126
      if( typeof value === "string" ) {
131
      if( typeof value === "string" ) {
127
        this._singleColor = value;
132
        this._singleColor = value;
Lines 268-273 Link Here
268
    
273
    
269
    _renderSimpleBorder : function( widget ) {
274
    _renderSimpleBorder : function( widget ) {
270
      org.eclipse.rwt.Border._resetComplexBorder( widget );
275
      org.eclipse.rwt.Border._resetComplexBorder( widget );
276
      org.eclipse.rwt.Border._resetRadii( widget );
271
      var style = widget._style;
277
      var style = widget._style;
272
      var statics = org.eclipse.rwt.Border
278
      var statics = org.eclipse.rwt.Border
273
      for( var i = 0; i < 4; i++ ) {
279
      for( var i = 0; i < 4; i++ ) {
Lines 277-285 Link Here
277
      }
283
      }
278
    },
284
    },
279
285
280
    _renderComplexBorder : qx.core.Variant.select("qx.client", {
286
    _renderComplexBorder : qx.core.Variant.select( "qx.client", {
281
      "gecko" : function( widget ) {
287
      "gecko" : function( widget ) {
282
        var statics = org.eclipse.rwt.Border
288
        var statics = org.eclipse.rwt.Border
289
        statics._resetRadii( widget );
283
        var style = widget._style;
290
        var style = widget._style;
284
        for( var i = 0; i < 4; i++ ) {
291
        for( var i = 0; i < 4; i++ ) {
285
          style[ statics._EDGEWIDTH[ i ] ] = ( this._widths[ i ] || 0 ) + "px";
292
          style[ statics._EDGEWIDTH[ i ] ] = ( this._widths[ i ] || 0 ) + "px";
Lines 295-300 Link Here
295
      },
302
      },
296
      "default" : function( widget ) {
303
      "default" : function( widget ) {
297
        var statics = org.eclipse.rwt.Border
304
        var statics = org.eclipse.rwt.Border
305
        statics._resetRadii( widget );
298
        var outer = widget._style;
306
        var outer = widget._style;
299
        var inner = widget._innerStyle;
307
        var inner = widget._innerStyle;
300
        for( var i = 0; i < 4; i++ ) {
308
        for( var i = 0; i < 4; i++ ) {
(-)js/org/eclipse/rwt/test/tests/BorderTest.js (+33 lines)
Lines 331-336 Link Here
331
      }
331
      }
332
    },
332
    },
333
333
334
    testRemoveRadiiWithSimpleBorder : function() {
335
      // NOTE: Tests for non-css3 browser are in GraphicsMixinTest
336
      if( org.eclipse.rwt.Client.supportsCss3() ) {
337
        var radii = [ 0, 1, 2, 3 ];
338
        var border = new org.eclipse.rwt.Border( 3, "rounded", "#FF00FF", [ 0, 1, 2, 3 ] );
339
        var widget = this._createWidget();
340
        widget.setBorder( border );
341
        testUtil.flush();
342
        var simpleBorder = new org.eclipse.rwt.Border( 3, "solid", "#FF00FF" );
343
        widget.setBorder( simpleBorder );
344
        testUtil.flush();
345
        assertEquals( [ 0, 0, 0, 0 ], this._getBorderRadii( widget._style ) );
346
        border.dispose();
347
      }
348
    },
349
350
    testRemoveRadiiWithComplexBorder : function() {
351
      // NOTE: Tests for non-css3 browser are in GraphicsMixinTest
352
      if( org.eclipse.rwt.Client.supportsCss3() ) {
353
        var radii = [ 0, 1, 2, 3 ];
354
        var border = new org.eclipse.rwt.Border( 3, "rounded", "#FF00FF", [ 0, 1, 2, 3 ] );
355
        var widget = this._createWidget();
356
        widget.setBorder( border );
357
        testUtil.flush();
358
        var colorOuter = [ "#FF00EF", "#FF00EE", "#FF0EFF", "#FFE0FF" ];
359
        var colorInner = [ "#DD00EF", "#DD00EE", "#DD0EFF", "#DDE0FF" ];
360
        var complexBorder = new org.eclipse.rwt.Border( 2, "complex", colorOuter, colorInner );
361
        widget.setBorder( complexBorder );
362
        testUtil.flush();
363
        assertEquals( [ 0, 0, 0, 0 ], this._getBorderRadii( widget._style ) );
364
        border.dispose();
365
      }
366
    },
334
367
335
    //////////////
368
    //////////////
336
    // helper
369
    // helper

Return to bug 346683