Skip to content

Commit 00c9e29

Browse files
committed
refactor: use const constructors for widget and device registry entries
1 parent 39ec44c commit 00c9e29

File tree

9 files changed

+166
-169
lines changed

9 files changed

+166
-169
lines changed
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import 'device_registry_entry.dart';
22

33
final List<DeviceRegistryEntry> deviceRegistryEntries = [
4-
DeviceRegistryEntry(name: 'iPhone 14', width: 390, height: 844),
5-
DeviceRegistryEntry(name: 'Pixel 7', width: 412, height: 915),
6-
DeviceRegistryEntry(name: 'iPad Pro 11"', width: 834, height: 1194),
7-
DeviceRegistryEntry(name: 'Desktop HD', width: 1440, height: 900),
8-
DeviceRegistryEntry(name: 'Responsive', isResponsive: true),
4+
const DeviceRegistryEntry(name: 'iPhone 14', width: 390, height: 844),
5+
const DeviceRegistryEntry(name: 'Pixel 7', width: 412, height: 915),
6+
const DeviceRegistryEntry(name: 'iPad Pro 11"', width: 834, height: 1194),
7+
const DeviceRegistryEntry(name: 'Desktop HD', width: 1440, height: 900),
8+
const DeviceRegistryEntry(name: 'Responsive', isResponsive: true),
99
];

lib/models/widget_registry_data.dart

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ final List<WidgetRegistryEntry> widgetRegistryEntries = [
5050
'width': 200.0,
5151
'height': 300.0,
5252
},
53-
defaultSize: const Size(200, 300),
53+
defaultSize: Size(200, 300),
5454
),
5555

5656
const WidgetRegistryEntry(
@@ -98,7 +98,7 @@ final List<WidgetRegistryEntry> widgetRegistryEntries = [
9898
'width': 200.0,
9999
'height': 300.0,
100100
},
101-
defaultSize: const Size(200, 300),
101+
defaultSize: Size(200, 300),
102102
),
103103

104104
const WidgetRegistryEntry(
@@ -160,7 +160,7 @@ final List<WidgetRegistryEntry> widgetRegistryEntries = [
160160
'shadowBlurRadius': 0.0,
161161
'shadowSpreadRadius': 0.0,
162162
},
163-
defaultSize: const Size(200, 100),
163+
defaultSize: Size(200, 100),
164164
),
165165

166166
const WidgetRegistryEntry(
@@ -211,7 +211,7 @@ final List<WidgetRegistryEntry> widgetRegistryEntries = [
211211
'drawerEnableOpenDragGesture': true,
212212
'endDrawerEnableOpenDragGesture': true,
213213
},
214-
defaultSize: const Size(200, 300),
214+
defaultSize: Size(200, 300),
215215
),
216216

217217
const WidgetRegistryEntry(
@@ -230,7 +230,7 @@ final List<WidgetRegistryEntry> widgetRegistryEntries = [
230230
'width': 100.0,
231231
'height': 40.0,
232232
},
233-
defaultSize: const Size(100, 40),
233+
defaultSize: Size(100, 40),
234234
),
235235

236236
const WidgetRegistryEntry(
@@ -247,7 +247,7 @@ final List<WidgetRegistryEntry> widgetRegistryEntries = [
247247
defaultProperties: {
248248
'flex': 1,
249249
},
250-
defaultSize: const Size(0, 0),
250+
defaultSize: Size(0, 0),
251251
),
252252

253253
const WidgetRegistryEntry(
@@ -324,7 +324,7 @@ final List<WidgetRegistryEntry> widgetRegistryEntries = [
324324
'decoration': 'none',
325325
'textDirection': 'ltr',
326326
},
327-
defaultSize: const Size(100, 60),
327+
defaultSize: Size(100, 60),
328328
),
329329

330330
const WidgetRegistryEntry(
@@ -434,7 +434,7 @@ final List<WidgetRegistryEntry> widgetRegistryEntries = [
434434
'scale': 1.0,
435435
'semanticLabel': null,
436436
},
437-
defaultSize: const Size(100, 60),
437+
defaultSize: Size(100, 60),
438438
),
439439

440440
const WidgetRegistryEntry(
@@ -469,6 +469,6 @@ final List<WidgetRegistryEntry> widgetRegistryEntries = [
469469
'applyTextScaling': false,
470470
'shadows': null,
471471
},
472-
defaultSize: const Size(40, 40),
472+
defaultSize: Size(40, 40),
473473
),
474474
];

