Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
IFSelect_ListEditor Class Reference

A ListEditor is an auxiliary operator for Editor/EditForm
I.E. it works on parameter values expressed as strings

For a parameter which is a list, it may not be edited in once
by just setting a new value (as a string)

Firstly, a list can be long (and tedious to be accessed flat)
then requires a better way of accessing

Moreover, not only its VALUES may be changed (SetValue), but
also its LENGTH : items may be added or removed ...

Hence, the way of editing a parameter as a list is :
More...

#include <IFSelect_ListEditor.hxx>

Inheritance diagram for IFSelect_ListEditor:
Inheritance graph
[legend]

Public Member Functions

 IFSelect_ListEditor ()
 Creates a ListEditor with absolutely no constraint
More...
 
 IFSelect_ListEditor (const Handle< Interface_TypedValue > &def, const Standard_Integer max=0)
 Creates a ListEditor, for which items of the list to edit are
defined by <def>, and <max> describes max length :
0 (D) means no limit
value > 0 means : no more the <max> items are allowed
More...
 
void LoadModel (const Handle< Interface_InterfaceModel > &model)
 Loads a Model. It is used to check items of type Entity(Ident)
More...
 
void LoadValues (const Handle< TColStd_HSequenceOfHAsciiString > &vals)
 Loads the original values for the list
Remark : If its length is mor then MaxLength, editions remain
allowed, except Add
More...
 
void SetTouched ()
 Declares this ListEditor to have been touched (whatever action)
More...
 
void ClearEdit ()
 Clears all editions already recorded
More...
 
virtual Standard_Boolean LoadEdited (const Handle< TColStd_HSequenceOfHAsciiString > &list)
 
 Loads a new list to replace the older one, in once ! <br>
      By default (can be redefined) checks the length of the list <br>
      and the value of each item according to the def <br>
      Items are all recorded as Modified <br>


If no def has been given at creation time, no check is done
Returns True when done, False if checks have failed ... a
specialisation may also lock it by returning always False ...
More...

 
virtual Standard_Boolean SetValue (const Standard_Integer num, const Handle< TCollection_HAsciiString > &val)
 Sets a new value for the item <num> (in edited list)
<val> may be a Null Handle, then the value will be cleared but
not removed
Returns True when done. False if <num> is out of range or if
<val> does not satisfy the definition
More...
 
virtual Standard_Boolean AddValue (const Handle< TCollection_HAsciiString > &val, const Standard_Integer atnum=0)
 Adds a new item. By default appends (at the end of the list)
Can insert before a given rank <num>, if positive
Returns True when done. False if MaxLength may be overpassed
or if <val> does not satisfy the definition
More...
 
virtual Standard_Boolean Remove (const Standard_Integer num=0, const Standard_Integer howmany=1)
 Removes items from the list
By default removes one item. Else, count given by <howmany>
Remove from rank <num> included. By default, from the end
Returns True when done, False (and does not work) if case of
out of range of if <howmany> is greater than current length
More...
 
Handle_TColStd_HSequenceOfHAsciiString OriginalValues () const
 Returns the value from which the edition started
More...
 
Handle_TColStd_HSequenceOfHAsciiString EditedValues () const
 Returns the result of the edition
More...
 
Standard_Integer NbValues (const Standard_Boolean edited=Standard_True) const
 Returns count of values, edited (D) or original
More...
 
Handle_TCollection_HAsciiString Value (const Standard_Integer num, const Standard_Boolean edited=Standard_True) const
 Returns a value given its rank. Edited (D) or Original
A Null String means the value is cleared but not removed
More...
 
Standard_Boolean IsChanged (const Standard_Integer num) const
 Tells if a value (in edited list) has been changed, i.e.
either modified-value, or added
More...
 
Standard_Boolean IsModified (const Standard_Integer num) const
 Tells if a value (in edited list) has been modified-value
(not added)
More...
 
Standard_Boolean IsAdded (const Standard_Integer num) const
 Tells if a value (in edited list) has been added (new one)
More...
 
Standard_Boolean IsTouched () const
 Tells if at least one edition (SetValue-AddValue-Remove) has
been recorded
More...
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const Handle_Standard_Type &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Detailed Description

A ListEditor is an auxiliary operator for Editor/EditForm
I.E. it works on parameter values expressed as strings

For a parameter which is a list, it may not be edited in once
by just setting a new value (as a string)

Firstly, a list can be long (and tedious to be accessed flat)
then requires a better way of accessing

