# DataExchange
TKXSBase
IFSelect

# IFSelect_EditForm Class Reference

An EditForm is the way to apply an Editor on an Entity or on
the Model
It gives read-only or read-write access, with or without undo
It can be complete (all the values of the Editor are present)
or partial (a sub-list of these value are present)
Anyway, all references to Number (argument <num>) refer to
Number of Value for the Editor
While references to Rank are for rank in the EditForm, which
may differ if it is not Complete
Two methods give the correspondance between this Number and
the Rank in the EditForm : RankFromNumber and NumberFromRank
.

`#include <IFSelect_EditForm.hxx>`

## Public Member Functions

Standard_EXPORT | IFSelect_EditForm (const Handle(IFSelect_Editor)&editor, const Standard_Boolean readonly, const Standard_Boolean undoable, const Standard_CString label="")
| Creates a complete EditForm from an Editor A specific Label can be given .
Standard_EXPORT | IFSelect_EditForm (const Handle(IFSelect_Editor)&editor, const TColStd_SequenceOfInteger &nums, const Standard_Boolean readonly, const Standard_Boolean undoable, const Standard_CString label="")
| Creates an extracted EditForm from an Editor, limited to the values identified in <nums> A specific Label can be given .
Standard_EXPORT Standard_Boolean & | EditKeepStatus ()
| Returns and may change the keep status on modif It starts as False If it is True, Apply does not clear modification status and the EditForm can be loaded again, modified value remain and may be applied again Remark that ApplyData does not clear the modification status, a call to ClearEdit does .
Standard_EXPORT Standard_CString | Label () const
Standard_EXPORT Standard_Boolean | IsLoaded () const
| Tells if the EditForm is loaded now .
Standard_EXPORT void | ClearData ()
Standard_EXPORT void | SetData (const Handle(Standard_Transient)&ent, const Handle(Interface_InterfaceModel)&model)
Standard_EXPORT void | SetEntity (const Handle(Standard_Transient)&ent)
Standard_EXPORT void | SetModel (const Handle(Interface_InterfaceModel)&model)
Standard_EXPORT Handle_Standard_Transient | Entity () const
Standard_EXPORT Handle_Interface_InterfaceModel | Model () const
Standard_EXPORT Handle_IFSelect_Editor | Editor () const
Standard_EXPORT Standard_Boolean | IsComplete () const
| Tells if an EditForm is complete or is an extract from Editor .
Standard_EXPORT Standard_Integer | NbValues (const Standard_Boolean editable) const
| Returns the count of values <editable> True : count of editable values, i.e. For a complete EditForm, it is given by the Editor Else, it is the length of the extraction map <editable> False : all the values from the Editor .
Standard_EXPORT Standard_Integer | NumberFromRank (const Standard_Integer rank) const
| Returns the Value Number in the Editor from a given Rank in the EditForm For a complete EditForm, both are equal Else, it is given by the extraction map Returns 0 if <rank> exceeds the count of editable values, .
Standard_EXPORT Standard_Integer | RankFromNumber (const Standard_Integer number) const
| Returns the Rank in the EditForm from a given Number of Value for the Editor For a complete EditForm, both are equal Else, it is given by the extraction map Returns 0 if <number> is not forecast to be edited, or is out of range .
Standard_EXPORT Standard_Integer | NameNumber (const Standard_CString name) const
| Returns the Value Number in the Editor for a given Name i.e. the true ValueNumber which can be used in various methods of EditForm If it is not complete, for a recorded (in the Editor) but non-loaded name, returns negative value (- number) .
Standard_EXPORT Standard_Integer | NameRank (const Standard_CString name) const
| Returns the Rank of Value in the EditForm for a given Name i.e. if it is not complete, for a recorded (in the Editor) but non-loaded name, returns 0 .
Standard_EXPORT void | LoadDefault ()
| For a read-write undoable EditForm, loads original values from defaults stored in the Editor .
virtual Standard_EXPORT Standard_Boolean | LoadData (const Handle(Standard_Transient)&ent, const Handle(Interface_InterfaceModel)&model)
| Loads modifications to data Default uses Editor. Can be redefined Remark that <ent> and/or <model> may be null, according to the kind of Editor. Shortcuts are available for these cases, but they finally call LoadData (hence, just ignore non-used args) .
Standard_EXPORT Standard_Boolean | LoadEntity (const Handle(Standard_Transient)&ent)
| Shortcut for LoadData when <model> is not used .
Standard_EXPORT Standard_Boolean | LoadModel (const Handle(Interface_InterfaceModel)&model)
| Shortcut for LoadData when only the model is concerned .
Standard_EXPORT Standard_Boolean | LoadData ()
| Shortcut when both <ent> and <model> are not used (when the Editor works on fully static or global data) .
Standard_EXPORT Handle_IFSelect_ListEditor | ListEditor (const Standard_Integer num) const
| Returns a ListEditor to edit the parameter <num> of the EditForm, if it is a List The Editor created it (by ListEditor) then loads it (by ListValue) For a single parameter, returns a Null Handle ... .
Standard_EXPORT void | LoadValue (const Standard_Integer num, const Handle(TCollection_HAsciiString)&val)
| Loads an original value (single). Called by the Editor only .
Standard_EXPORT void | LoadList (const Standard_Integer num, const Handle(TColStd_HSequenceOfHAsciiString)&list)
| Loads an original value as a list. Called by the Editor only .
Standard_EXPORT Handle_TCollection_HAsciiString | OriginalValue (const Standard_Integer num) const
| From an edited value, returns its ... value (original one) Null means that this value is not defined <num> is for the EditForm, not the Editor It is for a single parameter. For a list, gives a Null Handle .
Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString | OriginalList (const Standard_Integer num) const
| Returns an original value, as a list <num> is for the EditForm, not the Editor For a single parameter, gives a Null Handle .
Standard_EXPORT Handle_TCollection_HAsciiString | EditedValue (const Standard_Integer num) const
| Returns the Edited (i.e. Modified) Value (string for single) <num> reports to the EditForm If IsModified is False, returns OriginalValue Null with IsModified True : means that this value is not defined or has been removed It is for a single parameter. For a list, gives a Null Handle .
Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString | EditedList (const Standard_Integer num) const
| Returns the Edited Value as a list If IsModified is False, returns OriginalValue Null with IsModified True : means that this value is not defined or has been removed For a single parameter, gives a Null Handle .
Standard_EXPORT Standard_Boolean | IsModified (const Standard_Integer num) const
| Tells if a Value (of the EditForm) is modified (directly or through touching by Update) .
Standard_EXPORT Standard_Boolean | IsTouched (const Standard_Integer num) const
| Tells if a Value (of the EditForm) has been touched, i.e. not modified directly but by the modification of another one (by method Update from the Editor) .
Standard_EXPORT Standard_Boolean | Modify (const Standard_Integer num, const Handle(TCollection_HAsciiString)&newval, const Standard_Boolean enforce=Standard_False)

