# DataExchange
TKXSBase
IFSelect

# IFSelect_Editor Class Reference

An Editor defines a set of values and a way to edit them, on
an entity or on the model (e.g. on its header)
Each Value is controlled by a TypedValue, with a number (it is
an Integer) and a name under two forms (complete and short)
and an edit mode
.

`#include <IFSelect_Editor.hxx>`

Inheritance diagram for IFSelect_Editor:

[legend]

## Public Member Functions

Standard_EXPORT void | SetValue (const Standard_Integer num, const Handle(Interface_TypedValue)&typval, const Standard_CString shortname="", const IFSelect_EditValue accessmode=IFSelect_Editable)
| Sets a Typed Value for a given ident and short name, with an Edit Mode .
Standard_EXPORT void | SetList (const Standard_Integer num, const Standard_Integer max=0)
| Sets a parameter to be a List max < 0 : not for a list (set when starting) max = 0 : list with no length limit (default for SetList) max > 0 : list limited to <max> items .
Standard_EXPORT Standard_Integer | NbValues () const
| Returns the count of Typed Values .
Standard_EXPORT Handle_Interface_TypedValue | TypedValue (const Standard_Integer num) const
| Returns a Typed Value from its ident .
Standard_EXPORT Standard_Boolean | IsList (const Standard_Integer num) const
| Tells if a parameter is a list .
Standard_EXPORT Standard_Integer | MaxList (const Standard_Integer num) const
| Returns max length allowed for a list = 0 means : list with no limit < 0 means : not a list .
Standard_EXPORT Standard_CString | Name (const Standard_Integer num, const Standard_Boolean isshort=Standard_False) const
| Returns the name of a Value (complete or short) from its ident Short Name can be empty .
Standard_EXPORT IFSelect_EditValue | EditMode (const Standard_Integer num) const
| Returns the edit mode of a Value .
Standard_EXPORT Standard_Integer | NameNumber (const Standard_CString name) const
| Returns the number (ident) of a Value, from its name, short or complete. If not found, returns 0 .
Standard_EXPORT void | PrintNames (const Handle(Message_Messenger)&S) const
Standard_EXPORT void | PrintDefs (const Handle(Message_Messenger)&S, const Standard_Boolean labels=Standard_False) const
Standard_EXPORT Standard_Integer | MaxNameLength (const Standard_Integer what) const
| Returns the MaxLength of, according to what : <what> = -1 : length of short names <what> = 0 : length of complete names <what> = 1 : length of values labels .
virtual Standard_EXPORT TCollection_AsciiString | Label () const =0
| Returns the specific label .
virtual Standard_EXPORT Handle_IFSelect_EditForm | Form (const Standard_Boolean readonly, const Standard_Boolean undoable=Standard_True) const
| Builds and Returns an EditForm, empty (no data yet) Can be redefined to return a specific type of EditForm .
virtual Standard_EXPORT Standard_Boolean | Recognize (const Handle(IFSelect_EditForm)&form) const =0
| Tells if this Editor can work on this EditForm and its content (model, entity ?) .
virtual Standard_EXPORT Handle_TCollection_HAsciiString | StringValue (const Handle(IFSelect_EditForm)&form, const Standard_Integer num) const =0
| Returns the value of an EditForm, for a given item (if not a list. for a list, a Null String may be returned) .
virtual Standard_EXPORT Handle_IFSelect_ListEditor | ListEditor (const Standard_Integer num) const
| Returns a ListEditor for a parameter which is a List Default returns a basic ListEditor for a List, a Null Handle if <num> is not for a List. Can be redefined .
virtual Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString | ListValue (const Handle(IFSelect_EditForm)&form, const Standard_Integer num) const
| Returns the value of an EditForm as a List, for a given item If not a list, a Null Handle should be returned Default returns a Null Handle, because many Editors have no list to edit. To be redefined as required .
virtual Standard_EXPORT Standard_Boolean | Load (const Handle(IFSelect_EditForm)&form, const Handle(Standard_Transient)&ent, const Handle(Interface_InterfaceModel)&model) const =0
| Loads original values from some data, to an EditForm Remark: <ent> may be Null, this means all <model> is concerned Also <model> may be Null, if no context applies for <ent> And both <ent> and <model> may be Null, for a full static editor .
virtual Standard_EXPORT Standard_Boolean | Update (const Handle(IFSelect_EditForm)&form, const Standard_Integer num, const Handle(TCollection_HAsciiString)&newval, const Standard_Boolean enforce) const

