every_door_plugin library

Classes

AddressMarker
AmenityAgeData
This class contains age data for an amenity. It is used for building a POI tile: the age flags control the checkmark button, and the disused flag affects the tile style. Use from to get the data from an OsmChange object, or fill directly.
AmenityDescriber
Describes an OsmChange object by calling AmenityIndicators. Without a single indicator added it just prints OsmChange.typeAndName.
AmenityIndicator
Amenity indicator controls the information present in a POI tile. Used by AmenityDescriber to build a tile content. It usually returns a single icon for a missing property, and maybe some more information when the property is present.
AmenityModeDefinition
AuthController
This controller manages an AuthProvider, saving a token to the local storage and keeping user details in value ready to display.
AuthProvider
Authentication provider base class. Should know how to login and to get user details. Also stores an endpoint for making calls.
AuthToken
Authentication token class. Should be subclasses to contain actual token data. It's a good idea to add a factory constructor AuthToken.fromJson to keep serialization and deserialization in one place.
BaseModeDefinition
BaseNote
BuildingMarker
ClassicModeDefinition
ColoredMarker
ComboOption
ComboPresetField
CustomMap
General map widget for every map in Every Door. Encloses layer management, interaction, additional buttons etc etc.
CustomMapController
DrawingStyle
EditorButton
A container representing a button on the editor pane.
EditorFields
A group of fields in the editor. Only the fields list is mandatory.
ElementKind
A static factory for ElementKindImpl, which also contains some pre-defined kinds and supports merging kinds.
ElementKindImpl
EntranceMarker
EntrancesModeDefinition
Envelope
EveryDoorApp
This class is used by plugins to interact with the app. It might be rebuilt often, and contains references to Riverpod ref and BuildContext (if applicable). And also a ton of convenience methods.
EveryDoorPlugin
Parent class for every plugin. None of the methods need to be implemented, although it would be weird.
ExtOverlay
FieldPrerequisite
Tag dependency definition. Basically a structure that defines which tags and which values should or should not be preset in a tag list. See https://github.com/ideditor/schema-builder/blob/main/README.md#prerequisitetag
Geometry
IconMarker
Imagery
A data container for an imagery layer. Fields are based on the editor layer index, and just the identifier and type are required. This is the super-class for the multitude of implementations, including TMS, WMS, and vector tiles.
LegendController
LegendItem
LineString
Located
Super-class for everything that can be displayed on the map. Obviously, as the editor only supports points, this class contains only the point location. Also has three service getters to learn the state of the object. If not needed, it's safe to use default values: true for isNew and false for everything else.
MapButton
MapButtonColumn
MapChooserPage
MapDrawing
MapNote
MicromappingModeDefinition
MultiIcon
This class encapsulates monochrome icons. It replaces IconData class, allowing for raster and vector images. An image should be rectangular, recommended dimensions are 256×256.
MultiPolygon
NamedColor
NotesModeDefinition
NumberedMarker
OAuth2AuthProvider
Authentication provider for services with OAuth2. Which are basically the most of them, including OpenStreetMap.
OsmChange
OsmElement
An OSM element downloaded from the server.
OsmId
OSM identifier: a type and a number.
OsmMember
An OSM relation member. Contains of an OSM id and an optional role.
OsmNote
OsmNoteComment
OverlayButtonWidget
Plugin
Plugin metadata. Same as PluginData, but with added service methods for retrieving localizations and assets. Data read from the plugin metadata is final, but the active flag can be changed in runtime. Same with instance: it is initialized when the plugin is made active, and reset when it is disabled.
PluginData
Plugin metadata. Basically an identifier and a dictionary from the bundled yaml file.
PluginEvents
Plugin events wrapper. Use this class to listen to events. Listeners are automatically deactivated when the plugin is inactive. All callback should be asynchronous functions, even when they don't use await.
PluginLocalizations
PluginLocalizationsBranch
Localizations wrapper for passing to various parts of code that need only small parts of the metadata tree. For example, a tree preset would need "preset.tree" branch for translations. This class allows to hide the context.
PluginPreferences
Shadows the shared_preferences module from plugins. Nothing wrong with using it directly, but this allows us to track preferences by plugin. Basically adds a prefix to every key, and accesses the app-wide SharedPreferencesWithCache instance.
PluginProviders
PluginVersion
PluginVersionRange
PoiDescriber
Description generator for POI tiles. Instances of this interface are passed to PoiTile so it can provide all the information needed to assess the correctness of the data.
PoiEditorPage
An object editor page. Expects an OSM-like sourced object, that is, an OsmChange. In particular, the object needs to have tags that behave in accordance with OSM model, e.g. for lifecycle prefixes. For editing Located you would need to create your own pages.
Polygon
Preset
PresetField
Field definition. Each field type needs to subclass this one. There are multiple examples in the fields directory.
PresetFieldContext
PresetLabel
RadioComboField
RadioField
Field with multiple choices, presented in a row. It is a part of many standard fields: combo, radio, checkbox.
SimpleDescriber
Simple describer returns the OsmChange.typeAndName and nothing else. It will be crossed out if disused.
SizedMarker
TagMatcher
A class for matching tag lists against a set of rules. Contains rules for individual keys (see ValueMatcher), and lists of good and missing keys to validate.
TextInputField
TextPresetField
TypeChooserPage
UserDetails
A base class for user details. Override to add more, e.g. an avatar.
ValueMatcher
This class matches tag values to a set of rules.

Enums

ComboType
ImageryCategory
Imagery category, a subset of the Editor Layer Index categories.
IsMember
Whether this object is a member of a way or a relation. Way membership takes precedence.
OsmElementType
An element type: node, way, or relation.
PresetType
TextFieldCapitalize

Constants

kComboMapping → const Map<String, ComboType>
kLegendNoColor → const Color
kLegendOtherColor → const Color
kOsmElementTypeName → const Map<OsmElementType, String>
Mapping from the enum value to strings.
kStyleIcons → const Map<String, IconData>
kToolEraser → const String
kToolScribble → const String
kTypeStyles → const Map<String, DrawingStyle>
kUnknownStyle → const DrawingStyle
kUnknownStyleIcon → const IconData

Exceptions / Errors

AuthException
An exception thrown when the authentication goes wrong. Please do not forget to provide a message.
GeometryException
PluginLoadException
Thrown only when loading a plugin. Prints the enclosed exception as well.