Gives a new value for the item <num> of the EditForm, if
it is a single parameter (for a list, just returns False)
Null means to Remove it
<enforce> True to overpass Protected or Computed Access Mode
Calls the method Update from the Editor, which can touch other
parameters (see NbTouched)
Returns True if well recorded, False if this value is not
allowed
Warning : Does not apply immediately : will be applied by the method
Apply
.

Standard_EXPORT Standard_Boolean | ModifyList (const Standard_Integer num, const Handle(IFSelect_ListEditor)&edited, const Standard_Boolean enforce=Standard_False)

Changes the value of an item of the EditForm, if it is a List
(else, just returns False)
The ListEditor contains the edited values of the list
If no edition was recorded, just returns False
Calls the method Update from the Editor, which can touch other
parameters (see NbTouched)
Returns True if well recorded, False if this value is not
allowed
Warning : Does not apply immediately : will be applied by the method
Apply
.

Standard_EXPORT Standard_Boolean | ModifyListValue (const Standard_Integer num, const Handle(TColStd_HSequenceOfHAsciiString)&list, const Standard_Boolean enforce=Standard_False)
| As ModifyList but the new value is given as such Creates a ListEditor, Loads it, then calls ModifyList .
Standard_EXPORT Standard_Boolean | Touch (const Standard_Integer num, const Handle(TCollection_HAsciiString)&newval)
| Gives a new value computed by the Editor, if another parameter commands the value of <num> It is generally the case for a Computed Parameter for instance Increments the counter of touched parameters Warning : it gives no protection for ReadOnly etc... while it is the internal way of touching parameters Does not work (returns False) if <num> is for a list .
Standard_EXPORT Standard_Boolean | TouchList (const Standard_Integer num, const Handle(TColStd_HSequenceOfHAsciiString)&newlist)
| Acts as Touch but for a list Does not work (returns False) if <num> is for a single param .
Standard_EXPORT Standard_Integer | NbTouched () const
| Returns the count of parameters touched by the last Modify (apart from the modified parameter itself) Normally it is zero .
Standard_EXPORT void | ClearEdit (const Standard_Integer num=0)
| Clears modification status : by default all, or one by its numbers (in the Editor) .
Standard_EXPORT void | PrintDefs (const Handle(Message_Messenger)&S) const
| Prints Definitions, relative to the Editor .
Standard_EXPORT void | PrintValues (const Handle(Message_Messenger)&S, const Standard_Integer what, const Standard_Boolean names, const Standard_Boolean alsolist=Standard_False) const
| Prints Values, according to what and alsolist <names> True : prints Long Names; False : prints Short Names <what> < 0 : prints Original Values (+ flag Modified) <what> > 0 : prints Final Values (+flag Modified) <what> = 0 : prints Modified Values (Original + Edited) <alsolist> False (D) : lists are printed only as their count <alsolist> True : lists are printed for all their items .
Standard_EXPORT Standard_Boolean | Apply ()
| Applies modifications to own data Calls ApplyData then Clears Status according EditKeepStatus .
virtual Standard_EXPORT Standard_Boolean | Recognize () const
| Tells if this EditForm can work with its Editor and its actual Data (Entity and Model) Default uses Editor. Can be redefined .
virtual Standard_EXPORT Standard_Boolean | ApplyData (const Handle(Standard_Transient)&ent, const Handle(Interface_InterfaceModel)&model)
| Applies modifications to data Default uses Editor. Can be redefined .
Standard_EXPORT Standard_Boolean | Undo ()
| For an undoable EditForm, Applies ... origibal values ! and clears modified ones Can be run only once .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Attributes