Updates the EditForm when a parameter is modified
I.E. default does nothing, can be redefined, as follows :
Returns True when done (even if does nothing), False in case
of refuse (for instance, if the new value is not suitable)
<num> is the rank of the parameter for the EDITOR itself
<enforce> True means that protected parameters can be touched
If a parameter commands the value of other ones, when it is
modified, it is necessary to touch them by Touch from EditForm
.

virtual Standard_EXPORT Standard_Boolean | UpdateList (const Handle(IFSelect_EditForm)&form, const Standard_Integer num, const Handle(TColStd_HSequenceOfHAsciiString)&newlist, const Standard_Boolean enforce) const
| Acts as Update, but when the value is a list .
virtual Standard_EXPORT Standard_Boolean | Apply (const Handle(IFSelect_EditForm)&form, const Handle(Standard_Transient)&ent, const Handle(Interface_InterfaceModel)&model) const =0
| Applies modified values of the EditForm with some data Remark: <ent> may be Null, this means all <model> is concerned Also <model> may be Null, if no context applies for <ent> And both <ent> and <model> may be Null, for a full static editor .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Protected Member Functions

Standard_EXPORT | IFSelect_Editor (const Standard_Integer nbval)
| Prepares the list of Typed Values (gives its count) This count can be tuned later, to a LOWER value, this allows to initialize with a "maximum reservation" then cut the extra .
Standard_EXPORT void | SetNbValues (const Standard_Integer nbval)
| Adjusts the true count of values. It can be LOWER or equal to the initial size (which then acts as a reservation), but never greater .

## Private Attributes

Standard_Integer | thenbval
Standard_Integer | themaxsh
Standard_Integer | themaxco
Standard_Integer | themaxla
Handle_Dico_DictionaryOfInteger | thenames
TColStd_Array1OfTransient | thevalues
TColStd_Array1OfAsciiString | theshorts
TColStd_Array1OfInteger | themodes
TColStd_Array1OfInteger | thelists

## Constructor & Destructor Documentation

Standard_EXPORT IFSelect_Editor::IFSelect_Editor | ( | const Standard_Integer | nbval | ) | `[protected]`

## Member Function Documentation

virtual Standard_EXPORT Standard_Boolean IFSelect_Editor::Apply | ( | const Handle(IFSelect_EditForm)& | form,
|  | const Handle(Standard_Transient)& | ent,
|  | const Handle(Interface_InterfaceModel)& | model
| ) | const`[pure virtual]`

| Implemented in APIHeaderSection_EditHeader, IFSelect_ParamEditor, IGESSelect_EditDirPart, IGESSelect_EditHeader, STEPEdit_EditContext, and STEPEdit_EditSDR.

Standard_EXPORT IFSelect_EditValue IFSelect_Editor::EditMode | ( | const Standard_Integer | num | ) | const

virtual Standard_EXPORT Handle_IFSelect_EditForm IFSelect_Editor::Form | ( | const Standard_Boolean | readonly,
|  | const Standard_Boolean | undoable = `Standard_True`
| ) | const`[virtual]`

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

| Reimplemented in APIHeaderSection_EditHeader, IFSelect_ParamEditor, IGESSelect_EditDirPart, IGESSelect_EditHeader, STEPEdit_EditContext, and STEPEdit_EditSDR.

Standard_EXPORT Standard_Boolean IFSelect_Editor::IsList | ( | const Standard_Integer | num | ) | const

virtual Standard_EXPORT TCollection_AsciiString IFSelect_Editor::Label | ( |  | ) | const`[pure virtual]`

| Implemented in APIHeaderSection_EditHeader, IFSelect_ParamEditor, IGESSelect_EditDirPart, IGESSelect_EditHeader, STEPEdit_EditContext, and STEPEdit_EditSDR.

virtual Standard_EXPORT Handle_IFSelect_ListEditor IFSelect_Editor::ListEditor | ( | const Standard_Integer | num | ) | const`[virtual]`

virtual Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString IFSelect_Editor::ListValue | ( | const Handle(IFSelect_EditForm)& | form,
|  | const Standard_Integer | num
| ) | const`[virtual]`

