Theory

ADOxx Development Language: GraphRep

 
The following example should give an overview about the GraphRep representation and its syntax.  
#The GRAPHREP command introduces the definition of the graphical representation. The parameter layer defines whether an object will be displayed above or below other objects. Due to the value of the parameter sizing, the object can be resized asimmetrically on the X and Y axis
GRAPHREP layer:-1 sizing:asymmetrical
 
#SHADOW creates shadow or not (on/off)
SHADOW on
 
#The command FILL defines the fill color/style and transparency.
FILL color:gray
#Creates a rectangle where the coordinates x,y define the upper left corner, w is the width, and h is the height.
RECTANGLE x:-1.5cm y:-0.5cm w:3cm h:1cm
 
#Sets variables with the values from an attribute of the instantiated object.
AVAL type:"Weather"
SET f:"red"
 
#Sets conditions to change the representation based on values.
IF (type = "rain")
SET f:"blue"
ELSIF (type = "snow")
SET f:"white"
ELSIF (type = "sun")
SET f:"red"
ENDIF
FILL color:(f)
 
#Creates a polygon n where the coordinates x_i,y_i for all i=1,...,n define the corners, where i and i+1 are connected.
POLYGON 4
x1:-1.5cm y1:-0.5cm
x2:-0.5cm y2:-1.5cm
x3:0.5cm y3:-1.5cm
x4:1.5cm y4:-0.5cm
 
#Defines the font style/color for drawn text.
FONT style:bold color:white 
 
#Allows to show a specific text on the drawing area (Letters, Symbols …).
TEXT "HELLO" w:c h:c
FILL color:white
 
#Shows an attribute value on the drawing area (e.g. object name) at the coordinatesx and y.
#ATTR "Name" x:-1cm y:1cm

 

NOTICE, that the style-definitions of the GraphRep objects should be defined before the object is instanziated. 
All commands, parameters, and variables of the GraphRep representation are documented as follows:
 
GraphRep Syntax Documentation
 
GraphRep:                           GRAPHREP Traits [ threshold:intVal ] [ icon-scale:realVal ] 

                                           ElementSequence .

Traits:                                 SwimlaneTraits | NodeTraits | EdgeTraits .

SwimlaneTraits :                  swimlane:SwimlaneType .

SwimlaneType :                   horizontal | vertical .

NodeTraits :                        [ layer:n ]
                                          [ 
sizing:SizingType ]
                                          
[ width-sizing:SizingType ] [ height-sizing:SizingType ]
                                          [ smart-symbol-size ] [ ensure-fit ] [ align-even-grid ] .

SizingType :                        keep-aspect-ratio | symmetrical | asymmetrical
                                          [ layer:n ]                                  
                                          [ rounded: translation ]
                                          [ bridge-radius:radius ] [ 
no-edge ]
                                          [ start-trans:translation ] [ end-trans:translation ]

ElementSequence :              {  GraphElement  }

GraphElement :                   Edge | Start | Middle | End |
                                          Pen | Fill | Shadow | Stretch | Font |
                                          ClipRect | ClipRoundRect | ClipPoly| ClipEllipse | ClipOff |
                                          Point | Line | PolyLine | Arc 
| Bezier | Curve |
                                          Rectangle | RoundRect | Polygon | RoundPolygon |
                                         
 Ellipse | Pie | 
                                          BeginPath | MoveTo | LineTo | BezierTo |
                                          
EndPath | DrawPath |
                                          Compound | Bitmap | GradientRect | GradientTri |
                                          PatternRect | Metafile | MetafileInfo |
                                        

                                          Text | Attr | Hotspot |
                                          Set | Aval | Table |TextBox | AttrBox | BitmapInfo |
                                          IfStatement | WhileStatement |
                                          
ForNumStatement | ForTokenStytement |
                                          Execute .

Edge :                                 EDGE [ move:measureValue ] [ outline:measureValue ] .