Standard_Boolean | thecomplete
Standard_Boolean | theloaded
Standard_Boolean | thekeepst
TCollection_AsciiString | thelabel
TColStd_Array1OfInteger | thenums
TColStd_Array1OfTransient | theorigs
TColStd_Array1OfTransient | themodifs
TColStd_Array1OfInteger | thestatus
Handle_IFSelect_Editor | theeditor
Handle_Standard_Transient | theent
Handle_Interface_InterfaceModel | themodel
Standard_Integer | thetouched

## Constructor & Destructor Documentation

Standard_EXPORT IFSelect_EditForm::IFSelect_EditForm | ( | const Handle(IFSelect_Editor)& | editor,
|  | const Standard_Boolean | readonly,
|  | const Standard_Boolean | undoable,
|  | const Standard_CString | label = `""`
| ) |

Standard_EXPORT IFSelect_EditForm::IFSelect_EditForm | ( | const Handle(IFSelect_Editor)& | editor,
|  | const TColStd_SequenceOfInteger & | nums,
|  | const Standard_Boolean | readonly,
|  | const Standard_Boolean | undoable,
|  | const Standard_CString | label = `""`
| ) |

## Member Function Documentation

Standard_EXPORT Standard_Boolean IFSelect_EditForm::Apply | ( |  | ) |

