EmbeddedObjectCreatorRegistry
SimpleEmbeddedObjectStyleMarker
SimpleEmbeddedObjectStyleMarker::CommandNames
StandardDIBStyleMarker
StandardMacPictureStyleMarker
StandardURLStyleMarker
StandardUnknownTypeStyleMarker
qURLStyleMarkerNewDisplayMode
AddEmbedding
InsertEmbeddingForExistingSentinal
This module introduces a whole bunch of classes which leverage the Led Marker
, and particularly the
Led 'StyledTextImager::StyleMarker' mechanism - to implement visual object embedding within the text.
The objects we embed are of type SimpleEmbeddedObjectStyleMarker
. But this module also contains other classes
to support the creation of these embedding markers, to get them properly inserted into the text. And this module
contains many SimpleEmbeddedObjectStyleMarker
subclasses, such as StandardDIBStyleMarker
, which utilize this
mechanism to display a particular data type as an emebdding.
EmbeddedObjectCreatorRegistry [public]
Class which manages the registry of mappings from clipboard and Led private file format magic tag strings, to function pointers capable of reading these objects from RAM or a flavor package.
SimpleEmbeddedObjectStyleMarker [public]
StyledTextImager::StyleMarker
An abstract class which contains most of the functionality for supporting Led embeddings in a Styled Text document.
All the various kinds of embeddings Led supports are subclasses of this class.
See InsertEmbeddingForExistingSentinal
and AddEmbedding
for more details on how to add these markers to the
text. These utilities are not needed - but can simplify the process of adding embeddings.
Also, to understand more about how these work, see StyledTextImager::StyleMarker
for more details.
(NEED LOTS MORE DETAILS - THIS IS IMPORTANT)
Member Details |
---|
For all commands specified in overrides of |
Return a list of all private commands (such as eOpenCmdNum) which this embedding object can support.
See also |
For all commands specified in overrides of |
Returns command name for each of the user-visible commands produced by this module. See also |
For all commands specified in overrides of |
|
SimpleEmbeddedObjectStyleMarker::CommandNames [public]
Command names for each of the user-visible commands produced by the
SimpleEmbeddedObjectStyleMarker
module.
StandardDIBStyleMarker [public]
SimpleEmbeddedObjectStyleMarker
A Windows DIB (Device Independent Bitmap) picture embedding. Note that this can still be portably displayed on both Mac and Windows.
StandardMacPictureStyleMarker [public]
SimpleEmbeddedObjectStyleMarker
A Macintosh format picture embedding.
StandardURLStyleMarker [public]
SimpleEmbeddedObjectStyleMarker
A URL object. Double click on this to open the URL.
StandardUnknownTypeStyleMarker [public]
SimpleEmbeddedObjectStyleMarker
Use to represent visually embeddings which we've read from a file, and want to keep track of, but don't know how to display.
Member Details |
---|
See Generates a reasonable default size (based on sUnknownPict size) for the embedding. Used unless
overridden by calls to |
Return the size in TWIPS of this embeddings display. Defaults to some size appropriate for the picture drawn. But sometimes (like in reading RTF files which contain size annotations), we select an appropriate size. |
See NB: it is the CALLERs responsability to assure the appropriate TextInteractors/TextImagers are notified to adjust any caching of size information they may have. This can be avoided by setting this value BEFORE adding the embedding to the TextStore. |
qURLStyleMarkerNewDisplayMode [public]
The old display mode was somewhat idiosyncratic, and the new one is more like how other browsers display URLs. But keep the old one available in case some prefer it (at least for 3.0).
Turn ON by default.
void AddEmbedding (SimpleEmbeddedObjectStyleMarker* embedding, TextStore& textStore, size_t insertAt, MarkerOwner* ownerForEmbedding);
Utility method to insert the given embedding (SimpleEmbeddedObjectStyleMarker
) into the given
TextStore
, at a given position in the text. This routine, adds a sentinal character at that position. If
the sentinal character is already there, use InsertEmbeddingForExistingSentinal
.
Actually, this function isn't strictly needed. But there is alot of mumbo-jumbo that needs to be done when adding embeddings (e.g. DoAboutToUpdateCalls etc), and this packages up all those things and avoids you from having todo them in a bunch of places.
InsertEmbeddingForExistingSentinal [public]
void InsertEmbeddingForExistingSentinal (SimpleEmbeddedObjectStyleMarker* embedding, TextStore& textStore, size_t insertAt, MarkerOwner* ownerForEmbedding);
Utility method to insert the given embedding (SimpleEmbeddedObjectStyleMarker
) into the given
TextStore
, at a given position in the text. To use this routine, the sentinal character must already
be present. Use AddEmbedding
if the sentinal has not yet been added.