Start :                                 START

Middle :                               MIDDLE .

End :                                   END .

Pen :                                  PEN [ w:width ] [ style:PenStyle ]
                                          [ color:ColorSpecOrExpr[ endcap:EndCap ] [ join:Join ]
                                          [ type:PenType.

PenStyle :                           solid | dot | dash | dashdot | inside-frame | null .

EndCap :                            round | square | flat .

Join :                                  bevel | miter | round .

PenType :                           geometric | cosmetic .

Fill :                                   FILL [ style:BrushStyle ] [ color:ColorSpecOrExpr ]
                                         [ fcolor:ColorSpecOrExprtransparent ] .

BrushStyle :                        solid | horz | vert | cross | diagcross |
                                          updiag | downdiag | mix25 | mix50 | mix75 | null .

Shadow :                            SHADOW OnOrOff .

Stretch :                             STRETCH OnOrOff .

OnOrOff :                            on | off .

Map :                                  MAP Scale Trans .

Scale :                                PropScale | NonPropScale .

PropScale :                         [ scale:realExpr ] . 

NonPropScale :                   [ scalex:realExpr ] [ scaley:realExpr ] .

Trans :                                [ transx:coordExpr ] [ transy:coordExpr ] .                           

Font :                                  FONT [ fontNameExpr ] [ h:fontHeightExpr ] FontStyle
                                          [ color:ColorSpecOrExpr ] 
[ line-orientation:realExpr ] .

FontStyle :                          style:fontStyleExpr | DirectFontStyle .

DirectFontStyle :                 [ bold ]underline ] [ italic ]

ColorSpecOrExpr :              ColorSpec | intExpr .

ClipRect :                           CLIP_RECT [ x:xposExpr ] [ y:yposExpr ]
                                         [ w:widthExpr ] [ h:heightExpr ]
                                         [ combine-mode:CombineMode ] .

ClipRoundRect :                 CLIP_ROUNDRECT [ x:xExpr ] [ y:yExpr ]
                                         [ w:wExpr ] [ h:hExpr ] [ rx:rxExpr ] [ ry:ryExpr ]
                                         [ combine-mode:CombineMode ] .

ClipPoly :                           ClipPolyArray | ClipPolyN .

ClipPolyArray :                    CLIP_POLY PosArrayExpr
                                         [ combine-mode:CombineMode ] .

ClipPolyN :                         CLIP_POLY n
                                         [ x1:xposExpr ] [ y1:yposExpr ]
                                         ...
                                         [ xn:xposExpr ] [ yn:yposExpr ]
                                         [ combine-mode:CombineMode ] .

ClipRoundpoly :                  CLIP_POLY PosArrayExpr r:radiusExpr
                                         [ combine-mode:CombineMode ] .

ClipEllipse :                       CLIP_ELLIPSE [ x:xposExpr ] [ y:yposExpr ]
                                        [ rx:xradiusExpr ] [ ry:yradiusExpr ]
                                        [ combine-mode:CombineMode ] .

CombineMode :                 copy | and | or | diff | xor .

ClipOff :                            CLIP_OFF .

Point :                              POINT [ x:xposExpr ] [ y:yposExpr ] .

Line :                                LINE [ x1:xposExpr ] [ y1:yposExpr ]
                                        [ x2:xposExpr ] [ y2:yposExpr ] .

Rectangle :                        RECTANGLE x:xposExpr ] [ y:yposExpr ]
                                        [ w:widthExpr ] [ h:heightExpr ] .

RoundRect :                      ROUNDRECT [ x:xposExpr ] [ y:yposExpr ]
                                        [ w:widthExpr ] [ h:heightExpr ]
                                        [ rx:xradiusExpr ] [ ry:yradiusExpr ] .
 

PolyLine :                          PolyLineArray | PolyLineN  

PolyLineArray :                  POLYLINE PosArrayExpr .