Moreover, not only its VALUES may be changed (SetValue), but
also its LENGTH : items may be added or removed ...

Hence, the way of editing a parameter as a list is :

      - edit it separately, with the help of a ListEditor <br>
      - it remains possible to prepare a new list of values apart <br>
      - then give the new list in once to the EditForm <br>


An EditList is produced by the Editor, with a basic definition
This definition (brought by this class) can be redefined
Hence the Editor may produce a specific ListEditor as needed

Constructor & Destructor Documentation

IFSelect_ListEditor::IFSelect_ListEditor ( )

Creates a ListEditor with absolutely no constraint

IFSelect_ListEditor::IFSelect_ListEditor ( const Handle< Interface_TypedValue > &  def,
const Standard_Integer  max = 0 
)

Creates a ListEditor, for which items of the list to edit are
defined by <def>, and <max> describes max length :
0 (D) means no limit
value > 0 means : no more the <max> items are allowed

Member Function Documentation

virtual Standard_Boolean IFSelect_ListEditor::AddValue ( const Handle< TCollection_HAsciiString > &  val,
const Standard_Integer  atnum = 0 
)
virtual

Adds a new item. By default appends (at the end of the list)
Can insert before a given rank <num>, if positive
Returns True when done. False if MaxLength may be overpassed
or if <val> does not satisfy the definition

void IFSelect_ListEditor::ClearEdit ( )

Clears all editions already recorded

Handle_TColStd_HSequenceOfHAsciiString IFSelect_ListEditor::EditedValues ( ) const

Returns the result of the edition

Standard_Boolean IFSelect_ListEditor::IsAdded ( const Standard_Integer  num) const

Tells if a value (in edited list) has been added (new one)

Standard_Boolean IFSelect_ListEditor::IsChanged ( const Standard_Integer  num) const

Tells if a value (in edited list) has been changed, i.e.
either modified-value, or added

Standard_Boolean IFSelect_ListEditor::IsModified ( const Standard_Integer  num) const

Tells if a value (in edited list) has been modified-value
(not added)

Standard_Boolean IFSelect_ListEditor::IsTouched ( ) const

Tells if at least one edition (SetValue-AddValue-Remove) has
been recorded

virtual Standard_Boolean IFSelect_ListEditor::LoadEdited ( const Handle< TColStd_HSequenceOfHAsciiString > &  list)
virtual

 Loads a new list to replace the older one, in once ! <br>
      By default (can be redefined) checks the length of the list <br>
      and the value of each item according to the def <br>
      Items are all recorded as Modified <br>


If no def has been given at creation time, no check is done
Returns True when done, False if checks have failed ... a
specialisation may also lock it by returning always False ...

void IFSelect_ListEditor::LoadModel ( const Handle< Interface_InterfaceModel > &  model)

Loads a Model. It is used to check items of type Entity(Ident)

void IFSelect_ListEditor::LoadValues ( const Handle< TColStd_HSequenceOfHAsciiString > &  vals)

Loads the original values for the list
Remark : If its length is mor then MaxLength, editions remain
allowed, except Add

Standard_Integer IFSelect_ListEditor::NbValues ( const Standard_Boolean  edited = Standard_True) const

Returns count of values, edited (D) or original

Handle_TColStd_HSequenceOfHAsciiString IFSelect_ListEditor::OriginalValues ( ) const

Returns the value from which the edition started

virtual Standard_Boolean IFSelect_ListEditor::Remove ( const Standard_Integer  num = 0,
const Standard_Integer  howmany = 1 
)
virtual

Removes items from the list
By default removes one item. Else, count given by <howmany>
Remove from rank <num> included. By default, from the end
Returns True when done, False (and does not work) if case of
out of range of if <howmany> is greater than current length

void IFSelect_ListEditor::SetTouched ( )

Declares this ListEditor to have been touched (whatever action)

virtual Standard_Boolean IFSelect_ListEditor::SetValue ( const Standard_Integer  num,
const Handle< TCollection_HAsciiString > &  val 
)
virtual

Sets a new value for the item <num> (in edited list)
<val> may be a Null Handle, then the value will be cleared but
not removed
Returns True when done. False if <num> is out of range or if
<val> does not satisfy the definition

Handle_TCollection_HAsciiString IFSelect_ListEditor::Value ( const Standard_Integer  num,
const Standard_Boolean  edited = Standard_True 
) const

Returns a value given its rank. Edited (D) or Original
A Null String means the value is cleared but not removed


The documentation for this class was generated from the following file: