umbrello/umbrello
Variables | |
QString | dirPrefix |
QString | g_methodName |
uint | linum |
uint | nClosures |
const qreal | Rose2Qt = 0.5 |
Detailed Description
Rose model import.
Traverse the PetalNode tree and create corresponding Umbrello objects for the PetalNodes encountered.
Function Documentation
bool Import_Rose::checkClosing | ( | QStringList & | tokens | ) |
Check for closing of one or more scopes.
Definition at line 124 of file import_rose.cpp.
Return the given string without surrounding quotation marks.
Also remove a possible prefix "Logical View::", it is not modeled in Umbrello.
Definition at line 60 of file petaltree2uml.cpp.
QString Import_Rose::collectVerbatimText | ( | QTextStream & | stream | ) |
Definition at line 190 of file import_rose.cpp.
Uml::DiagramType::Enum Import_Rose::diagramType | ( | QString | objType | ) |
Definition at line 546 of file petaltree2uml.cpp.
QString Import_Rose::extractImmediateValues | ( | QStringList & | l | ) |
Extract immediate values out of `l'.
Examples of immediate value lists: number list: (123, 456) string list: ("SomeText" 888) Any enclosing parentheses are removed. All extracted items are also removed from `l'. For the example given above the following is returned: "123 456" or "\"SomeText" 888"
Definition at line 164 of file import_rose.cpp.
QString Import_Rose::extractValue | ( | QStringList & | l, |
QTextStream & | stream | ||
) |
Extract the stripped down value from a (value ...) element.
Example: for the input (value Text "This is some text") the following is extracted: "This is some text" Extracted elements and syntactic sugar of the value element are removed from the input list. The stream is passed into this method because it may be necessary to read new lines - in the case of verbatim text. The format of verbatim text in petal files is as follows:
(value Text
|This is the first line of verbatim text. |This is another line of verbatim text. ) (The '|' character is supposed to be in the first column of the line) In this case the two lines are extracted without the leading '|'. The line ending '
' of each line is preserved.
Definition at line 244 of file import_rose.cpp.
qreal Import_Rose::fetchDouble | ( | const PetalNode * | node, |
const QString & | attribute, | ||
qreal | defaultValue = 0 |
||
) |
Extract a double attribute from a petal node.
Definition at line 124 of file petaltree2uml.cpp.
qreal Import_Rose::fetchInt | ( | const PetalNode * | node, |
const QString & | attribute, | ||
int | defaultValue = 0 |
||
) |
Extract an int attribute from a petal node.
Definition at line 135 of file petaltree2uml.cpp.
Extract the location attribute from a petal node.
Definition at line 97 of file petaltree2uml.cpp.
void Import_Rose::handleAssocView | ( | PetalNode * | attr, |
const PetalNode::NameValueList & | parentAttrs, | ||
Uml::AssociationType::Enum | assocType, | ||
UMLView * | view, | ||
UMLObject * | umlAssoc = 0 |
||
) |
Definition at line 463 of file petaltree2uml.cpp.
UMLPackage* Import_Rose::handleControlledUnit | ( | PetalNode * | node, |
const QString & | name, | ||
Uml::ID::Type | id, | ||
UMLPackage * | parentPkg | ||
) |
Handle a controlled unit.
- Parameters
-
node Pointer to the PetalNode which may contain a controlled unit name Name of the current node id QUID of the current node parentPkg Pointer to the current parent UMLPackage or UMLFolder.
- Returns
- Pointer to UMLFolder created for controlled unit on success; NULL on error.
Definition at line 399 of file petaltree2uml.cpp.
bool Import_Rose::importView | ( | PetalNode * | root, |
UMLPackage * | parent, | ||
const QString & | rootName, | ||
const QString & | modelsName, | ||
const QString & | firstNodeName, | ||
const QString & | presentationsName | ||
) |
Auxiliary function for UseCase/Component/Deployment view import.
Definition at line 881 of file petaltree2uml.cpp.
bool Import_Rose::isImmediateValue | ( | QString | s | ) |
Immediate values are numbers or quoted strings.
- Returns
- True if the given text is a natural or negative number or a quoted string.
Definition at line 147 of file import_rose.cpp.
UMLPackage * Import_Rose::loadFromMDL | ( | QFile & | file, |
UMLPackage * | parentPkg | ||
) |
Parse a file into the PetalNode internal tree representation and then create Umbrello objects by traversing the tree.
- Returns
- In case of error: NULL In case of success with non NULL parentPkg: pointer to UMLPackage created for controlled unit In case of success with NULL parentPkg: pointer to root folder of Logical View
Definition at line 394 of file import_rose.cpp.
QString Import_Rose::loc | ( | ) |
Auxiliary function for diagnostics: Return current location.
Definition at line 66 of file import_rose.cpp.
QString Import_Rose::mdlPath | ( | ) |
Definition at line 58 of file import_rose.cpp.
void Import_Rose::methodName | ( | const QString & | m | ) |
Definition at line 53 of file import_rose.cpp.
UMLPackage * Import_Rose::petalTree2Uml | ( | PetalNode * | root, |
UMLPackage * | parentPkg | ||
) |
Auxiliary method for loadFromMDL() loading of controlled unit.
Is kept in a separate file to reflect the fact that it is not coupled with the parser (other than by the PetalNode.)
- Parameters
-
root the root of the tree parentPkg the owning package within which objects are created
- Returns
- pointer to the newly created UMLPackage on success, NULL on error
Definition at line 937 of file petaltree2uml.cpp.
Uml::ID::Type Import_Rose::quid | ( | const PetalNode * | node | ) |
Extract the quid attribute from a petal node and return it as a Uml::ID::Type.
Definition at line 73 of file petaltree2uml.cpp.
Extract the quidu attribute from a petal node.
Definition at line 85 of file petaltree2uml.cpp.
PetalNode* Import_Rose::readAttributes | ( | QStringList | initialArgs, |
QTextStream & | stream | ||
) |
Read attributes of a node.
- Parameters
-
initialArgs Tokens on the line of the opening "(" of the node but with leading whitespace and the opening "(" removed. stream The QTextStream from which to read following lines.
- Returns
- Pointer to the created PetalNode or NULL on error.
Definition at line 282 of file import_rose.cpp.
QStringList Import_Rose::scan | ( | const QString & | lin | ) |
Split a line into lexemes.
Definition at line 75 of file import_rose.cpp.
QString Import_Rose::shift | ( | QStringList & | l | ) |
Emulate perl shift().
Definition at line 114 of file import_rose.cpp.
Transfer the Rose attribute "exportControl" to the Umbrello object given.
- Parameters
-
from Pointer to PetalNode from which to read the "exportControl" attribute to Pointer to UMLObject in which to set the Uml::Visibility
Definition at line 163 of file petaltree2uml.cpp.
UMLObject::ObjectType Import_Rose::typeToCreate | ( | const QString & | name | ) |
Determine the model type corresponding to a name.
If the given name consists only of letters, digits, underscores, and scope separators then return ot_Class, else return ot_Datatype.
Definition at line 148 of file petaltree2uml.cpp.
bool Import_Rose::umbrellify | ( | PetalNode * | node, |
UMLPackage * | parentPkg | ||
) |
Create an Umbrello object from a PetalNode.
- Returns
- True for success. Given a PetalNode for which the mapping to Umbrello is not yet implemented umbrellify() is a no-op but also returns true.
Definition at line 565 of file petaltree2uml.cpp.
Variable Documentation
QString Import_Rose::dirPrefix |
Directory prefix of .mdl file is buffered for possibly finding .cat/.sub controlled units (if no path is given at their definition.)
Definition at line 39 of file import_rose.cpp.
QString Import_Rose::g_methodName |
Definition at line 51 of file import_rose.cpp.
uint Import_Rose::linum |
Definition at line 50 of file import_rose.cpp.
uint Import_Rose::nClosures |
Definition at line 41 of file import_rose.cpp.
const qreal Import_Rose::Rose2Qt = 0.5 |
The Rose diagram coordinate system is roughly twice the scale of Qt.
I.e. when going from Rose diagram-object location/width/height to Qt, we need to shrink everything. The exact factor can be configured here.
Definition at line 54 of file petaltree2uml.cpp.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:40:29 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.