virtual Standard_EXPORT Standard_Boolean IFSelect_Editor::Load | ( | const Handle(IFSelect_EditForm)& | form,
|  | const Handle(Standard_Transient)& | ent,
|  | const Handle(Interface_InterfaceModel)& | model
| ) | const`[pure virtual]`

| Implemented in APIHeaderSection_EditHeader, IFSelect_ParamEditor, IGESSelect_EditDirPart, IGESSelect_EditHeader, STEPEdit_EditContext, and STEPEdit_EditSDR.

Standard_EXPORT Standard_Integer IFSelect_Editor::MaxList | ( | const Standard_Integer | num | ) | const

Standard_EXPORT Standard_Integer IFSelect_Editor::MaxNameLength | ( | const Standard_Integer | what | ) | const

Standard_EXPORT Standard_CString IFSelect_Editor::Name | ( | const Standard_Integer | num,
|  | const Standard_Boolean | isshort = `Standard_False`
| ) | const

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

Standard_EXPORT Standard_Integer IFSelect_Editor::NbValues | ( |  | ) | const

Standard_EXPORT void IFSelect_Editor::PrintDefs | ( | const Handle(Message_Messenger)& | S,
|  | const Standard_Boolean | labels = `Standard_False`
| ) | const

Standard_EXPORT void IFSelect_Editor::PrintNames | ( | const Handle(Message_Messenger)& | S | ) | const

virtual Standard_EXPORT Standard_Boolean IFSelect_Editor::Recognize | ( | const Handle(IFSelect_EditForm)& | form | ) | const`[pure virtual]`

| Implemented in APIHeaderSection_EditHeader, IFSelect_ParamEditor, IGESSelect_EditDirPart, IGESSelect_EditHeader, STEPEdit_EditContext, and STEPEdit_EditSDR.

Standard_EXPORT void IFSelect_Editor::SetList | ( | const Standard_Integer | num,
|  | const Standard_Integer | max = `0`
| ) |

Standard_EXPORT void IFSelect_Editor::SetNbValues | ( | const Standard_Integer | nbval | ) | `[protected]`

Standard_EXPORT void IFSelect_Editor::SetValue | ( | const Standard_Integer | num,
|  | const Handle(Interface_TypedValue)& | typval,
|  | const Standard_CString | shortname = `""`,
|  | const IFSelect_EditValue | accessmode = `IFSelect_Editable`
| ) |

virtual Standard_EXPORT Handle_TCollection_HAsciiString IFSelect_Editor::StringValue | ( | const Handle(IFSelect_EditForm)& | form,
|  | const Standard_Integer | num
| ) | const`[pure virtual]`

| Implemented in APIHeaderSection_EditHeader, IFSelect_ParamEditor, IGESSelect_EditDirPart, IGESSelect_EditHeader, STEPEdit_EditContext, and STEPEdit_EditSDR.

Standard_EXPORT Handle_Interface_TypedValue IFSelect_Editor::TypedValue | ( | const Standard_Integer | num | ) | const

virtual Standard_EXPORT Standard_Boolean IFSelect_Editor::Update | ( | const Handle(IFSelect_EditForm)& | form,
|  | const Standard_Integer | num,
|  | const Handle(TCollection_HAsciiString)& | newval,
|  | const Standard_Boolean | enforce
| ) | const`[virtual]`

| Reimplemented in IGESSelect_EditDirPart, and IGESSelect_EditHeader.

virtual Standard_EXPORT Standard_Boolean IFSelect_Editor::UpdateList | ( | const Handle(IFSelect_EditForm)& | form,
|  | const Standard_Integer | num,
|  | const Handle(TColStd_HSequenceOfHAsciiString)& | newlist,
|  | const Standard_Boolean | enforce
| ) | const`[virtual]`

## Field Documentation

TColStd_Array1OfInteger IFSelect_Editor::thelists `[private]`

Standard_Integer IFSelect_Editor::themaxco `[private]`

Standard_Integer IFSelect_Editor::themaxla `[private]`

Standard_Integer IFSelect_Editor::themaxsh `[private]`

TColStd_Array1OfInteger IFSelect_Editor::themodes `[private]`

Handle_Dico_DictionaryOfInteger IFSelect_Editor::thenames `[private]`

Standard_Integer IFSelect_Editor::thenbval `[private]`

TColStd_Array1OfAsciiString IFSelect_Editor::theshorts `[private]`

TColStd_Array1OfTransient IFSelect_Editor::thevalues `[private]`

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

- IFSelect_Editor.hxx