site library
These classes are used to assemble the Missile Site structure.
The structure is a hierarchy in that it contains several nested SamModel
complexes. They
are organized as follows.
- MissileSite - the outer structure
- Bank - Zero or more banks for each Missile type that can be configured. They report (signal) to MissileSite as their status changes.
- Within each bank 1 or more Missile models that is independent of each other but that report (signal) to the Bank as to its status.
Typically many of these classes and methods would be private. They are kept public here so that the code can be documented.
Names are very important in Flutter applications and can be used to find dependent parts of application code using the tools provided with Android Studio (and presumably with Visual Studio).
During development we use log
statements to record useful data and to
ascertain timing and sequencing of events. We use the log
statement wrapped in an
assert statement so that the log statement and literal values disappear in production mode.
The dart literal interpolation is a major help in doing the logging.
Classes
- Bank
- BankFactory
- Missile
-
Extend
Rocket
class to treat as a Missile. [...] - MissileSite
-
MissileSite
SamModel
injected into widget tree. [...] - MissileSiteFactory
- Constructor for MissileSiteFactory [...]
- MissileSitePage
-
The
StatefulWidget
that is the app display page once built. [...] - MissileSitePageState
-
State part of
StateWidget
MissileSitePage.
Functions
-
getBank(
MissileSite site, SamFactory bankMold, Config cfg, String name, int ix, double wid, double hgt, int depth, Color color) → Bank -
Return a Bank
SamModel
[...] -
getHeader(
String name, int numBanks, int depth, double width, Color color, double hdrHgt) → Widget - Return the MissileSite header data for a particulat Missile type. [...]
-
getSite(
MissileSite site, Config cfg, MissileSiteFactory sf) → List< Widget> - Return MissileSite widget tree. [...]
-
getSiteHeader(
MissileSite site, double wid) → Widget - Return the top header for the site. [...]