OCC Main Page | DataExchange | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

DataExchange
TKXSBase
IFSelect


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 :
- edit it separately, with the help of a ListEditor
- it remains possible to prepare a new list of values apart
- then give the new list in once to the EditForm

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
.

#include <IFSelect_ListEditor.hxx>


Public Member Functions

Standard_EXPORT IFSelect_ListEditor ()
 Creates a ListEditor with absolutely no constraint
.
Standard_EXPORT 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
.
Standard_EXPORT void LoadModel (const Handle(Interface_InterfaceModel)&model)
 Loads a Model. It is used to check items of type Entity(Ident)
.
Standard_EXPORT 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
.
Standard_EXPORT void SetTouched ()
 Declares this ListEditor to have been touched (whatever action)
.
Standard_EXPORT void ClearEdit ()
 Clears all editions already recorded
.
virtual Standard_EXPORT 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_EXPORT 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_EXPORT 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_EXPORT 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
.
Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString OriginalValues () const
 Returns the value from which the edition started
.
Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString EditedValues () const
 Returns the result of the edition
.
Standard_EXPORT Standard_Integer NbValues (const Standard_Boolean edited=Standard_True) const
 Returns count of values, edited (D) or original
.
Standard_EXPORT 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_EXPORT 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_EXPORT Standard_Boolean IsModified (const Standard_Integer num) const
 Tells if a value (in edited list) has been modified-value
(not added)
.
Standard_EXPORT Standard_Boolean IsAdded (const Standard_Integer num) const
 Tells if a value (in edited list) has been added (new one)
.
Standard_EXPORT Standard_Boolean IsTouched () const
 Tells if at least one edition (SetValue-AddValue-Remove) has
been recorded
.
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Private Attributes

Standard_Integer themax
Handle_Interface_TypedValue thedef
Standard_Integer thetouc
Handle_TColStd_HSequenceOfHAsciiString theorig
Handle_TColStd_HSequenceOfHAsciiString theedit
Handle_TColStd_HSequenceOfInteger thestat
Handle_Interface_InterfaceModel themodl


Constructor & Destructor Documentation

Standard_EXPORT IFSelect_ListEditor::IFSelect_ListEditor  ) 
 

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


Member Function Documentation

virtual Standard_EXPORT Standard_Boolean IFSelect_ListEditor::AddValue const Handle(TCollection_HAsciiString)&  val,
const Standard_Integer  atnum = 0
[virtual]
 

Standard_EXPORT void IFSelect_ListEditor::ClearEdit  ) 
 

Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString IFSelect_ListEditor::EditedValues  )  const
 

Standard_EXPORT const IFSelect_ListEditor::Handle Standard_Type   )  const
 

Standard_EXPORT Standard_Boolean IFSelect_ListEditor::IsAdded const Standard_Integer  num  )  const
 

Standard_EXPORT Standard_Boolean IFSelect_ListEditor::IsChanged const Standard_Integer  num  )  const
 

Standard_EXPORT Standard_Boolean IFSelect_ListEditor::IsModified const Standard_Integer  num  )  const
 

Standard_EXPORT Standard_Boolean IFSelect_ListEditor::IsTouched  )  const
 

virtual Standard_EXPORT Standard_Boolean IFSelect_ListEditor::LoadEdited const Handle(TColStd_HSequenceOfHAsciiString)&  list  )  [virtual]
 

Standard_EXPORT void IFSelect_ListEditor::LoadModel const Handle(Interface_InterfaceModel)&  model  ) 
 

Standard_EXPORT void IFSelect_ListEditor::LoadValues const Handle(TColStd_HSequenceOfHAsciiString)&  vals  ) 
 

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

Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString IFSelect_ListEditor::OriginalValues  )  const
 

virtual Standard_EXPORT Standard_Boolean IFSelect_ListEditor::Remove const Standard_Integer  num = 0,
const Standard_Integer  howmany = 1
[virtual]
 

Standard_EXPORT void IFSelect_ListEditor::SetTouched  ) 
 

virtual Standard_EXPORT Standard_Boolean IFSelect_ListEditor::SetValue const Standard_Integer  num,
const Handle(TCollection_HAsciiString)&  val
[virtual]
 

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


Field Documentation

Handle_Interface_TypedValue IFSelect_ListEditor::thedef [private]
 

Handle_TColStd_HSequenceOfHAsciiString IFSelect_ListEditor::theedit [private]
 

Standard_Integer IFSelect_ListEditor::themax [private]
 

Handle_Interface_InterfaceModel IFSelect_ListEditor::themodl [private]
 

Handle_TColStd_HSequenceOfHAsciiString IFSelect_ListEditor::theorig [private]
 

Handle_TColStd_HSequenceOfInteger IFSelect_ListEditor::thestat [private]
 

Standard_Integer IFSelect_ListEditor::thetouc [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 14:39:44 2008 for OpenCASCADE by  doxygen 1.4.1