b311480e |
1 | -- Created on: 1994-04-21 |
2 | -- Created by: Christian CAILLET |
3 | -- Copyright (c) 1994-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
8 | -- This library is free software; you can redistribute it and/or modify it under |
9 | -- the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
10 | -- by the Free Software Foundation, with special exception defined in the file |
11 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
12 | -- distribution for complete text of the license and disclaimer of any warranty. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | class SelectSignature from IFSelect inherits SelectExtract |
18 | |
19 | ---Purpose : A SelectSignature sorts the Entities on a Signature Matching. |
20 | -- The signature to match is given at creation time. Also, the |
21 | -- required match is given at creation time : exact (IsEqual) or |
22 | -- contains (the Type's Name must contain the criterium Text) |
23 | -- |
24 | -- Remark that no more interpretation is done, it is an |
25 | -- alpha-numeric signature : for instance, DynamicType is matched |
26 | -- as such, super-types are not considered |
27 | -- |
28 | -- Also, numeric (integer) comparisons are supported : an item |
29 | -- can be <val ou <=val or >val or >=val , val being an Integer |
30 | -- |
31 | -- A SelectSignature may also be created from a SignCounter, |
32 | -- which then just gives its LastValue as SignatureValue |
33 | |
34 | uses CString, AsciiString from TCollection, Transient, |
35 | SequenceOfAsciiString from TColStd, SequenceOfInteger from TColStd, |
36 | InterfaceModel, Graph, Signature, SignCounter |
37 | |
38 | is |
39 | |
40 | Create (matcher : Signature; |
41 | signtext : CString; |
42 | exact : Boolean = Standard_True) |
6e33d3ce |
43 | returns SelectSignature; |
7fd59977 |
44 | ---Purpose : Creates a SelectSignature with its Signature and its Text to |
45 | -- Match. |
46 | -- <exact> if True requires exact match, |
47 | -- if False requires <signtext> to be contained in the Signature |
48 | -- of the entity (default is "exact") |
49 | |
50 | Create (matcher : Signature; |
51 | signtext : AsciiString from TCollection; |
52 | exact : Boolean = Standard_True) |
6e33d3ce |
53 | returns SelectSignature; |
7fd59977 |
54 | ---Purpose : As above with an AsciiString |
55 | |
56 | Create (matcher : SignCounter; |
57 | signtext : CString; |
58 | exact : Boolean = Standard_True) |
6e33d3ce |
59 | returns SelectSignature; |
7fd59977 |
60 | ---Purpose : Creates a SelectSignature with a Counter, more precisely a |
61 | -- SelectSignature. Which is used here to just give a Signature |
62 | -- Value (by SignOnly Mode) |
63 | -- Matching is the default provided by the class Signature |
64 | |
6e33d3ce |
65 | Signature (me) returns Signature; |
7fd59977 |
66 | ---Purpose : Returns the used Signature, then it is possible to access it, |
67 | -- modify it as required. Can be null, hence see Counter |
68 | |
6e33d3ce |
69 | Counter (me) returns SignCounter; |
7fd59977 |
70 | ---Purpose : Returns the used SignCounter. Can be used as alternative for |
71 | -- Signature |
72 | |
73 | SortInGraph (me; rank : Integer; ent : Transient; G : Graph) |
74 | returns Boolean is redefined; |
75 | ---Purpose : Returns True for an Entity (model->Value(num)) of which the |
76 | -- signature matches the text given as creation time |
77 | -- May also work with a Counter from the Graph |
78 | |
79 | Sort (me; rank : Integer; ent : Transient; model : InterfaceModel) |
80 | returns Boolean; |
81 | ---Purpose : Not called, defined only to remove a deferred method here |
82 | |
83 | SignatureText (me) returns AsciiString from TCollection; |
84 | ---Purpose : Returns Text used to Sort Entity on its Signature or SignCounter |
85 | ---C++ : return const & |
86 | |
87 | IsExact (me) returns Boolean; |
88 | ---Purpose : Returns True if match must be exact |
89 | |
90 | ExtractLabel (me) returns AsciiString from TCollection; |
91 | ---Purpose : Returns a text defining the criterium. |
92 | -- (it refers to the text and exact flag to be matched, and is |
93 | -- qualified by the Name provided by the Signature) |
94 | |
95 | fields |
96 | |
97 | thematcher : Signature; |
98 | thecounter : SignCounter; |
99 | thesigntext : AsciiString from TCollection; |
100 | theexact : Integer; |
101 | thesignlist : SequenceOfAsciiString from TColStd; |
102 | thesignmode : SequenceOfInteger from TColStd; |
103 | |
104 | end SelectSignature; |