public class OdgGBlock
extends java.lang.Object
fbw
refers a FBlock
and fbtw
refers a FBtype_FBcl
.
fbw
is instanceof OdgXref
fbw
is instanceof ConnPoint
fbw
is instanceof ConnPoint
fbw
is instanceof ConnPoint
Modifier and Type | Field and Description |
---|---|
private boolean |
bDeferredAssocEvData
Set temporary to regard pins for the second call of
OdgModule#buildAssociatedEventDataPins(org.vishia.fbcl.readOdg.OdgGBlock, org.vishia.fbcl.fblockwr.Write_Module_FBwr)
for association of event and data. |
OdgGPin |
fbPinDst
It is a pin class for connections from this FB to other FBs or Pins.
|
OdgGPin |
fbPinSrc
It is a pin class for connections from this FB to other FBs or Pins.
|
protected FBtype_FBcl |
fbt
The type used here.
|
Write_FBtype_FBwr |
fbtw
The wrapper to write to a
FBtype_FBcl , same instance for all occurrences of the FBlock type (class) in all diagrams. |
java.util.List<Write_FBlock_FBwr> |
fbw
The
FBlock_FBcl representation for the real used data. |
java.lang.String |
idGroup |
java.lang.String |
idRectangle |
private java.util.TreeMap<java.lang.Integer,OdgGPin> |
idxPinInstance
List of all pins excl.
|
(package private) int[] |
ixArray
Remain null if it is not an array GBlock, value set from
OdgNameTypeArray.descr . |
(package private) java.util.List<java.lang.String> |
listSlices
Set if this describes a sliced FBlock presentation, value set from
OdgNameTypeArray.descr . |
OdgNameTypeArray |
nameTypeArray
Should be always given, final or set with
OdgReader.assignFBlockNameTypeIdCreateFBlock(OdgShape, OdgGBlock, OdgModule) |
OdgModule |
odgMdl
The module where this block is member of.
|
(package private) int |
page
Position of the main shape of the graphic block in mm,
page, left, right, top, bottom, used to find the main frame for other ones.
|
(package private) int |
pcol
column association.
|
java.lang.String |
sClassTypeName
The original given Strings with style ofnClassTypeName and ofnClassObjName
to determine the FBlock_Type_FBcl or FBlock.
|
java.lang.String |
sFrameText
The text to the graphic rectangle, the frame of the element.
|
(package private) java.lang.String |
sName
It is the base name if sliced.
|
java.lang.String |
sPosxy
Info about position manual readable
|
FBkind_FBcl |
styleGraphicFrame
The style designation of the graphic rectangle.
|
protected java.lang.String |
sVariant
Designation written on any pin in form '...
|
XY_FBcl |
xy
Helper class to sort
OdgGBlock to xy-positions
and to build a position instance (with #fbg ==null) to search pins of the graphic instance |
Constructor and Description |
---|
OdgGBlock(FBkind_FBcl style,
XY_FBcl pos,
OdgNameTypeArray nameTypeArray,
int page,
OdgModule odgMdl,
org.vishia.msgDispatch.LogMessage log) |
Modifier and Type | Method and Description |
---|---|
(package private) FBtype_FBcl |
fbt()
Returns the FBtype_FBcl either from given fbtw for a class block or from the given fbw
|
OdgGPin |
getFbPinDst(OdgModule odgMdl)
Creates if not given the PinInstance for a connection to the FBlock itself, not to a dedicated pin.
|
OdgGPin |
getFbPinSrc(OdgModule odgMdl)
Creates if not given the PinInstance for a connection from the FBlock itself, not from a dedicated pin.
|
OdgGPin |
getFbPinSrc(PinKind_FBcl kind,
OdgModule odgMdl)
Creates if not given the PinInstance for a connection from the FBlock itself, not from a dedicated pin.
|
OdgGPin |
getFirstPin()
Returns the pin left top to help check the type of the GBlock
|
boolean |
isDeferredAssocEvDataClean()
Tests and cleans the event-data association as deferred (used in association from the graphic,
see
org.vishia.fbcl.readOdg.OdgModule#buildAssociatedEventDataPins(org.vishia.fbcl.readOdg.OdgGBlock, org.vishia.fbcl.fblockwr.Write_Module_FBwr)
It sets the highest bit (MSB) as tag. |
java.lang.Iterable<OdgGPin> |
iterPin() |
boolean |
putPin(OdgGPin pin,
XY_FBcl xyPin)
Stores the pin with a proper order built by position.
|
void |
setDeferredAssocEvData()
Sets the event-data association as deferred (used in association from the graphic,
see
org.vishia.fbcl.readOdg.OdgModule#buildAssociatedEventDataPins(org.vishia.fbcl.readOdg.OdgGBlock, org.vishia.fbcl.fblockwr.Write_Module_FBwr)
It sets the highest bit (MSB) as tag. |
boolean |
setVariant(java.lang.String sVariant) |
java.lang.String |
toString() |
java.lang.String |
variant() |
public java.lang.String idRectangle
public java.lang.String idGroup
public java.lang.String sPosxy
public XY_FBcl xy
OdgGBlock
to xy-positions
and to build a position instance (with #fbg
==null) to search pins of the graphic instance.-int page
int pcol
public Write_FBtype_FBwr fbtw
FBtype_FBcl
, same instance for all occurrences of the FBlock type (class) in all diagrams.
This aggregation is null if the type is given as library or standard FBlock. Then use fbt()
to access the type.protected FBtype_FBcl fbt
fbtw
is set.public final OdgModule odgMdl
public java.util.List<Write_FBlock_FBwr> fbw
FBlock_FBcl
representation for the real used data.
For array FBlock handling it is a list of FBlocks. For non array GBlocks only the fbw.get(0) is used.
It is the same instance for all occurrences of the FBlock object in all diagrams.
Also for given FBtype_FBcl
in Prj_FBCLrd.idxAllFBlockType
or for standard FBlocks
the adding of Pins may need to be supported, for FBlocks with flexible number of inputs.
Hence generally the FBlock_FBcl
are presented by the write_.. wrapper.
Also possible: Adding connections only done in the Write... version (change in future).public FBkind_FBcl styleGraphicFrame
public java.lang.String sFrameText
public java.lang.String sClassTypeName
public OdgNameTypeArray nameTypeArray
OdgReader.assignFBlockNameTypeIdCreateFBlock(OdgShape, OdgGBlock, OdgModule)
final int[] ixArray
OdgNameTypeArray.descr
.
More as one dimension written with 'NAME[2][3]' for a 2 x 3 array.final java.util.List<java.lang.String> listSlices
OdgNameTypeArray.descr
.
Slices are written as 'NAME[a, b, c]' or also 'NAME[1..16]' for 16 Slices NAME1, NAME2 etc.protected java.lang.String sVariant
final java.lang.String sName
OdgNameTypeArray.descr
.private final java.util.TreeMap<java.lang.Integer,OdgGPin> idxPinInstance
private transient boolean bDeferredAssocEvData
OdgModule#buildAssociatedEventDataPins(org.vishia.fbcl.readOdg.OdgGBlock, org.vishia.fbcl.fblockwr.Write_Module_FBwr)
for association of event and data.public OdgGPin fbPinSrc
public OdgGPin fbPinDst
public OdgGBlock(FBkind_FBcl style, XY_FBcl pos, OdgNameTypeArray nameTypeArray, int page, OdgModule odgMdl, org.vishia.msgDispatch.LogMessage log)
FBtype_FBcl fbt()
public boolean putPin(OdgGPin pin, XY_FBcl xyPin)
pin
- xyPin
- absolute pin position. It is compared with xy
to build the relative pin position in the odg block frame.public java.lang.Iterable<OdgGPin> iterPin()
public OdgGPin getFirstPin()
public OdgGPin getFbPinSrc(OdgModule odgMdl)
OdgGPin
is stored in fbPinSrc
and also as PinObj
in the FBlock_FBcl.fbPinSrc
.
If it is existing, the existing is returned and used more as one time for a connection.public OdgGPin getFbPinSrc(PinKind_FBcl kind, OdgModule odgMdl)
OdgGPin
is stored in fbPinSrc
and also as PinObj
in the FBlock_FBcl.fbPinSrc
.
If it is existing, the existing is returned and used more as one time for a connection.public OdgGPin getFbPinDst(OdgModule odgMdl)
OdgGPin
is stored in fbPinDst
and also as PinObj
in the FBlock_FBcl.fbPinDst
.
If it is existing, the existing is returned and used more as one time for a connection.public java.lang.String variant()
public boolean setVariant(java.lang.String sVariant)
public void setDeferredAssocEvData()
org.vishia.fbcl.readOdg.OdgModule#buildAssociatedEventDataPins(org.vishia.fbcl.readOdg.OdgGBlock, org.vishia.fbcl.fblockwr.Write_Module_FBwr)
It sets the highest bit (MSB) as tag.public boolean isDeferredAssocEvDataClean()
org.vishia.fbcl.readOdg.OdgModule#buildAssociatedEventDataPins(org.vishia.fbcl.readOdg.OdgGBlock, org.vishia.fbcl.fblockwr.Write_Module_FBwr)
It sets the highest bit (MSB) as tag.public java.lang.String toString()
toString
in class java.lang.Object