PolyLineN  :                       POLYLINE n
                                        [ x1:xposExpr ] [ y1:yposExpr ]
                                        ...
                                        [ xn:xposExpr ] [ yn:yposExpr ] .

Polygon :                          PolygonArray | PolygonN

PolygonArray :                   POLYGON PosArrayExpr .

PolygonN :                        POLYGON n
                                        [ x1:xposExpr ] [ y1:yposExpr ]
                                        ...
                                        [ xn:xposExpr ] [ yn:yposExpr ] .

RoundPolygon :                 ROUNDPOLYGON PosArrayExpr r:radiusExpr .

 

Ellipse :                            ELLIPSE x:xposExpr ] [ y:yposExpr ]
                                        [ 
rx:xradiusExpr ] [ ry:yradiusExpr ] .

Arc :                                 ARC x:xposExpr ] [ y:yposExpr ]
                                        [ rx:xradiusExpr ] [ ry:yradiusExpr ]
                                        [ x1:xposExpr ] [ y1:yposExpr ]
                                        [ x2:xposExpr ] [ y2:yposExpr ] .

Pie :                                 PIE x:xposExpr ] [ y:yposExpr ]
                                        [ rx:xradiusExpr ] [ ry:yradiusExpr ]
                                        [ x1:xposExpr ] [ y1:yposExpr ]
                                        [ x2:xposExpr ] [ y2:yposExpr ] .

Bezier :                             BezierArray | BezierN .

BezierArray :                     BEZIER PosArrayExpr .

BezierN :                           BEZIER n
                                        [ x1:xposExpr ] [ y1:yposExpr ]
                                        ...
                                        [ xn:xposExpr ] [ yn:yposExpr ] .

BeginPath :                       BEGIN_PATH .

MoveTo :                           MOVE_TO [ x:xposExpr ] [ y:yposExpr ] .

LineTo :                             LINE_TO [ x:xposExpr ] [ y:yposExpr ] .

BezierTo :                         BezierToArray | BezierToN .

BezierToArray :                  BEZIER_TO PosArrayExpr .

BezierToN :                       BEZIER_TO n
                                        [ x1:xposExpr ] [ y1:yposExpr ]
                                        ...
                                        [ xn:xposExpr ] [ yn:yposExpr ] .

EndPath :                         END_PATH [ close-figure ] .

DrawPath :                        DRAW_PATH [ mode:DrawPathMode ] .

DrawPathMode :                stroke | fill | stroke-and-fill .

 

 

Curve :                              CURVE varName from:realVal to:realVal
                                        fx:realExpr fy:realExpr .

Bitmap :                            BITMAP fileNameExpr 
                                        x:xposExpr y:yposExpr w:widthExpr h:heightExpr .

GradientRect :                   GRADIENT_RECT
                                        [ x:xExpr ] [ y:yExpr ] [ w:wExpr ] [ h:hExpr ]
                                        [ mode:GradientMode ]
                                        [ color1:ColorSpecOrExpr ] [ color2:ColorSpecOrExpr

                                        [ color3:ColorSpecOrExpr ] [ color4:ColorSpecOrExpr ] .

GradientMode :                  horz | vert | updiag | downdiag | diagcross .

GradientTri :                       GRADIENT_TRI
                                         x1:xExpr y1:yExpr color:ColorSpecOrExpr
                                         x2:xExpr y2:yExpr color:ColorSpecOrExpr

                                         x3:xExpr y3:yExpr color:ColorSpecOrExpr .

PatternRect :                      PATTERN_RECT x:xExpr y:yExpr w:wExpr h:hExpr
                                         bitmap:fileNameExpr pw:wExpr ph:hExpr

                                         [ rotation:realExpr ] .

Metafile :                            METAFILE fileNameExpr x:xExpr y:yExpr w:wExpr h:hExpr .

Metafileinfo :                       METAFILEINFO fileNameExpr .

Compound :                        COMPOUND n
                                         { CompoundableElement } .

                                         -- The number of CompoundableElements is n.

CompoundableElement :     Line | PolyLine | Curve .

Text :                                 TEXT strExpr line-break:LineBreakMode ]
                                         [ TextXCoord ] [ TextYCoord ] [ TextWidth ] [ TextHeight ]
                                         [ LineHeight ] .

