Halign dict colons

This commit is contained in:
Jonathan Frederic 2014-01-16 17:17:00 +00:00
parent bd3ba3328c
commit d317532a38
3 changed files with 163 additions and 147 deletions

View File

@ -110,9 +110,9 @@ define(["notebook/js/widgets/widget"], function(widget_manager){
events: {
// Dictionary of events and their handlers.
"keyup textarea": "handleChanging",
"paste textarea": "handleChanging",
"cut textarea": "handleChanging"
"keyup textarea" : "handleChanging",
"paste textarea" : "handleChanging",
"cut textarea" : "handleChanging"
},
handleChanging: function(e) {
@ -171,10 +171,10 @@ define(["notebook/js/widgets/widget"], function(widget_manager){
events: {
// Dictionary of events and their handlers.
"keyup input": "handleChanging",
"paste input": "handleChanging",
"cut input": "handleChanging",
"keypress input": "handleKeypress"
"keyup input" : "handleChanging",
"paste input" : "handleChanging",
"cut input" : "handleChanging",
"keypress input" : "handleKeypress"
},
handleChanging: function(e) {

View File

@ -1,90 +1,91 @@
/*
LESS file that styles IPython notebook widgets and the area they sit in.
The widget area typically looks something like this:
+------------------------------------------+
| widget-area |
| +--------+---------------------------+ |
| | prompt | widget-subarea | |
| | | +--------+ +--------+ | |
| | | | widget | | widget | | |
| | | +--------+ +--------+ | |
| +--------+---------------------------+ |
+------------------------------------------+
*/
.widget-area {
page-break-inside: avoid;
/*
LESS file that styles IPython notebook widgets and the area they sit in.
The widget area typically looks something like this:
+------------------------------------------+
| widget-area |
| +--------+---------------------------+ |
| | prompt | widget-subarea | |
| | | +--------+ +--------+ | |
| | | | widget | | widget | | |
| | | +--------+ +--------+ | |
| +--------+---------------------------+ |
+------------------------------------------+
*/
page-break-inside : avoid;
.hbox();
.widget-subarea {
padding: 0.44em 0.4em 0.4em 1px;
margin-left: 6px;
padding : 0.44em 0.4em 0.4em 1px;
margin-left : 6px;
.border-box-sizing();
.vbox();
.box-flex2();
}
}
/* THE CLASSES BELOW CAN APPEAR ANYWHERE IN THE DOM */
/* THE CLASSES BELOW CAN APPEAR ANYWHERE IN THE DOM (POSSIBLEY OUTSIDE OF
THE WIDGET AREA). */
/* Horizontal Label */
.widget-hlabel {
min-width: 10ex;
padding-right: 8px;
padding-top: 3px;
text-align: right;
vertical-align: text-top;
/* Horizontal Label */
min-width : 10ex;
padding-right : 8px;
padding-top : 3px;
text-align : right;
vertical-align : text-top;
}
/* Vertical Label */
.widget-vlabel {
padding-bottom: 5px;
text-align: center;
vertical-align: text-bottom;
/* Vertical Label */
padding-bottom : 5px;
text-align : center;
vertical-align : text-bottom;
}
/* Slider Track */
.slide-track {
border: 1px solid #CCCCCC;
background: #FFFFFF;
/* Slider Track */
border : 1px solid #CCCCCC;
background : #FFFFFF;
.corner-all(); /* Round the corners of the slide track */
}
/* Horizontal jQuery Slider
Both the horizontal and vertical versions of the slider are characterized
by a styled div that contains an invisible jQuery slide div which
contains a visible slider handle div. This is requred so we can control
how the slider is drawn and 'fix' the issue where the slide handle
doesn't stop at the end of the slide.
Both horizontal and vertical sliders have this div nesting:
+------------------------------------------+
| widget-(h/v)slider |
| +--------+---------------------------+ |
| | ui-slider | |
| | +------------------+ | |
| | | ui-slider-handle | | |
| | +------------------+ | |
| +--------+---------------------------+ |
+------------------------------------------+
*/
.widget-hslider {
/* Horizontal jQuery Slider
Both the horizontal and vertical versions of the slider are characterized
by a styled div that contains an invisible jQuery slide div which
contains a visible slider handle div. This is requred so we can control
how the slider is drawn and 'fix' the issue where the slide handle
doesn't stop at the end of the slide.
Both horizontal and vertical sliders have this div nesting:
+------------------------------------------+
| widget-(h/v)slider |
| +--------+---------------------------+ |
| | ui-slider | |
| | +------------------+ | |
| | | ui-slider-handle | | |
| | +------------------+ | |
| +--------+---------------------------+ |
+------------------------------------------+
*/
/* Fix the padding of the slide track so the ui-slider is sized
correctly. */
padding-left: 8px;
padding-right: 5px;
overflow: visible;
padding-left : 8px;
padding-right : 5px;
overflow : visible;
/* Default size of the slider */
width: 348px;
height: 5px;
max-height: 5px;
margin-top: 11px;
width : 348px;
height : 5px;
max-height : 5px;
margin-top : 11px;
/* Style the slider track */
.slide-track();
@ -92,36 +93,35 @@ Both horizontal and vertical sliders have this div nesting:
/* Make the div a flex box (makes FF behave correctly). */
.hbox();
/* Inner, invisible slide div */
.ui-slider {
border: 0px !important;
background: none !important;
/* Inner, invisible slide div */
border : 0px !important;
background : none !important;
.hbox();
.box-flex1();
.ui-slider-handle {
width: 14px !important;
height: 28px !important;
margin-top: -8px !important;
width : 14px !important;
height : 28px !important;
margin-top : -8px !important;
}
}
}
/* Vertical jQuery Slider */
.widget-vslider {
/* Vertical jQuery Slider */
/* Fix the padding of the slide track so the ui-slider is sized
correctly. */
padding-bottom: 8px;
overflow: visible;
padding-bottom : 8px;
overflow : visible;
/* Default size of the slider */
width: 5px;
max-width: 5px;
height: 250px;
margin-left: 12px;
width : 5px;
max-width : 5px;
height : 250px;
margin-left : 12px;
/* Style the slider track */
.slide-track();
@ -129,113 +129,123 @@ Both horizontal and vertical sliders have this div nesting:
/* Make the div a flex box (makes FF behave correctly). */
.vbox();
/* Inner, invisible slide div */
.ui-slider {
border: 0px !important;
background: none !important;
margin-left: -4px;
margin-top: 5px;
/* Inner, invisible slide div */
border : 0px !important;
background : none !important;
margin-left : -4px;
margin-top : 5px;
.vbox();
.box-flex1();
.ui-slider-handle {
width: 28px !important;
height: 14px !important;
margin-left: -9px;
width : 28px !important;
height : 14px !important;
margin-left : -9px;
}
}
}
/* String Textbox - used for TextBoxView and TextAreaView */
.widget-text {
width: 350px;
margin-bottom: 0px;
/* String Textbox - used for TextBoxView and TextAreaView */
width : 350px;
margin-bottom : 0px;
}
/* Listbox */
.widget-listbox {
width: 364px;
margin-bottom: 0px;
/* Listbox */
width : 364px;
margin-bottom : 0px;
}
/* Single Line Textbox - used for IntTextView and FloatTextView */
.widget-numeric-text {
width: 150px;
/* Single Line Textbox - used for IntTextView and FloatTextView */
width : 150px;
}
/* Progress Bar */
.widget-progress {
width: 363px;
/* Progress Bar */
width : 363px;
/* Disable progress bar animation */
.bar {
-webkit-transition: none;
-moz-transition: none;
-ms-transition: none;
-o-transition: none;
transition: none;
/* Disable progress bar animation */
-webkit-transition : none;
-moz-transition : none;
-ms-transition : none;
-o-transition : none;
transition : none;
}
}
/* ComboBox Main Button */
.widget-combo-btn {
min-width: 138px; /* + 26px drop arrow btn = 164px */
/* ComboBox Main Button */
min-width : 138px; /* + 26px drop arrow btn = 164px */
}
/* The following section sets the style for the invisible div that
hold widgets and their accompanying labels.
Looks like this:
+-----------------------------+
| widget-box (or similar) |
| +-------+---------------+ |
| | Label | Actual Widget | |
| +-------+---------------+ |
+-----------------------------+
*/
.widget-box {
/* The following section sets the style for the invisible div that
hold widgets and their accompanying labels.
Looks like this:
+-----------------------------+
| widget-box (or similar) |
| +-------+---------------+ |
| | Label | Actual Widget | |
| +-------+---------------+ |
+-----------------------------+
*/
margin : 5px;
.start();
.widget-container();
margin: 5px;
}
.widget-hbox { /* Horizontal widgets */
.widget-hbox {
/* Horizontal widgets */
.widget-box();
.hbox();
}
.widget-hbox-single { /* Single line horizontal widgets */
.widget-hbox-single {
/* Single line horizontal widgets */
height : 30px;
.widget-hbox();
height: 30px;
}
.widget-vbox-single { /* For vertical slides */
.widget-box();
.vbox();
width: 30px;
}
/* ContainerWidget - ModalView */
.widget-modal {
overflow: hidden;
position: absolute !important;
top: 0px;
left: 0px;
margin-left: 0px !important;
}
/* ContainerWidget - ModalView Body */
.widget-vbox-single {
/* For vertical slides */
width : 30px;
.widget-box();
.vbox();
}
.widget-modal {
/* ContainerWidget - ModalView */
overflow : hidden;
position : absolute !important;
top : 0px;
left : 0px;
margin-left : 0px !important;
}
.widget-modal-body {
/* ContainerWidget - ModalView Body */
max-height: none !important;
}
/* ContainerWidget */
.widget-container {
/* ContainerWidget */
.border-box-sizing();
}
/* Horizontal Label */
.docked-widget-modal {
/* Horizontal Label */
overflow: hidden;
position: relative !important;
top: 0px !important;
left: 0px !important;
margin-left: 0px !important;
}
}

View File

@ -179,8 +179,10 @@ class Widget(LoggingConfigurable):
key : unicode (optional)
A single property's name to sync with the front-end.
"""
self._send({"method": "update",
"state": self.get_state()})
self._send({
"method" : "update",
"state" : self.get_state()
})
def get_state(self, key=None):
"""Gets the widget state, or a piece of it.
@ -405,9 +407,11 @@ class DOMWidget(Widget):
if isinstance(class_list, list):
class_list = ' '.join(class_list)
self.send({"msg_type": "add_class",
"class_list": class_list,
"selector": selector})
self.send({
"msg_type" : "add_class",
"class_list" : class_list,
"selector" : selector
})
def remove_class(self, class_names, selector=""):
"""Remove class[es] from a DOM element.
@ -424,6 +428,8 @@ class DOMWidget(Widget):
if isinstance(class_list, list):
class_list = ' '.join(class_list)
self.send({"msg_type": "remove_class",
"class_list": class_list,
"selector": selector})
self.send({
"msg_type" : "remove_class",
"class_list" : class_list,
"selector" : selector,
})