virtual Standard_EXPORT Standard_Boolean IFSelect_EditForm::ApplyData | ( | const Handle(Standard_Transient)& | ent,
|  | const Handle(Interface_InterfaceModel)& | model
| ) | `[virtual]`

Standard_EXPORT void IFSelect_EditForm::ClearData | ( |  | ) |

Standard_EXPORT void IFSelect_EditForm::ClearEdit | ( | const Standard_Integer | num = `0` | ) |

Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString IFSelect_EditForm::EditedList | ( | const Standard_Integer | num | ) | const

Standard_EXPORT Handle_TCollection_HAsciiString IFSelect_EditForm::EditedValue | ( | const Standard_Integer | num | ) | const

Standard_EXPORT Standard_Boolean& IFSelect_EditForm::EditKeepStatus | ( |  | ) |

Standard_EXPORT Handle_IFSelect_Editor IFSelect_EditForm::Editor | ( |  | ) | const

Standard_EXPORT Handle_Standard_Transient IFSelect_EditForm::Entity | ( |  | ) | const

Standard_EXPORT const IFSelect_EditForm::Handle | ( | Standard_Type |  | ) | const

Standard_EXPORT Standard_Boolean IFSelect_EditForm::IsComplete | ( |  | ) | const

Standard_EXPORT Standard_Boolean IFSelect_EditForm::IsLoaded | ( |  | ) | const

Standard_EXPORT Standard_Boolean IFSelect_EditForm::IsModified | ( | const Standard_Integer | num | ) | const

Standard_EXPORT Standard_Boolean IFSelect_EditForm::IsTouched | ( | const Standard_Integer | num | ) | const

Standard_EXPORT Standard_CString IFSelect_EditForm::Label | ( |  | ) | const

Standard_EXPORT Handle_IFSelect_ListEditor IFSelect_EditForm::ListEditor | ( | const Standard_Integer | num | ) | const

Standard_EXPORT Standard_Boolean IFSelect_EditForm::LoadData | ( |  | ) |

virtual Standard_EXPORT Standard_Boolean IFSelect_EditForm::LoadData | ( | const Handle(Standard_Transient)& | ent,
|  | const Handle(Interface_InterfaceModel)& | model
| ) | `[virtual]`

Standard_EXPORT void IFSelect_EditForm::LoadDefault | ( |  | ) |

Standard_EXPORT Standard_Boolean IFSelect_EditForm::LoadEntity | ( | const Handle(Standard_Transient)& | ent | ) |

Standard_EXPORT void IFSelect_EditForm::LoadList | ( | const Standard_Integer | num,
|  | const Handle(TColStd_HSequenceOfHAsciiString)& | list
| ) |

Standard_EXPORT Standard_Boolean IFSelect_EditForm::LoadModel | ( | const Handle(Interface_InterfaceModel)& | model | ) |

Standard_EXPORT void IFSelect_EditForm::LoadValue | ( | const Standard_Integer | num,
|  | const Handle(TCollection_HAsciiString)& | val
| ) |

Standard_EXPORT Handle_Interface_InterfaceModel IFSelect_EditForm::Model | ( |  | ) | const

Standard_EXPORT Standard_Boolean IFSelect_EditForm::Modify | ( | const Standard_Integer | num,
|  | const Handle(TCollection_HAsciiString)& | newval,
|  | const Standard_Boolean | enforce = `Standard_False`
| ) |

Standard_EXPORT Standard_Boolean IFSelect_EditForm::ModifyList | ( | const Standard_Integer | num,
|  | const Handle(IFSelect_ListEditor)& | edited,
|  | const Standard_Boolean | enforce = `Standard_False`
| ) |

