Integration of OCCT 6.5.0 from SVN
[occt.git] / src / IFSelect / IFSelect_SelectSignature.cdl
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;