Open CASCADE Technology 6.6.0
Public Member Functions | Protected Member Functions
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:
Inheritance graph
[legend]

Public Member Functions

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

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_Integer NbValues () const
 Returns the count of Typed Values

Handle_Interface_TypedValue TypedValue (const Standard_Integer num) const
 Returns a Typed Value from its ident

Standard_Boolean IsList (const Standard_Integer num) const
 Tells if a parameter is a list

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_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

IFSelect_EditValue EditMode (const Standard_Integer num) const
 Returns the edit mode of a Value

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

void PrintNames (const Handle< Message_Messenger > &S) const
void PrintDefs (const Handle< Message_Messenger > &S, const Standard_Boolean labels=Standard_False) const
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 TCollection_AsciiString Label () const =0
 Returns the specific label

virtual 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_Boolean Recognize (const Handle< IFSelect_EditForm > &form) const =0
 Tells if this Editor can work on this EditForm and its content
(model, entity ?)

virtual
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 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
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_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_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_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_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

Protected Member Functions

 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

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


Constructor & Destructor Documentation

IFSelect_Editor::IFSelect_Editor ( const Standard_Integer  nbval) [protected]

Member Function Documentation

virtual Standard_Boolean IFSelect_Editor::Apply ( const Handle< IFSelect_EditForm > &  form,
const Handle< Standard_Transient > &  ent,
const Handle< Interface_InterfaceModel > &  model 
) const [pure virtual]
IFSelect_EditValue IFSelect_Editor::EditMode ( const Standard_Integer  num) const
virtual Handle_IFSelect_EditForm IFSelect_Editor::Form ( const Standard_Boolean  readonly,
const Standard_Boolean  undoable = Standard_True 
) const [virtual]
Standard_Boolean IFSelect_Editor::IsList ( const Standard_Integer  num) const
virtual TCollection_AsciiString IFSelect_Editor::Label ( ) const [pure virtual]
virtual Handle_IFSelect_ListEditor IFSelect_Editor::ListEditor ( const Standard_Integer  num) const [virtual]
virtual Handle_TColStd_HSequenceOfHAsciiString IFSelect_Editor::ListValue ( const Handle< IFSelect_EditForm > &  form,
const Standard_Integer  num 
) const [virtual]
virtual Standard_Boolean IFSelect_Editor::Load ( const Handle< IFSelect_EditForm > &  form,
const Handle< Standard_Transient > &  ent,
const Handle< Interface_InterfaceModel > &  model 
) const [pure virtual]
Standard_Integer IFSelect_Editor::MaxList ( const Standard_Integer  num) const
Standard_Integer IFSelect_Editor::MaxNameLength ( const Standard_Integer  what) const
Standard_CString IFSelect_Editor::Name ( const Standard_Integer  num,
const Standard_Boolean  isshort = Standard_False 
) const
Standard_Integer IFSelect_Editor::NameNumber ( const Standard_CString  name) const
Standard_Integer IFSelect_Editor::NbValues ( ) const
void IFSelect_Editor::PrintDefs ( const Handle< Message_Messenger > &  S,
const Standard_Boolean  labels = Standard_False 
) const
void IFSelect_Editor::PrintNames ( const Handle< Message_Messenger > &  S) const
virtual Standard_Boolean IFSelect_Editor::Recognize ( const Handle< IFSelect_EditForm > &  form) const [pure virtual]
void IFSelect_Editor::SetList ( const Standard_Integer  num,
const Standard_Integer  max = 0 
)
void IFSelect_Editor::SetNbValues ( const Standard_Integer  nbval) [protected]
void IFSelect_Editor::SetValue ( const Standard_Integer  num,
const Handle< Interface_TypedValue > &  typval,
const Standard_CString  shortname = "",
const IFSelect_EditValue  accessmode = IFSelect_Editable 
)
virtual Handle_TCollection_HAsciiString IFSelect_Editor::StringValue ( const Handle< IFSelect_EditForm > &  form,
const Standard_Integer  num 
) const [pure virtual]
Handle_Interface_TypedValue IFSelect_Editor::TypedValue ( const Standard_Integer  num) const
virtual 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]
virtual 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]

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines