📄 mocadataset.h
字号:
/// ML 8/8/2003 QA70-4980 MUST_NOT_USE_WKSSELECTION_FOR_DATASET_OBJECTS_IN_ORIGINC
BOOL m_bNoMarkerUse;
/// end MUST_NOT_USE_WKSSELECTION_FOR_DATASET_OBJECTS_IN_ORIGINC
public:
void set_redraw_mode(int nMode);
enum {
REDRAW_NONE, // should always be first
REDRAW_REALTIME, REDRAW_REALTIME_WKS, REDRAW_REFRESH, REDRAW_REALTIME_SCOPE,
REDRAW_MODE_INVALID // should always be last
};
enum {REALTIME_ON_IDLE=0x1000}; ///---- CPY v5.039 b3558 REALTIME_DRAW_BUFFERRING
/// TD 5-16-01 MORE_ACCURATE_DATA_ACCESS_TO_ORIGINC
static LPFNElemVal m_lpfnGetElemVal;
static LPFNDataMask m_lpfnDataMask;
/// end MORE_ACCURATE_DATA_ACCESS_TO_ORIGINC
/// YuI 8/30/02 v7.0387 QA70-2841 LINKS_MANAGER_FOR_OBJECTS
// //LY 12/14/01 t9798 SERIESPTR_MANAGER
// BOOL InvalidateObj();
// //end t9798 SERIESPTR_MANAGER
virtual BOOL InvalidateObj(LPVOID pObject);
/// end LINKS_MANAGER_FOR_OBJECTS
/// YuI 12/31/02 QA70-3592 v7.0477 ORIGIN_C_AND_INTERNAL_DATA_PROTECTION
BOOL IsWriteProtected();
/// end ORIGIN_C_AND_INTERNAL_DATA_PROTECTION
/// TD 11-6-03 QAx70-5481 PARTIAL_DETACH_MOCA_ON_TYPE_CANGE
virtual BOOL OnLHMessage(UINT nMsg, LPVOID pObject, WPARAM wParam = 0, LPARAM lParam = 0);
/// TD 11-14-03 QA70-5516 ALLOW_MIXED_TO_DOUBLE_SWITCH_FOR_DATASET
//bool SetObjectToDetachOnTypeChange(bool bSet = true);
//bool ISObjectToDetachOnTypeChange();
MOCAObj* SetReDirectOnElementSize(MOCAObj *pObj = NULL);
bool IsDirectOnElementSize();
/// end ALLOW_MIXED_TO_DOUBLE_SWITCH_FOR_DATASET
private:
/// TD 11-14-03 QA70-5516 ALLOW_MIXED_TO_DOUBLE_SWITCH_FOR_DATASET
//bool m_bDetach;
MOCAObj *m_pObj;
/// end ALLOW_MIXED_TO_DOUBLE_SWITCH_FOR_DATASET
/// end PARTIAL_DETACH_MOCA_ON_TYPE_CANGE
};
typedef MoData *MoDataPtr;
const MoData operator+(double, MoData &);
const MoData operator-(double, MoData &);
const MoData operator*(double, MoData &);
const MoData operator/(double, MoData &);
#define REDRAW_MODE_MASK 0x000F // enough for 15 modes
#define IS_REDRAW_MODE(nMode) (REDRAW_NONE <= ((nMode) & REDRAW_MODE_MASK) && ((nMode) & REDRAW_MODE_MASK) < REDRAW_MODE_INVALID)
class lrclass
{
public:
lrclass();
lrclass(double new_value);
lrclass(const lrclass & Original);
static double value;
static long index;
static BOOL bSetValue;
operator double ();
};
/////////////////////////////////////////////////////////////////////////////
//
// MoSourceData : independent datasets, invalid if name not supplied, operation abort if not supplied
//
/////////////////////////////////////////////////////////////////////////////
class MoSourceData : public MoData
{
public:
MoSourceData(LPCSTR name);
MoSourceData(int type, LPCSTR name);
MoSourceData(MoOriginWks &wks, MOCOLNUM iCol);
MoSourceData(MoOriginWks &wks, LPCSTR lpszColumnName);
MoSourceData(LPCSTR wksname, LPCSTR lpColumnName);
MoSourceData(LPCSTR wksname, int nCol); /// MoColumnNum is 1,2,3,...
/// TD 6-5-01 MODATA_FROM_MODATAID
MoSourceData(MODATAID mdID);
/// end TD 6-5-01 MODATA_FROM_MODATAID
/// ML 8/8/2003 QA70-4980 MUST_NOT_USE_WKSSELECTION_FOR_DATASET_OBJECTS_IN_ORIGINC
MoSourceData(MoData::InitInfo &initinfo);
/// end MUST_NOT_USE_WKSSELECTION_FOR_DATASET_OBJECTS_IN_ORIGINC
};
typedef MoSourceData * MoSourceDataPtr;
/////////////////////////////////////////////////////////////////////////////
//
// MoInterimData : independent datasets, name may not be supplied, operation continues
//
/////////////////////////////////////////////////////////////////////////////
class MoInterimData : public MoData
{
public:
MoInterimData(LPCSTR name);
MoInterimData(int type, LPCSTR name);
MoInterimData & operator = (const MoData &x);
MoInterimData & operator=(const double x);
};
/////////////////////////////////////////////////////////////////////////////
//
// MoResultData : independent datasets, name may not be supplied
//
/////////////////////////////////////////////////////////////////////////////
class MoResultData : public MoData
{
public:
MoResultData(LPCSTR name);
MoResultData(int type, LPCSTR name);
MoResultData(LPCSTR wksname, LPCSTR lpColumnName);
MoResultData(LPCSTR wksname, int iCol);
MoResultData(MoOriginWksPtr pwks, int iCol);
MoResultData(MoOriginWks &wks, int iCol);
MoResultData(MoOriginWks &wks, LPCSTR lpszColumnName);
MoResultData & operator = (const MoData &x);
MoResultData & operator = (const double x);
};
typedef MoResultData * MoResultDataPtr;
/////////////////////////////////////////////////////////////////////////////
//
// MoTempData : independent datasets, no name, just supply range
//
/////////////////////////////////////////////////////////////////////////////
class MoTempData : public MoData
{
public:
MoTempData(long npts);
~MoTempData();
};
// Origin Dataset class when not attached to real Origin data
class MoTempDataset : public MoData
{
public:
/// TD 1-25-02 t9891 t6.9192 METHOD_CRATE_FOR_ODATA_TYPES
////-------- CPY 8/11/01 v6.9069 TEMP_DATASET_USE_NORMAL_NAME
////MoTempDataset(long i1, long i2);
//MoTempDataset(UINT i1, UINT i2);
////--------
MoTempDataset(UINT i1, UINT i2, BOOL bKillOnDestroy = TRUE);
/// end METHOD_CRATE_FOR_ODATA_TYPES
MoTempDataset(MoData& modata);/// TD 8-24-01 NEW_TEMPORARY_CURVE_CLASS
~MoTempDataset();
MoData & operator = (MoSourceData &x);
/// TD 3-7-02 QA70-1082 v7.0237 TEMP_CURVE_FROM_YDATA_VALUE
public:
BOOL SetDataToXValOfAnotherData(MODATAID mdAnotherData);
/// end TEMP_CURVE_FROM_YDATA_VALUE
};
/// ML 5/29/2003 QA70-4562 CURVE_EXTENSION_WITH_RELATED_DATASETS
#ifdef __EXTENDED_CURVE_CLASS_WITH_RELATED__
class ORelatedDatasets
{
public:
ORelatedDatasets();
~ORelatedDatasets();
public:
MoData *Add(UINT nType, MODATAID nID);
BOOL RemoveByType(UINT nType);
BOOL RemoveByID(MODATAID nID);
void RemoveAll();
MoData *GetFromType(UINT nType);
MoData *GetFromID(MODATAID nID, PUINT pnType = NULL);
int GetSeriesInfo(CArray<OSERIESTAG, OSERIESTAG&> &arrRelated);
int InitForSeries(MOCAOrigin *p, MODATAID dwID);
private:
int GetIndexFromType(UINT nType);
int GetIndexFromID(MODATAID nID);
int RemoveByIndex(int ii);
private:
struct ONERELATED
{
UINT nType; // EXTCURVEREL_* enumeration
MoData *pMoData;
};
CArray<ONERELATED, ONERELATED&> m_data;
};
#endif // __EXTENDED_CURVE_CLASS_WITH_RELATED__
/// end CURVE_EXTENSION_WITH_RELATED_DATASETS
/// TD 6-18-01 MOCURVE_DERIVED_FROM_MODATA
class MoCurve : public MoData
{
public:
MoCurve(LPCSTR lpszDXName, LPCSTR lpszDYName);/// create dependency
MoCurve(LPCSTR lpszDYName);/// Use it's x-dependancy
MoCurve(MoData &YData);/// Use it's x-dependancy
MoCurve(MoData &XData, MoData &YData);/// create dependency
MoCurve(MODATAID mdXID, MODATAID mdYID);/// TD 1-2-01 QA70-239 CURVE_CONSTRUCTION_FROM_WORKEHSEET_OBJECT
MoCurve(MODATAID mdYID); /// AW 06/06/02 QA70-1988 CONSTRUCT_FROM_DATAPLOT
MoCurve();/// TD 3-11-02 MEM_LEAKS_IN_MOCURVE
~MoCurve();
public:
virtual BOOL CreateDependency(MoData& XData);
BOOL CreateDependency(LPCSTR lpcszDatasetName);
BOOL CreateDependency(MODATAID mdXID);/// TD 1-2-01 QA70-239 CURVE_CONSTRUCTION_FROM_WORKEHSEET_OBJECT
MoData* GetDependency();
BOOL IsValid() const;
//------- CPY 6/25/03 QA70-4712 v7.0610 CURVEBASE_HAS_X_SHOULD_RET_DATASET_NAME
//BOOL HasX(); /// TD 7-31-01 NO_XDEPENDENCY_ONLY_Y_IS_VALID
BOOL HasX(CString* pstrXname = NULL);
//------- end CURVEBASE_HAS_X_SHOULD_RET_DATASET_NAME
BOOL Sort(DWORD dwFlags);//---------------------------- CPY 8/6/01 t8777 CURVE_SORT
/// TD 3-7-02 QA70-1082 v7.0237 TEMP_CURVE_FROM_YDATA_VALUE
int Trim(bool bLeft, DWORD dwFlag);
/// end TEMP_CURVE_FROM_YDATA_VALUE
/// ML 5/29/2003 QA70-4562 CURVE_EXTENSION_WITH_RELATED_DATASETS
#ifdef __EXTENDED_CURVE_CLASS_WITH_RELATED__
MoData *GetRelatedFromType(UINT nType);
MoData *GetRelatedFromID(MODATAID nID, PUINT pnType = NULL);
MoData *AddRelated(UINT nType, MODATAID nID);
int InitRelated();
#endif // __EXTENDED_CURVE_CLASS_WITH_RELATED__
/// end CURVE_EXTENSION_WITH_RELATED_DATASETS
/// YuI 5/05/03 v7.0578 QA70-4357 CURVE_AS_INPUT_OF_OPERATION
virtual int GetInfo(LPVOID lpInfo, DWORD dwMsg, DWORD dwMoreInfo = 0UL);
/// end CURVE_AS_INPUT_OF_OPERATION
protected:
MoCurve(UINT i1, UINT i2, DWORD dwCntrl = 0): MoData(i1, i2, dwCntrl){Init_Data();} //TD 10-11-02
//----------- CPY 6/21/01 CURVE_OBJ_NEEDS_READ_PLOT_INFO
//Inline
//void Init_Data(){m_pXData = NULL;}
void Init_Data();
MODATAID m_dwOldXID;
//----------- end CPY 6/21/01
MoData* m_pXData;
char m_bIsXChanged; //---- CPY 8/6/01 t8777 CURVE_SORT
BOOL DataOriginSetXforY(DWORD dwXID); //CPY 4/16/03 QA70-4601 v7.0564 OC_ADD_PLOT_KEEP_CURVE_X
/// ML 5/29/2003 QA70-4562 CURVE_EXTENSION_WITH_RELATED_DATASETS
#ifdef __EXTENDED_CURVE_CLASS_WITH_RELATED__
ORelatedDatasets m_related;
#endif // __EXTENDED_CURVE_CLASS_WITH_RELATED__
/// end CURVE_EXTENSION_WITH_RELATED_DATASETS
};
/// end MOCURVE_DERIVED_FROM_MODATA
/// ----------------TD 8-24-01 NEW_TEMPORARY_CURVE_CLASS
class MoTempCurve : public MoCurve
{
public:
/// TD 1-25-02 t9891 t6.9192 METHOD_CRATE_FOR_ODATA_TYPES
//MoTempCurve(UINT i1, UINT i2);
MoTempCurve(UINT i1, UINT i2, BOOL bKillOnDestroy = TRUE);
/// end METHOD_CRATE_FOR_ODATA_TYPES
MoTempCurve( MoData * pdata );
MoTempCurve(MoCurve& mocurve);
MoTempCurve(MoData & pModata); //Given a tem data/// TD 3-7-02 QA70-1082 v7.0237 TEMP_CURVE_FROM_YDATA_VALUE
/// TD 3-11-02 TEMP_CURVE_FROM_TWO_DATA_NEVER_DELETES_THE_SERIES_PTR
MoTempCurve(MoData & mdCopyThis, MoData * pmdAttachThis);
/// endTEMP_CURVE_FROM_TWO_DATA_NEVER_DELETES_THE_SERIES_PTR
~MoTempCurve();
public:
BOOL CreateDependency(MoData& XData);
virtual int clean_itself();/// TD 1-25-02 t9891 t6.9192 METHOD_CRATE_FOR_ODATA_TYPES
void CreatetempXData(MoData * pModata);/// TD 3-7-02 QA70-1082 v7.0237 TEMP_CURVE_FROM_YDATA_VALUE
};
/// ---------------- end NEW_TEMPORARY_CURVE_CLASS
/// TD 10-29-01 CATEGORICAL_DATA
class MoCategoricalData : public MoData
{
public:
MoCategoricalData(LPCSTR lpszDSN, UINT nType);
MoCategoricalData(LPCSTR lpszWks, UINT nCol, UINT nType);
~MoCategoricalData();
public:
/// YuI 9/16/03 v7.5696 QA70-5184 CATEGORICAL_MAP_OC_COOKIE
// LPVOID GetCatMap();
LPVOID GetCatMap(BOOL bDoNotCreate = FALSE);
/// end CATEGORICAL_MAP_OC_COOKIE
BOOL IsValid() const;
protected:
void Init_Data(UINT nCMType);
private:
/// YuI 9/16/03 v7.5696 QA70-5184 CATEGORICAL_MAP_OC_COOKIE
// LPVOID m_pMap;
/// end CATEGORICAL_MAP_OC_COOKIE
DWORD m_dwWCBData[4]; //[0]Sub WCB Msg(CM_SUBWCB_SETNEW_SAVEOLD, CM_SUBWCB_GETMAP, CM_SUBWCB_RESET_TO_OLD) defined in Orgdll.h
//[1]Type of Catagorical dataset (Nominal, Ordinal)
//[2]Type before construction(Nominal, Ordinal, NULL)
//[3]LPVOID If Older type was different and Not null store the Map for reset
};
/// end CATEGORICAL_DATA
#endif /// _MOCADATASET_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -