Show More
@@ -409,39 +409,72 b' define(["widgets/js/manager",' | |||
|
409 | 409 | // Public constructor |
|
410 | 410 | DOMWidgetView.__super__.initialize.apply(this, [parameters]); |
|
411 | 411 | this.on('displayed', this.show, this); |
|
412 | this.after_displayed(function() { | |
|
413 | this.update_visible(this.model, this.model.get("visible")); | |
|
414 | this.update_css(this.model, this.model.get("_css")); | |
|
415 | }, this); | |
|
416 | 412 | this.model.on('change:visible', this.update_visible, this); |
|
417 | 413 | this.model.on('change:_css', this.update_css, this); |
|
414 | ||
|
418 | 415 | this.model.on('change:_dom_classes', function(model, new_classes) { |
|
419 | 416 | var old_classes = model.previous('children'); |
|
420 | 417 | this.update_classes(old_classes, new_classes); |
|
421 | 418 | }, this); |
|
419 | ||
|
422 | 420 | this.model.on('change:fore_color', function (model, value) { |
|
423 | 421 | this.update_attr('color', value); }, this); |
|
422 | ||
|
424 | 423 | this.model.on('change:back_color', function (model, value) { |
|
425 | 424 | this.update_attr('background', value); }, this); |
|
425 | ||
|
426 | 426 | this.model.on('change:width', function (model, value) { |
|
427 | 427 | this.update_attr('width', value); }, this); |
|
428 | ||
|
428 | 429 | this.model.on('change:height', function (model, value) { |
|
429 | 430 | this.update_attr('height', value); }, this); |
|
431 | ||
|
430 | 432 | this.model.on('change:border_color', function (model, value) { |
|
431 | 433 | this.update_attr('border-color', value); }, this); |
|
434 | ||
|
432 | 435 | this.model.on('change:border_width', function (model, value) { |
|
433 | 436 | this.update_attr('border-width', value); }, this); |
|
437 | ||
|
434 | 438 | this.model.on('change:border_style', function (model, value) { |
|
435 | 439 | this.update_attr('border-style', value); }, this); |
|
440 | ||
|
436 | 441 | this.model.on('change:font_style', function (model, value) { |
|
437 | 442 | this.update_attr('font-style', value); }, this); |
|
443 | ||
|
438 | 444 | this.model.on('change:font_weight', function (model, value) { |
|
439 | 445 | this.update_attr('font-weight', value); }, this); |
|
446 | ||
|
440 | 447 | this.model.on('change:font_size', function (model, value) { |
|
441 | 448 | this.update_attr('font-size', value); }, this); |
|
449 | ||
|
442 | 450 | this.model.on('change:font_family', function (model, value) { |
|
443 | 451 | this.update_attr('font-family', value); }, this); |
|
444 | this.update_classes([], this.model.get('_dom_classes')); | |
|
452 | ||
|
453 | this.model.on('change:padding', function (model, value) { | |
|
454 | this.update_attr('padding', value); }, this); | |
|
455 | ||
|
456 | this.model.on('change:margin', function (model, value) { | |
|
457 | this.update_attr('margin', value); }, this); | |
|
458 | ||
|
459 | this.after_displayed(function() { | |
|
460 | this.update_visible(this.model, this.model.get("visible")); | |
|
461 | this.update_css(this.model, this.model.get("_css")); | |
|
462 | ||
|
463 | this.update_classes([], this.model.get('_dom_classes')); | |
|
464 | this.update_attr('color', this.model.get('fore_color')); | |
|
465 | this.update_attr('background', this.model.get('back_color')); | |
|
466 | this.update_attr('width', this.model.get('width')); | |
|
467 | this.update_attr('height', this.model.get('height')); | |
|
468 | this.update_attr('border-color', this.model.get('border_color')); | |
|
469 | this.update_attr('border-width', this.model.get('border_width')); | |
|
470 | this.update_attr('border-style', this.model.get('border_style')); | |
|
471 | this.update_attr('font-style', this.model.get('font_style')); | |
|
472 | this.update_attr('font-weight', this.model.get('font_weight')); | |
|
473 | this.update_attr('font-size', this.model.get('font_size')); | |
|
474 | this.update_attr('font-family', this.model.get('font_family')); | |
|
475 | this.update_attr('padding', this.model.get('padding')); | |
|
476 | this.update_attr('margin', this.model.get('margin')); | |
|
477 | }, this); | |
|
445 | 478 | }, |
|
446 | 479 | |
|
447 | 480 | update_attr: function(name, value) { |
@@ -14,6 +14,12 b' define([' | |||
|
14 | 14 | this.model.on('change:children', function(model, value) { |
|
15 | 15 | this.update_children(model.previous('children'), value); |
|
16 | 16 | }, this); |
|
17 | this.model.on('change:overflow_x', function(model, value) { | |
|
18 | this.update_overflow_x(); | |
|
19 | }, this); | |
|
20 | this.model.on('change:overflow_y', function(model, value) { | |
|
21 | this.update_overflow_y(); | |
|
22 | }, this); | |
|
17 | 23 | }, |
|
18 | 24 | |
|
19 | 25 | update_attr: function(name, value) { |
@@ -26,6 +32,18 b' define([' | |||
|
26 | 32 | this.$box = this.$el; |
|
27 | 33 | this.$box.addClass('widget-box'); |
|
28 | 34 | this.update_children([], this.model.get('children')); |
|
35 | this.update_overflow_x(); | |
|
36 | this.update_overflow_y(); | |
|
37 | }, | |
|
38 | ||
|
39 | update_overflow_x: function() { | |
|
40 | // Called when the x-axis overflow setting is changed. | |
|
41 | this.$box.css('overflow-x', this.model.get('overflow_x')); | |
|
42 | }, | |
|
43 | ||
|
44 | update_overflow_y: function() { | |
|
45 | // Called when the y-axis overflow setting is changed. | |
|
46 | this.$box.css('overflow-y', this.model.get('overflow_y')); | |
|
29 | 47 | }, |
|
30 | 48 | |
|
31 | 49 | update_children: function(old_list, new_list) { |
@@ -385,6 +385,8 b' class DOMWidget(Widget):' | |||
|
385 | 385 | |
|
386 | 386 | width = CUnicode(sync=True) |
|
387 | 387 | height = CUnicode(sync=True) |
|
388 | padding = CUnicode(sync=True) | |
|
389 | margin = CUnicode(sync=True) | |
|
388 | 390 | |
|
389 | 391 | fore_color = Unicode(sync=True) |
|
390 | 392 | back_color = Unicode(sync=True) |
@@ -18,6 +18,16 b' class Box(DOMWidget):' | |||
|
18 | 18 | # Using a tuple here to force reassignment to update the list. |
|
19 | 19 | # When a proper notifying-list trait exists, that is what should be used here. |
|
20 | 20 | children = Tuple(sync=True, allow_none=False) |
|
21 | ||
|
22 | _overflow_values = ['visible', 'hidden', 'scroll', 'auto', 'initial', 'inherit', ''] | |
|
23 | overflow_x = CaselessStrEnum( | |
|
24 | values=_overflow_values, | |
|
25 | default_value='', allow_none=False, sync=True, help="""Specifies what | |
|
26 | happens to content that is too large for the rendered region.""") | |
|
27 | overflow_y = CaselessStrEnum( | |
|
28 | values=_overflow_values, | |
|
29 | default_value='', allow_none=False, sync=True, help="""Specifies what | |
|
30 | happens to content that is too large for the rendered region.""") | |
|
21 | 31 | |
|
22 | 32 | def __init__(self, children = (), **kwargs): |
|
23 | 33 | kwargs['children'] = children |
General Comments 0
You need to be logged in to leave comments.
Login now