7fd59977 |
1 | -- File: IFSelect_SelectSignature.cdl |
2 | -- Created: Thu Apr 21 11:22:33 1994 |
3 | -- Author: Christian CAILLET |
4 | -- <cky@ecolox> |
5 | ---Copyright: Matra Datavision 1994 |
6 | |
7 | |
8 | class SelectSignature from IFSelect inherits SelectExtract |
9 | |
10 | ---Purpose : A SelectSignature sorts the Entities on a Signature Matching. |
11 | -- The signature to match is given at creation time. Also, the |
12 | -- required match is given at creation time : exact (IsEqual) or |
13 | -- contains (the Type's Name must contain the criterium Text) |
14 | -- |
15 | -- Remark that no more interpretation is done, it is an |
16 | -- alpha-numeric signature : for instance, DynamicType is matched |
17 | -- as such, super-types are not considered |
18 | -- |
19 | -- Also, numeric (integer) comparisons are supported : an item |
20 | -- can be <val ou <=val or >val or >=val , val being an Integer |
21 | -- |
22 | -- A SelectSignature may also be created from a SignCounter, |
23 | -- which then just gives its LastValue as SignatureValue |
24 | |
25 | uses CString, AsciiString from TCollection, Transient, |
26 | SequenceOfAsciiString from TColStd, SequenceOfInteger from TColStd, |
27 | InterfaceModel, Graph, Signature, SignCounter |
28 | |
29 | is |
30 | |
31 | Create (matcher : Signature; |
32 | signtext : CString; |
33 | exact : Boolean = Standard_True) |
34 | returns mutable SelectSignature; |
35 | ---Purpose : Creates a SelectSignature with its Signature and its Text to |
36 | -- Match. |
37 | -- <exact> if True requires exact match, |
38 | -- if False requires <signtext> to be contained in the Signature |
39 | -- of the entity (default is "exact") |
40 | |
41 | Create (matcher : Signature; |
42 | signtext : AsciiString from TCollection; |
43 | exact : Boolean = Standard_True) |
44 | returns mutable SelectSignature; |
45 | ---Purpose : As above with an AsciiString |
46 | |
47 | Create (matcher : SignCounter; |
48 | signtext : CString; |
49 | exact : Boolean = Standard_True) |
50 | returns mutable SelectSignature; |
51 | ---Purpose : Creates a SelectSignature with a Counter, more precisely a |
52 | -- SelectSignature. Which is used here to just give a Signature |
53 | -- Value (by SignOnly Mode) |
54 | -- Matching is the default provided by the class Signature |
55 | |
56 | Signature (me) returns mutable Signature; |
57 | ---Purpose : Returns the used Signature, then it is possible to access it, |
58 | -- modify it as required. Can be null, hence see Counter |
59 | |
60 | Counter (me) returns mutable SignCounter; |
61 | ---Purpose : Returns the used SignCounter. Can be used as alternative for |
62 | -- Signature |
63 | |
64 | SortInGraph (me; rank : Integer; ent : Transient; G : Graph) |
65 | returns Boolean is redefined; |
66 | ---Purpose : Returns True for an Entity (model->Value(num)) of which the |
67 | -- signature matches the text given as creation time |
68 | -- May also work with a Counter from the Graph |
69 | |
70 | Sort (me; rank : Integer; ent : Transient; model : InterfaceModel) |
71 | returns Boolean; |
72 | ---Purpose : Not called, defined only to remove a deferred method here |
73 | |
74 | SignatureText (me) returns AsciiString from TCollection; |
75 | ---Purpose : Returns Text used to Sort Entity on its Signature or SignCounter |
76 | ---C++ : return const & |
77 | |
78 | IsExact (me) returns Boolean; |
79 | ---Purpose : Returns True if match must be exact |
80 | |
81 | ExtractLabel (me) returns AsciiString from TCollection; |
82 | ---Purpose : Returns a text defining the criterium. |
83 | -- (it refers to the text and exact flag to be matched, and is |
84 | -- qualified by the Name provided by the Signature) |
85 | |
86 | fields |
87 | |
88 | thematcher : Signature; |
89 | thecounter : SignCounter; |
90 | thesigntext : AsciiString from TCollection; |
91 | theexact : Integer; |
92 | thesignlist : SequenceOfAsciiString from TColStd; |
93 | thesignmode : SequenceOfInteger from TColStd; |
94 | |
95 | end SelectSignature; |