lib/services/code_generator_service.dart

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ class CodeGeneratorService {
5353
if (glimpseWidget.children != null && glimpseWidget.children.isNotEmpty) {
5454
buffer.write('\n${indentStr}children: [');
5555
for (final child in glimpseWidget.children) {
56-
buffer.write('\n${indentStr} ${_generateGlimpseWidgetCode(child, indent + 2)},');
56+
buffer.write('\n$indentStr ${_generateGlimpseWidgetCode(child, indent + 2)},');
5757
}
58-
buffer.write('\n${indentStr}],');
58+
buffer.write('\n$indentStr],');
5959
}
6060
if (glimpseWidget.mainAxisAlignment != null) buffer.write('\n${indentStr}mainAxisAlignment: MainAxisAlignment.${glimpseWidget.mainAxisAlignment.toString().split('.').last},');
6161
if (glimpseWidget.crossAxisAlignment != null) buffer.write('\n${indentStr}crossAxisAlignment: CrossAxisAlignment.${glimpseWidget.crossAxisAlignment.toString().split('.').last},');
@@ -66,9 +66,9 @@ class CodeGeneratorService {
6666
if (glimpseWidget.children != null && glimpseWidget.children.isNotEmpty) {
6767
buffer.write('\n${indentStr}children: [');
6868
for (final child in glimpseWidget.children) {
69-
buffer.write('\n${indentStr} ${_generateGlimpseWidgetCode(child, indent + 2)},');
69+
buffer.write('\n$indentStr ${_generateGlimpseWidgetCode(child, indent + 2)},');
7070
}
71-
buffer.write('\n${indentStr}],');
71+
buffer.write('\n$indentStr],');
7272
}
7373
if (glimpseWidget.mainAxisAlignment != null) buffer.write('\n${indentStr}mainAxisAlignment: MainAxisAlignment.${glimpseWidget.mainAxisAlignment.toString().split('.').last},');
7474
if (glimpseWidget.crossAxisAlignment != null) buffer.write('\n${indentStr}crossAxisAlignment: CrossAxisAlignment.${glimpseWidget.crossAxisAlignment.toString().split('.').last},');
@@ -147,130 +147,130 @@ class CodeGeneratorService {
147147
buffer.write('Scaffold(');
148148
if (node.properties['backgroundColor'] != null) {
149149
final color = node.properties['backgroundColor'].toString();
150-
buffer.write('\n${indentStr} backgroundColor: Color(${color.replaceFirst('#', '0x')}),');
150+
buffer.write('\n$indentStr backgroundColor: Color(${color.replaceFirst('#', '0x')}),');
151151
}
152152
if (node.children.isNotEmpty) {
153-
buffer.write('\n${indentStr} body: ${_generateWidgetCode(node.children.first, indent + 1, theme)},');
153+
buffer.write('\n$indentStr body: ${_generateWidgetCode(node.children.first, indent + 1, theme)},');
154154
}
155155
buffer.write('\n$indentStr)');
156156
break;
157157

158158
case 'Container Widget':
159159
buffer.write('Container(');
160160
if (node.properties['width'] != null) {
161-
buffer.write('\n${indentStr} width: ${node.properties['width']},');
161+
buffer.write('\n$indentStr width: ${node.properties['width']},');
162162
}
163163
if (node.properties['height'] != null) {
164-
buffer.write('\n${indentStr} height: ${node.properties['height']},');
164+
buffer.write('\n$indentStr height: ${node.properties['height']},');
165165
}
166166
if (node.properties['padding'] != null && node.properties['padding'] > 0) {
167-
buffer.write('\n${indentStr} padding: EdgeInsets.all(${node.properties['padding']}),');
167+
buffer.write('\n$indentStr padding: EdgeInsets.all(${node.properties['padding']}),');
168168
}
169169
if (node.properties['margin'] != null && node.properties['margin'] > 0) {
170-
buffer.write('\n${indentStr} margin: EdgeInsets.all(${node.properties['margin']}),');
170+
buffer.write('\n$indentStr margin: EdgeInsets.all(${node.properties['margin']}),');
171171
}
172172

173173
final hasDecoration = node.properties['color'] != null ||
174174
node.properties['borderRadius'] != null ||
175175
node.properties['borderWidth'] != null;
176176
if (hasDecoration) {
177-
buffer.write('\n${indentStr} decoration: BoxDecoration(');
177+
buffer.write('\n$indentStr decoration: BoxDecoration(');
178178
if (node.properties['color'] != null) {
179179
final color = node.properties['color'].toString();
180-
buffer.write('\n${indentStr} color: Color(${color.replaceFirst('#', '0x')}),');
180+
buffer.write('\n$indentStr color: Color(${color.replaceFirst('#', '0x')}),');
181181
}
182182
if (node.properties['borderRadius'] != null) {
183-
buffer.write('\n${indentStr} borderRadius: BorderRadius.circular(${node.properties['borderRadius']}),');
183+
buffer.write('\n$indentStr borderRadius: BorderRadius.circular(${node.properties['borderRadius']}),');
184184
}
185185
if (node.properties['borderWidth'] != null && node.properties['borderWidth'] > 0) {
186186
final borderColor = node.properties['borderColor']?.toString() ?? '#FF666666';
187-
buffer.write('\n${indentStr} border: Border.all(');
188-
buffer.write('\n${indentStr} color: Color(${borderColor.replaceFirst('#', '0x')}),');
189-
buffer.write('\n${indentStr} width: ${node.properties['borderWidth']},');
190-
buffer.write('\n${indentStr} ),');
187+
buffer.write('\n$indentStr border: Border.all(');
188+
buffer.write('\n$indentStr color: Color(${borderColor.replaceFirst('#', '0x')}),');
189+
buffer.write('\n$indentStr width: ${node.properties['borderWidth']},');
190+
buffer.write('\n$indentStr ),');
191191
}
192-
buffer.write('\n${indentStr} ),');
192+
buffer.write('\n$indentStr ),');
193193
}
194194

195195
if (node.children.isNotEmpty) {
196-
buffer.write('\n${indentStr} child: ${_generateWidgetCode(node.children.first, indent + 1, theme)},');
196+
buffer.write('\n$indentStr child: ${_generateWidgetCode(node.children.first, indent + 1, theme)},');
197197
}
198198
buffer.write('\n$indentStr)');
199199
break;
200200

201201
case 'Row Widget':
202202
buffer.write('Row(');
203203
if (node.properties['mainAxisAlignment'] != null) {
204-
buffer.write('\n${indentStr} mainAxisAlignment: MainAxisAlignment.${node.properties['mainAxisAlignment']},');
204+
buffer.write('\n$indentStr mainAxisAlignment: MainAxisAlignment.${node.properties['mainAxisAlignment']},');
205205
}
206206
if (node.properties['crossAxisAlignment'] != null) {
207-
buffer.write('\n${indentStr} crossAxisAlignment: CrossAxisAlignment.${node.properties['crossAxisAlignment']},');
207+
buffer.write('\n$indentStr crossAxisAlignment: CrossAxisAlignment.${node.properties['crossAxisAlignment']},');
208208
}
209209
if (node.children.isNotEmpty) {
210-
buffer.write('\n${indentStr} children: [');
210+
buffer.write('\n$indentStr children: [');
211211
for (final child in node.children) {
212-
buffer.write('\n${indentStr} ${_generateWidgetCode(child, indent + 2, theme)},');
212+
buffer.write('\n$indentStr ${_generateWidgetCode(child, indent + 2, theme)},');
213213
}
214-
buffer.write('\n${indentStr} ],');
214+
buffer.write('\n$indentStr ],');
215215
}
216216
buffer.write('\n$indentStr)');
217217
break;
218218

219219
case 'Column Widget':
220220
buffer.write('Column(');
221221
if (node.properties['mainAxisAlignment'] != null) {
222-
buffer.write('\n${indentStr} mainAxisAlignment: MainAxisAlignment.${node.properties['mainAxisAlignment']},');
222+
buffer.write('\n$indentStr mainAxisAlignment: MainAxisAlignment.${node.properties['mainAxisAlignment']},');
223223
}
224224
if (node.properties['crossAxisAlignment'] != null) {
225-
buffer.write('\n${indentStr} crossAxisAlignment: CrossAxisAlignment.${node.properties['crossAxisAlignment']},');
225+
buffer.write('\n$indentStr crossAxisAlignment: CrossAxisAlignment.${node.properties['crossAxisAlignment']},');
226226
}
227227
if (node.children.isNotEmpty) {
228-
buffer.write('\n${indentStr} children: [');
228+
buffer.write('\n$indentStr children: [');
229229
for (final child in node.children) {
230-
buffer.write('\n${indentStr} ${_generateWidgetCode(child, indent + 2, theme)},');
230+
buffer.write('\n$indentStr ${_generateWidgetCode(child, indent + 2, theme)},');
231231
}
232-
buffer.write('\n${indentStr} ],');
232+
buffer.write('\n$indentStr ],');
233233
}
234234
buffer.write('\n$indentStr)');
235235
break;
236236

237237
case 'Text Widget':
238238
final text = node.properties['text']?.toString() ?? 'Text';
239239
buffer.write('Text(');
240-
buffer.write('\n${indentStr} \'$text\',');
241-
buffer.write('\n${indentStr} style: TextStyle(');
240+
buffer.write('\n$indentStr \'$text\',');
241+
buffer.write('\n$indentStr style: TextStyle(');
242242
if (node.properties['fontSize'] != null) {
243-
buffer.write('\n${indentStr} fontSize: ${node.properties['fontSize']},');
243+
buffer.write('\n$indentStr fontSize: ${node.properties['fontSize']},');
244244
}
245245
if (node.properties['color'] != null) {
246246
final color = node.properties['color'].toString();
247-
buffer.write('\n${indentStr} color: Color(${color.replaceFirst('#', '0x')}),');
247+
buffer.write('\n$indentStr color: Color(${color.replaceFirst('#', '0x')}),');
248248
}
249249
if (node.properties['fontWeight'] != null && node.properties['fontWeight'] != 'normal') {
250-
buffer.write('\n${indentStr} fontWeight: FontWeight.${node.properties['fontWeight']},');
250+
buffer.write('\n$indentStr fontWeight: FontWeight.${node.properties['fontWeight']},');
251251
}
252-
buffer.write('\n${indentStr} ),');
252+
buffer.write('\n$indentStr ),');
253253
if (node.properties['textAlign'] != null && node.properties['textAlign'] != 'left') {
254-
buffer.write('\n${indentStr} textAlign: TextAlign.${node.properties['textAlign']},');
254+
buffer.write('\n$indentStr textAlign: TextAlign.${node.properties['textAlign']},');
255255
}
256256
buffer.write('\n$indentStr)');
257257
break;
258258

259259
case 'TextField Widget':
260260
buffer.write('TextField(');
261-
buffer.write('\n${indentStr} decoration: InputDecoration(');
261+
buffer.write('\n$indentStr decoration: InputDecoration(');
262262
if (node.properties['hintText'] != null) {
263-
buffer.write('\n${indentStr} hintText: \'${node.properties['hintText']}\',');
263+
buffer.write('\n$indentStr hintText: \'${node.properties['hintText']}\',');
264264
}
265265
if (node.properties['labelText'] != null) {
266-
buffer.write('\n${indentStr} labelText: \'${node.properties['labelText']}\',');
266+
buffer.write('\n$indentStr labelText: \'${node.properties['labelText']}\',');
267267
}
268-
buffer.write('\n${indentStr} ),');
268+
buffer.write('\n$indentStr ),');
269269
if (node.properties['obscureText'] == true) {
270-
buffer.write('\n${indentStr} obscureText: true,');
270+
buffer.write('\n$indentStr obscureText: true,');
271271
}
272272
if (node.properties['maxLines'] != null && node.properties['maxLines'] != 1) {
273-
buffer.write('\n${indentStr} maxLines: ${(node.properties['maxLines'] as double).toInt()},');
273+
buffer.write('\n$indentStr maxLines: ${(node.properties['maxLines'] as double).toInt()},');
274274
}
275275
buffer.write('\n$indentStr)');
276276
break;

lib/viewmodels/design_canvas_viewmodel.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import 'widget_tree_service.dart';
99
import 'glimpse_conversion_service.dart';
1010
import 'import_export_service.dart';
1111

12-
final Uuid globalUuid = Uuid();
12+
const Uuid globalUuid = Uuid();
1313

1414
class DesignCanvasViewModel extends ChangeNotifier {
1515
WidgetNode _rootWidgetNode;

lib/views/widgets/build_pane.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ class _BuildPaneState extends State<BuildPane> {
255255
return GridView(
256256
shrinkWrap: true,
257257
physics: const NeverScrollableScrollPhysics(),
258-
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
258+
gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent(
259259
maxCrossAxisExtent: desiredTileWidth,
260260
mainAxisSpacing: 8,
261261
crossAxisSpacing: 8,

0 commit comments

Comments
 (0)