C# (CSharp) Bloom.Edit Namespace

Classes

Name Description
AudioRecording This is a clean back-end service that provides recording to files via some http requests from the server. It also delivers real time microphone peak level numbers over a WebSocket. The client can be found at audioRecording.ts.
BookSettingsTool
ConfigurationDialog
Configurator Manages configuration UI and settings for templates that contain setup scripts
ConfirmRemovePageDialog
DecodableReaderTool
EditingModel
EditingModel.ContentLanguage
EditingView
EditingView.FixedToolStripRenderer Prevents a white line from appearing below the tool strip Be careful if using this on Linux; it can have strange side-effects (https://jira.sil.org/browse/BL-509).
FlowThumbNailList
JpegWarningDialog
LameEncoder This class, borrowed almost unchanged from HearThis, compresses .wav files to .mp3. Requires the (currently separate) installation of LAME.
LeveledReaderTool
PageEditingModel
PageListView
PageSelection
PlaceHolderPage This is just so the first (top-left) thumbnail is empty, so that the cover page appears in the second column.
SortListViewItemByIndex This makes a list view act, well, like one would expect; the items are ordered according to their index, so that inserting an item actually does something other than always throwing it at the end!
SourceTextControl
TalkingBookTool
ThumbNailList
ToolboxTool This class represents one tool in the Toolbox accordion which can show to the right of the page when the user expands it. There is a subclass for each tool. These objects are serialized as part of the meta.json file representing the state of a book. The State field is persisted in this way; it is also passed in to the JavaScript that manages the toolbox. New fields and properties should be kept non-public or marked with an appropriate attribute if they should NOT be persisted in JSON. New subclasses will typically require a new case in CreateFromJsonToolId and also in ToolboxToolConverter.ReadJson. Note that the values of the Name field are used in the json and therefore cannot readily be changed. (Migration would handle a change going forward, but older Blooms would lose the data at best.)
ToolboxToolConverter This class is used as the ItemConverterType for the Tools property of BookMetaData. It allows us to deserialize a sequence of polymorphic tools, creating the right subclass for each based on the name.
ToolboxView This class supports the Edit Tab Toolbox as a whole. Eventually, all of this should be moved to javascript-land. Since the toolbox is mainly implemented in HTML/Javascript, there is no distinct .NET control for it. Thus, unlike other View classes in Bloom, ToolboxView does not inherit from a Control class, nor are there ever any instances; all methods are currently static.
TransparentPanel
UnknownTool This gives us something to return if we encounter an unknown tool name when deserializing.
WebThumbNailList
WebThumbNailList.MenuItemSpec