📄 mocascript.h
字号:
public:
/// TD 2/29/2001 UNUSED_CODES
//static WORD GetWordFrom2Chars(char c1, char c2);
//static void Get2CharsFromWord(WORD wChars, char& c1, char& c2);
//static COPCompatTable m_OPCTable;
//static DWORD CanOperate(WORD wChars, int nLType, int nRType);
/// end----------------TD 2/29/2001 UNUSED_CODES
/// ML 2/1/2001 STRING_ARRAYS
virtual void SetCurrentIndices(INT nIndFirst, INT nIndSecond);
static MSOINDICES &GetCurrentIndices();
static MSOINDICES ms_stCurrentIndices; // should be used from within methods and property set/get functions
/// end STRING_ARRAYS
//---------- CPY 2/5/01 t8865 ACCESS_TO_LOCAL_VARIABLES
LPCTSTR GetName();
//----------
/// -------------------- TD 3/7/2001 SEPERATE_CREATION_OF_OBJECT_FROME_ADDING_THEM_TO_STACK
BOOL IsFlagOn( DWORD nFlagBit );
void SetFlag( DWORD nFlagBit, BOOL bSetToOn = TRUE );
/// end ---------------- SEPERATE_CREATION_OF_OBJECT_FROME_ADDING_THEM_TO_STACK
/// TD 05-04-01 v6.9012 STRUCTS_WITH_SIMPLE_MEMBER_TYPE_CREATED_THE_C_WAY
/// ML 10/2/2001 MULTIPLE_MEMORY_PTR_DEREFERENCING_IMPROVEMENTS
virtual int SetExternalData(LPVOID lpData, LPMSOINDICES lpMSOIndDest);
/// end MULTIPLE_MEMORY_PTR_DEREFERENCING_IMPROVEMENTS
virtual int SetExternalData(LPVOID lpData, UINT nSize = 0); //Only for simple numeric types
virtual int ModifyExternalDataPtr(int nAmount);
virtual int GetExternalData(LPVOID *plpData); //Only for simple numeric types
/// end STRUCTS_WITH_SIMPLE_MEMBER_TYPE_CREATED_THE_C_WAY
/// ML 6/18/2001 t9260 MULTIPLE_POINTERS
virtual int GetExternalData(LPVOID *plpData, const MSOINDICES &stMSOIndices);
/// end MULTIPLE_POINTERS
/// TD 5-09-01 t9062 v6.9012 ADD_SUPPORT_FOR_ANSI_CONSATNTS_IN_ORIGIN_C
virtual int CompareVals(LPMSOOBJVECT lpMSOSource, int& nRelation);
//Results from CompareVals will be one of the following
enum{
CV_EQUAL = 0,
CV_GREATER,
CV_SMALLER,
CV_INCOMPATIBLE
};
/// end ADD_SUPPORT_FOR_ANSI_CONSATNTS_IN_ORIGIN_C
// TD 5-11-01
virtual int WriteToMemory(UINT nArrayIndex, void* pVoid, UINT numOfBytes);
virtual int ReadFromMemory(UINT nArrayIndex, void* pVoidBuffer, UINT numOfBytes);
//--- end TD
// AW 6/21/2001 Array_Initialization
virtual int InitalizeFromMemory(LPVOID lpMem, int nNumRows=1, int nNumColumns=1) { return 0;}
// end Array_Initialization
// AW 08/07/02 QA70-1699 v7.0364 VECTORSTRING_INITIALIZATION
virtual int InitalizeFromMemory(CStringArray &stringArray, int nNumRows=1, int nNumColumns=1) { return 0;}
// END VECTORSTRING_INITIALIZATION
// --------------AW 6/27/2001 t9137 VECTOR_DISPLAY
virtual int GetDisplaySize() { return GetArraySize(); } // not suit for vector and Matrix;
//---------CPY v6.9084 9/7/01 GET_STR_NEED_SEPARATE_DISPLAY_AND_ASSIGNMENT
// virtual BOOL GetDisplayElement(CString &strValue, int iIndex) {return GetArrayElement(strValue, iIndex);} // Need override in Vector and Matrix
virtual BOOL GetDisplayElement(CString &strValue, int iIndex = -1);// -1 to indicate use whole instead of element
/// DVT 4/21/03 ADD_DOTTED_OIDE_TOOLTIPS
#ifdef DOTTED_OIDE_TOOLTIP
virtual BOOL GetMultipartDisplayElement( CString &strValue, CStringArray &arrArgs, int iIndex = -1 );
#endif // DOTTED_OIDE_TOOLTIP
/// end ADD_DOTTED_OIDE_TOOLTIPS
/// YuI 4/29/02 v.70295 QA70-1642 DISPLAY_ELEMET_FUNCTION_FOR_EACH_OC_CLASS
virtual BOOL IsDisplayHeaderAddType() {return FALSE;}
virtual BOOL IsDisplayElementAddType() {return TRUE;}
virtual BOOL IsDisplayElementExpandable();
virtual BOOL GetDisplayExpandableHeader(CString& strHeader);
virtual BOOL GetDisplayArrayElement(CString& strElement, int nIndex);
/// end DISPLAY_ELEMET_FUNCTION_FOR_EACH_OC_CLASS
//---------end CPY v6.9084
// -------------- End VECTOR_DISPLAY
/// YuI 4/29/02 v.70295 QA70-1642 DISPLAY_ELEMET_FUNCTION_FOR_EACH_OC_CLASS
virtual BOOL GetOCTypeName(CString& strName) {return FALSE;}
BOOL AddOCTypeName(CString& strValue);
BOOL GetOCTypeNameShow(CString& strName);
/// end DISPLAY_ELEMET_FUNCTION_FOR_EACH_OC_CLASS
// ------------AW 6/28/2001 t9137 VARIABLE_DISPLAY
BOOL m_isExpended; // AW Specially set it as public
// ----------- End AW VARIABLE_DISPLAY
/// TD 7-11-01 t9298 CALLBACK_FUNCTIONS_IN_ORIGINC
virtual OCFunctionCall *GetCallBack(int index = 0);
virtual int SetCallBack(OCFunctionCall* pFnCall, int index = 0);
/// end CALLBACK_FUNCTIONS_IN_ORIGINC
// AW 7/16/2001 UPDATE_CVT_EXPRESSION_NUMERIC
virtual int GetNumeric(LPINT lpnValue, double *lpdreal, double *lpdimage) { return 0; }
// END UPDATE_CVT_EXPRESSION_NUMERIC
/// TD 7-24-01 t9298 CALLBACK_FUNCTIONS_IN_ORIGINC
virtual int SetMemoryPtr(LPVOID pAddress, LPMSOINDICES lpMSOIndeces = NULL, DWORD dwMsg = 0UL);
/// end CALLBACK_FUNCTIONS_IN_ORIGINC
/// TD 11-26-01 CSHARP_STYLE_CONSIDERATION_OF_WRAPPER_OBJECTS_AS_BOOL
virtual BOOL IsValidElement(MSOINDICES& stIndex);
/// end CSHARP_STYLE_CONSIDERATION_OF_WRAPPER_OBJECTS_AS_BOOL
/// TD 2-22-02 QA70-945 v7.0221 ASK_LABTALKMGR_IF_ORIGIN_CAN_CLOSE
/// TD 12-12-02 QA70-3133 v7.0452 NO_OC_BUILD_REQUEST_WHILE_EXECUTION
enum
{
BIMNoInterrupt = 0,
BIMOpenDialogs,
};
/// end NO_OC_BUILD_REQUEST_WHILE_EXECUTION
virtual DWORD IsObjReadyForOriginClose(); // 0 = Ready, Nonzero may mean different things, definitely not ready
/// end ASK_LABTALKMGR_IF_ORIGIN_CAN_CLOSE
// AW 04/16/02 ADD_UPDATE_FLAG
virtual void SetModify(int nIndexFirstDim) { ASSERT(FALSE); }
// END ADD_UPDATE_FLAG
/// TD 7-28-02 QA70-2441 v7.0357 OC_INFO_VAR_LINK_FOR_EFF_METH_CALLS
virtual int InfoVariableValue(OCArgumentsAdaptor *pAdaptor, int index, bool bSet = NULL, LPMSOINDICES lpMSOIndeces = NULL);
/// end OC_INFO_VAR_LINK_FOR_EFF_METH_CALLS
/// AW 12/03/02 QA70-2196 v7.0477 POINTER_OBJECT_VARIABLE_DISPLAY
virtual BOOL GetDataTypeName( CString& sDataTypeName );
/// END POINTER_OBJECT_VARIABLE_DISPLAY
/// TD 5-30-03 QA70-4563 REFERNCES_TO_WRAPPER_DATA_NEEDS_DETACHMENT_AFTER_DETACHED_FROM_ALL_REFS
// AddRef and Release will currently onl work with vectorbas/curvebase and matrixbase
/// AW 06/29/03 QA70-4733 v7.0612 SMART_COUNT_NUMBER_FOR_REF
/*
virtual void AddRef(LPMSOINDICES lpMSOIndeces = NULL){}
virtual void Release(LPMSOINDICES lpMSOIndeces = NULL){}
*/
/// END SMART_COUNT_NUMBER_FOR_REF
/// end REFERNCES_TO_WRAPPER_DATA_NEEDS_DETACHMENT_AFTER_DETACHED_FROM_ALL_REFS
protected:
BOOL SetUserTypeID(int nTypeID); //USE VERIFY TO ASSURE LEGAL TYPEID
BOOL SetTypeID(int nTypeID); //USE VERIFY TO ASSURE LEGAL TYPEID
BOOL IsSameTypeAndMemoryModel(CScriptMocaObject* pMSO, INT nIndexOuter = 0, BOOL bMixedAllDiff = TRUE); //-------- CPY 5/28/03 QA70-3737 v7.0594 VEC_SET_SUB_VEC_MUST_CHECK_MIXED
private:
int m_nTypeID;
int m_nUserTypeID;
CString m_strName;
/// -------------------- TD 3/7/2001 SEPERATE_CREATION_OF_OBJECT_FROME_ADDING_THEM_TO_STACK
DWORD m_nFlags;
/// end ---------------- SEPERATE_CREATION_OF_OBJECT_FROME_ADDING_THEM_TO_STACK
public:
// -------AW 07/08/2001 t8989 complex_class
virtual BOOL SetComplex(OneOCcomplex *pcomplexValue) {ASSERT(FALSE); return FALSE;}
virtual int GetComplexValue(OneOCcomplex &iResult, const MSOINDICES &stIndices){ASSERT(FALSE); return 0;}
virtual BOOL GetComplex(OneOCcomplex & complexVal){ ASSERT(FALSE);return FALSE;}
virtual int GetComplex(OneOCcomplex & complexVal, const MSOINDICES &stIndices) {ASSERT(FALSE);return 0;}
virtual BOOL SetComplex(OneOCcomplex & complexVal) { return FALSE; }
/// TCZ 07/6/02 QA70-2187 v7.0337 MATRIX_BASIC_OPERATION
virtual int SetComplexValue(OneOCcomplex &iResult, const MSOINDICES &stIndices){ASSERT(FALSE); return 0;}
/// end MATRIX_BASIC_OPERATION
// --------END COMPLEX_CLASS
// AW 05/05/02 v7.0302 QA70-1655 POINT_POINTF_POINTC_SUPPORT
virtual int GetPointValue(COKPointInt &PointVal, const MSOINDICES &stIndices) { ASSERT(FALSE); return 1; }
virtual BOOL GetPoint(COKPointInt &PointVal) { ASSERT(FALSE); return FALSE; }
virtual int GetPoint(COKPointInt &PointVal, const MSOINDICES &stIndices) { ASSERT(FALSE); return 1; }
virtual BOOL SetPoint(COKPointInt &PointVal) { ASSERT(FALSE); return FALSE; }
virtual BOOL SetPoint(COKPointInt *lpPointVal) { ASSERT(FALSE); return FALSE; }
virtual int GetPointValue(COKPointDouble &PointVal, const MSOINDICES &stIndices) { ASSERT(FALSE); return 1; }
virtual BOOL GetPoint(COKPointDouble &PointVal) { ASSERT(FALSE); return FALSE; }
virtual int GetPoint(COKPointDouble &PointVal, const MSOINDICES &stIndices) { ASSERT(FALSE); return 1; }
virtual BOOL SetPoint(COKPointDouble &PointVal) { ASSERT(FALSE); return FALSE; }
virtual BOOL SetPoint(COKPointDouble *lpPointVal) { ASSERT(FALSE); return FALSE; }
virtual int GetPointValue(COKPoint3D &PointVal, const MSOINDICES &stIndices) { ASSERT(FALSE); return 1; }
virtual BOOL GetPoint(COKPoint3D &PointVal) { ASSERT(FALSE); return FALSE; }
virtual int GetPoint(COKPoint3D &PointVal, const MSOINDICES &stIndices) { ASSERT(FALSE); return 1; }
virtual BOOL SetPoint(COKPoint3D &PointVal) { ASSERT(FALSE); return FALSE; }
virtual BOOL SetPoint(COKPoint3D *lpPointVal) { ASSERT(FALSE); return FALSE; }
// END POINT_POINTF_POINTC_SUPPORT
/// TD 7-26-02 QA70-2424 v7.0352 ORIGINC_WRAPPER_OBJECTS_CRASH_AFTER_CLOSING_PROJECT
virtual bool DetachAllOriginObjs() { return true; }
/// end ORIGINC_WRAPPER_OBJECTS_CRASH_AFTER_CLOSING_PROJECT
/// DVT 3/26/03 QA70-4139 v7.0545 OC_CATEGORICAL_INFORMATION_METHOD
virtual int SetMatrixDimension( int nRows, int nCols, MSOINDICES &stIndices) { ASSERT(FALSE); return 1; }
virtual int SetVectorDimension( int nSize, MSOINDICES &stIndices) { ASSERT(FALSE); return 1; }
/// end OC_CATEGORICAL_INFORMATION_METHOD
//Inlining
static int RoundDouble(double dVal)
{
if( dVal >= INT_MAX) return(INT_MAX);
if( dVal <= INT_MIN) return(INT_MIN);
/// TD t9407 CONSISTENT_CASTING_USE_CSTYLE_AND_CONCATENATE
//return (dVal >= 0.0 ? (int)ceil( dVal - 0.50 ) : (int)floor( dVal + 0.5 ) );
//Use c-type casting
return (int)dVal;
/// end CONSISTENT_CASTING_USE_CSTYLE_AND_CONCATENATE
}
};
///////////////////////////////////////////////////////////////////////
CScriptMocaObject* okNewMocaObject(CScriptMocaObject* pMocaObject);
void okDeleteMocaObject(CScriptMocaObject* pMocaObject);
//////////////////////////////////////////////////////////////////////
DWORD BitIDFromID(int nID);
//////////////////////////////////////////////////////////////////////
///CPY 4/4/01 ADD_ORGIIN_C_OBJECT_AS_BASE_CLASS
//------- CPY 03-31-2001 t9030 WORKSHEET_CLASS_IN_ORIGIN_C
// we need a common base class for all Origin objects
//////////////////// class OriginCObject ////////////////////////
//////////////////// class OriginCObject ////////////////////////
//////////////////// class OriginCObject ////////////////////////
//////////////////// class OriginCObject ////////////////////////
//////////////////// class OriginCObject ////////////////////////
class MOCA_EXP_CLASS OriginCObject : public CScriptMocaObject
{
MOCA_DECLARE_DYNAMIC(OriginCObject)
//DECLARE_MEMBERS_TABLE(COriginObject)
/// RVD 6/13/2002 QA70-1955 v7.0318 ORIGIN_OBJECT_SHOW_METHOD
DECLARE_MEMBERS_TABLE(COriginObject)
/// end ORIGIN_OBJECT_SHOW_METHOD
public:
OriginCObject();
~OriginCObject();
public:
//virtual BOOL Attach(LPCTSTR lpcszName, int nOption=0);
virtual BOOL Attach(LPCTSTR lpcszName, int nOption=0, int nIndex = 0);// TD 4-11-01 Array support
virtual BOOL Detach(int nIndex = 0, int nOption = 0); //TD 4-11-01
virtual BOOL Attach(MODATAID dwID, int nIndex = 0) {return FALSE;}/// CPY 6/4/01 t9149 ORIGIN_C_SERIES_CALL_BACK
/// TD 7-23-01 ATTACH_2_SERIES_TO_A_CURVE
virtual BOOL Attach(MODATAID dwXID, MODATAID dwYID, int nIndex = 0) {return FALSE;}
/// end ATTACH_2_SERIES_TO_A_CURVE
/// ML 5/29/2003 QA70-4562 CURVE_EXTENSION_WITH_RELATED_DATASETS
#ifdef __EXTENDED_CURVE_CLASS_WITH_RELATED__
virtual BOOL Attach(MODATAID dwXID, MODATAID dwYID, CArray<OSERIESTAG, OSERIESTAG&> &arrRelated, int nIndex = 0) {return FALSE;}
#endif // __EXTENDED_CURVE_CLASS_WITH_RELATED__
/// end CURVE_EXTENSION_WITH_RELATED_DATASETS
virtual int GetUpperBound(int nDimIndex);//CPY v6.9037 6/25/01 t9247 ORIGIN_C_COMPILED_FUNC_RETURN_TEMP_SERIES
// OIDE varibale window display
vir
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -