// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _IFSelect_EditForm_HeaderFile #define _IFSelect_EditForm_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_IFSelect_EditForm_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _TCollection_AsciiString_HeaderFile #include #endif #ifndef _TColStd_Array1OfInteger_HeaderFile #include #endif #ifndef _TColStd_Array1OfTransient_HeaderFile #include #endif #ifndef _Handle_IFSelect_Editor_HeaderFile #include #endif #ifndef _Handle_Standard_Transient_HeaderFile #include #endif #ifndef _Handle_Interface_InterfaceModel_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif #ifndef _Handle_IFSelect_ListEditor_HeaderFile #include #endif #ifndef _Handle_TCollection_HAsciiString_HeaderFile #include #endif #ifndef _Handle_TColStd_HSequenceOfHAsciiString_HeaderFile #include #endif #ifndef _Handle_Message_Messenger_HeaderFile #include #endif class IFSelect_Editor; class Standard_Transient; class Interface_InterfaceModel; class TColStd_SequenceOfInteger; class IFSelect_ListEditor; class TCollection_HAsciiString; class TColStd_HSequenceOfHAsciiString; class Message_Messenger; //! 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 ) 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
//!
class IFSelect_EditForm : public MMgt_TShared { public: //! Creates a complete EditForm from an Editor
//! A specific Label can be given
Standard_EXPORT IFSelect_EditForm(const Handle(IFSelect_Editor)& editor,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
//! 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 = ""); //! 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_Boolean& EditKeepStatus() ; Standard_EXPORT Standard_CString Label() const; //! Tells if the EditForm is loaded now
Standard_EXPORT Standard_Boolean IsLoaded() const; 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; //! Tells if an EditForm is complete or is an extract from Editor
Standard_EXPORT Standard_Boolean IsComplete() const; //! Returns the count of values
//! 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
//! False : all the values from the Editor
Standard_EXPORT Standard_Integer NbValues(const Standard_Boolean editable) 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 exceeds the count of editable values,
Standard_EXPORT Standard_Integer NumberFromRank(const Standard_Integer rank) 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 is not forecast to be edited, or is
//! out of range
Standard_EXPORT Standard_Integer RankFromNumber(const Standard_Integer number) 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 NameNumber(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 Standard_Integer NameRank(const Standard_CString name) const; //! For a read-write undoable EditForm, loads original values
//! from defaults stored in the Editor
Standard_EXPORT void LoadDefault() ; //! Loads modifications to data
//! Default uses Editor. Can be redefined
//! Remark that and/or 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 virtual Standard_Boolean LoadData(const Handle(Standard_Transient)& ent,const Handle(Interface_InterfaceModel)& model) ; //! Shortcut for LoadData when is not used
Standard_EXPORT Standard_Boolean LoadEntity(const Handle(Standard_Transient)& ent) ; //! Shortcut for LoadData when only the model is concerned
Standard_EXPORT Standard_Boolean LoadModel(const Handle(Interface_InterfaceModel)& model) ; //! Shortcut when both and are not used
//! (when the Editor works on fully static or global data)
Standard_EXPORT Standard_Boolean LoadData() ; //! Returns a ListEditor to edit the parameter 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 Handle_IFSelect_ListEditor ListEditor(const Standard_Integer num) const; //! Loads an original value (single). Called by the Editor only
Standard_EXPORT void LoadValue(const Standard_Integer num,const Handle(TCollection_HAsciiString)& val) ; //! Loads an original value as a list. Called by the Editor only
Standard_EXPORT void LoadList(const Standard_Integer num,const Handle(TColStd_HSequenceOfHAsciiString)& list) ; //! From an edited value, returns its ... value (original one)
//! Null means that this value is not defined
//! is for the EditForm, not the Editor
//! It is for a single parameter. For a list, gives a Null Handle
Standard_EXPORT Handle_TCollection_HAsciiString OriginalValue(const Standard_Integer num) const; //! Returns an original value, as a list
//! is for the EditForm, not the Editor
//! For a single parameter, gives a Null Handle
Standard_EXPORT Handle_TColStd_HSequenceOfHAsciiString OriginalList(const Standard_Integer num) const; //! Returns the Edited (i.e. Modified) Value (string for single)
//! 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_TCollection_HAsciiString EditedValue(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 Handle_TColStd_HSequenceOfHAsciiString EditedList(const Standard_Integer num) const; //! Tells if a Value (of the EditForm) is modified (directly or
//! through touching by Update)
Standard_EXPORT Standard_Boolean IsModified(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 IsTouched(const Standard_Integer num) const; //! Gives a new value for the item of the EditForm, if
//! it is a single parameter (for a list, just returns False)
//! Null means to Remove it
//! 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 Modify(const Standard_Integer num,const Handle(TCollection_HAsciiString)& newval,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 ModifyList(const Standard_Integer num,const Handle(IFSelect_ListEditor)& edited,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 ModifyListValue(const Standard_Integer num,const Handle(TColStd_HSequenceOfHAsciiString)& list,const Standard_Boolean enforce = Standard_False) ; //! Gives a new value computed by the Editor, if another parameter
//! commands the value of
//! 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 is for a list
Standard_EXPORT Standard_Boolean Touch(const Standard_Integer num,const Handle(TCollection_HAsciiString)& newval) ; //! Acts as Touch but for a list
//! Does not work (returns False) if is for a single param
Standard_EXPORT Standard_Boolean TouchList(const Standard_Integer num,const Handle(TColStd_HSequenceOfHAsciiString)& newlist) ; //! Returns the count of parameters touched by the last Modify
//! (apart from the modified parameter itself)
//! Normally it is zero
Standard_EXPORT Standard_Integer NbTouched() const; //! Clears modification status : by default all, or one by its
//! numbers (in the Editor)
Standard_EXPORT void ClearEdit(const Standard_Integer num = 0) ; //! Prints Definitions, relative to the Editor
Standard_EXPORT void PrintDefs(const Handle(Message_Messenger)& S) const; //! Prints Values, according to what and alsolist
//! True : prints Long Names; False : prints Short Names
//! < 0 : prints Original Values (+ flag Modified)
//! > 0 : prints Final Values (+flag Modified)
//! = 0 : prints Modified Values (Original + Edited)
//! False (D) : lists are printed only as their count
//! True : lists are printed for all their items
Standard_EXPORT void PrintValues(const Handle(Message_Messenger)& S,const Standard_Integer what,const Standard_Boolean names,const Standard_Boolean alsolist = Standard_False) const; //! Applies modifications to own data
//! Calls ApplyData then Clears Status according EditKeepStatus
Standard_EXPORT Standard_Boolean Apply() ; //! Tells if this EditForm can work with its Editor and its actual
//! Data (Entity and Model)
//! Default uses Editor. Can be redefined
Standard_EXPORT virtual Standard_Boolean Recognize() const; //! Applies modifications to data
//! Default uses Editor. Can be redefined
Standard_EXPORT virtual Standard_Boolean ApplyData(const Handle(Standard_Transient)& ent,const Handle(Interface_InterfaceModel)& model) ; //! For an undoable EditForm, Applies ... origibal values !
//! and clears modified ones
//! Can be run only once
Standard_EXPORT Standard_Boolean Undo() ; DEFINE_STANDARD_RTTI(IFSelect_EditForm) protected: private: 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; }; // other Inline functions and methods (like "C++: function call" methods) #endif