mirror of
https://github.com/rive-app/rive-flutter.git
synced 2025-05-20 14:56:37 +08:00
Xxxx databinding add boolean
Adding booleans to the list of view model primitives Diffs= e66e242c6 Xxxx databinding add boolean (#7456) Co-authored-by: hernan <hernan@rive.app>
This commit is contained in:
@ -1 +1 @@
|
||||
9cd8759a02aaa45684e80a8d77671c1536ab387d
|
||||
e66e242c649e3e61f12a3adbd824bcd9a7525a53
|
||||
|
@ -156,6 +156,7 @@ import 'package:rive/src/rive_core/viewmodel/data_enum_value.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_component.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_boolean.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_color.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_enum.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_list.dart';
|
||||
@ -164,6 +165,7 @@ import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_number.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_string.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_viewmodel.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_property.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_property_boolean.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_property_color.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_property_enum.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_property_list.dart';
|
||||
@ -197,12 +199,16 @@ class RiveCoreContext {
|
||||
return ViewModelPropertyViewModel();
|
||||
case ViewModelInstanceBase.typeKey:
|
||||
return ViewModelInstance();
|
||||
case ViewModelPropertyBooleanBase.typeKey:
|
||||
return ViewModelPropertyBoolean();
|
||||
case DataEnumBase.typeKey:
|
||||
return DataEnum();
|
||||
case ViewModelPropertyEnumBase.typeKey:
|
||||
return ViewModelPropertyEnum();
|
||||
case ViewModelPropertyColorBase.typeKey:
|
||||
return ViewModelPropertyColor();
|
||||
case ViewModelInstanceBooleanBase.typeKey:
|
||||
return ViewModelInstanceBoolean();
|
||||
case ViewModelInstanceListBase.typeKey:
|
||||
return ViewModelInstanceList();
|
||||
case ViewModelInstanceNumberBase.typeKey:
|
||||
@ -519,6 +525,11 @@ class RiveCoreContext {
|
||||
object.enumId = value;
|
||||
}
|
||||
break;
|
||||
case ViewModelInstanceBooleanBase.propertyValuePropertyKey:
|
||||
if (object is ViewModelInstanceBooleanBase && value is bool) {
|
||||
object.propertyValue = value;
|
||||
}
|
||||
break;
|
||||
case ViewModelInstanceNumberBase.propertyValuePropertyKey:
|
||||
if (object is ViewModelInstanceNumberBase && value is double) {
|
||||
object.propertyValue = value;
|
||||
@ -2087,6 +2098,7 @@ class RiveCoreContext {
|
||||
static CoreFieldType? coreType(int propertyKey) {
|
||||
switch (propertyKey) {
|
||||
case ViewModelInstanceListItemBase.useLinkedArtboardPropertyKey:
|
||||
case ViewModelInstanceBooleanBase.propertyValuePropertyKey:
|
||||
case TransformComponentConstraintBase.offsetPropertyKey:
|
||||
case TransformComponentConstraintBase.doesCopyPropertyKey:
|
||||
case TransformComponentConstraintBase.minPropertyKey:
|
||||
@ -2440,6 +2452,8 @@ class RiveCoreContext {
|
||||
switch (propertyKey) {
|
||||
case ViewModelInstanceListItemBase.useLinkedArtboardPropertyKey:
|
||||
return (object as ViewModelInstanceListItemBase).useLinkedArtboard;
|
||||
case ViewModelInstanceBooleanBase.propertyValuePropertyKey:
|
||||
return (object as ViewModelInstanceBooleanBase).propertyValue;
|
||||
case TransformComponentConstraintBase.offsetPropertyKey:
|
||||
return (object as TransformComponentConstraintBase).offset;
|
||||
case TransformComponentConstraintBase.doesCopyPropertyKey:
|
||||
@ -3131,6 +3145,11 @@ class RiveCoreContext {
|
||||
object.useLinkedArtboard = value;
|
||||
}
|
||||
break;
|
||||
case ViewModelInstanceBooleanBase.propertyValuePropertyKey:
|
||||
if (object is ViewModelInstanceBooleanBase) {
|
||||
object.propertyValue = value;
|
||||
}
|
||||
break;
|
||||
case TransformComponentConstraintBase.offsetPropertyKey:
|
||||
if (object is TransformComponentConstraintBase) {
|
||||
object.offset = value;
|
||||
|
@ -0,0 +1,51 @@
|
||||
// Core automatically generated
|
||||
// lib/src/generated/viewmodel/viewmodel_instance_boolean_base.dart.
|
||||
// Do not modify manually.
|
||||
|
||||
import 'package:rive/src/core/core.dart';
|
||||
import 'package:rive/src/generated/viewmodel/viewmodel_instance_value_base.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_value.dart';
|
||||
|
||||
abstract class ViewModelInstanceBooleanBase extends ViewModelInstanceValue {
|
||||
static const int typeKey = 449;
|
||||
@override
|
||||
int get coreType => ViewModelInstanceBooleanBase.typeKey;
|
||||
@override
|
||||
Set<int> get coreTypes => {
|
||||
ViewModelInstanceBooleanBase.typeKey,
|
||||
ViewModelInstanceValueBase.typeKey
|
||||
};
|
||||
|
||||
/// --------------------------------------------------------------------------
|
||||
/// PropertyValue field with key 593.
|
||||
static const int propertyValuePropertyKey = 593;
|
||||
static const bool propertyValueInitialValue = false;
|
||||
bool _propertyValue = propertyValueInitialValue;
|
||||
|
||||
/// The boolean value.
|
||||
bool get propertyValue => _propertyValue;
|
||||
|
||||
/// Change the [_propertyValue] field value.
|
||||
/// [propertyValueChanged] will be invoked only if the field's value has
|
||||
/// changed.
|
||||
set propertyValue(bool value) {
|
||||
if (_propertyValue == value) {
|
||||
return;
|
||||
}
|
||||
bool from = _propertyValue;
|
||||
_propertyValue = value;
|
||||
if (hasValidated) {
|
||||
propertyValueChanged(from, value);
|
||||
}
|
||||
}
|
||||
|
||||
void propertyValueChanged(bool from, bool to);
|
||||
|
||||
@override
|
||||
void copy(Core source) {
|
||||
super.copy(source);
|
||||
if (source is ViewModelInstanceBooleanBase) {
|
||||
_propertyValue = source._propertyValue;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
// Core automatically generated
|
||||
// lib/src/generated/viewmodel/viewmodel_property_boolean_base.dart.
|
||||
// Do not modify manually.
|
||||
|
||||
import 'package:rive/src/generated/viewmodel/viewmodel_component_base.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_property.dart';
|
||||
|
||||
abstract class ViewModelPropertyBooleanBase extends ViewModelProperty {
|
||||
static const int typeKey = 448;
|
||||
@override
|
||||
int get coreType => ViewModelPropertyBooleanBase.typeKey;
|
||||
@override
|
||||
Set<int> get coreTypes => {
|
||||
ViewModelPropertyBooleanBase.typeKey,
|
||||
ViewModelPropertyBase.typeKey,
|
||||
ViewModelComponentBase.typeKey
|
||||
};
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
import 'package:rive/src/core/core.dart';
|
||||
import 'package:rive/src/rive_core/data_bind/context/context_value.dart';
|
||||
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_boolean.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_value.dart';
|
||||
|
||||
class ContextValueBoolean extends ContextValue {
|
||||
ContextValueBoolean(ViewModelInstanceValue? source) : super(source);
|
||||
|
||||
@override
|
||||
void apply(Core<CoreContext> core, int propertyKey) {
|
||||
if (source?.coreType == ViewModelInstanceBooleanBase.typeKey) {
|
||||
final sourceBoolean = source as ViewModelInstanceBoolean;
|
||||
|
||||
RiveCoreContext.setBool(core, propertyKey, sourceBoolean.propertyValue);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void applyToSource(Core<CoreContext> core, int propertyKey) {
|
||||
final value = RiveCoreContext.getBool(core, propertyKey);
|
||||
final sourceBoolean = source as ViewModelInstanceBoolean;
|
||||
sourceBoolean.propertyValue = value;
|
||||
}
|
||||
}
|
@ -17,5 +17,9 @@ class ContextValueColor extends ContextValue {
|
||||
}
|
||||
|
||||
@override
|
||||
void applyToSource(Core<CoreContext> core, int propertyKey) {}
|
||||
void applyToSource(Core<CoreContext> core, int propertyKey) {
|
||||
final value = RiveCoreContext.getColor(core, propertyKey);
|
||||
final sourceColor = source as ViewModelInstanceColor;
|
||||
sourceColor.propertyValue = value;
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,11 @@
|
||||
import 'package:rive/src/generated/data_bind/data_bind_base.dart';
|
||||
import 'package:rive/src/rive_core/component.dart';
|
||||
import 'package:rive/src/rive_core/data_bind/context/context_value.dart';
|
||||
import 'package:rive/src/rive_core/data_bind/context/context_value_boolean.dart';
|
||||
import 'package:rive/src/rive_core/data_bind/context/context_value_color.dart';
|
||||
import 'package:rive/src/rive_core/data_bind/context/context_value_number.dart';
|
||||
import 'package:rive/src/rive_core/data_bind/context/context_value_string.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_boolean.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_color.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_enum.dart';
|
||||
import 'package:rive/src/rive_core/viewmodel/viewmodel_instance_list.dart';
|
||||
@ -68,6 +70,9 @@ class DataBind extends DataBindBase {
|
||||
case ViewModelInstanceColorBase.typeKey:
|
||||
contextValue = ContextValueColor(source);
|
||||
break;
|
||||
case ViewModelInstanceBooleanBase.typeKey:
|
||||
contextValue = ContextValueBoolean(source);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
11
lib/src/rive_core/viewmodel/viewmodel_instance_boolean.dart
Normal file
11
lib/src/rive_core/viewmodel/viewmodel_instance_boolean.dart
Normal file
@ -0,0 +1,11 @@
|
||||
import 'package:rive/src/generated/viewmodel/viewmodel_instance_boolean_base.dart';
|
||||
import 'package:rive/src/rive_core/component_dirt.dart';
|
||||
|
||||
export 'package:rive/src/generated/viewmodel/viewmodel_instance_boolean_base.dart';
|
||||
|
||||
class ViewModelInstanceBoolean extends ViewModelInstanceBooleanBase {
|
||||
@override
|
||||
void propertyValueChanged(bool from, bool to) {
|
||||
addDirt(ComponentDirt.bindings);
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
import 'package:rive/src/generated/viewmodel/viewmodel_property_boolean_base.dart';
|
||||
|
||||
export 'package:rive/src/generated/viewmodel/viewmodel_property_boolean_base.dart';
|
||||
|
||||
class ViewModelPropertyBoolean extends ViewModelPropertyBooleanBase {}
|
Reference in New Issue
Block a user