Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

93 lines
2.3 KiB
C++

#if !defined(__TGDATA_H__)
#define __TGDATA_H__
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "WDGrid.h"
////////////////////////////////////////////////////////////////////////////////
// 路径
////////////////////////////////////////////////////////////////////////////////
class TGPath
{
public:
CString m_strPath;
public:
TGPath(const TCHAR *pszName = NULL);
virtual ~TGPath();
TGPath& operator=(const TCHAR *pszName)
{
m_strPath = pszName;
return *this;
}
void Resolve(TPDList<CString> &lstStrCats) const;
void GetName(CString &strName) const;
bool GetTopCat(CString &strName) const;
bool GetLowPath(TGPath &path) const;
};
////////////////////////////////////////////////////////////////////////////////
// 数据源标识
////////////////////////////////////////////////////////////////////////////////
class TGDataSource: public WRowData
{
public:
CString m_sDataFrom; // 源数据库文件
CString m_sId; // 编号
bool operator ==(const TGDataSource&data)
{
return m_sId==data.m_sId&&m_sDataFrom==data.m_sDataFrom;
}
void operator >>(CArchive&ar)
{
ar<<m_sDataFrom<<m_sId;
}
void operator <<(CArchive&ar)
{
ar>>m_sDataFrom>>m_sId;
}
};
////////////////////////////////////////////////////////////////////////////////
// 分层数据
////////////////////////////////////////////////////////////////////////////////
class TTreeItem
{
public:
CString m_sName; // 名称
protected:
const TTreeItem* m_pParent; // 所在组
public:
TTreeItem(const TCHAR *s, TTreeItem *p = NULL): m_sName(s), m_pParent(p) {}
virtual ~TTreeItem() {}
public:
void SetParent(TTreeItem*p) { m_pParent = p; }
const TTreeItem* GetParent()const { return m_pParent; }
bool IsRoot() const { return GetParent()==NULL; }
virtual bool IsParent() const { return false; }
void GeTGPathName(CString &name) const;
public:
virtual void operator<<(WDGridRow&row) {}
virtual void operator>>(WDGridRow&row) {}
virtual void operator>>(CArchive&ar) { ar<<m_sName; }
virtual void operator<<(CArchive&ar) { ar>>m_sName; }
bool operator>(const TTreeItem&t) const { return m_sName>t.m_sName; }
bool operator<(const TTreeItem&t) const { return m_sName<t.m_sName; }
bool operator==(const TTreeItem&t) const { return m_sName==t.m_sName; }
};
#endif // !defined(__TGDATA_H__)