Open CASCADE Technology
6.5.4
|
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>
Public Member Functions | |
IFSelect_ListEditor () | |
Creates a ListEditor with absolutely no constraint | |
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 | |
void | LoadModel (const Handle< Interface_InterfaceModel > &model) |
Loads a Model. It is used to check items of type Entity(Ident) | |
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 | |
void | SetTouched () |
Declares this ListEditor to have been touched (whatever action) | |
void | ClearEdit () |
Clears all editions already recorded | |
virtual Standard_Boolean | LoadEdited (const Handle< TColStd_HSequenceOfHAsciiString > &list) |
Loads a new list to replace the older one, in once ! By default (can be redefined) checks the length of the list and the value of each item according to the def Items are all recorded as Modified 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 ... | |
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 | |
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 | |
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 | |
Handle_TColStd_HSequenceOfHAsciiString | OriginalValues () const |
Returns the value from which the edition started | |
Handle_TColStd_HSequenceOfHAsciiString | EditedValues () const |
Returns the result of the edition | |
Standard_Integer | NbValues (const Standard_Boolean edited=Standard_True) const |
Returns count of values, edited (D) or original | |
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 | |
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 | |
Standard_Boolean | IsModified (const Standard_Integer num) const |
Tells if a value (in edited list) has been modified-value (not added) | |
Standard_Boolean | IsAdded (const Standard_Integer num) const |
Tells if a value (in edited list) has been added (new one) | |
Standard_Boolean | IsTouched () const |
Tells if at least one edition (SetValue-AddValue-Remove) has been recorded |
- 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
IFSelect_ListEditor::IFSelect_ListEditor | ( | const Handle< Interface_TypedValue > & | def, |
const Standard_Integer | max = 0 |
||
) |
virtual Standard_Boolean IFSelect_ListEditor::AddValue | ( | const Handle< TCollection_HAsciiString > & | val, |
const Standard_Integer | atnum = 0 |
||
) | [virtual] |
Handle_TColStd_HSequenceOfHAsciiString IFSelect_ListEditor::EditedValues | ( | ) | const |
virtual Standard_Boolean IFSelect_ListEditor::LoadEdited | ( | const Handle< TColStd_HSequenceOfHAsciiString > & | list | ) | [virtual] |
void IFSelect_ListEditor::LoadModel | ( | const Handle< Interface_InterfaceModel > & | model | ) |
Standard_Integer IFSelect_ListEditor::NbValues | ( | const Standard_Boolean | edited = Standard_True | ) | const |
Handle_TColStd_HSequenceOfHAsciiString IFSelect_ListEditor::OriginalValues | ( | ) | const |
virtual Standard_Boolean IFSelect_ListEditor::Remove | ( | const Standard_Integer | num = 0 , |
const Standard_Integer | howmany = 1 |
||
) | [virtual] |
virtual Standard_Boolean IFSelect_ListEditor::SetValue | ( | const Standard_Integer | num, |
const Handle< TCollection_HAsciiString > & | val | ||
) | [virtual] |
Handle_TCollection_HAsciiString IFSelect_ListEditor::Value | ( | const Standard_Integer | num, |
const Standard_Boolean | edited = Standard_True |
||
) | const |