Resolves #110: Slider improvements
This commit is contained in:
parent
70b6469bd1
commit
ce69f044fb
@ -161,12 +161,7 @@ class _EntityWidgetState extends State<EntityWidget> {
|
|||||||
if (widget.widgetType == EntityWidgetType.regular) {
|
if (widget.widgetType == EntityWidgetType.regular) {
|
||||||
return _buildMainWidget(context);
|
return _buildMainWidget(context);
|
||||||
} else if (widget.widgetType == EntityWidgetType.extended) {
|
} else if (widget.widgetType == EntityWidgetType.extended) {
|
||||||
return ListView(
|
return _buildExtendedWidget(context);
|
||||||
children: <Widget>[
|
|
||||||
_buildMainWidget(context),
|
|
||||||
_buildLastUpdatedWidget()
|
|
||||||
],
|
|
||||||
);
|
|
||||||
} else if (widget.widgetType == EntityWidgetType.badge) {
|
} else if (widget.widgetType == EntityWidgetType.badge) {
|
||||||
return _buildBadgeWidget(context);
|
return _buildBadgeWidget(context);
|
||||||
} else {
|
} else {
|
||||||
@ -175,6 +170,15 @@ class _EntityWidgetState extends State<EntityWidget> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget _buildExtendedWidget(BuildContext context) {
|
||||||
|
return ListView(
|
||||||
|
children: <Widget>[
|
||||||
|
_buildMainWidget(context),
|
||||||
|
_buildSecondRowWidget()
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
Widget _buildMainWidget(BuildContext context) {
|
Widget _buildMainWidget(BuildContext context) {
|
||||||
return SizedBox(
|
return SizedBox(
|
||||||
height: Entity.WIDGET_HEIGHT,
|
height: Entity.WIDGET_HEIGHT,
|
||||||
@ -205,7 +209,7 @@ class _EntityWidgetState extends State<EntityWidget> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget buildAdditionalWidget() {
|
Widget buildAdditionalWidget() {
|
||||||
return _buildLastUpdatedWidget();
|
return _buildSecondRowWidget();
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildIconWidget() {
|
Widget _buildIconWidget() {
|
||||||
@ -218,7 +222,7 @@ class _EntityWidgetState extends State<EntityWidget> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildLastUpdatedWidget() {
|
Widget _buildSecondRowWidget() {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: EdgeInsets.fromLTRB(
|
padding: EdgeInsets.fromLTRB(
|
||||||
Entity.LEFT_WIDGET_PADDING, Entity.SMALL_FONT_SIZE, 0.0, 0.0),
|
Entity.LEFT_WIDGET_PADDING, Entity.SMALL_FONT_SIZE, 0.0, 0.0),
|
||||||
|
@ -11,6 +11,11 @@ class _SliderEntityWidgetState extends _EntityWidgetState {
|
|||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
if (valueStep < 1) {
|
||||||
|
_multiplier = 10;
|
||||||
|
} else if (valueStep < 0.1) {
|
||||||
|
_multiplier = 100;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -20,12 +25,49 @@ class _SliderEntityWidgetState extends _EntityWidgetState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget _buildActionWidget(BuildContext context) {
|
Widget _buildExtendedWidget(BuildContext context) {
|
||||||
if (valueStep < 1) {
|
return ListView(
|
||||||
_multiplier = 10;
|
children: <Widget>[
|
||||||
} else if (valueStep < 0.1) {
|
_buildMainWidget(context),
|
||||||
_multiplier = 100;
|
_buildExtendedSlider(),
|
||||||
|
_buildSecondRowWidget()
|
||||||
|
],
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget _buildExtendedSlider() {
|
||||||
|
return Slider(
|
||||||
|
min: this.minValue * _multiplier,
|
||||||
|
max: this.maxValue * _multiplier,
|
||||||
|
value: (doubleState <= this.maxValue) &&
|
||||||
|
(doubleState >= this.minValue)
|
||||||
|
? doubleState * _multiplier
|
||||||
|
: this.minValue * _multiplier,
|
||||||
|
onChanged: (value) {
|
||||||
|
setState(() {
|
||||||
|
widget.entity.state =
|
||||||
|
(value.roundToDouble() / _multiplier).toString();
|
||||||
|
});
|
||||||
|
/*eventBus.fire(new StateChangedEvent(widget.entity.entityId,
|
||||||
|
(value.roundToDouble() / _multiplier).toString(), true));*/
|
||||||
|
},
|
||||||
|
onChangeEnd: (value) {
|
||||||
|
setNewState(value.roundToDouble() / _multiplier);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget _buildActionWidget(BuildContext context) {
|
||||||
|
Widget stateWidget = Padding(
|
||||||
|
padding: EdgeInsets.only(right: Entity.RIGHT_WIDGET_PADDING),
|
||||||
|
child: Text("${widget.entity.state}${widget.entity.unitOfMeasurement}",
|
||||||
|
textAlign: TextAlign.right,
|
||||||
|
style: new TextStyle(
|
||||||
|
fontSize: Entity.STATE_FONT_SIZE,
|
||||||
|
)),
|
||||||
|
);
|
||||||
|
if (widget.widgetType == EntityWidgetType.regular) {
|
||||||
return Expanded(
|
return Expanded(
|
||||||
//width: 200.0,
|
//width: 200.0,
|
||||||
child: Row(
|
child: Row(
|
||||||
@ -40,7 +82,8 @@ class _SliderEntityWidgetState extends _EntityWidgetState {
|
|||||||
: this.minValue * _multiplier,
|
: this.minValue * _multiplier,
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
widget.entity.state = (value.roundToDouble() / _multiplier).toString();
|
widget.entity.state =
|
||||||
|
(value.roundToDouble() / _multiplier).toString();
|
||||||
});
|
});
|
||||||
/*eventBus.fire(new StateChangedEvent(widget.entity.entityId,
|
/*eventBus.fire(new StateChangedEvent(widget.entity.entityId,
|
||||||
(value.roundToDouble() / _multiplier).toString(), true));*/
|
(value.roundToDouble() / _multiplier).toString(), true));*/
|
||||||
@ -50,16 +93,12 @@ class _SliderEntityWidgetState extends _EntityWidgetState {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Padding(
|
stateWidget
|
||||||
padding: EdgeInsets.only(right: Entity.RIGHT_WIDGET_PADDING),
|
|
||||||
child: Text("${widget.entity.state}${widget.entity.unitOfMeasurement}",
|
|
||||||
textAlign: TextAlign.right,
|
|
||||||
style: new TextStyle(
|
|
||||||
fontSize: Entity.STATE_FONT_SIZE,
|
|
||||||
)),
|
|
||||||
)
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
return stateWidget;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user