Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save scheglov/2d0de1834f8b27e97cfd84ce08eab83c to your computer and use it in GitHub Desktop.
Save scheglov/2d0de1834f8b27e97cfd84ce08eab83c to your computer and use it in GitHub Desktop.
import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
final String firstText;
MyWidget(this.firstText);
factory MyWidget.forDesignTime() {
return _registerWidgetInstance(0, new MyWidget('AA'));
}
@override
Widget build(BuildContext context) {
return _registerWidgetInstance(1, new Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
_registerWidgetInstance(2, buildText(firstText)),
_registerWidgetInstance(3, buildText('BBBB')),
_registerWidgetInstance(4, buildText('CCCCCC')),
_registerWidgetInstance(5, buildText('DDDDDDDD')),
],
));
}
Text buildText(String text) {
return _registerWidgetInstance(6, new Text(text, style: const TextStyle(fontSize: 24.0)));
}
}
final flutterDesignerWidgets = <int, Widget>{};
T _registerWidgetInstance<T extends Widget>(int id, T widget) {
flutterDesignerWidgets[id] = widget;
return widget;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment