ProgrammingBlocksDependency constructor
ProgrammingBlocksDependency({
- Color? backgroundCanvasColor,
- Curve? creationPanelAnimationCurve,
- Duration? creationPanelAnimationDuration,
- Color? creationPanelBackgroundColor,
- double? creationPanelHeight,
- Widget creationPanelOpenCloseBuilder()?,
- Widget creationSectionButtonBuilder(
- BuildContext context,
- CreationSectionData creationSectionData,
- bool selected
- double defaultFuntionSize = 2000,
- Duration? doubleTapAnimDuration,
- int dragDelay = 100,
- bool drawMainScope = true,
- bool enableFunctions = true,
- Color? foregroundCanvasColor,
- Color? functionsSectionColor,
- Widget functionTabsBuilder(
- BuildContext context,
- String tabName,
- bool selected
- Widget? injectorChild,
- Key? key,
- String mainFunctionName = 'Main',
- dynamic onChangeRunningState(
- RunningState runningState
- dynamic onProjectChange(
- ProgrammingBlocksProjectModel projectModel
- double? opacityScrollBars,
- ProgrammingBlocksProjectModel? projectModel,
- double? radiusScrollBars,
- Widget runBuilder(
- Color? enterBlockColor
- Color? scrollBarsColor,
- double? scrollBarsWeight,
- required List<
CreationSection> sections, - Widget stopBuilder()?,
- Widget trashBuilder(
- bool onBlockEnter
Implementation
ProgrammingBlocksDependency({
this.backgroundCanvasColor,
Curve? creationPanelAnimationCurve,
Duration? creationPanelAnimationDuration,
Color? creationPanelBackgroundColor,
double? creationPanelHeight,
Widget Function()? creationPanelOpenCloseBuilder,
this.creationSectionButtonBuilder,
this.defaultFuntionSize = 2000,
this.doubleTapAnimDuration,
int dragDelay = 100,
this.drawMainScope = true,
this.enableFunctions = true,
this.foregroundCanvasColor,
Color? functionsSectionColor,
this.functionTabsBuilder,
this.injectorChild,
Key? key,
this.mainFunctionName = 'Main',
this.onChangeRunningState,
this.onProjectChange,
this.opacityScrollBars,
ProgrammingBlocksProjectModel? projectModel,
this.radiusScrollBars,
Widget Function(Color? enterBlockColor)? runBuilder,
this.scrollBarsColor,
this.scrollBarsWeight,
required this.sections,
Widget Function()? stopBuilder,
Widget Function(bool onBlockEnter)? trashBuilder,
}) : _dragDelay = dragDelay < 100 ? 100 : dragDelay,
_projectModel = projectModel ??
ProjectModelSingletonBuilder().build(
defaultFuntionSize: defaultFuntionSize,
mainFunctionName: mainFunctionName,
drawMainScope: drawMainScope),
canvasController = CanvasController(
projectModel: projectModel ??
ProjectModelSingletonBuilder().build(
defaultFuntionSize: defaultFuntionSize,
mainFunctionName: mainFunctionName,
drawMainScope: drawMainScope),
),
panelController = CreationPanelController(
sections: [
...sections,
FunctionsSection(
color: functionsSectionColor,
),
],
configBlockModels: (projectModel ??
ProjectModelSingletonBuilder().build(
defaultFuntionSize: defaultFuntionSize,
mainFunctionName: mainFunctionName,
drawMainScope: drawMainScope,
))
.configurationModels,
),
super(
key: key,
child: injectorChild ??
CreationPanel(
trashBuilder: trashBuilder,
runBuilder: runBuilder,
stopBuilder: stopBuilder,
animationCurve: creationPanelAnimationCurve,
animationDuration: creationPanelAnimationDuration,
backgorundColor: creationPanelBackgroundColor,
creationSectionButtonBuilder: creationSectionButtonBuilder,
height: creationPanelHeight ?? 250,
openCloseBuilder: creationPanelOpenCloseBuilder,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (enableFunctions == true)
TabBar(
functionTabsBuilder: functionTabsBuilder,
),
Expanded(
child: ProgrammingBlocksDependencyCanvas(
foregroundCanvasColor: foregroundCanvasColor,
backgroundCanvasColor: backgroundCanvasColor,
scrollBarsColor: scrollBarsColor,
doubleTapAnimDuration: doubleTapAnimDuration,
opacityScrollBars: opacityScrollBars,
radiusScrollBars: radiusScrollBars,
scrollWeight: scrollBarsWeight),
),
],
),
)) {
blockTypes.clear();
blockTypes.addAll(_findBlockTypes());
}