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
Simple graphic objects are:
Graphic object connected to chemical structure:
MRArrow(used in reaction molecules)