createFundamentalTheme method
AFFundamentalThemeState
createFundamentalTheme(
- AFFundamentalDeviceTheme device,
- AFComponentStates areas,
- Iterable<
AFCoreLibraryExtensionContext> libraries
Implementation
AFFundamentalThemeState createFundamentalTheme(AFFundamentalDeviceTheme device, AFComponentStates areas, Iterable<AFCoreLibraryExtensionContext> libraries) {
final builder = AFAppFundamentalThemeAreaBuilder.create();
final initThemeArea = this.defineAppFundamentalTheme;
if(initThemeArea != null) {
initThemeArea(device, areas, builder);
}
for(final init in this.defineFundamentalLibraryThemes) {
init(device, areas, builder);
}
if(AFibD.config.requiresPrototypeData) {
initPrototypeThemeArea(device, areas, builder);
}
for(final library in libraries) {
final inits = library.defineFundamentalLibraryThemes;
for(final init in inits) {
init(device, areas, builder);
}
}
final primaryArea = builder.create();
final marginSpacing = builder.createMarginSpacing();
final paddingSpacing = builder.createPaddingSpacing();
final borderRadius = builder.createBorderRadius();
builder.setTranslations(AFUILocaleID.universal, {
AFUITranslationID.appTitle: "App Title",
AFUITranslationID.widgetPrototypes: "Widget Prototypes",
AFUITranslationID.screenPrototypes: "UI Prototypes",
AFUITranslationID.workflowTests: "Workflow Tests",
AFUITranslationID.stateTests: "State Tests",
AFUITranslationID.libraries: "Libraries",
AFUITranslationID.searchResults: "Search Results",
AFUITranslationID.testResults: "Test Results",
AFUITranslationID.run: "Run {0}",
AFUITranslationID.prototype: "Prototype",
AFUITranslationID.release: "Release",
AFUITranslationID.recent: "Recent",
AFUITranslationID.favorites: "Favorites",
AFUITranslationID.afibPrototypeMode: "${AFibD.config.appNamespace.toUpperCase()} Prototype Mode",
AFUITranslationID.afibPrototypeLoading: "",
AFUITranslationID.wireframes: "Wireframes",
AFUITranslationID.afibUnimplemented: "Unimplemented",
});
final result = AFFundamentalThemeState(
device: device,
area: primaryArea,
marginSpacing: marginSpacing,
paddingSpacing: paddingSpacing,
borderRadius: borderRadius,
themeData: null,
);
result.resolve();
return result;
}