Standard_EXPORT Standard_Boolean IFSelect_EditForm::ModifyListValue | ( | const Standard_Integer | num,
|  | const Handle(TColStd_HSequenceOfHAsciiString)& | list,
|  | const Standard_Boolean | enforce = `Standard_False`
| ) |

Standard_EXPORT Standard_Integer IFSelect_EditForm::NameNumber | ( | const Standard_CString | name | ) | const

Standard_EXPORT Standard_Integer IFSelect_EditForm::NameRank | ( | const Standard_CString | name | ) | const

Standard_EXPORT Standard_Integer IFSelect_EditForm::NbTouched | ( |  | ) | const

Standard_EXPORT Standard_Integer IFSelect_EditForm::NbValues | ( | const Standard_Boolean | editable | ) | const

Standard_EXPORT Standard_Integer IFSelect_EditForm::NumberFromRank | ( | const Standard_Integer | rank | ) | const

Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString IFSelect_EditForm::OriginalList | ( | const Standard_Integer | num | ) | const

Standard_EXPORT Handle_TCollection_HAsciiString IFSelect_EditForm::OriginalValue | ( | const Standard_Integer | num | ) | const

Standard_EXPORT void IFSelect_EditForm::PrintDefs | ( | const Handle(Message_Messenger)& | S | ) | const

Standard_EXPORT void IFSelect_EditForm::PrintValues | ( | const Handle(Message_Messenger)& | S,
|  | const Standard_Integer | what,
|  | const Standard_Boolean | names,
|  | const Standard_Boolean | alsolist = `Standard_False`
| ) | const

Standard_EXPORT Standard_Integer IFSelect_EditForm::RankFromNumber | ( | const Standard_Integer | number | ) | const

virtual Standard_EXPORT Standard_Boolean IFSelect_EditForm::Recognize | ( |  | ) | const`[virtual]`

Standard_EXPORT void IFSelect_EditForm::SetData | ( | const Handle(Standard_Transient)& | ent,
|  | const Handle(Interface_InterfaceModel)& | model
| ) |

Standard_EXPORT void IFSelect_EditForm::SetEntity | ( | const Handle(Standard_Transient)& | ent | ) |

Standard_EXPORT void IFSelect_EditForm::SetModel | ( | const Handle(Interface_InterfaceModel)& | model | ) |

Standard_EXPORT Standard_Boolean IFSelect_EditForm::Touch | ( | const Standard_Integer | num,
|  | const Handle(TCollection_HAsciiString)& | newval
| ) |

Standard_EXPORT Standard_Boolean IFSelect_EditForm::TouchList | ( | const Standard_Integer | num,
|  | const Handle(TColStd_HSequenceOfHAsciiString)& | newlist
| ) |

Standard_EXPORT Standard_Boolean IFSelect_EditForm::Undo | ( |  | ) |

## Field Documentation

Standard_Boolean IFSelect_EditForm::thecomplete `[private]`

Handle_IFSelect_Editor IFSelect_EditForm::theeditor `[private]`

Handle_Standard_Transient IFSelect_EditForm::theent `[private]`

Standard_Boolean IFSelect_EditForm::thekeepst `[private]`

TCollection_AsciiString IFSelect_EditForm::thelabel `[private]`

Standard_Boolean IFSelect_EditForm::theloaded `[private]`

Handle_Interface_InterfaceModel IFSelect_EditForm::themodel `[private]`

TColStd_Array1OfTransient IFSelect_EditForm::themodifs `[private]`

TColStd_Array1OfInteger IFSelect_EditForm::thenums `[private]`

TColStd_Array1OfTransient IFSelect_EditForm::theorigs `[private]`

TColStd_Array1OfInteger IFSelect_EditForm::thestatus `[private]`

Standard_Integer IFSelect_EditForm::thetouched `[private]`

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

- IFSelect_EditForm.hxx