Attr :                                  ATTR attrName [ text:strExpr ]
                                         [ format:strValue ] [ sep:strValue ]
                                         [ row:intExpr col:strExpr ]
                                         [ line-break:LineBreakMode ]
                                         [ TextXCoord ] [ TextYCoord ] [ TextWidth ] [ TextHeight
                                         [ LineHeight ] .

Hotspot :                            HOTSPOT strExpr [ text:strExpr ]
                                         [ row:intExpr col:strExpr ]
                                         [ x:xposExpr ] [ y:yposExpr ]

                                         [ w:widthExpr ] [ h:heightExpr ] .

Set :                                  SET { var :anyExpr } .

Aval :                                 AVAL { AvalAssignment } .

AvalAssignment :                [ set-format:strValue ] [ set-sep:strValue ]
                                         [ set-default:strValue ] [ set-format:strValue ]
                                         [ set-count-rows ] [ set-row:intExpr set-col:strExpr ]
                                         var :attrName .

Table :                               TABLE x:xpos ] [ y:ypos ] [ w:width ] [ h:height ]
                                         cols:rows:m
                                         [ w1:width ] ... [ wn:width ]
                                         [ h1:height ] ... [ hm:height ] .

TextBox :                           TEXTBOX strExpr [ line-break:LineBreakMode ]
                                         [ TextXCoord ] [ TextYCoord ] [ TextWidth ] [ TextHeight ]
                                         [ LineHeight ] .

AttrBox :                            ATTRBOX attrName text:strExpr ]
                                         [ format:strValue ] [ sep:strValue ]
                                         [ row:intExpr col:strExpr ]
                                         [ line-break:LineBreakMode 
                                         [ TextXCoord ] [ TextYCoord ] [ TextWidth ] [ TextHeight
                                         [ LineHeight ] .

LineBreakMode :                off | words | rigorous .

TextXCoord :                      x[:abs]:xposExpr .

TextYCoord :                      y[:abs]:yposExpr .

TextWidth :                        w:widthExpr | w:WAlign[:widthExpr] .

WAlign :                            l | c | r .

TextHeight :                       h:heightExpr h:HAlign[:heightExpr] .

HAlign :                             t | c | b .

LineHeight :                       line-height:heightExpr .

BitmapInfo :                      BITMAPINFO fileNameExpr .

IfStatement :                     NewIfStatement | OldIfStatement .

NewIfStatement :               IF boolExpr { StatementSequence }
                                        { ELSIF booleanExpr { StatementSequence }
                                        [ ELSE { StatementSequence } ] .

OldIfStatement :                ElementSequence
                                        { ELSIF condExpr
                                        ElementSequence }
                                        [ ELSE
                                        ElementSequence ]
                                        ENDIF .

WhileStatement :              WHILE condExpr { ElementSequence } .

ForNumStatement :           FOR varName from:numExpr to:numExpr [ by:numExpr ]

                                        { ElementSequence } .

ForTokenStatement :         FOR varName in:strExpr [ sep:strExpr ]

                                        { ElementSequence } .

Execute :                          EXECUTE ExecuteSource
                                        [ x:xposExpr ] [ y:yposExpr ]

                                        [ w:widthExpr ] [ h:heightExpr ] .

ExecuteSource :                strValue | internal:InternalSymbol .

InternalSymbol :                 warn01 .

 
 
 
 

 

 

 

 
 
 
 
 
 
 
 

Hands On

Scenarios

There are no results.

Community

There are no results.

Development Tools/Development Environment