Graphic objects are represented by the following classes in Marvin:
MNameTextBox: contains the generated IUPAC name, only one can be used at a time.
MRArrow: used in reaction structures.
MTextBox: represents simple text-box.
MPolyline: represents simple lines and polylines, single and two headed graphic arrows.
MRectangle: graphic rectangle object.
MBracket: bracket object (with four different types)
We differentiate two kinds of graphic objects: simple graphic object and graphic object connected to chemical structures like reaction arrow in chemical reaction, or brackets in groups. We store the simple graphic objects in an MDocument object and we store connected object in the related structure. After creating the structure we should add the object to its container class. In case of simple graphic object, the container is always the MDocument object, and the graphic object should be added by method MDocument.addObject(MObject o). In case of graphic object connected to chemical structures, the object is always stored at the related chemical object: in case of reaction arrow (represented by MRArrow) the container class is the reaction (represented by the RxnMolecule). However, all graphic object are available for processing with MDocument methods:
Simple graphic objects are:
Graphic object connected to chemical structure:
MRArrow (used in reaction molecules)