You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2824 lines
100 KiB
C++
2824 lines
100 KiB
C++
/**************************************************************************************
|
|
井内道操作
|
|
主要函数列表:
|
|
1 virtual BOOL InitPropertyGrid(CXTPPropertyGrid& grid); 初始化属性窗口
|
|
2 virtual void OnLButtonDown(UINT nFlags, CPoint point); 鼠标操作
|
|
3 virtual void OnLButtonUp(UINT nFlags, CPoint point);
|
|
4 virtual void OnMouseMove(UINT nFlags, CPoint point);
|
|
5 virtual void OnDraw(CXyDC* pXyDC); 绘制辅助手柄
|
|
6 virtual BOOL OnGridItemChangeValue(CXTPPropertyGridItem* pItem); 响应属性框改变消息的函数
|
|
**************************************************************************************/
|
|
#include "StdAfx.h"
|
|
//#include "CustomItemButton.h"
|
|
|
|
#include "WellPoleDoc.h"
|
|
#include "WellPoleView.h"
|
|
#include "WellPoleLib/WellMarkNamesList.h"
|
|
|
|
#include "WellPoleLib/WellBaseObj.h"
|
|
#include "WellPoleLib/WellClassObjGroup.h"
|
|
#include "WellPoleLib/InTrackDepthSegment.h"
|
|
#include "WellPoleLib/InTrackTextBase.h"
|
|
//#include "WellPoleLib\TrackValidThick.h"
|
|
|
|
#include "WellPoleLib\InTrackTextRange.h"
|
|
#include "WellPoleLib\InTrackSymbol.h"
|
|
#include "WellPoleLib\InTrackLith.h"
|
|
#include "WellPoleLib\InTrackResult.h"
|
|
#include "WellPoleLib\InTrackOilTest.h"
|
|
#include "WellPoleLib\InTrackSample.h"
|
|
#include "WellPoleLib\InTrackShot.h"
|
|
#include "WellPoleLib\InTrackTestExtraction.h"
|
|
|
|
#include "WellPoleLib\InTrackLayerGroup.h"
|
|
#include "WellPoleLib\InTrackCoring.h"
|
|
#include "WellPoleLib\InTrackCoreWell.h"
|
|
#include "WellPoleLib\InTrackPicture.h"
|
|
#include "WellPoleLib\InTrackFaultPoint.h"
|
|
|
|
#include "WellPoleLib\TrackObj.h"
|
|
#include "WellPoleLib\InclinedTrack.h"
|
|
#include "WellPoleLib\TrackStratum.h"
|
|
#include "WellPoleLib/TrackCurve.h"
|
|
#include "WellPoleLib\TrackCorePosition.h"
|
|
#include "WellPoleLib\TrackDepth.h"
|
|
#include "WellPoleLib\TrackLith.h"
|
|
#include "WellPoleLib\TrackOilTest.h"
|
|
#include "WellPoleLib\TrackBury.h"
|
|
#include "WellPoleLib\TrackShot.h"
|
|
#include "WellPoleLib\TrackSample.h"
|
|
#include "WellPoleLib\TrackText.h"
|
|
#include "WellPoleLib\TrackPicture.h"
|
|
#include "WellPoleLib\TrackResult.h"
|
|
#include "WellPoleLib/TrackGroup.h"
|
|
#include "WellPoleLib\TrackCoreWell.h"
|
|
#include "WellPoleLib\TrackSymbol.h"
|
|
#include "WellPoleLib\TrackTestExtraction.h"
|
|
#include "WellPoleLib\TrackPicture.h"
|
|
#include "WellPoleLib/WellPole.h"
|
|
//#include "DataConfig.h"
|
|
//#include "PropertyGridItemAdd.h"
|
|
#include "ItemTrackIn.h"
|
|
#include "ItemTrack.h"
|
|
//#include "CustomItemGradientColor.h"
|
|
//#include "DlgWellDataConfig.h"
|
|
|
|
//#include "GDataIO/GDataBinder/DataBinderWell.h"
|
|
//#include "GDataIO/GDataBinder/DataBinderBase.h"
|
|
//#include "DialogCurveReverseRange.h"
|
|
|
|
|
|
|
|
namespace NItem
|
|
{
|
|
|
|
// int GetDrawTypeIndex(DWORD dwDrawType)
|
|
//{
|
|
// int nIndex = 0; //波形方式
|
|
// switch(dwDrawType)
|
|
// {
|
|
// default:
|
|
// case CSeismicDrawBase::typeWiggle: nIndex = 0; break;//波形曲线显示
|
|
// case CSeismicDrawBase::typeRightVa: nIndex = 1; break;//右变面积
|
|
// case CSeismicDrawBase::typeLeftVa: nIndex = 2; break;//左变面积
|
|
// case CSeismicDrawBase::typeVarDensity: nIndex = 3; break;//变密度显示
|
|
// case CSeismicDrawBase::typeVarDensity|CSeismicDrawBase::typeWiggle: nIndex = 4; break;//变密度+波形曲线
|
|
// case CSeismicDrawBase::typeVarDensity|CSeismicDrawBase::typeRightVa:nIndex = 5; break;//变密度+右变面积
|
|
// case CSeismicDrawBase::typeVarDensity|CSeismicDrawBase::typeLeftVa: nIndex = 6; break;//变密度+左变面积
|
|
// }
|
|
// return nIndex;
|
|
//}
|
|
//DWORD GetDrawType(int nIndex)
|
|
//{
|
|
// DWORD dwType = CSeismicDrawBase::typeWiggle;
|
|
// switch(nIndex)
|
|
// {
|
|
// default:
|
|
// case 0: dwType = CSeismicDrawBase::typeWiggle; break;
|
|
// case 1: dwType = CSeismicDrawBase::typeRightVa; break;
|
|
// case 2: dwType = CSeismicDrawBase::typeLeftVa; break;
|
|
// case 3: dwType = CSeismicDrawBase::typeVarDensity; break;
|
|
// case 4: dwType = CSeismicDrawBase::typeVarDensity | CSeismicDrawBase::typeWiggle; break;
|
|
// case 5: dwType = CSeismicDrawBase::typeVarDensity | CSeismicDrawBase::typeRightVa; break;
|
|
// case 6: dwType = CSeismicDrawBase::typeVarDensity | CSeismicDrawBase::typeLeftVa; break;
|
|
// }
|
|
// return dwType;
|
|
//}
|
|
|
|
CItemTrack::CItemTrack(CSigmaDoc* pDoc)
|
|
: CItemWellBase(pDoc)
|
|
,m_bAddTrackIn(FALSE)
|
|
{
|
|
SetType(ITEM_TRACK);
|
|
m_pTrack = NULL;
|
|
m_pItemWell = NULL;
|
|
|
|
m_bWellFrame = TRUE;
|
|
//CMapEditFrame *pParentFrame = (CMapEditFrame*)pWnd->GetMapFrame();
|
|
//if(!pParentFrame->IsKindOf(RUNTIME_CLASS(CMapWellFrame)))
|
|
//{
|
|
// m_bWellFrame = FALSE;
|
|
//}
|
|
//CMapWellFrame *pFrame = (CMapWellFrame*)pWnd->GetMapFrame();
|
|
//for(int ii = 0; ii< pFrame->GetMapFrame2D().m_SplitterWnd.GetSize(); ii++)
|
|
//{
|
|
// m_DcVec.push_back(pFrame->GetMapFrame2D().m_SplitterWnd[ii].pMapWnd2D->GetDC());
|
|
|
|
// m_WndVec.push_back(pFrame->GetMapFrame2D().m_SplitterWnd[ii].pMapWnd2D);
|
|
//}
|
|
}
|
|
|
|
CItemTrack::~CItemTrack(void)
|
|
{
|
|
|
|
}
|
|
|
|
//void CItemTrack::EnableItemTrackCurveBrush(CXTPPropertyGridItem* pItem, int nTrackCurveBrush)
|
|
//{
|
|
// CXTPPropertyGridItem* pFind = NULL;
|
|
// switch(nTrackCurveBrush)
|
|
// {
|
|
// case 0: //空白
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEBKCOLOR);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL_SYMBOL);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// pFind=FindItem(pItem, IDS_STRING_EMBELLISH_CURVE_EFFECT);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// pFind=FindItem(pItem, ID_STR_CURVE_HEADFILL_B);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// break;
|
|
// case 1: //单色
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEBKCOLOR);
|
|
// if(pFind) pFind->SetHidden(FALSE);
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL_SYMBOL);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// pFind=FindItem(pItem, IDS_STRING_EMBELLISH_CURVE_EFFECT);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// pFind=FindItem(pItem, ID_STR_CURVE_HEADFILL_B);
|
|
// if(pFind) pFind->SetHidden(FALSE);
|
|
// break;
|
|
// case 2: //图案
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEBKCOLOR);
|
|
// if(pFind) pFind->SetHidden(FALSE);
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL_SYMBOL);
|
|
// if(pFind) pFind->SetHidden(FALSE);
|
|
// pFind=FindItem(pItem, IDS_STRING_EMBELLISH_CURVE_EFFECT);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// pFind=FindItem(pItem, ID_STR_CURVE_HEADFILL_B);
|
|
// if(pFind) pFind->SetHidden(FALSE);
|
|
// break;
|
|
// case 3: //渐变色
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEBKCOLOR);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL_SYMBOL);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// pFind=FindItem(pItem, IDS_STRING_EMBELLISH_CURVE_EFFECT);
|
|
// if(pFind) pFind->SetHidden(FALSE);
|
|
// pFind=FindItem(pItem, ID_STR_CURVE_HEADFILL_B);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// break;
|
|
// }
|
|
//}
|
|
|
|
//void CItemTrack::EnableItemTrackCurveFill(CXTPPropertyGridItem* pItem, int nTrackCurveFill)
|
|
//{
|
|
// CXTPPropertyGridItem* pFind = NULL;
|
|
// switch(nTrackCurveFill)
|
|
// {
|
|
// case 0: //左边界
|
|
// case 1: //右边界
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL);
|
|
// if(pFind) pFind->SetHidden(FALSE);
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILLB);
|
|
// if(pFind) pFind->SetHidden(FALSE);
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEVALUE);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// break;
|
|
|
|
// case 2: //左值
|
|
// case 3: //右值
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILL);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEFILLB);
|
|
// if(pFind) pFind->SetHidden(TRUE);
|
|
// pFind=FindItem(pItem, IDS_STR_TRACK_CURVEVALUE);
|
|
// if(pFind) pFind->SetHidden(FALSE);
|
|
// break;
|
|
// }
|
|
//}
|
|
|
|
//BOOL CItemTrack::InitPropertyGrid(CXTPPropertyGrid& grid)
|
|
//{
|
|
// //if (!this->IsEditState())
|
|
// // return FALSE;
|
|
|
|
// CWellPole * pWellObj = m_pTrack->GetWell();
|
|
|
|
// grid.ResetContent();
|
|
// CPropertyGridItemAdd ItemAdd(NULL);
|
|
// CString strFormat;
|
|
// UINT TrackName = IDS_STR_TRACK_GROUP;
|
|
// if (m_pTrack->GetTrackType() == Track_Lith)
|
|
// {
|
|
// TrackName =IDS_STR_LITHO_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Depth)
|
|
// {
|
|
// TrackName = IDS_STR_DEPTH_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_CorePosition)
|
|
// {
|
|
// TrackName = IDS_STR_COREP_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_CoreWell)
|
|
// {
|
|
// TrackName = IDS_STR_COREW_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_ValidThick)
|
|
// {
|
|
// TrackName = IDS_STR_VALIDTHICK_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_OilTest)
|
|
// {
|
|
// TrackName = IDS_STR_OILTEST_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Result)
|
|
// {
|
|
// TrackName = IDS_STR_RESULT_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Bury)
|
|
// {
|
|
// TrackName = IDS_STR_BURY_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Picture)
|
|
// {
|
|
// TrackName = IDS_STR_PICTURE_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Text)
|
|
// {
|
|
// TrackName = IDS_STR_TEXT_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Symbol)
|
|
// {
|
|
// TrackName = IDS_STR_SYMBOLE_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Sample)
|
|
// {
|
|
// TrackName = IDS_STR_SAMPLE_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Shot)
|
|
// {
|
|
// TrackName = IDS_STR_SHOT_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Curve)
|
|
// {
|
|
// TrackName = IDS_STR_CURVE_TRACK_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Discrete)
|
|
// {
|
|
// TrackName = IDS_STR_DISCRETE_TRACK_PROPERTY;
|
|
// }
|
|
// //else if (m_pTrack->GetTrackType() == Track_Layer)
|
|
// //{
|
|
// // TrackName = IDS_STR_LAYER_TRACK_PROPERTY;
|
|
// //}
|
|
// else if (m_pTrack->GetTrackType() == Track_SandLayer)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_SANDLAYER_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_OilLayerGroup)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_OILLAYER_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_ProduceLayer)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_PRODUCELAYER_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_TestExtraction)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_TESTEXTRACTION_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_ReserveUnit)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_RESERVEUNIT_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Stratum)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_STRATUM_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_CementingQuality)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_CEMENTQUALITY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_CementingQualityCurve)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_CEMENTQUALITYCURVE_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_ProducedFluidSection)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_PRODUCEFLUID_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_WaterAbsorptionSection)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_WATERABSOR_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_StandardLayer)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_STANDARD_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_WaveShape)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_WAVESHAPE_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_FaultPoint)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_FAULTPOINT_PROPERTY;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_VdlImage)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_VDL;
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_SeisSection)
|
|
// {
|
|
// TrackName = IDS_STR_TRACK_SEISSECTION ;
|
|
// }
|
|
// CXTPPropertyGridItem *pItem= grid.AddCategory(TrackName);
|
|
// ItemAdd.SetItem(pItem);
|
|
|
|
// ItemAdd.AddItemString(IDS_STR_TRACK_TITLE, m_pTrack->m_strTitle);//标题
|
|
|
|
// if(m_pTrack->GetTrackType() != Track_Group &&
|
|
// m_pTrack->GetTrackType() != Track_Curve &&
|
|
// m_pTrack->GetTrackType() != Track_Discrete &&
|
|
// m_pTrack->GetTrackType() != Track_VdlImage && m_pTrack->GetTrackType() != Track_SeisSection)
|
|
// {
|
|
// strFormat.Format("%%0.%dlf",2);
|
|
// ItemAdd.AddItemUnitDouble(IDS_STR_TRACK_WIDTH, CUnit::UNIT_MM, m_pTrack->m_dTrackWidth, strFormat);//道宽(毫米)
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_FILL, m_pTrack->IsFlagBrush());//填充
|
|
// ItemAdd.AddItemColor(IDS_STR_TRACK_BGCOLOR, m_pTrack->m_brush.m_color);//背景颜色
|
|
// ItemAdd.AddItemFont(IDS_STR_WELL_FONTTRACK, m_pTrack->m_font.m_logFont, m_pTrack->m_font.m_color);
|
|
// }
|
|
|
|
// //////道数据库配置
|
|
// //Db::CSqlStatementManager *pSqlManager = AfxGetGeo()->GetSqlStatementManager();
|
|
// //if (pSqlManager->HasDB())
|
|
// //{
|
|
// // if (m_pTrack->GetTrackType() != Track_Group &&
|
|
// // m_pTrack->GetTrackType() != Track_Depth &&
|
|
// // m_pTrack->GetTrackType() != Track_Curve &&
|
|
// // m_pTrack->GetTrackType() != Track_Discrete &&
|
|
// // m_pTrack->GetTrackType() != Track_Picture &&
|
|
// // m_pTrack->GetTrackType() != Track_VdlImage && m_pTrack->GetTrackType() != Track_SeisSection)
|
|
// // {
|
|
// // CCustomItemButton* pItemButton = new CCustomItemButton(IDS_STRING_DB_TABLEFIELD_CONFIG, GetOwner(),m_pTrack->m_strConfigTable);//数据库表名和字段配置
|
|
// // pItemButton->SetFlags(xtpGridItemHasExpandButton/*|xtpGridItemHasEdit*/);
|
|
// // ItemAdd.AddItem(pItemButton);
|
|
// // }
|
|
// //}
|
|
// //////道时深度段配置
|
|
// //if (m_pTrack->GetTrackType() == Track_Sample)
|
|
// //{
|
|
// // CCustomItemButton* pItemButton = new CCustomItemButton(IDS_STR_TRACK_CONFIGTOPANDBOT, GetOwner(),m_pTrack->m_strConfigTableOther);//数据库表名和字段配置
|
|
// // pItemButton->SetFlags(xtpGridItemHasExpandButton/*|xtpGridItemHasEdit*/);
|
|
// // ItemAdd.AddItem(pItemButton);
|
|
// //}
|
|
|
|
// pItem->Expand();
|
|
|
|
// if (m_pTrack->GetTrackType()==Track_Bury)
|
|
// {
|
|
// CTrackBury* TrackBury = (CTrackBury*) m_pTrack;
|
|
// pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//设置
|
|
// ItemAdd.SetItem(pItem);
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_BURYFDEPTH, TrackBury->IsShowDepth());//显示深度值
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_BURYFVERTICAL, TrackBury->IsDepthVertical());//纵向显示
|
|
// pItem->Expand();
|
|
// }
|
|
// else if (m_pTrack->GetTrackType()==Track_CorePosition)
|
|
// {
|
|
// CTrackCorePosition* TrackCorePosition = (CTrackCorePosition*)m_pTrack;
|
|
// pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//设置
|
|
// ItemAdd.SetItem(pItem);
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHSWITCH, TrackCorePosition->IsShowDepth());//显示深度值
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_LENGTHSWITCH, TrackCorePosition->IsShowLength());//显示长度值
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_PERCENTSWITCH, TrackCorePosition->IsShowPercent());//显示百分比
|
|
// ItemAdd.AddItemFont(IDS_STR_TRACK_COREPOSITIONFONT, TrackCorePosition->m_fontChild.m_logFont,TrackCorePosition->m_fontChild.m_color); //取芯符号内部字体
|
|
// ItemAdd.AddItemLine1(IDS_STR_TRACK_COREPOSITIONPEN, TrackCorePosition->m_penChild, &TrackCorePosition->m_penChild, LineType_Curve);//道内对象边框线
|
|
// ItemAdd.AddItemColor(IDS_STR_TRACK_COREBGCOLOR,TrackCorePosition->m_brushChild.m_color);// 道内对象背景颜色
|
|
// pItem->Expand();
|
|
// }
|
|
// else if (m_pTrack->GetTrackType()==Track_Curve || m_pTrack->GetTrackType()==Track_Discrete)
|
|
// {
|
|
// CTrackCurve* TrackCurve = (CTrackCurve*)m_pTrack;
|
|
// //ItemAdd.AddItemString(IDS_STR_TRACK_CURVENAME, TrackCurve->m_strTrackName); // 曲线名/标识
|
|
// CStringArray strCurveNameArr;
|
|
// CString strTableName;
|
|
// CString nameField;
|
|
// if (m_pTrack->GetTrackType()==Track_Curve)
|
|
// {
|
|
// strTableName = "well_log";
|
|
// nameField = "curve_name";
|
|
// }
|
|
// else if (m_pTrack->GetTrackType()==Track_Discrete)
|
|
// {
|
|
// strTableName = "well_discrete";
|
|
// nameField = "name";
|
|
// }
|
|
// if(m_pItemWell)
|
|
// m_pItemWell->GetAllCurveNameInDb(strCurveNameArr,strTableName,nameField);
|
|
// else
|
|
// {
|
|
// CWellPole *pWellObj = TrackCurve->GetWell();
|
|
// for(int ii = 0; ii< pWellObj->m_CurveDataVecs.size(); ii++)
|
|
// {
|
|
// strCurveNameArr.Add(pWellObj->m_CurveDataVecs[ii]->m_curve_name);
|
|
// }
|
|
// }
|
|
// ItemAdd.AddItemComboEdit(IDS_STR_TRACK_CURVENAME,strCurveNameArr,TrackCurve->m_strTrackName,TRUE); // 曲线名
|
|
// CString FormatLeft;
|
|
// CString FormatRight;
|
|
// FormatLeft = TrackCurve->FormatValue(TrackCurve->m_curve_left);
|
|
// FormatRight = TrackCurve->FormatValue(TrackCurve->m_curve_right);
|
|
// ItemAdd.AddItemString(IDS_STR_TRACK_CURVELVALUE,FormatLeft);// 曲线的左刻
|
|
// ItemAdd.AddItemString(IDS_STR_TRACK_CURVERVALUE,FormatRight);// 曲线的右刻
|
|
// CStringArray Markstyle;
|
|
// Markstyle.Add("0.#");Markstyle.Add("0.##");Markstyle.Add("0.###");Markstyle.Add("0.####");
|
|
// Markstyle.Add("0.0");Markstyle.Add("0.00");Markstyle.Add("0.000");Markstyle.Add("0.0000");
|
|
// CString InitMark;
|
|
// InitMark = TrackCurve->m_strFormat;
|
|
// ItemAdd.AddItemCombo(IDS_STR_MARKFORMAT, Markstyle, InitMark);//标注格式
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_CURVELOG, TrackCurve->IsLog());//对数
|
|
// ////文件中的曲线采样间距
|
|
|
|
|
|
// ItemAdd.AddItemUnitDouble(IDS_STR_TRACK_WIDTH, CUnit::UNIT_MM, m_pTrack->m_dTrackWidth, strFormat);//道宽(毫米)
|
|
// ItemAdd.AddItemFont(IDS_STR_WELL_FONTTRACK, m_pTrack->m_font.m_logFont, m_pTrack->m_font.m_color);
|
|
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_CURVEHEADMARK, TrackCurve->IsShowGridHead());//显示头标注
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_CURVELINESWITCH, TrackCurve->IsShowHeadLine());//显示曲线横线
|
|
|
|
// CStringArray tmpArr;
|
|
// CString str;
|
|
// str.LoadString(IDS_STR_CURVE_NORMAL); tmpArr.Add(str);
|
|
// str.LoadString(IDS_STR_CURVE_CUT); tmpArr.Add(str);
|
|
// str.LoadString(IDS_STR_CURVE_REVERSE); tmpArr.Add(str);
|
|
// if(TrackCurve->GetCurveShowMode() == CurveShow_Cut)
|
|
// str.LoadString(IDS_STR_CURVE_CUT);
|
|
// else if(TrackCurve->GetCurveShowMode() == CurveShow_Reverse)
|
|
// str.LoadString(IDS_STR_CURVE_REVERSE);
|
|
// else
|
|
// str.LoadString(IDS_STR_CURVE_NORMAL);
|
|
// ItemAdd.AddItemCombo(IDS_STR_CURVETRACK_SHOWMODE, tmpArr, str);//标注格式
|
|
|
|
// //CCustomItemButton* pItemButton = new CCustomItemButton(IDS_REVERSE_SET_VALUERANGE, GetOwner(),"");
|
|
// //pItemButton->SetFlags(xtpGridItemHasExpandButton/*|xtpGridItemHasEdit*/);
|
|
// //ItemAdd.AddItem(pItemButton);
|
|
|
|
// //CXTPPropertyGridItem *pParentGridItem;
|
|
// //pParentGridItem= grid.AddCategory(IDS_REVERSE_VALUE_RANGE);
|
|
// //AddReverseCurveRangeItem(pParentGridItem,TrackCurve); //添加反卷设置
|
|
// //pParentGridItem->Expand();
|
|
|
|
// pItem= grid.AddCategory(IDS_STR_TRACK_GRID);
|
|
// ItemAdd.SetItem(pItem);
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_CURVEGRIDX, TrackCurve->IsShowGridX());//显示横网格
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_CURVEGRIDY, TrackCurve->IsShowGridY());//显示纵网格
|
|
// ItemAdd.AddItemLong(IDS_CHART_MSEGMENTNUM, TrackCurve->m_nMajorSpace); //主刻度数
|
|
// ItemAdd.AddItemLong(IDS_STR_RULER_MINORMARKNUM, TrackCurve->m_nMinorSpace); //次刻度数
|
|
// pItem->Expand();
|
|
|
|
// pItem= grid.AddCategory(IDS_STR_TRACK_BGFILL);
|
|
// ItemAdd.SetItem(pItem);
|
|
|
|
// CString fillstyles;
|
|
// fillstyles.LoadString(IDS_STR_TRACK_CURVE_FILLS);
|
|
// int nInitfill = -1;
|
|
// if(TrackCurve->IsFillStyleLeft())
|
|
// {
|
|
// nInitfill = 0;
|
|
// }
|
|
// else if(TrackCurve->IsFillStyleRight())
|
|
// {
|
|
// nInitfill = 1;
|
|
// }
|
|
// else if(TrackCurve->IsFillStyleLeftV())
|
|
// {
|
|
// nInitfill = 2;
|
|
// }
|
|
// else if(TrackCurve->IsFillStyleRightV())
|
|
// {
|
|
// nInitfill = 3;
|
|
// }
|
|
// ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVEFILL_MODE, fillstyles, nInitfill);//填充方式
|
|
|
|
// CString brushmodes;
|
|
// brushmodes.LoadString(IDS_STR_TRACK_CURVE_MODES);
|
|
// int nInitbrush = 0;
|
|
// if (TrackCurve->IsFillBrushColor())
|
|
// {
|
|
// nInitbrush = 1;
|
|
// }
|
|
// else if (TrackCurve->IsFillBrushPattern()||TrackCurve->IsFillBrushVector())
|
|
// {
|
|
// nInitbrush = 2;
|
|
// }
|
|
// else if (TrackCurve->IsFillBrushGradient())
|
|
// {
|
|
// nInitbrush = 3;
|
|
// }
|
|
// ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVEBRUSH_STYLE, brushmodes, nInitbrush);//画刷类型
|
|
|
|
|
|
// ItemAdd.AddItemColor(IDS_STR_TRACK_CURVEBKCOLOR,TrackCurve->m_fillClr);//填充颜色
|
|
|
|
// ItemAdd.AddItemComboMark(IDS_STR_TRACK_CURVEFILL_SYMBOL, TrackCurve->m_strFillSymbol, MarkFill);//曲线充填符号
|
|
|
|
// //渐变色充填
|
|
// CTrackCurveBase trackcurve;
|
|
// trackcurve.m_gradientMiddleClr = TrackCurve->m_gradientMiddleClr;
|
|
// trackcurve.m_gradientLeftClr = TrackCurve->m_gradientLeftClr;
|
|
// trackcurve.m_gradientRightClr = TrackCurve->m_gradientRightClr;
|
|
// trackcurve.SetGradientMidClrAuto(TrackCurve->IsGradientMidClrAuto());
|
|
// trackcurve.MakeGradientColorBar();
|
|
// m_colorBar = trackcurve.m_gradientClrBar;
|
|
// CCustomItemGradientColor* pItemGradientColor=new CCustomItemGradientColor(IDS_STRING_EMBELLISH_CURVE_EFFECT, &m_colorBar);
|
|
// pItemGradientColor->m_pTrackCurve = TrackCurve;
|
|
// pItemGradientColor->m_pDoc = GetDoc();
|
|
|
|
// pItemGradientColor->EnableWizardMode(FALSE);
|
|
// ItemAdd.AddItem(pItemGradientColor);
|
|
|
|
// //填充曲线
|
|
// CStringArray StrCurveArr;
|
|
// StrCurveArr.Add("");
|
|
// TRACKLIST CurveList,OtherList;
|
|
// pWellObj->DivideTrack(&CurveList,&OtherList);
|
|
|
|
// TRACKLIST::iterator it = CurveList.begin();
|
|
// for(; it!= CurveList.end(); it++)
|
|
// {
|
|
// CTrackObj* pTrack = *it;
|
|
// if(pTrack == TrackCurve)
|
|
// continue;
|
|
// if(pTrack->GetTrackType() != TrackCurve->GetTrackType()) //目前内部填充代码只支持,同类曲线间的填充.gf
|
|
// continue;
|
|
// StrCurveArr.Add(pTrack->m_strTrackName);
|
|
// }
|
|
// CurveList.clear();
|
|
// OtherList.clear();
|
|
|
|
// ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVEFILL, StrCurveArr,TrackCurve->m_strFillSideCurve);
|
|
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_CURVEFILLB, TrackCurve->IsShowFillSideCurve());//显示填充曲线
|
|
|
|
// ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVEVALUE, TrackCurve->m_fFillSideValue, "%3f");//阈值
|
|
|
|
// ItemAdd.AddItemBool(ID_STR_CURVE_HEADFILL_B,TrackCurve->IsShowHeadFill());//道头是否充填
|
|
|
|
// //根据填充方式、画刷类型隐藏子项
|
|
// EnableItemTrackCurveBrush(pItem, nInitbrush);
|
|
// EnableItemTrackCurveFill(pItem, nInitfill);
|
|
// pItem->Expand();
|
|
|
|
// pItem= grid.AddCategory(IDS_STR_TRACK_CURVE_STYLEFILL);
|
|
// ItemAdd.SetItem(pItem);
|
|
// CString styles;
|
|
// styles.LoadString(IDS_STR_TRACK_CURVE_STYLES);
|
|
// int nStyle = 0;
|
|
// if (TrackCurve->IsShowCurve())
|
|
// {
|
|
// nStyle = 1;
|
|
// }
|
|
// else if (TrackCurve->IsShowStep())
|
|
// {
|
|
// nStyle = 2;
|
|
// }
|
|
// ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVE_STYLE, styles, nStyle);//曲线风格
|
|
// ItemAdd.AddItemLine1(IDS_STR_TRACK_CURVETYPE, TrackCurve->m_penCurve, &TrackCurve->m_penCurve,LineType_Curve);//曲线类型
|
|
// CString Rodstyles;
|
|
// Rodstyles.LoadString(IDS_STR_TRACK_CURVE_RODS);
|
|
// int nRod = 0;
|
|
// if (TrackCurve->IsShowRod())
|
|
// {
|
|
// nRod = 1;
|
|
// }
|
|
// //ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVE_ROD, Rodstyles, nRod);//杆状图
|
|
// //ItemAdd.AddItemLine(IDS_STR_TRCAK_CURVE_RODLINE, TrackCurve->m_penRod, &TrackCurve->m_penRod,LineType_Curve);//杆状线类型
|
|
// pItem->Expand();
|
|
|
|
// pItem= grid.AddCategory(IDS_STR_TRACK_DOTSYMBOL);
|
|
// ItemAdd.SetItem(pItem);
|
|
// CString Dotstyles;
|
|
// Dotstyles.LoadString(IDS_STR_TRACK_CURVE_SCATTERS);
|
|
// int nDot = 0;
|
|
// if (TrackCurve->IsShowDot())
|
|
// {
|
|
// nDot = 1;
|
|
// }
|
|
// ItemAdd.AddItemCombo(IDS_STR_TRACK_CURVE_DOT, Dotstyles, nDot);//散点图
|
|
// CString SignInit = TrackCurve->m_strDotSymbol;
|
|
// ItemAdd.AddItemComboMark(IDS_STR_TRACK_MARK,SignInit,MarkChart);//散点符号
|
|
|
|
// ItemAdd.AddItemColor(IDS_STR_TRACK_CURVESIGNLINE, TrackCurve->m_dotBorderClr,&TrackCurve->m_dotBorderClr);//曲线点边框颜色
|
|
// ItemAdd.AddItemColor(IDS_STR_TRACK_CURVESIGNFILL, TrackCurve->m_dotFillClr,&TrackCurve->m_dotFillClr);//曲线点填充颜色
|
|
// ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVESIGNSIZE, TrackCurve->m_dotSize.cx);//曲线符号大小
|
|
|
|
|
|
// }
|
|
// else if (m_pTrack->GetTrackType()==Track_Depth)
|
|
// {
|
|
// CTrackDepth* TrackDepth = (CTrackDepth*)m_pTrack;
|
|
// pItem=grid.AddCategory(IDS_STR_TRACK_SCALE);
|
|
// ItemAdd.SetItem(pItem);pItem->Expand();
|
|
// //ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFGRID, TrackDepth->IsShowGrid());//显示所有刻标
|
|
// //ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFGRIDM, TrackDepth->IsShowGridMinor());//显示次刻线
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFMARKLEVEL, TrackDepth->IsMarkLevel());//海拔刻度
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFMARKL, !TrackDepth->IsMarkLeft());//刻度线位置
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFMARKFEET, TrackDepth->IsMarkFeet());//英制单位
|
|
|
|
// if(pWellObj->GetParent() == NULL)//剖面井时不处理
|
|
// {
|
|
// //主刻度间隔
|
|
// CString MajorSpace;
|
|
// MajorSpace.Format("%.3f", TrackDepth->m_fMajorGrid);
|
|
// ItemAdd.AddItemString(IDS_STR_WELL_MAJORSPACE,MajorSpace);
|
|
// //副刻度间隔
|
|
// CString MinorSpace;
|
|
// MinorSpace.Format("%.3f", TrackDepth->m_fMinorGrid);
|
|
// ItemAdd.AddItemString(IDS_STR_WELL_MINORSPACE, MinorSpace);
|
|
// }
|
|
// ItemAdd.AddItemDouble(IDS_STR_DEPTH_MAJORWIDTH,TrackDepth->m_fMajorWidth);//主刻度宽度
|
|
// ItemAdd.AddItemDouble(IDS_STR_DEPTH_MINORWIDTH,TrackDepth->m_fMinorWidth);//次刻度宽度
|
|
// ItemAdd.AddItemLine1(IDS_STR_DEPTH_MAJORPEN,TrackDepth->m_penGridMajor,&TrackDepth->m_penGridMajor,LineType_Curve);//主刻线
|
|
// ItemAdd.AddItemLine1(IDS_STR_DEPTH_MINORPEN,TrackDepth->m_penGridMinor,&TrackDepth->m_penGridMinor,LineType_Curve);//次刻线
|
|
// ItemAdd.AddItemFont(IDS_STR_TRACK_DEPTHFONT,TrackDepth->m_fontGridMark.m_logFont,TrackDepth->m_fontGridMark.m_color); //标注字体
|
|
|
|
// pItem=grid.AddCategory(IDS_STR_TRACK_LABEL);
|
|
// ItemAdd.SetItem(pItem);pItem->Expand();
|
|
|
|
// ItemAdd.AddItemBool(IDS_STR_STRACK_DEPTHFMARK, TrackDepth->IsShowMarkUnit());//显示标注单位
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_DEPTHFMARKARR, TrackDepth->IsMarkArrange());//竖直显示标注
|
|
|
|
|
|
// }
|
|
// else if (m_pTrack->GetTrackType()==Track_Lith)
|
|
// {
|
|
// CTrackLith* TrackLith = (CTrackLith*)m_pTrack;
|
|
// pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);
|
|
// ItemAdd.SetItem(pItem);
|
|
// CStringArray OilGasArr,ColorArr,LithArr;
|
|
|
|
// OilGasArr.Add("0");OilGasArr.Add("10");OilGasArr.Add("15");OilGasArr.Add("20");OilGasArr.Add("25");
|
|
// OilGasArr.Add("30");OilGasArr.Add("35");OilGasArr.Add("40");OilGasArr.Add("50");OilGasArr.Add("55");OilGasArr.Add("60");
|
|
// OilGasArr.Add("65");OilGasArr.Add("70");OilGasArr.Add("75");OilGasArr.Add("80");OilGasArr.Add("85");OilGasArr.Add("90");
|
|
// OilGasArr.Add("95");OilGasArr.Add("100");
|
|
// CString OilGasWidth;
|
|
// OilGasWidth.Format("%d", TrackLith->m_nWidthOil);
|
|
// ItemAdd.AddItemCombo(IDS_STR_TRACK_OILWIDTH,OilGasArr,OilGasWidth);//油气列宽百分比
|
|
|
|
// ColorArr.Add("0");ColorArr.Add("10");ColorArr.Add("15");ColorArr.Add("20");ColorArr.Add("25");
|
|
// ColorArr.Add("30");ColorArr.Add("35");ColorArr.Add("40");ColorArr.Add("50");ColorArr.Add("55");ColorArr.Add("60");
|
|
// ColorArr.Add("65");ColorArr.Add("70");ColorArr.Add("75");ColorArr.Add("80");ColorArr.Add("85");ColorArr.Add("90");
|
|
// ColorArr.Add("95");ColorArr.Add("100");
|
|
// CString ColorWidth;
|
|
// ColorWidth.Format("%d", TrackLith->m_nWidthColor);
|
|
// //ItemAdd.AddItemCombo(IDS_STR_TRACK_COLORWIDTH,ColorArr,ColorWidth);//颜色列宽百分比
|
|
// ItemAdd.AddItemUnitDouble(IDS_STR_TRACK_LITHFTHICK, CUnit::UNIT_MM, TrackLith->ScreenCYToHeight(TrackLith->m_nThick), strFormat);//单位符号厚度
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFSINGLE, TrackLith->IsSingle());//单个符号
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_SHOW_LITH, TrackLith->IsShowLith());//是否显示岩性
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFCLR, TrackLith->IsShowColor());//是否显示岩性颜色
|
|
// //ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFFIT, TrackLith->IsFit());//固定岩性符号大小
|
|
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFOIL, TrackLith->IsShowOil());//是否绘制含油级别
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_LITHWIDTH, TrackLith->IsWidth());//是否控制岩性宽度
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFRIGHTOIL, TrackLith->IsRightOil());//含油级别显示在道右边
|
|
// //ItemAdd.AddItemBool(IDS_STR_TRACK_LITHFINCOIL, TrackLith->IsIncrementOil());//含油级别增宽
|
|
// pItem->Expand();
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Shot)
|
|
// {
|
|
// //CTrackShotObj* TrackShot = (CTrackShotObj*)m_pTrack;
|
|
// //pItem = grid.AddCategory(IDS_STR_TRACK_LABEL);
|
|
// //ItemAdd.SetItem(pItem);
|
|
// //ItemAdd.AddItemBool(IDS_STR_TRACK_SHOTMARK, TrackShot->IsShowMark()); //显示标注
|
|
// //ItemAdd.AddItemFont(IDS_STR_TRACK_SHOTMARKFONT, TrackShot->m_fontChild.m_logFont,TrackShot->m_fontChild.m_frColor);//标注字体
|
|
// //pItem->Expand();
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Sample)
|
|
// {
|
|
// CTrackSample* TrackSample = (CTrackSample*) m_pTrack;
|
|
// pItem = grid.AddCategory(IDS_STR_TRACK_LABEL);
|
|
// ItemAdd.SetItem(pItem);
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_SAMPLEFMARK, TrackSample->IsShowMark()); //显示标注
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_SAMPLEFARR, TrackSample->IsMarkArrange());// 竖直标注
|
|
// ItemAdd.AddItemFont(IDS_STR_TRACK_SAMPLEMARKFONT, TrackSample->m_fontChild.m_logFont);//标注字体
|
|
// ItemAdd.AddItemLine1(IDS_STR_TRACK_SAMPLEMARKPEN, TrackSample->m_penChild, &TrackSample->m_penChild, LineType_Curve);//刻线
|
|
// pItem->Expand();
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Symbol)
|
|
// {
|
|
// CTrackSymbol* TrackSymbol = (CTrackSymbol*) m_pTrack;
|
|
// pItem = grid.AddCategory(IDS_STR_TRACK_LABEL);
|
|
// ItemAdd.SetItem(pItem);
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_SYMBOLFMARK, TrackSymbol->IsShowMark()); //显示标注
|
|
// ItemAdd.AddItemFont(IDS_STR_TRACK_SYMBOLMARKFONT, TrackSymbol->m_fontChild.m_logFont,TrackSymbol->m_fontChild.m_color);//标注字体
|
|
// pItem->Expand();
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Picture)
|
|
// {
|
|
// CTrackPicture* TrackPicture = (CTrackPicture*) m_pTrack;
|
|
// //pItem = grid.AddCategory(IDS_STR_TRACK_LABEL);
|
|
// //ItemAdd.SetItem(pItem);
|
|
// //ItemAdd.AddItemBool(IDS_STR_TRACK_PICTUREMARK, TrackPicture->IsShowMark()); //显示标注
|
|
// //ItemAdd.AddItemFont(IDS_STR_TRACK_PICTUREMARKFONT, TrackPicture->m_fontChild.m_logFont,TrackPicture->m_fontChild.m_frColor);//标注字体
|
|
// //pItem->Expand();
|
|
// pItem = grid.AddCategory(IDS_STR_TRACK_PICTUREFRAME);
|
|
// ItemAdd.SetItem(pItem);
|
|
// ItemAdd.AddItemLine1(IDS_STR_TRACK_PICTUREPENFRAME, TrackPicture->m_penChild, &TrackPicture->m_penChild, LineType_Curve); //边框线
|
|
// pItem->Expand();
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Result)
|
|
// {
|
|
// CTrackResult* TrackResult = (CTrackResult*) m_pTrack;
|
|
// //CWellSection* pWellSection = (CWellSection*)TrackResult->GetParentObj()->GetParentObj();
|
|
// //if (pWellSection != NULL)
|
|
// //{
|
|
// // pItem=grid.AddCategory(IDS_STR_TRACK_SUBOBJECT);
|
|
// // ItemAdd.SetItem(pItem);
|
|
// // ItemAdd.AddItemBool(IDS_STR_TRACK_LAYERFCHILDTR, TrackResult->IsChildTrans());//子对象透明
|
|
// // ItemAdd.AddItemLine(IDS_STR_TRACK_LAYERPEN, TrackResult->m_penChild, &TrackResult->m_penChild, LineType_Curve);// 符号边框笔
|
|
// // pItem->Expand();
|
|
// //}
|
|
// //else
|
|
// {
|
|
// CStringArray KindArray,TypeArray;
|
|
// CString strl1, strl2, strl3, strl4;
|
|
// strl1 = "1"; strl2 = "2"; strl3 = "3"; strl4 = "4";
|
|
// KindArray.Add(strl1); KindArray.Add(strl2); KindArray.Add(strl3); KindArray.Add(strl4);
|
|
// TypeArray.Add(strl1); TypeArray.Add(strl2); TypeArray.Add(strl3);
|
|
// pItem=grid.AddCategory(IDS_STR_TRACK_SYMBOLEXP);
|
|
// ItemAdd.SetItem(pItem);
|
|
// CString strKind, strType;
|
|
// strKind.Format("%d",(TrackResult->m_nKind+1));
|
|
// strType.Format("%d",(TrackResult->m_nType+1));
|
|
// ItemAdd.AddItemCombo(IDS_STR_TRACK_RESULTKIND, KindArray,strKind);//符号画法
|
|
// ItemAdd.AddItemCombo(IDS_STR_TRACK_RESULTTYPE, TypeArray,strType);//符号类型
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_FLAGLEFTALIGN, TrackResult->IsLeftAlign());//左边界对齐
|
|
// ItemAdd.AddItemLine1(IDS_STR_TRACK_RESULTPENCHILD, TrackResult->m_penChild, &TrackResult->m_penChild, LineType_Curve);//边框线
|
|
// pItem->Expand();
|
|
// pItem=grid.AddCategory(IDS_STR_TRACK_LABEL);
|
|
// ItemAdd.SetItem(pItem);
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_RESULTMARK, TrackResult->IsShowMark());//显示标注
|
|
// ItemAdd.AddItemFont(IDS_STR_TRACK_RESULTMARKFONT, TrackResult->m_fontChild.m_logFont,TrackResult->m_fontChild.m_color);//标注字体
|
|
// //ItemAdd.AddItemBool(IDS_STR_TRACK_RESULTFARR, TrackResult->IsMarkArrange());//竖直标注
|
|
// pItem->Expand();
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_ValidThick)
|
|
// {
|
|
// //pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//道内对象设置
|
|
// //ItemAdd.SetItem(pItem);pItem->Expand();
|
|
// //CTrackValidThickObj* TrackValidThick = (CTrackValidThickObj*) m_pTrack;
|
|
// //ItemAdd.AddItemColor(IDS_STR_TRACK_VALIDTHICKCOLOR, TrackValidThick->m_fill_color);//填充颜色
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_CoreWell)
|
|
// {
|
|
// pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//道内对象设置
|
|
// ItemAdd.SetItem(pItem);pItem->Expand();
|
|
// CTrackCoreWell* TrackCoreWell= (CTrackCoreWell*) m_pTrack;
|
|
// ItemAdd.AddItemFont(IDS_STR_TRACK_COREPOSITIONFONT, TrackCoreWell->m_fontChild.m_logFont,TrackCoreWell->m_fontChild.m_color); //取芯符号内部字体
|
|
// ItemAdd.AddItemLine1(IDS_STR_TRACK_COREWELLPENCHILD, TrackCoreWell->m_penChild, &TrackCoreWell->m_penChild,LineType_Curve);// 井壁取芯符号边框笔
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_COREWELLFLAGCLR, !TrackCoreWell->IsColorFill());//颜色
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_CORE_TIMES_BOOL, TrackCoreWell->IsTimes());//取芯次数
|
|
// ItemAdd.AddItemBool(IDS_STR_TRACK_CORE_LEFTARROW, TrackCoreWell->IsTimes());//左侧取芯
|
|
// }
|
|
|
|
// else if (m_pTrack->GetTrackType() == Track_StandardLayer ||
|
|
// m_pTrack->GetTrackType() == Track_FaultPoint)
|
|
// {
|
|
// pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//道内对象设置
|
|
// ItemAdd.SetItem(pItem);pItem->Expand();
|
|
// ItemAdd.AddItemLine1(IDS_STR_TRACK_STRATUM_LINE,m_pTrack->m_penChild,&m_pTrack->m_penChild,LineType_Curve);//边框线
|
|
// ItemAdd.AddItemFont(IDS_STR_TRACK_STRATUM_FONT,m_pTrack->m_fontChild.m_logFont,m_pTrack->m_fontChild.m_color);//字体
|
|
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_WaveShape)
|
|
// {
|
|
// //CTrackWaveShapeObj* pTrackWaveShape = (CTrackWaveShapeObj*)m_pTrack;
|
|
// //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVELVALUE, pTrackWaveShape->m_curve_left);// 曲线的左刻
|
|
// //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVERVALUE, pTrackWaveShape->m_curve_right);// 曲线的右刻
|
|
// //ItemAdd.AddItemBool(IDS_STR_TRACK_CURVELOG, pTrackWaveShape->IsLog());//对数
|
|
// //pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//道内对象设置
|
|
// //ItemAdd.SetItem(pItem);pItem->Expand();
|
|
// //ItemAdd.AddItemLine(IDS_STR_TRACK_WAVELINE,pTrackWaveShape->m_penChild,&pTrackWaveShape->m_penChild,LineType_Curve);//边框线
|
|
// //ItemAdd.AddItemColor(IDS_STR_TRACK_WAVEBGCOLOR,pTrackWaveShape->m_brushChild.m_color); //背景颜色
|
|
// }
|
|
// else if(m_pTrack->GetTrackType() == Track_VdlImage)
|
|
// {
|
|
// //CTrackVdlImage *pTrackVdl = (CTrackVdlImage*)m_pTrack;
|
|
// //CStringArray strCurveNameArr;
|
|
// //if(m_pItemWell)
|
|
// // m_pItemWell->GetWavetraceDataNameFromDb(strCurveNameArr);
|
|
// //ItemAdd.AddItemComboEdit(IDS_STRING_WAVENAME,strCurveNameArr,pTrackVdl->m_strTrackName,TRUE);
|
|
|
|
// //strFormat.Format("%%0.%dlf",2);
|
|
// //ItemAdd.AddItemUnitDouble(IDS_STR_TRACK_WIDTH, CUnit::UNIT_MM, m_pTrack->m_dTrackWidth, strFormat);//道宽(毫米)
|
|
// //
|
|
// //ItemAdd.AddItemBool(IDS_STRING_REVERSE_COLOR, pTrackVdl->IsReverseColor());//颜色反转
|
|
|
|
// //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVELVALUE, pTrackVdl->m_leftValue);// 曲线的左刻
|
|
// //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVERVALUE, pTrackVdl->m_rightValue);// 曲线的右刻
|
|
|
|
// //m_colorBar =pTrackVdl->GetSeisSection()->GetColorBase();
|
|
// //CCustomItemMeshColor* pci=new CCustomItemMeshColor(IDS_GI_COLOR, &m_colorBar, GetWnd()->GetMapCtrl(), TRUE);
|
|
// //pci->EnableWizardMode(TRUE);
|
|
// //pci->m_nCreateZMode=1;
|
|
// //pItem=ItemAdd.AddItem(pci);
|
|
|
|
// //pci->m_pSeisSectionForApply = pTrackVdl->GetSeisSection();
|
|
// }
|
|
// else if(m_pTrack->GetTrackType() == Track_SeisSection)
|
|
// {
|
|
// //CTrackSeisSection *pTrackSeis = (CTrackSeisSection*)m_pTrack;
|
|
|
|
// //strFormat.Format("%%0.%dlf",2);
|
|
// //ItemAdd.AddItemUnitDouble(IDS_STR_TRACK_WIDTH, CUnit::UNIT_MM, m_pTrack->m_dTrackWidth, strFormat);//道宽(毫米)
|
|
|
|
// //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVELVALUE, pTrackSeis->m_leftValue);// 曲线的左刻
|
|
// //ItemAdd.AddItemDouble(IDS_STR_TRACK_CURVERVALUE, pTrackSeis->m_rightValue);// 曲线的右刻
|
|
|
|
// //ItemAdd.AddItemDouble(IDS_GI_MXN_SWING_SCALE, pTrackSeis->GetSeisSection()->GetLinePar().m_dScaleFactor, strFormat, NULL);
|
|
// //m_nNormalizeMode = int(pTrackSeis->GetSeisSection()->GetLinePar().m_uniformType);
|
|
// //ItemAdd.AddItemCombo (IDS_STRING_SEISMIC_NORMALIZE,IDS_STRING_SEISMIC_NORMALIZE_MODE,m_nNormalizeMode,&m_nNormalizeMode); //"曲线方式|右变面积|左变面积|变密度";
|
|
// //m_nDrawType = GetDrawTypeIndex(pTrackSeis->GetSeisSection()->GetLinePar().m_dwDrawType);
|
|
// //ItemAdd.AddItemCombo (IDS_GI_MXN_DISPLAY_IDEA,IDS_GI_MXN_DISPLAY, m_nDrawType, &m_nDrawType);
|
|
|
|
// //m_colorBar =pTrackSeis->GetSeisSection()->GetColorBase();
|
|
// //CCustomItemMeshColor* pci=new CCustomItemMeshColor(IDS_GI_COLOR, &m_colorBar, GetWnd()->GetMapCtrl(), TRUE);
|
|
// //pci->EnableWizardMode(TRUE);
|
|
// //pci->m_nCreateZMode=1;
|
|
// //pItem=ItemAdd.AddItem(pci);
|
|
// //pItem->SetReadOnly(m_nDrawType < 3);
|
|
// //pci->m_pSeisSectionForApply = pTrackSeis->GetSeisSection();
|
|
|
|
|
|
// //seisfrSolidColor = pTrackSeis->GetSeisSection()->GetLinePar().m_frSolidColor;
|
|
// //seisfrLineColor = pTrackSeis->GetSeisSection()->GetLinePar().m_frLineColor;
|
|
// //seisbkColor = pTrackSeis->GetSeisSection()->GetLinePar().m_bkColor;
|
|
// //pItem=ItemAdd.AddItemColor(IDS_STRING_BACKGROUND_COLOR, seisbkColor,&seisbkColor); pItem->SetReadOnly(m_nDrawType == 3);
|
|
// //pItem=ItemAdd.AddItemColor(IDS_STRING_SECTION_SOLID_COLOR, seisfrSolidColor,&seisfrSolidColor);pItem->SetReadOnly(m_nDrawType == 3);
|
|
// //pItem=ItemAdd.AddItemColor(IDS_STRING_SECTION_LINE_COLOR, seisfrLineColor, &seisfrLineColor); pItem->SetReadOnly(m_nDrawType == 3);
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Stratum ||
|
|
// m_pTrack->GetTrackType() == Track_OilLayerGroup ||
|
|
// m_pTrack->GetTrackType() == Track_SandLayer ||
|
|
// m_pTrack->GetTrackType() == Track_ReserveUnit ||
|
|
// m_pTrack->GetTrackType() == Track_ProduceLayer ||
|
|
// m_pTrack->GetTrackType() == Track_Text ||
|
|
// m_pTrack->GetTrackType()==Track_OilTest ||
|
|
// m_pTrack->GetTrackType() == Track_TestExtraction ||
|
|
// m_pTrack->GetTrackType() == Track_ProducedFluidSection ||
|
|
// m_pTrack->GetTrackType() == Track_WaterAbsorptionSection)
|
|
// {
|
|
// pItem=grid.AddCategory(IDS_STR_TRACK_CHILD_SET);//道内对象设置
|
|
// ItemAdd.SetItem(pItem);pItem->Expand();
|
|
// ItemAdd.AddItemLine1(IDS_STR_TRACK_STRATUM_LINE,m_pTrack->m_penChild,&m_pTrack->m_penChild,LineType_Curve);//边框线
|
|
// ItemAdd.AddItemColor(IDS_STR_TRACK_STRATUM_BGCOLOR,m_pTrack->m_brushChild.m_color); //背景颜色
|
|
// ItemAdd.AddItemFont(IDS_STR_TRACK_STRATUM_FONT,m_pTrack->m_fontChild.m_logFont,m_pTrack->m_fontChild.m_color);//字体
|
|
// }
|
|
|
|
// //CItem::InitPropertyGrid(grid);
|
|
// return TRUE;
|
|
//}
|
|
|
|
//BOOL CItemTrack::OnGridItemChangeValue(CXTPPropertyGridItem* pItem)
|
|
//{
|
|
// //if (!this->IsEditState())
|
|
// // return FALSE;
|
|
// BOOL bModifyCurve = FALSE;
|
|
// if (m_pTrack->GetTrackType()==Track_Curve || m_pTrack->GetTrackType()==Track_Discrete)
|
|
// {
|
|
// CTrackCurveBase* TrackCurve = (CTrackCurveBase*)m_pTrack;
|
|
// CWellPole *pWell = m_pTrack->GetWell();
|
|
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_CURVENAME://曲线名/标识
|
|
// bModifyCurve = TRUE;
|
|
// break;
|
|
// }
|
|
// }
|
|
|
|
// SetReUnDoAction(!bModifyCurve);
|
|
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_TITLE://标题
|
|
// {
|
|
// //CWellObj *pWell = (CWellObj *)m_pTrack->GetParentObj();
|
|
// //CString strTitle = pItem->GetValue();
|
|
// //CString strTitleOld = m_pTrack->m_strTitle;
|
|
// //BOOL bExist = FALSE;
|
|
// //bExist = pWell->FindTrackTitle(strTitle);
|
|
|
|
// //if (!bExist)
|
|
// {
|
|
// m_pTrack->SetTextTitle(pItem->GetValue(), m_pTrack->m_font);
|
|
// GetDoc()->Invalidate(); // (m_pTrack);
|
|
// }
|
|
// //else
|
|
// //{
|
|
// // pItem->SetValue(strTitleOld);
|
|
// //}
|
|
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_SHOWTITLE://显示标题
|
|
// {
|
|
// m_pTrack->SetShowTitle(((CCustomItemCombo*)pItem)->GetBool());
|
|
// if(m_pTrack->GetTrackType() == Track_Curve)
|
|
// {
|
|
// CWellPole *pWell = m_pTrack->GetWell();
|
|
// pWell->CalculateSize(pWell->GetPos().TopLeft());
|
|
// GetDoc()->Invalidate(); // pWell);
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_WIDTH://道宽
|
|
// {
|
|
// m_pTrack->m_dTrackWidth = ((CCustomItemDouble*)pItem)->GetDouble();
|
|
// CTrackGroup* pTrackGroup = (CTrackGroup*)m_pTrack->GetParent();
|
|
// if(pTrackGroup != NULL)
|
|
// {
|
|
// if(pTrackGroup->GetGroupType() == Group_Vertical)
|
|
// {
|
|
// TRACKLIST::iterator it = pTrackGroup->GetTrackList().begin();
|
|
// for(; it!= pTrackGroup->GetTrackList().end(); it++)
|
|
// {
|
|
// (*it)->m_dTrackWidth = m_pTrack->m_dTrackWidth;
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// CWellPole *pWell = (CWellPole *)m_pTrack->GetWell();
|
|
// CRect oldrect = GetDC()->GetScreen(pWell->GetRect());
|
|
|
|
// pWell->CalculateSize(pWell->GetPos().TopLeft());
|
|
|
|
// //重新设置道内子对象位置
|
|
// pWell->ResetChildPosition();
|
|
|
|
// //刷新整个井
|
|
// CRect newrect = GetDC()->GetScreen(pWell->GetRect());
|
|
// CRect rect;
|
|
// rect.left = min(oldrect.left, newrect.left);
|
|
// rect.right = max(oldrect.right, newrect.right);
|
|
// rect.top = min(oldrect.top, newrect.top);
|
|
// rect.bottom = max(oldrect.bottom, newrect.bottom);
|
|
// GetDoc()->Invalidate(rect);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_FILL://填充
|
|
// {
|
|
// m_pTrack->SetFlagBrush(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_BGCOLOR://背景颜色
|
|
// {
|
|
// m_pTrack->m_brush.m_color = ((CXTPPropertyGridItemColor*)pItem)->GetColor();
|
|
// //m_pTrack->SetColor(m_pTrack->m_brush.m_color);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_WELL_FONTTRACK:// 道头字体
|
|
// {
|
|
// ((CXTPPropertyGridItemFont*)pItem)->GetFont(&m_pTrack->m_font.m_logFont);
|
|
// m_pTrack->m_font.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor();
|
|
// ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(m_pTrack->m_font);
|
|
// }
|
|
// break;
|
|
// }
|
|
|
|
// if (m_pTrack->GetTrackType()==Track_Bury)
|
|
// {
|
|
// CTrackBury* TrackBury = (CTrackBury*) m_pTrack;
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_BURYFDEPTH://显示深度值
|
|
// {
|
|
// TrackBury->SetShowDepth(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_BURYFVERTICAL://纵向深度
|
|
// {
|
|
// TrackBury->SetDepthVertical(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType()==Track_CorePosition)
|
|
// {
|
|
// CTrackCorePosition* TrackCorePosition = (CTrackCorePosition*)m_pTrack;
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_COREPOSITIONFONT://取芯符号内部字体
|
|
// {
|
|
// ((CXTPPropertyGridItemFont*)pItem)->GetFont(&m_pTrack->m_fontChild.m_logFont);
|
|
// m_pTrack->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor();
|
|
// ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(m_pTrack->m_fontChild);
|
|
// m_pTrack->SetFontChild(m_pTrack->m_fontChild);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_COREBGCOLOR:// 取芯符号背景颜色
|
|
// {
|
|
// m_pTrack->m_brushChild.m_color = ((CXTPPropertyGridItemColor*)pItem)->GetColor();
|
|
// m_pTrack->SetBrushChild(m_pTrack->m_brushChild);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_COREPOSITIONPEN:// 取芯位置符号边框笔
|
|
// {
|
|
// m_pTrack->SetPenChild(m_pTrack->m_penChild);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_DEPTHSWITCH:// 显示深度值
|
|
// {
|
|
// TrackCorePosition->SetShowDepth(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_LENGTHSWITCH:// 显示长度值
|
|
// {
|
|
// TrackCorePosition->SetShowLength(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_PERCENTSWITCH:// 显示百分比
|
|
// {
|
|
// TrackCorePosition->SetShowPercent(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType()==Track_Curve || m_pTrack->GetTrackType()==Track_Discrete)
|
|
// {
|
|
// CTrackCurveBase* TrackCurve = (CTrackCurveBase*)m_pTrack;
|
|
// CWellPole *pWell = m_pTrack->GetWell();
|
|
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_CURVENAME://曲线名/标识
|
|
// {
|
|
// //判断有没有同名的曲线
|
|
// CString strTrackName = pItem->GetValue();
|
|
// CString strTrackNameOld = TrackCurve->m_strTrackName;
|
|
// BOOL bExist = FALSE;
|
|
// bExist = pWell->FindTrackName(strTrackName);
|
|
// if (bExist)
|
|
// {
|
|
// pItem->SetValue(strTrackNameOld);
|
|
// break;
|
|
// }
|
|
|
|
// TrackCurve->m_strTrackName = pItem->GetValue();
|
|
// TrackCurve->m_strTitle = TrackCurve->m_strTrackName;
|
|
// //同步修改标题
|
|
// //TrackCurve->m_strTitle = TrackCurve->m_strTrackName;
|
|
// CXTPPropertyGridItem *pItemFind=FindItem(pItem, IDS_STR_TRACK_TITLE);
|
|
// pItemFind->SetValue(TrackCurve->m_strTrackName);
|
|
// //同步修改左右刻度
|
|
// ReadCurveData(TrackCurve);
|
|
// CString str;
|
|
// pItemFind=FindItem(pItem, IDS_STR_TRACK_CURVELVALUE);
|
|
// str.Format("%g", TrackCurve->m_curve_left);
|
|
// pItemFind->SetValue(str);pItemFind=FindItem(pItem, IDS_STR_TRACK_CURVERVALUE);
|
|
// str.Format("%g", TrackCurve->m_curve_right);
|
|
// pItemFind->SetValue(str);
|
|
|
|
// TrackCurve->ComputePointsInclined();
|
|
// }
|
|
// break;
|
|
// case IDS_STR_MARKFORMAT://标注格式
|
|
// {
|
|
// CString MarkFormat;
|
|
// MarkFormat = pItem->GetValue();
|
|
// TrackCurve->m_strFormat = MarkFormat;
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVELVALUE://曲线的左刻
|
|
// if (TrackCurve->IsLog() && atof(pItem->GetValue()) <= 0)
|
|
// {
|
|
// AfxMessageBox(IDS_STR_LOGCURVE_ERROR);
|
|
// }
|
|
// else
|
|
// {
|
|
// TrackCurve->m_curve_left = atof(pItem->GetValue());
|
|
// }
|
|
// //if(pWell->GetWellType() == Well_Incline)
|
|
// TrackCurve->ComputePointsInclined();
|
|
// //else
|
|
// // TrackCurve->ComputePoints();
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVERVALUE://曲线的右刻
|
|
// if (TrackCurve->IsLog() && atof(pItem->GetValue()) <= 0)
|
|
// {
|
|
// AfxMessageBox(IDS_STR_LOGCURVE_ERROR);
|
|
// }
|
|
// else
|
|
// {
|
|
// TrackCurve->m_curve_right = atof(pItem->GetValue());
|
|
// }
|
|
// //if(pWell->GetWellType() == Well_Incline)
|
|
// TrackCurve->ComputePointsInclined();
|
|
// //else
|
|
// // TrackCurve->ComputePoints();
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVELOG://对数
|
|
// {
|
|
// BOOL bOld = TrackCurve->IsLog();
|
|
// if (TrackCurve->m_curve_right >0 && TrackCurve->m_curve_left >0)
|
|
// {
|
|
// TrackCurve->SetLog(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// else if((TrackCurve->m_curve_right <=0 || TrackCurve->m_curve_left <=0) && ((CCustomItemCombo*)pItem)->GetBool() == TRUE)
|
|
// {
|
|
// AfxMessageBox(IDS_STR_LOGCURVE_ERROR);
|
|
// ((CCustomItemCombo*)pItem)->SelCurSel(0);
|
|
// }
|
|
|
|
// if(bOld != TrackCurve->IsLog())
|
|
// {
|
|
// CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame());
|
|
// CXTPPropertyGridItems *pItems = grid.GetCategories();
|
|
|
|
// CXTPPropertyGridItem *pGridItem;
|
|
// CXTPPropertyGridItem *pItem1;
|
|
// int cateNum = pItems->GetCount();
|
|
// int id ;
|
|
// for(int ii = 0; ii< cateNum; ii++)
|
|
// {
|
|
// pGridItem = pItems->GetAt(ii);
|
|
// id = pGridItem->GetID();
|
|
// if(id == IDS_STR_TRACK_GRID)
|
|
// {
|
|
// int jj,num1;
|
|
// num1 = pGridItem->GetChilds()->GetCount();
|
|
// for( jj = 0; jj<num1;jj++)
|
|
// {
|
|
// pItem1 = pGridItem->GetChilds()->GetAt(jj);
|
|
// if(pItem1->GetID() == IDS_CHART_MSEGMENTNUM)
|
|
// {
|
|
// if(TrackCurve->IsLog())
|
|
// pItem1->SetReadOnly(TRUE);
|
|
// else
|
|
// pItem1->SetReadOnly(FALSE);
|
|
// }
|
|
// if(pItem1->GetID() == IDS_STR_RULER_MINORMARKNUM)
|
|
// {
|
|
// if(TrackCurve->IsLog())
|
|
// pItem1->SetReadOnly(TRUE);
|
|
// else
|
|
// pItem1->SetReadOnly(FALSE);
|
|
// }
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// TrackCurve->ComputePointsInclined();
|
|
// }
|
|
// break;
|
|
// case IDS_STR_WELL_SAMPLEINTERVAL:// 文件中的曲线采样间距
|
|
// {
|
|
// TrackCurve->m_fRlev=atof(pItem->GetValue());
|
|
// TrackCurve->ReadCurveData(FALSE);
|
|
|
|
// //if(pWell->GetWellType() == Well_Incline)
|
|
// TrackCurve->ComputePointsInclined();
|
|
// //else
|
|
// // TrackCurve->ComputePoints();
|
|
// //pWell->ComputeSize(pWell->GetPos().TopLeft());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVEHEADMARK://显示头标注
|
|
// TrackCurve->SetShowGridHead(((CCustomItemCombo*)pItem)->GetBool());
|
|
// break;
|
|
|
|
// case IDS_STR_TRACK_CURVELINESWITCH :// 显示曲线横线
|
|
// TrackCurve->SetShowHeadLine(((CCustomItemCombo*)pItem)->GetBool());
|
|
// break;
|
|
|
|
// case IDS_STR_TRACK_CURVEGRIDX://显示横网格
|
|
// TrackCurve->SetShowGridX(((CCustomItemCombo*)pItem)->GetBool());
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVEGRIDY://显示纵网格
|
|
// TrackCurve->SetShowGridY(((CCustomItemCombo*)pItem)->GetBool());
|
|
// break;
|
|
// case IDS_CHART_MSEGMENTNUM:
|
|
// TrackCurve->m_nMajorSpace = ((CXTPPropertyGridItemNumber*)pItem)->GetNumber();
|
|
// break;
|
|
// case IDS_STR_RULER_MINORMARKNUM:
|
|
// TrackCurve->m_nMinorSpace = ((CXTPPropertyGridItemNumber*)pItem)->GetNumber();
|
|
// break;
|
|
// case IDS_STR_TRACK_MARK://散点符号
|
|
// {
|
|
// CString strSymbol = pItem->GetValue();
|
|
// TrackCurve->m_strDotSymbol=strSymbol;
|
|
// if(!TrackCurve->m_strDotSymbol.IsEmpty())
|
|
// {
|
|
// CString strMark;
|
|
// strMark.Format("%s", LIB_MARK_CHART);
|
|
// strMark = strMark + TrackCurve->m_strDotSymbol;
|
|
// TrackCurve->m_pMarkChart = (CXy*)AfxGetGlobalWellXy()->FindMark(strMark);
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVE_ROD: //杆状图
|
|
// {
|
|
// CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem;
|
|
// if (pItemCombo->GetCurSel() == 0)
|
|
// {
|
|
// TrackCurve->SetShowRod(FALSE);
|
|
// }
|
|
// else
|
|
// {
|
|
// TrackCurve->SetShowRod(TRUE);
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVE_DOT: //散点
|
|
// {
|
|
// CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem;
|
|
// if (pItemCombo->GetCurSel() == 0)
|
|
// {
|
|
// TrackCurve->SetShowDot(FALSE);
|
|
// }
|
|
// else
|
|
// {
|
|
// TrackCurve->SetShowDot(TRUE);
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVEFILL_MODE://充填方式
|
|
// {
|
|
// CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem;
|
|
// switch(pItemCombo->GetCurSel())
|
|
// {
|
|
// case 0:
|
|
// TrackCurve->SetFillStyleLeft(TRUE);
|
|
// break;
|
|
// case 1:
|
|
// TrackCurve->SetFillStyleRight(TRUE);
|
|
// break;
|
|
// case 2:
|
|
// TrackCurve->SetFillStyleLeftV(TRUE);
|
|
// break;
|
|
// case 3:
|
|
// TrackCurve->SetFillStyleRightV(TRUE);
|
|
// break;
|
|
// }
|
|
|
|
// //根据填充方式隐藏子项
|
|
// EnableItemTrackCurveFill(pItem, pItemCombo->GetCurSel());
|
|
// }
|
|
// break;
|
|
|
|
// case IDS_STR_TRACK_CURVEBRUSH_STYLE://画刷类型
|
|
// {
|
|
// CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem;
|
|
// switch(pItemCombo->GetCurSel())
|
|
// {
|
|
// case 0:
|
|
// TrackCurve->SetFillBrushColor(FALSE);
|
|
// TrackCurve->SetFillBrushPattern(FALSE);
|
|
// TrackCurve->SetFillBrushVector(FALSE);
|
|
// TrackCurve->SetFillBrushGradient(FALSE);
|
|
// break;
|
|
// case 1:
|
|
// TrackCurve->SetFillBrushColor(TRUE);
|
|
// break;
|
|
// case 2:
|
|
// TrackCurve->SetFillBrushPattern(TRUE);
|
|
// break;
|
|
// case 3:
|
|
// TrackCurve->SetFillBrushGradient(TRUE);
|
|
// break;
|
|
// }
|
|
// //根据画刷类型隐藏子项
|
|
// EnableItemTrackCurveBrush(pItem, pItemCombo->GetCurSel());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVE_STYLE://曲线风格
|
|
// {
|
|
// CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem;
|
|
// if (pItemCombo->GetCurSel() == 0)
|
|
// {
|
|
// TrackCurve->SetShowCurve(FALSE);
|
|
// TrackCurve->SetShowStep(FALSE);
|
|
// }
|
|
// else if (pItemCombo->GetCurSel() == 1)
|
|
// {
|
|
// TrackCurve->SetShowCurve(TRUE);
|
|
// TrackCurve->SetShowStep(FALSE);
|
|
// }
|
|
// else if(pItemCombo->GetCurSel() == 2)
|
|
// {
|
|
// TrackCurve->SetShowCurve(FALSE);
|
|
// TrackCurve->SetShowStep(TRUE);
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVEFILL://充填曲线
|
|
// TrackCurve->m_strFillSideCurve = pItem->GetValue();
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVEFILLB://显示充填曲线
|
|
// TrackCurve->SetShowFillSideCurve(((CCustomItemCombo*)pItem)->GetBool());
|
|
// break;
|
|
// case ID_STR_CURVE_HEADFILL_B://道头是否充填
|
|
// TrackCurve->SetShowHeadFill(((CCustomItemCombo*)pItem)->GetBool()) ;
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVEVALUE://阈值
|
|
// TrackCurve->m_fFillSideValue = atof(pItem->GetValue());
|
|
// //if(pWell->GetWellType() == Well_Incline)
|
|
// TrackCurve->ComputePointsInclined();
|
|
// //else
|
|
// // TrackCurve->ComputePoints();
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVEFILL_SYMBOL://曲线充填
|
|
// {
|
|
// TrackCurve->m_strFillSymbol = pItem->GetValue();
|
|
// if(!TrackCurve->m_strFillSymbol.IsEmpty())
|
|
// {
|
|
// CString strMark;
|
|
// strMark.Format("%s", LIB_MARK_FILL);
|
|
// strMark = strMark + TrackCurve->m_strFillSymbol;
|
|
// TrackCurve->m_pMarkFill = (CXy*)AfxGetGlobalWellXy()->FindMark(strMark);
|
|
// }
|
|
// else
|
|
// TrackCurve->m_pMarkFill = NULL;
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVEBKCOLOR://充填颜色
|
|
// {
|
|
// TrackCurve->m_fillClr = ((CXTPPropertyGridItemColor*)pItem)->GetColor();
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVESIGNLINE://曲线点边框颜色
|
|
// TrackCurve->m_dotBorderClr = ((CXTPPropertyGridItemColor*)pItem)->GetColor();
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVESIGNFILL://曲线点填充颜色
|
|
// TrackCurve->m_dotFillClr = ((CXTPPropertyGridItemColor*)pItem)->GetColor();
|
|
// break;
|
|
// case IDS_STR_TRACK_CURVESIGNSIZE://曲线符号大小
|
|
// TrackCurve->m_dotSize.cx = atof(pItem->GetValue());
|
|
// TrackCurve->m_dotSize.cy = atof(pItem->GetValue());
|
|
// break;
|
|
// case IDS_REVERSE_VALUE_RANGE_NUM:
|
|
// {
|
|
// CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame());
|
|
|
|
// int rangeNum = atol(pItem->GetValue());
|
|
// if(rangeNum <0)
|
|
// rangeNum = 0;
|
|
// if(rangeNum >10)
|
|
// rangeNum = 10;
|
|
// CXTPPropertyGridItems *pItems = grid.GetCategories();
|
|
|
|
// CXTPPropertyGridItem *pItem1;
|
|
// int cateNum = pItems->GetCount();
|
|
// int id ;
|
|
// for(int ii = 0; ii< cateNum; ii++)
|
|
// {
|
|
// pItem1 = pItems->GetAt(ii);
|
|
// id = pItem1->GetID();
|
|
// if(id == IDS_REVERSE_VALUE_RANGE)
|
|
// {
|
|
// int num1 = pItem1->GetChilds()->GetCount();
|
|
// if(num1 >rangeNum)
|
|
// {
|
|
// for(int jj = num1-1; jj>=rangeNum; jj--)
|
|
// {
|
|
// pItem1->GetChilds()->RemoveAt(jj);
|
|
// }
|
|
// }
|
|
// else if(num1 < rangeNum)
|
|
// {
|
|
// CPropertyGridItemAdd ItemAdd(NULL);
|
|
// CXTPPropertyGridItem *pGridItem;
|
|
// CString str,tmpStr;
|
|
// str.LoadString(IDS_REVERSE_VALUE_RANGE);
|
|
// for(int jj = 0; jj< (rangeNum - num1); jj++)
|
|
// {
|
|
// tmpStr.Format("%s%d",str,num1+jj+1);
|
|
// pGridItem = pItem1->AddChildItem(new CXTPPropertyGridItemCategory(tmpStr));
|
|
// //pGridItem= grid.AddCategory(tmpStr);
|
|
|
|
// ItemAdd.SetItem(pGridItem);
|
|
|
|
// ItemAdd.AddItemLong(IDS_REVERSE_VALUE_LEFT,1);// 曲线的左刻
|
|
// ItemAdd.AddItemLong(IDS_REVERSE_VALUE_RIGHT,2);// 曲线的右刻
|
|
|
|
// ItemAdd.AddItemColor(IDS_REVERSE_CURVE_LINE,RGB(123,255,255));
|
|
// }
|
|
// }
|
|
|
|
// pItem1->Expand();
|
|
// break;
|
|
// }
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IDS_STR_CURVETRACK_SHOWMODE:
|
|
// {
|
|
// CCustomItemCombo *pCmb = (CCustomItemCombo*)pItem;
|
|
// ECurveShowMode oldMode = TrackCurve->GetCurveShowMode();
|
|
|
|
// TrackCurve->SetCurveShowMode((ECurveShowMode)pCmb->GetCurSel());
|
|
// if((TrackCurve->GetCurveShowMode() == CurveShow_Cut || oldMode == CurveShow_Cut)
|
|
// && (TrackCurve->GetCurveShowMode() != oldMode))
|
|
// {
|
|
// CWellPole *pWell = (CWellPole*)TrackCurve->GetWell();
|
|
// TrackCurve->ComputePointsInclined();
|
|
// }
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType()==Track_Depth)
|
|
// {
|
|
// CTrackDepth* TrackDepth = (CTrackDepth*)m_pTrack;
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_WELL_MAJORSPACE:// 主深度标注间隔
|
|
// {
|
|
// TrackDepth->m_fMajorGrid=atof(pItem->GetValue());
|
|
// TrackDepth->SetSpace(TrackDepth->m_fMajorGrid, TrackDepth->m_fMinorGrid);
|
|
// }
|
|
// break;
|
|
|
|
// case IDS_STR_WELL_MINORSPACE:// 副深度标注间隔
|
|
// {
|
|
// TrackDepth->m_fMinorGrid=atof(pItem->GetValue());
|
|
// TrackDepth->SetSpace(TrackDepth->m_fMajorGrid, TrackDepth->m_fMinorGrid);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_DEPTHFGRID://显示所有刻线
|
|
// {
|
|
// TrackDepth->SetShowGrid(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
|
|
// case IDS_STR_TRACK_DEPTHFGRIDM://显示次刻线
|
|
// {
|
|
// TrackDepth->SetShowGridMinor(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_DEPTHFMARKLEVEL://海拔刻度
|
|
// {
|
|
// TrackDepth->SetMarkLevel(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_DEPTHFONT://标注字体
|
|
// {
|
|
// ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackDepth->m_fontGridMark.m_logFont);
|
|
// TrackDepth->m_fontGridMark.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor();
|
|
// ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackDepth->m_fontGridMark);
|
|
// TrackDepth->SetFontGridMark(TrackDepth->m_fontGridMark);
|
|
// CWellPole* pWellObj = (CWellPole*)TrackDepth->GetParent();
|
|
// pWellObj->m_fontGridMark = TrackDepth->m_fontGridMark;
|
|
// }
|
|
// break;
|
|
// case IDS_STR_DEPTH_MAJORWIDTH://主刻度宽度
|
|
// {
|
|
// double dWidth;
|
|
// dWidth = atof(pItem->GetValue());
|
|
// if (dWidth>=0 && dWidth<=100)
|
|
// {
|
|
// TrackDepth->m_fMajorWidth = dWidth;
|
|
// }
|
|
// else if (dWidth > 100)
|
|
// {
|
|
// TrackDepth->m_fMajorWidth = 100;
|
|
// }
|
|
// else
|
|
// {
|
|
// TrackDepth->m_fMajorWidth = 0;
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IDS_STR_DEPTH_MINORWIDTH://次刻度宽度
|
|
// {
|
|
// double dWidth;
|
|
// dWidth = atof(pItem->GetValue());
|
|
// if (dWidth>=0 && dWidth<=100)
|
|
// {
|
|
// TrackDepth->m_fMinorWidth = dWidth;
|
|
// }
|
|
// else if (dWidth > 100)
|
|
// {
|
|
// TrackDepth->m_fMinorWidth = 100;
|
|
// }
|
|
// else
|
|
// {
|
|
// TrackDepth->m_fMinorWidth = 0;
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IDS_STR_STRACK_DEPTHFMARK://显示标注单位
|
|
// {
|
|
// TrackDepth->SetShowMarkUnit(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_DEPTHFMARKARR://竖直显示标注
|
|
// {
|
|
// TrackDepth->SetMarkArrange(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_DEPTHFMARKL://标注位置
|
|
// {
|
|
// TrackDepth->SetMarkLeft(!((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_DEPTHFMARKFEET://英制单位
|
|
// {
|
|
// TrackDepth->SetMarkFeet(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// }
|
|
|
|
// TrackDepth->CalcBorders();
|
|
|
|
// }
|
|
// else if (m_pTrack->GetTrackType()==Track_Facies)
|
|
// {
|
|
|
|
// }
|
|
// else if (m_pTrack->GetTrackType()==Track_Lith)
|
|
// {
|
|
// CTrackLith* TrackLith = (CTrackLith*)m_pTrack;
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_LITHFWIDTH://岩性符号宽度百分比
|
|
// {
|
|
// TrackLith->m_nWidthLitho = atoi(pItem->GetValue());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_OILWIDTH://油气宽度百分比
|
|
// {
|
|
// TrackLith->m_nWidthOil = atoi(pItem->GetValue());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_LITHWIDTHPERCENT://岩性宽度百分比
|
|
// {
|
|
// TrackLith->m_nWidthLitho = atoi(pItem->GetValue());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_COLORWIDTH://颜色宽度百分比
|
|
// {
|
|
// TrackLith->m_nWidthColor = atoi(pItem->GetValue());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_LITHFTHICK://单位符号厚度
|
|
// {
|
|
// TrackLith->m_nThick = int(TrackLith->HeightToScreenCY(atoi(pItem->GetValue())));
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_LITHFCLR://符号颜色
|
|
// {
|
|
// TrackLith->SetShowColor(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_LITHFSINGLE://单个符号
|
|
// {
|
|
// TrackLith->SetSingle(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_LITHFFIT://固定岩性符号大小
|
|
// {
|
|
// TrackLith->SetFit(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_SHOW_LITH://是否显示岩性
|
|
// {
|
|
// TrackLith->SetShowLith(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_LITHFOIL://绘制含油级别
|
|
// {
|
|
// TrackLith->SetShowOil(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_LITHWIDTH://控制岩性宽度
|
|
// {
|
|
// TrackLith->SetWidth(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_LITHFRIGHTOIL://含油级别显示在道右边
|
|
// {
|
|
// TrackLith->SetRightOil(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_LITHFINCOIL://含油级别增宽
|
|
// {
|
|
// TrackLith->SetIncrementOil(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Shot)
|
|
// {
|
|
// CTrackShot* TrackShot = (CTrackShot*)m_pTrack;
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_SHOTMARK://显示标注
|
|
// {
|
|
// TrackShot->SetShowMark(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_SHOTMARKFONT://标注字体
|
|
// {
|
|
// ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackShot->m_fontChild.m_logFont);
|
|
// TrackShot->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor();
|
|
// ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackShot->m_fontChild);
|
|
// TrackShot->SetFontChild(TrackShot->m_fontChild);
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Sample)
|
|
// {
|
|
// CTrackSample* TrackSample = (CTrackSample*) m_pTrack;
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_SAMPLEFMARK://显示标注
|
|
// {
|
|
// TrackSample->SetShowMark(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_SAMPLEFARR://竖直标注
|
|
// {
|
|
// TrackSample->SetMarkArrange(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_SAMPLEMARKFONT://标注字体
|
|
// {
|
|
// ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackSample->m_fontChild.m_logFont);
|
|
// TrackSample->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor();
|
|
// ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackSample->m_fontChild);
|
|
// TrackSample->SetFontChild(TrackSample->m_fontChild);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_SAMPLEMARKPEN://刻线笔
|
|
// {
|
|
|
|
// WELLOBJLIST::iterator it = TrackSample->GetChildren().begin();
|
|
// for (; it != TrackSample->GetChildren().end(); it++)
|
|
// {
|
|
// CWellBaseObj* pObj = *it;
|
|
|
|
// if (pObj->GetType() == KEP_SAMPLE)
|
|
// {
|
|
// CInTrackSample* pTrackInSample = (CInTrackSample*)pObj;
|
|
// pTrackInSample->m_pen = TrackSample->m_penChild;
|
|
// }
|
|
// }
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Symbol)
|
|
// {
|
|
// CTrackSymbol* TrackSymbol = (CTrackSymbol*) m_pTrack;
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_SYMBOLFMARK://显示标注
|
|
// {
|
|
// TrackSymbol->SetShowMark(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_SYMBOLMARKFONT://标注字体
|
|
// {
|
|
// ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackSymbol->m_fontChild.m_logFont);
|
|
// TrackSymbol->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor();
|
|
// ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackSymbol->m_fontChild);
|
|
// TrackSymbol->SetFontChild(TrackSymbol->m_fontChild);
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Picture)
|
|
// {
|
|
// CTrackPicture* TrackPicture = (CTrackPicture*) m_pTrack;
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_PICTUREMARK://显示标注
|
|
// {
|
|
// TrackPicture->SetShowMark(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_PICTUREMARKFONT://标注字体
|
|
// {
|
|
// ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackPicture->m_fontChild.m_logFont);
|
|
// TrackPicture->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor();
|
|
// ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackPicture->m_fontChild);
|
|
// TrackPicture->SetFontChild(TrackPicture->m_fontChild);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_PICTUREPENFRAME://框线
|
|
// {
|
|
// WELLOBJLIST::iterator it = TrackPicture->GetChildren().begin();
|
|
// for(; it!= TrackPicture->GetChildren().end(); it++)
|
|
// {
|
|
// CWellBaseObj* pObj = *it;
|
|
// if (pObj->GetType() == KEP_IMAGE)
|
|
// {
|
|
// CInTrackPicture* pTrackInPicture = (CInTrackPicture*)pObj;
|
|
// pTrackInPicture->m_pen = TrackPicture->m_penChild;
|
|
// }
|
|
// }
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_Result)
|
|
// {
|
|
// CTrackResult* TrackResult = (CTrackResult*) m_pTrack;
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_LAYERFCHILDTR://子对象透明
|
|
// {
|
|
// TrackResult->SetChildTrans(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// case IDS_STR_TRACK_RESULTKIND://画法
|
|
// {
|
|
// CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem;
|
|
// TrackResult->m_nKind = pItemCombo->GetCurSel();
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_RESULTTYPE://类型
|
|
// {
|
|
// CCustomItemCombo* pItemCombo = (CCustomItemCombo*)pItem;
|
|
// TrackResult->m_nType = pItemCombo->GetCurSel();
|
|
|
|
// if(AfxGetGlobalWellXy())
|
|
// {
|
|
// CString strMark;
|
|
// WELLOBJLIST::iterator it = TrackResult->GetChildren().begin();
|
|
// for(; it != TrackResult->GetChildren().end(); it++)
|
|
// {
|
|
// CWellBaseObj* pObj = *it;
|
|
// if(pObj->GetType()==KEP_RESULT)
|
|
// {
|
|
// CInTrackResult* pResult = (CInTrackResult*)pObj;
|
|
// strMark = pResult->GetMarkSymbol();
|
|
// pResult->m_pMarkSymbol = (CXy*)AfxGetGlobalWellXy()->FindMark(strMark);
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_FLAGLEFTALIGN://左边界对齐
|
|
// {
|
|
// TrackResult->SetLeftAlign(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_RESULTMARK://显示标注
|
|
// {
|
|
// TrackResult->SetShowMark(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_RESULTMARKFONT://标注字体
|
|
// {
|
|
// ((CXTPPropertyGridItemFont*)pItem)->GetFont(&TrackResult->m_fontChild.m_logFont);
|
|
// TrackResult->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor();
|
|
// ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(TrackResult->m_fontChild);
|
|
// TrackResult->SetFontChild(TrackResult->m_fontChild);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_RESULTFARR://竖直标注
|
|
// {
|
|
// TrackResult->SetMarkArrange(((CCustomItemCombo*)pItem)->GetBool());
|
|
// break;
|
|
// }
|
|
// case IDS_STR_TRACK_RESULTPENCHILD://边框线
|
|
// {
|
|
// //CInTrackResult* pTrackInResult = (CInTrackResult*)m_pTrackIn;
|
|
// //CTrackResult* pTrackResultObj = (CTrackResult*)pTrackInResult->GetParent();
|
|
|
|
// //pTrackResultObj->m_penChild = pTrackInResult->m_pen;
|
|
// WELLOBJLIST::iterator it = TrackResult->GetChildren().begin();
|
|
// for (; it != TrackResult->GetChildren().end(); it++)
|
|
// {
|
|
// CWellBaseObj* pObj = *it; //
|
|
// if (pObj->GetType() == KEP_RESULT)
|
|
// {
|
|
// CInTrackResult* pTrackIn = (CInTrackResult*)pObj;
|
|
// pTrackIn->m_pen = TrackResult->m_penChild;
|
|
// }
|
|
// }
|
|
// GetDoc()->Invalidate();
|
|
// break;
|
|
// }
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_ValidThick)
|
|
// {
|
|
// //CTrackValidThick* TrackValidThick = (CTrackValidThick*) m_pTrack;
|
|
// //switch (pItem->GetID())
|
|
// //{
|
|
// //case IDS_STR_TRACK_VALIDTHICKCOLOR://填充颜色
|
|
// // {
|
|
// // TrackValidThick->m_fill_color = ((CXTPPropertyGridItemColor*)pItem)->GetColor();
|
|
// // TrackValidThick->SetColor(TrackValidThick->m_fill_color);
|
|
// // }
|
|
// // break;
|
|
// //}
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_CoreWell)
|
|
// {
|
|
// CTrackCoreWell* TrackCoreWell= (CTrackCoreWell*) m_pTrack;
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_COREWELLPENCHILD:// 井壁取芯符号边框笔
|
|
// {
|
|
// TrackCoreWell->SetPenChild(TrackCoreWell->m_penChild);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_COREWELLFLAGCLR://取芯符号填充
|
|
// {
|
|
// TrackCoreWell->EnableColorFill(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CORE_TIMES_BOOL://取芯次数
|
|
// {
|
|
// TrackCoreWell->EnableTimes(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_CORE_LEFTARROW://左侧取芯
|
|
// {
|
|
// TrackCoreWell->EnableLeftArrow(((CCustomItemCombo*)pItem)->GetBool());
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// else if (m_pTrack->GetTrackType() == Track_WaveShape)
|
|
// {
|
|
// //CTrackWaveShapeObj* pTrackWaveShape = (CTrackWaveShapeObj*)m_pTrack;
|
|
// //switch (pItem->GetID())
|
|
// //{
|
|
// //case IDS_STR_TRACK_CURVELVALUE://曲线的左刻
|
|
// // if (pTrackWaveShape->IsLog() == TRUE && atof(pItem->GetValue()) <= 0)
|
|
// // {
|
|
// // AfxMessageBox(IDS_STR_LOGCURVE_ERROR);
|
|
// // }
|
|
// // else
|
|
// // {
|
|
// // pTrackWaveShape->m_curve_left = atof(pItem->GetValue());
|
|
// // }
|
|
// // break;
|
|
// //case IDS_STR_TRACK_CURVERVALUE://曲线的右刻
|
|
// // if (pTrackWaveShape->IsLog() == TRUE && atof(pItem->GetValue()) <= 0)
|
|
// // {
|
|
// // AfxMessageBox(IDS_STR_LOGCURVE_ERROR);
|
|
// // }
|
|
// // else
|
|
// // {
|
|
// // pTrackWaveShape->m_curve_right = atof(pItem->GetValue());
|
|
// // }
|
|
// // break;
|
|
// //case IDS_STR_TRACK_CURVELOG://对数
|
|
// // if (pTrackWaveShape->m_curve_right >0 && pTrackWaveShape->m_curve_left >0)
|
|
// // {
|
|
// // pTrackWaveShape->SetLog(((CCustomItemCombo*)pItem)->GetBool());
|
|
// // POSITION pos = pTrackWaveShape->GetChildObjList().GetHeadPosition();
|
|
// // while(pos != NULL)
|
|
// // {
|
|
// // CObjectBase* pObj = pTrackWaveShape->GetChildObjList().GetNext(pos);
|
|
// // if (pObj->GetType() == KEP_WAVESHAPE)
|
|
// // {
|
|
// // CInTrackWaveShape* pTrackInWaveShape = (CInTrackWaveShape*)pObj;
|
|
// // pTrackInWaveShape->m_bLog = pTrackWaveShape->IsLog();
|
|
// // }
|
|
// // }
|
|
// // }
|
|
// // else if((pTrackWaveShape->m_curve_right <=0 || pTrackWaveShape->m_curve_left <=0) && ((CCustomItemCombo*)pItem)->GetBool() == TRUE)
|
|
// // {
|
|
// // AfxMessageBox(IDS_STR_LOGCURVE_ERROR);
|
|
// // ((CCustomItemCombo*)pItem)->SetCurSel(0);
|
|
// // }
|
|
// // break;
|
|
// //case IDS_STR_TRACK_WAVELINE://边框线
|
|
// // {
|
|
// // m_pTrack->SetPenChild(m_pTrack->m_penChild);
|
|
// // }
|
|
// // break;
|
|
// //case IDS_STR_TRACK_WAVEBGCOLOR://背景颜色
|
|
// // {
|
|
// // m_pTrack->m_brush.m_color = ((CXTPPropertyGridItemColor*)pItem)->GetColor();
|
|
// // m_pTrack->SetColor(m_pTrack->m_brush.m_color);
|
|
// // }
|
|
// // break;
|
|
// //}
|
|
// }
|
|
// else if(m_pTrack->GetTrackType() == Track_VdlImage)
|
|
// {
|
|
// //CTrackVdlImage* pTrackVdl = (CTrackVdlImage*)m_pTrack;
|
|
// //switch (pItem->GetID())
|
|
// //{
|
|
// //case IDS_STR_TRACK_CURVELVALUE://曲线的左刻
|
|
// // pTrackVdl->m_leftValue = atof(pItem->GetValue());
|
|
// // pTrackVdl->SetLeftRightValue(pTrackVdl->m_leftValue,pTrackVdl->m_rightValue);
|
|
// // break;
|
|
// //case IDS_STR_TRACK_CURVERVALUE://曲线的右刻
|
|
// // pTrackVdl->m_rightValue = atof(pItem->GetValue());
|
|
// // pTrackVdl->SetLeftRightValue(pTrackVdl->m_leftValue,pTrackVdl->m_rightValue);
|
|
// // break;
|
|
// //case IDS_GI_COLOR:
|
|
// // pTrackVdl->GetSeisSection()->SetColorBase(m_colorBar);
|
|
// // break;
|
|
// //case IDS_STRING_MAXIMAL:
|
|
// // pTrackVdl->GetColorRuler()->zmax=((CXTPPropertyGridItemDouble*)pItem)->GetDouble();
|
|
// // break;
|
|
// //case IDS_STRING_MINIMUM:
|
|
// // pTrackVdl->GetColorRuler()->zmin=((CXTPPropertyGridItemDouble*)pItem)->GetDouble();
|
|
// // break;
|
|
// //case IDS_MESH_RULER_MARK_NUM:
|
|
// // pTrackVdl->GetColorRuler()->num=atol(pItem->GetValue());
|
|
// // break;
|
|
// //case IDS_STRING_REVERSE_COLOR:
|
|
// // pTrackVdl->EnableReverseColor(((CCustomItemCombo*)pItem)->GetBool());
|
|
// // break;
|
|
// //case IDS_STRING_WAVENAME:
|
|
// // {
|
|
// // CString strnewname = pItem->GetValue();
|
|
// // ReadWavetraceData(pTrackVdl,strnewname);
|
|
// // CString str;
|
|
// // CXTPPropertyGridItem *pItemFind=FindItem(pItem, IDS_STR_TRACK_TITLE);
|
|
// // pItemFind->SetValue(pTrackVdl->m_strTrackName);
|
|
// // pItemFind=FindItem(pItem, IDS_STR_TRACK_CURVELVALUE);
|
|
// // str.Format("%g", pTrackVdl->m_leftValue);
|
|
// // pItemFind->SetValue(str);pItemFind=FindItem(pItem, IDS_STR_TRACK_CURVERVALUE);
|
|
// // str.Format("%g", pTrackVdl->m_rightValue);
|
|
// // pItemFind->SetValue(str);
|
|
|
|
// // break;
|
|
// // }
|
|
// //default:
|
|
// // break;
|
|
// //}
|
|
// }
|
|
// else if(m_pTrack->GetTrackType() == Track_SeisSection)
|
|
// {
|
|
// //CTrackSeisSection* pTrackSeis = (CTrackSeisSection*)m_pTrack;
|
|
// //switch (pItem->GetID())
|
|
// //{
|
|
// //case IDS_STR_TRACK_CURVELVALUE://曲线的左刻
|
|
// // pTrackSeis->m_leftValue = atof(pItem->GetValue());
|
|
// // pTrackSeis->SetLeftRightValue(pTrackSeis->m_leftValue,pTrackSeis->m_rightValue);
|
|
// // break;
|
|
// //case IDS_STR_TRACK_CURVERVALUE://曲线的右刻
|
|
// // pTrackSeis->m_rightValue = atof(pItem->GetValue());
|
|
// // pTrackSeis->SetLeftRightValue(pTrackSeis->m_leftValue,pTrackSeis->m_rightValue);
|
|
// // break;
|
|
// //case IDS_GI_COLOR:
|
|
// // pTrackSeis->GetSeisSection()->SetColorBase(m_colorBar);
|
|
// // break;
|
|
// //case IDS_GI_MXN_SWING_SCALE:
|
|
// // pTrackSeis->GetSeisSection()->GetLinePar().m_dScaleFactor=((CXTPPropertyGridItemDouble*)pItem)->GetDouble();
|
|
// // break;
|
|
// //case IDS_STRING_SEISMIC_NORMALIZE:
|
|
// // pTrackSeis->GetSeisSection()->GetLinePar().m_uniformType = (EUniformType)m_nNormalizeMode;
|
|
// // break;
|
|
// //case IDS_STRING_BACKGROUND_COLOR:
|
|
// // pTrackSeis->GetSeisSection()->GetLinePar().m_bkColor=seisbkColor;
|
|
// // break;
|
|
// //case IDS_STRING_SECTION_SOLID_COLOR:
|
|
// // pTrackSeis->GetSeisSection()->GetLinePar().m_frSolidColor=seisfrSolidColor;
|
|
// // break;
|
|
// //case IDS_STRING_SECTION_LINE_COLOR:
|
|
// // pTrackSeis->GetSeisSection()->GetLinePar().m_frLineColor=seisfrLineColor;
|
|
// // break;
|
|
// //case IDS_GI_MXN_DISPLAY_IDEA:
|
|
// // pTrackSeis->GetSeisSection()->GetLinePar().m_dwDrawType = GetDrawType(m_nDrawType);//(CSeisLinePar::EDrawType)((CCustomItemCombo*)pItem)->GetCurSel();
|
|
// // {
|
|
// // bool bIsVarDensity = m_nDrawType == 3 ? true:false; //是否是变密度显示
|
|
// // CXTPPropertyGridItem* pFind=this->FindItem(pItem, IDS_GI_COLOR);
|
|
// // if(pFind) pFind->SetReadOnly(!bIsVarDensity);
|
|
// // pFind=this->FindItem(pItem, IDS_STRING_SECTION_SOLID_COLOR);
|
|
// // if(pFind) pFind->SetReadOnly(bIsVarDensity);
|
|
// // pFind=this->FindItem(pItem, IDS_STRING_SECTION_LINE_COLOR);
|
|
// // if(pFind) pFind->SetReadOnly(bIsVarDensity);
|
|
// // }
|
|
// // break;
|
|
// //default:
|
|
// // break;
|
|
// //}
|
|
// }
|
|
// else
|
|
// {
|
|
// switch (pItem->GetID())
|
|
// {
|
|
// case IDS_STR_TRACK_STRATUM_LINE: //边框线
|
|
// {
|
|
// m_pTrack->SetPenChild(m_pTrack->m_penChild);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_STRATUM_BGCOLOR: //背景颜色
|
|
// {
|
|
// m_pTrack->m_brushChild.m_color = ((CXTPPropertyGridItemColor*)pItem)->GetColor();
|
|
// m_pTrack->SetBrushChild(m_pTrack->m_brushChild);
|
|
// }
|
|
// break;
|
|
// case IDS_STR_TRACK_STRATUM_FONT://字体
|
|
// {
|
|
// ((CXTPPropertyGridItemFont*)pItem)->GetFont(&m_pTrack->m_fontChild.m_logFont);
|
|
// m_pTrack->m_fontChild.m_color = ((CXTPPropertyGridItemFont*)pItem)->GetColor();
|
|
// ((CWellPoleDoc*)GetDoc())->NormalEXTLogFont(m_pTrack->m_fontChild);
|
|
// m_pTrack->SetFontChild(m_pTrack->m_fontChild);
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// CWellPole *pWellObj = m_pTrack->GetWell();
|
|
// if(pWellObj->GetWellType() == Well_Incline)//如果是斜井就刷全图
|
|
// {
|
|
// GetDoc()->Invalidate(); //pWellObj);
|
|
// }
|
|
// else
|
|
// GetDoc()->Invalidate();// m_pTrack);
|
|
//
|
|
// return FALSE;
|
|
//}
|
|
|
|
void CItemTrack::OnDraw(CXyDC* pXyDC, CDC* pDC)
|
|
{
|
|
CSigmaView* pView = GetView();
|
|
//pDC = pView->m_pImgDC;
|
|
//if (this->m_bLDown && pView->GetScreenDC() != NULL)
|
|
//{
|
|
// pDC = pView->GetScreenDC(); // pXyDC->GetDC();
|
|
// TRACE("use track draw screendc --------------\r\n");
|
|
//}
|
|
|
|
//CDC *pDC = GetDC()->GetDC();
|
|
CPen pen(PS_DOT, 0, RGB(0, 0, 0));
|
|
CPen *pOldPen = (CPen *)pDC->SelectObject(&pen);
|
|
int old = pDC->SetROP2(R2_NOTXORPEN);
|
|
if (m_bLDown)
|
|
{
|
|
CRect rect;
|
|
rect.top = m_firstPoint.y;
|
|
rect.bottom = m_lastPoint.y;
|
|
rect.left = pXyDC->GetScreen(m_pTrack->GetPos()).left;
|
|
rect.right = pXyDC->GetScreen(m_pTrack->GetPos()).right;
|
|
|
|
if(rect.Height() == 0)
|
|
{
|
|
pDC->MoveTo(rect.left, rect.top);
|
|
pDC->LineTo(rect.right, rect.top);
|
|
}
|
|
else
|
|
pDC->Rectangle(rect);
|
|
}
|
|
pDC->SelectObject(pOldPen);
|
|
pen.DeleteObject();
|
|
pDC->SetROP2(old);
|
|
}
|
|
|
|
void CItemTrack::OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk)
|
|
{
|
|
m_bLDown = TRUE;
|
|
m_bAddTrackIn = FALSE;
|
|
CPoint2D ptReal = GetDC()->GetReal(point);
|
|
m_downPoint = m_firstPoint = m_lastPoint = point;
|
|
//绘制十字线时,需要全图绘制可以去掉因为重复绘制导致的十字线错误,当不要十字线时直线 OnDraw效率高
|
|
//if (::GetPreferences().WorkaroundDisplay.m_bViewCrossLine)
|
|
// GetDoc()->Invalidate();
|
|
//else
|
|
OnDraw(GetDC(),pDC);
|
|
|
|
//GetView()->SetCapture();
|
|
//CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame());
|
|
//InitPropertyGrid(grid);
|
|
}
|
|
|
|
void CItemTrack::OnLButtonUp(CDC *pDC, UINT nFlags, CPoint point, int vk)
|
|
{
|
|
ReleaseCapture();
|
|
|
|
m_lastPoint = point;
|
|
CPoint2D ptDown = GetDC()->GetReal(m_downPoint);
|
|
CPoint2D ptLast = GetDC()->GetReal(m_lastPoint);
|
|
double yMax=max(ptDown.y0,ptLast.y0);
|
|
double yMin=min(ptDown.y0,ptLast.y0);
|
|
if (abs(m_downPoint.y-m_lastPoint.y)==0 &&
|
|
m_pTrack->GetTrackType() != Track_StandardLayer &&
|
|
m_pTrack->GetTrackType() != Track_FaultPoint &&
|
|
m_pTrack->GetTrackType() != Track_CoreWell)
|
|
{
|
|
OnDraw(GetDC(),pDC);
|
|
m_bLDown = FALSE;
|
|
return;
|
|
}
|
|
CWellPole *pWellObj = m_pTrack->GetWell();
|
|
BOOL bSelect = FALSE;
|
|
CRect8 rect;
|
|
WELLOBJLIST::iterator it = m_pTrack->GetChildren().begin();
|
|
for( ; it != m_pTrack->GetChildren().end(); it++)
|
|
{
|
|
CWellBaseObj* pObj = *it;
|
|
rect = pObj->GetRect();
|
|
rect.NormalizeRect();
|
|
if (yMin<rect.bottom&&yMax>rect.top)
|
|
{
|
|
if(m_pItemWell)
|
|
{
|
|
if (!m_bAddTrackIn)
|
|
{
|
|
m_pItemWell->m_WellObjSelectlist.RemoveAll();
|
|
}
|
|
m_pItemWell->Select(pObj, TRUE);
|
|
m_pItemWell->SetSelectMode(CItemNestBase::netSelect);
|
|
m_pItemWell->SetDrawObj(pWellObj);
|
|
}
|
|
m_bAddTrackIn = TRUE;
|
|
bSelect = TRUE;
|
|
}
|
|
//else if(yMin<rect.bottom&&yMax>rect.bottom||yMax>rect.top&&yMin<rect.top)
|
|
//{
|
|
// m_bLDown = FALSE;
|
|
// GetDoc()->Invalidate(m_pTrack);
|
|
|
|
// return;
|
|
//}
|
|
}
|
|
if (bSelect)
|
|
{
|
|
m_bLDown = FALSE;
|
|
GetDoc()->Invalidate();// m_pTrack);
|
|
|
|
CItemTrackIn* pItemTrackIn = new CItemTrackIn(GetDoc());
|
|
pItemTrackIn->SetPos(GetPos());
|
|
if(m_pItemWell)
|
|
{
|
|
if(m_pItemWell->m_WellObjSelectlist.GetCount() == 1)
|
|
{
|
|
pItemTrackIn->SetDrawObj(m_pItemWell->m_WellObjSelectlist.GetHead());
|
|
//CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame());
|
|
//pItemTrackIn->InitPropertyGrid(grid);
|
|
}
|
|
m_pItemWell->SetItem(pItemTrackIn);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
//CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame());
|
|
|
|
|
|
CInTrackDepthSegment * pTrackIn = NULL;
|
|
|
|
///////标准层道、断点道、井壁取芯道时弹出提示对话框
|
|
if (m_pTrack->GetTrackType() == Track_StandardLayer ||
|
|
m_pTrack->GetTrackType() == Track_FaultPoint ||
|
|
m_pTrack->GetTrackType() == Track_CoreWell)
|
|
{
|
|
OnDraw(GetDC(),pDC);
|
|
if(AfxMessageBox(IDS_STRING_ACTION_ADD,MB_YESNO|MB_ICONQUESTION)!=IDYES)
|
|
{
|
|
m_bLDown = FALSE;
|
|
return;
|
|
}
|
|
}
|
|
|
|
m_bLDown = FALSE;
|
|
|
|
pTrackIn = CreatTopEndObj();
|
|
|
|
if (pTrackIn!=NULL)
|
|
{
|
|
//备份
|
|
SetReUnDoAction();
|
|
|
|
if (pTrackIn->GetType() == KEP_STANDARD ||
|
|
pTrackIn->GetType() == KEP_FAULTPOINT ||
|
|
pTrackIn->GetType() == KEP_COREWELL)
|
|
{
|
|
pTrackIn->GetPos().top = ptDown.y0;
|
|
pTrackIn->GetPos().bottom = ptDown.y0;
|
|
pTrackIn->GetPos().left = m_pTrack->GetPos().left;
|
|
pTrackIn->GetPos().right = m_pTrack->GetPos().right;
|
|
pTrackIn->m_fSdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().top);
|
|
pTrackIn->m_fEdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().bottom);
|
|
|
|
pTrackIn->SetRectInTrack(pTrackIn->GetPos(),LPVOID(pWellObj));
|
|
}
|
|
else if (pTrackIn->GetType() == KEP_RESULT ||
|
|
pTrackIn->GetType() == KEP_LAYERGROUP)
|
|
{
|
|
CString strDateTime;
|
|
CTime mTime;
|
|
mTime = CTime::GetCurrentTime();
|
|
strDateTime = mTime.Format(_T("%H%M%S"));
|
|
int nID;
|
|
nID = atoi(strDateTime);
|
|
pTrackIn->SetId(nID);
|
|
pTrackIn->GetPos().top = yMax;
|
|
pTrackIn->GetPos().bottom = yMin;
|
|
pTrackIn->GetPos().left = m_pTrack->GetPos().left;
|
|
pTrackIn->GetPos().right = m_pTrack->GetPos().right;
|
|
pTrackIn->m_fSdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().top);
|
|
pTrackIn->m_fEdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().bottom);
|
|
pTrackIn->SetRectInTrack(pTrackIn->GetPos(),LPVOID(pWellObj));
|
|
}
|
|
//else if (pTrackIn->GetType() == KEP_DISCRETESEGMENT)
|
|
//{
|
|
// CInTrackDiscreteSegment* pDiscreteSegment = (CInTrackDiscreteSegment*)pTrackIn;
|
|
// pDiscreteSegment->m_pTrackDiscrete = (CTrackDiscreteObj*)m_pTrack;
|
|
// pDiscreteSegment->GetPos().top = yMax;
|
|
// pDiscreteSegment->GetPos().bottom = yMin;
|
|
// pDiscreteSegment->GetPos().left = m_pTrack->GetPos().left;
|
|
// pDiscreteSegment->GetPos().right = m_pTrack->GetPos().right;
|
|
// pDiscreteSegment->m_fSdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().top);
|
|
// pDiscreteSegment->m_fEdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().bottom);
|
|
// pDiscreteSegment->SetRectInTrack(pTrackIn->GetPos(),LPVOID(pWellObj));
|
|
|
|
// pDiscreteSegment->SetParentObj(m_pTrack);
|
|
//}
|
|
else
|
|
{
|
|
pTrackIn->GetPos().top = yMax;
|
|
pTrackIn->GetPos().bottom = yMin;
|
|
pTrackIn->GetPos().left = m_pTrack->GetPos().left;
|
|
pTrackIn->GetPos().right = m_pTrack->GetPos().right;
|
|
pTrackIn->m_fSdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().top);
|
|
pTrackIn->m_fEdep = pWellObj->ScreenYToDepth(pTrackIn->GetPos().bottom);
|
|
pTrackIn->SetRectInTrack(pTrackIn->GetPos(),LPVOID(pWellObj));
|
|
}
|
|
|
|
pTrackIn->NormalText();
|
|
m_pTrack->AddChild(pTrackIn);
|
|
|
|
GetDoc()->Invalidate();// m_pTrack);
|
|
|
|
CItemTrackIn* pItemTrackIn = new CItemTrackIn(GetDoc());
|
|
if(m_pItemWell)
|
|
{
|
|
m_pItemWell->Select(pTrackIn);
|
|
pItemTrackIn->SetDrawObj(pTrackIn);
|
|
pItemTrackIn->SetPos(GetPos());
|
|
//pItemTrackIn->InitPropertyGrid(grid);
|
|
m_pItemWell->SetItem(pItemTrackIn);
|
|
}
|
|
}
|
|
}
|
|
|
|
CInTrackDepthSegment* CItemTrack::CreatTopEndObj()
|
|
{
|
|
CInTrackDepthSegment * pTrackIn = NULL;
|
|
if (m_pTrack->GetTrackType()==Track_Text)
|
|
{
|
|
CInTrackTextRange *pRange = new CInTrackTextRange();
|
|
pTrackIn = pRange;
|
|
pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
pTrackIn->m_pen = m_pTrack->m_penChild;
|
|
pTrackIn->m_brush.m_color = m_pTrack->m_brushChild.m_color;
|
|
}
|
|
else if(m_pTrack->GetTrackType()==Track_Symbol)
|
|
{
|
|
CInTrackSymbol* pSymbol = new CInTrackSymbol();
|
|
pTrackIn = pSymbol;
|
|
}
|
|
else if (m_pTrack->GetTrackType()==Track_Lith)
|
|
{
|
|
CInTrackLith* pLith = new CInTrackLith();
|
|
pTrackIn = pLith;
|
|
}
|
|
//else if (m_pTrack->GetTrackType()==Track_Layer)
|
|
//{
|
|
// CInTrackLayer* pLayer = new CInTrackLayer();
|
|
// pTrackIn = pLayer;
|
|
//}
|
|
else if (m_pTrack->GetTrackType()==Track_Result)
|
|
{
|
|
CInTrackResult* pResult = new CInTrackResult();
|
|
pTrackIn = pResult;
|
|
pTrackIn->m_pen = m_pTrack->m_penChild;
|
|
}
|
|
else if (m_pTrack->GetTrackType()==Track_Picture)
|
|
{
|
|
CInTrackPicture* pPicture = new CInTrackPicture();
|
|
pTrackIn = pPicture;
|
|
}
|
|
else if (m_pTrack->GetTrackType()==Track_OilTest)
|
|
{
|
|
CInTrackOilTest* pOilTest = new CInTrackOilTest();
|
|
pTrackIn = pOilTest;
|
|
pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
}
|
|
else if (m_pTrack->GetTrackType()==Track_CorePosition)
|
|
{
|
|
CInTrackCoring* pCoring = new CInTrackCoring();
|
|
pTrackIn = pCoring;
|
|
pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
pTrackIn->m_pen = m_pTrack->m_penChild;
|
|
pTrackIn->m_brush.m_color = m_pTrack->m_brushChild.m_color;
|
|
}
|
|
else if (m_pTrack->GetTrackType()==Track_CoreWell)
|
|
{
|
|
CInTrackCoreWell* pCoreWell = new CInTrackCoreWell();
|
|
pTrackIn = pCoreWell;
|
|
pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
pTrackIn->m_pen = m_pTrack->m_penChild;
|
|
pTrackIn->m_brush.m_color = m_pTrack->m_brushChild.m_color;
|
|
//TRACKINCOREWELLDATA trackInCoreData;
|
|
//pCoreWell->AddCoreData(trackInCoreData);
|
|
}
|
|
else if (m_pTrack->GetTrackType()==Track_Sample)
|
|
{
|
|
CInTrackSample* pSample = new CInTrackSample();
|
|
pTrackIn = pSample;
|
|
pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
}
|
|
else if (m_pTrack->GetTrackType()==Track_Shot)
|
|
{
|
|
CInTrackShot* pShot = new CInTrackShot();
|
|
pTrackIn = pShot;
|
|
}
|
|
else if (m_pTrack->GetTrackType() == Track_CementingQuality)
|
|
{
|
|
//CInTrackCementing* pTrackInCementing = new CInTrackCementing();
|
|
//pTrackIn = pTrackInCementing;
|
|
}
|
|
else if (m_pTrack->GetTrackType() == Track_ProducedFluidSection)
|
|
{
|
|
//CInTrackProducedFluid* pTrackInProducedFluid = new CInTrackProducedFluid();
|
|
//pTrackIn = pTrackInProducedFluid;
|
|
//pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
//pTrackIn->m_pen = m_pTrack->m_penChild;
|
|
//pTrackIn->m_brush = m_pTrack->m_brushChild;
|
|
}
|
|
else if (m_pTrack->GetTrackType() == Track_WaterAbsorptionSection)
|
|
{
|
|
//CTrackWaterAbsorptionSectionObj* pTrackWaterAbsorption = (CTrackWaterAbsorptionSectionObj*)m_pTrack;
|
|
//CInTrackWaterAbsorption* pWaterAbsorption = new CInTrackWaterAbsorption();
|
|
//pWaterAbsorption->SetShowAbsolute(pTrackWaterAbsorption->IsShowAbsolute());
|
|
//pWaterAbsorption->SetShowRelative(pTrackWaterAbsorption->IsShowRelative());
|
|
//pTrackIn = pWaterAbsorption;
|
|
//pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
//pTrackIn->m_pen = m_pTrack->m_penChild;
|
|
//pTrackIn->m_brush = m_pTrack->m_brushChild;
|
|
}
|
|
else if (m_pTrack->GetTrackType() == Track_TestExtraction)
|
|
{
|
|
CInTrackTestExtraction* pTestExtraction = new CInTrackTestExtraction();
|
|
pTrackIn = pTestExtraction;
|
|
pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
pTrackIn->m_pen = m_pTrack->m_penChild;
|
|
pTrackIn->m_brush = m_pTrack->m_brushChild;
|
|
}
|
|
else if (m_pTrack->GetTrackType() == Track_SandLayer || m_pTrack->GetTrackType() == Track_OilLayerGroup ||
|
|
m_pTrack->GetTrackType() == Track_ProduceLayer ||m_pTrack->GetTrackType() == Track_ReserveUnit ||
|
|
m_pTrack->GetTrackType() == Track_Stratum)
|
|
{
|
|
CInTrackLayerGroup* pLayerGroup = new CInTrackLayerGroup();
|
|
pTrackIn = pLayerGroup;
|
|
pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
pTrackIn->m_pen = m_pTrack->m_penChild;
|
|
pTrackIn->m_brush = m_pTrack->m_brushChild;
|
|
}
|
|
else if (m_pTrack->GetTrackType() == Track_StandardLayer)
|
|
{
|
|
//CInTrackStandardLayer* pStandardLayer = new CInTrackStandardLayer();
|
|
//pTrackIn = pStandardLayer;
|
|
//pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
}
|
|
else if (m_pTrack->GetTrackType() == Track_Discrete)
|
|
{
|
|
//CInTrackDiscreteSegment* pDiscreteSegment = new CInTrackDiscreteSegment();
|
|
//pTrackIn = pDiscreteSegment;
|
|
}
|
|
else if (m_pTrack->GetTrackType() == Track_FaultPoint)
|
|
{
|
|
CInTrackFaultPoint* pFaultPoint = new CInTrackFaultPoint();
|
|
|
|
pTrackIn = pFaultPoint;
|
|
pTrackIn->m_font = m_pTrack->m_fontChild;
|
|
}
|
|
//else if(m_pTrack->GetTrackType() == Track_Curve)
|
|
//{
|
|
|
|
//}
|
|
//else if (m_pTrack->GetTrackType() == Track_CementingQualityCurve)
|
|
//{
|
|
// CInTrackCementingCurve* pCementingCurve = new CInTrackCementingCurve();
|
|
|
|
// pTrackIn = pCementingCurve;
|
|
//}
|
|
return pTrackIn;
|
|
}
|
|
|
|
void CItemTrack::OnLButtonDblClk(UINT nFlags, CPoint point)
|
|
{
|
|
|
|
}
|
|
|
|
int CItemTrack::OnMouseMove(CDC *pDC,UINT nFlags, CPoint point)
|
|
{
|
|
|
|
CPoint2D lastPoint = GetDC()->GetReal(point);
|
|
if(IsCaptureState() && m_bLDown)
|
|
{
|
|
|
|
OnDraw(GetDC(),pDC);
|
|
m_lastPoint = point;
|
|
OnDraw(GetDC(),pDC);
|
|
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
BOOL CItemTrack::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
|
|
{
|
|
::SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR_RANGE));
|
|
return TRUE;
|
|
}
|
|
|
|
int CItemTrack::DeleteSelection(void)
|
|
{
|
|
if(GetDrawObj() == NULL)
|
|
return 0;
|
|
|
|
CWellPole* pWellObj = (CWellPole*)m_pTrack->GetWell();
|
|
CTrackGroup* pParentTrack = (CTrackGroup*)m_pTrack->GetParent();
|
|
CWellBaseObj* pObj = NULL;
|
|
CTrackObj* pTrack = NULL;
|
|
|
|
int num = 0;
|
|
|
|
num = pWellObj->GetTrackCount();
|
|
|
|
if (num<=1)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if (pWellObj->GetParent()!=NULL)
|
|
{
|
|
//CWellSection* pSection = (CWellSection*)pWellObj->GetParentObj();
|
|
//POSITION posBend = pSection->m_BendList.GetHeadPosition();
|
|
//while (posBend!=NULL)
|
|
//{
|
|
// CBendObj* pBend = (CBendObj*)pSection->m_BendList.GetNext(posBend);
|
|
// if (pBend->m_pLayerLeft->GetParentObj() == m_pTrack||(pBend->m_pLayerRight!=NULL&&pBend->m_pLayerRight->GetParentObj()==m_pTrack))
|
|
// {
|
|
// POSITION posFind = pSection->m_BendList.Find(pBend);
|
|
// if (posFind!=NULL)
|
|
// {
|
|
// pSection->DeleteBend(pBend);
|
|
// }
|
|
// }
|
|
//}
|
|
}
|
|
|
|
|
|
//pParentTrack->RemoveTrack(m_pTrack);
|
|
pWellObj->RemoveTrack(m_pTrack);
|
|
delete m_pTrack;
|
|
|
|
//if (pParentTrack->GetTrackList().size() == 0 && pParentTrack->GetType() != KEP_WELL)
|
|
//{//如果父道不是井,且没有子道,就删除
|
|
// CTrackGroup* pPParentTrack = (CTrackGroup*)pParentTrack->GetParent();
|
|
// pPParentTrack->RemoveTrack(pParentTrack);
|
|
// delete pParentTrack;
|
|
//}
|
|
|
|
m_pTrack = NULL;
|
|
|
|
CPoint2D point = pWellObj->GetAnchorPoint();//pWellObj->GetPos().TopLeft();
|
|
pWellObj->CalculateSize(point);
|
|
//if (pWellObj->GetWellType()==Well_Section)
|
|
//{
|
|
// CWellSection* pSection = (CWellSection*)pWellObj->GetParentObj();
|
|
// pSection->ReComputeBends(pWellObj);
|
|
//}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//void CItemTrack::OnInplaceButtonDown(CXTPPropertyGridItem* pItem)
|
|
//{
|
|
// if(pItem == NULL)
|
|
// return;
|
|
//// if(pItem->GetID() == IDS_STRING_DB_TABLEFIELD_CONFIG) //弹出字段配置对话框
|
|
// {
|
|
// //Db::CSqlStatementManager *pSqlManager = AfxGetGeo()->GetSqlStatementManager();
|
|
// //if (pSqlManager->HasDB())
|
|
// //{
|
|
// // //获取图道的数据表、字段
|
|
// // CString strTrackType;
|
|
// // CString curve;
|
|
// // CString table;
|
|
// // vector<CString> fields;
|
|
// // if(m_pItemWell)
|
|
// // m_pItemWell->GetTrackTable(m_pTrack, strTrackType, table, curve);
|
|
|
|
// // /// 从文件中读取相关类型道的配置
|
|
// // CDataTableConfig TempDataConfig;
|
|
// // TempDataConfig.SetTableID(strTrackType);
|
|
// // TempDataConfig.Read();
|
|
|
|
// // CDlgWellDataConfig dlg;
|
|
// // dlg.SetFields(TempDataConfig.GetFieldsBase());
|
|
// // if (!m_pTrack->m_strConfigTable.IsEmpty())
|
|
// // {
|
|
// // dlg.SetConfigTable(m_pTrack->m_strConfigTable);
|
|
// // dlg.SetConfigFields(m_pTrack->m_VecConfigField);
|
|
// // dlg.SetConfigClass(m_pTrack->m_strConfigClass);
|
|
// // }
|
|
// // else
|
|
// // {
|
|
// // dlg.SetConfigTable(TempDataConfig.GetTableDB());
|
|
// // dlg.SetConfigFields(TempDataConfig.GetFieldsDB());
|
|
// // }
|
|
// // dlg.SetBaseTable(TempDataConfig.GetTableBase());
|
|
// // dlg.m_strTitleName = TempDataConfig.GetTableBase();
|
|
// // dlg.m_strID = TempDataConfig.GetTableID();
|
|
// // dlg.SetDataConfigTableFields(TRUE);
|
|
// // dlg.SetDataConfigDB(TRUE);
|
|
// // if (dlg.DoModal() == IDOK)
|
|
// // {
|
|
// // m_pTrack->m_strConfigTable = dlg.GetConfigTable();
|
|
// // m_pTrack->m_VecConfigField = dlg.GetConfigFields();
|
|
// // m_pTrack->m_strConfigClass = dlg.GetConfigClass();
|
|
// // pItem->SetValue(m_pTrack->m_strConfigTable);
|
|
|
|
// // CItemSingleWell itemsw(GetWnd());
|
|
// // itemsw.ImportTrackDataFromDB(m_pTrack, (CWellObj*)m_pTrack->GetParentObj(), AfxGetGeo()->GetSqlStatementManager());
|
|
// // m_pTrack->ReadCurveData();
|
|
// // GetDoc()->Invalidate(m_pTrack->GetParentObj());
|
|
// // }
|
|
// //}
|
|
// }
|
|
//// else if (pItem->GetID() == IDS_STR_TRACK_CONFIGTOPANDBOT)
|
|
// {
|
|
// //Db::CSqlStatementManager *pSqlManager = AfxGetGeo()->GetSqlStatementManager();
|
|
// //if (pSqlManager->HasDB())
|
|
// //{
|
|
// // //获取图道的数据表、字段
|
|
// // CString strTrackType;
|
|
// // CString curve;
|
|
// // CString table;
|
|
// // vector<CString> fields;
|
|
|
|
// // 从文件中读取相关类型道的配置
|
|
// // CDataTableConfig TempDataConfig;
|
|
// // TempDataConfig.SetTableID(_T("Text"));
|
|
// // TempDataConfig.Read();
|
|
|
|
// // CDlgWellDataConfig dlg;
|
|
// // dlg.SetFields(TempDataConfig.GetFieldsBase());
|
|
// // if (!m_pTrack->m_strConfigTableOther.IsEmpty())
|
|
// // {
|
|
// // dlg.SetConfigTable(m_pTrack->m_strConfigTableOther);
|
|
// // dlg.SetConfigFields(m_pTrack->m_VecConfigFieldOther);
|
|
// // }
|
|
// // else
|
|
// // {
|
|
// // dlg.SetConfigTable(TempDataConfig.GetTableDB());
|
|
// // dlg.SetConfigFields(TempDataConfig.GetFieldsDB());
|
|
// // }
|
|
// // dlg.SetBaseTable(TempDataConfig.GetTableBase());
|
|
// // dlg.m_strTitleName = TempDataConfig.GetTableBase();
|
|
// // dlg.m_strID = TempDataConfig.GetTableID();
|
|
// // dlg.SetDataConfigTableFields(TRUE);
|
|
// // dlg.SetDataConfigDB(TRUE);
|
|
// // if (dlg.DoModal() == IDOK)
|
|
// // {
|
|
// // m_pTrack->m_strConfigTableOther = dlg.GetConfigTable();
|
|
// // m_pTrack->m_VecConfigFieldOther = dlg.GetConfigFields();
|
|
// // pItem->SetValue(m_pTrack->m_strConfigTableOther);
|
|
// // }
|
|
// //}
|
|
// }
|
|
//// else if (pItem->GetID() == IDS_REVERSE_SET_VALUERANGE)
|
|
// {
|
|
// //CDialogCurveReverseRange dlg;
|
|
// //CTrackCurve *pTrackCurve = (CTrackCurve*)m_pTrack;
|
|
// //dlg.m_curve_right = pTrackCurve->m_curve_right;
|
|
// //dlg.m_RangeValueVec.insert(dlg.m_RangeValueVec.begin(),pTrackCurve->m_ReverseRangeVec.begin(),pTrackCurve->m_ReverseRangeVec.end());
|
|
// //if(dlg.DoModal()==IDOK)
|
|
// //{//取到设置好的翻卷数值区间
|
|
// // pTrackCurve->m_ReverseRangeVec.clear();
|
|
// // pTrackCurve->m_ReverseRangeVec.insert(pTrackCurve->m_ReverseRangeVec.begin(),
|
|
// // dlg.m_RangeValueVec.begin(),dlg.m_RangeValueVec.end());
|
|
|
|
// // if(pTrackCurve->m_ReversePenVec.size()< pTrackCurve->m_ReverseRangeVec.size())
|
|
// // {
|
|
// // int num = pTrackCurve->m_ReverseRangeVec.size() - pTrackCurve->m_ReversePenVec.size();
|
|
// // for(int ii = 0; ii<num ;ii++ )
|
|
// // pTrackCurve->m_ReversePenVec.push_back(pTrackCurve->m_penCurve);
|
|
// // }
|
|
// // if(pTrackCurve->m_ReversePenVec.size()> pTrackCurve->m_ReverseRangeVec.size())
|
|
// // {
|
|
// // int num = pTrackCurve->m_ReversePenVec.size() - pTrackCurve->m_ReverseRangeVec.size() ;
|
|
// // for(int ii = num-1; ii>-1 ;ii-- )
|
|
// // pTrackCurve->m_ReversePenVec.pop_back();
|
|
// // }
|
|
|
|
// // CXTPPropertyGrid &grid = GetPropertyGrid(GetDoc()->GetMainFrame());
|
|
// // CXTPPropertyGridItems *pItems = grid.GetCategories();
|
|
|
|
// // CXTPPropertyGridItem *pItem1;
|
|
// // int cateNum = pItems->GetCount();
|
|
// // int id ;
|
|
// // for(int ii = 0; ii< cateNum; ii++)
|
|
// // {
|
|
// // pItem1 = pItems->GetAt(ii);
|
|
// // id = pItem1->GetID();
|
|
// // if(id == IDS_REVERSE_VALUE_RANGE)
|
|
// // {
|
|
// // pItem1->GetChilds()->Clear();
|
|
|
|
// // AddReverseCurveRangeItem(pItem1,pTrackCurve);
|
|
|
|
// // pTrackCurve->ComputePointsInclined();
|
|
|
|
// // GetDoc()->Invalidate(); // (pTrackCurve);
|
|
|
|
// // break;
|
|
// // }
|
|
// // }
|
|
// //}
|
|
// }
|
|
//}
|
|
|
|
void CItemTrack::ReadCurveData(CTrackObj* pTrack)
|
|
{
|
|
CTrackCurveBase* TrackCurve = (CTrackCurveBase*)pTrack;
|
|
CString strcurvename = TrackCurve->m_strTrackName;
|
|
|
|
vector<CString> fields;
|
|
StringVectorSet *pdatas = NULL;
|
|
|
|
|
|
//CDataBinderWellCurve WellCurve;
|
|
//CDataBinderWellDiscrete WellDis;
|
|
//Db::CSqlStatementManager *pSqlManager = AfxGetGeo()->GetSqlStatementManager();
|
|
//if (pSqlManager->HasDB())
|
|
//{
|
|
// AfxGetApp()->BeginWaitCursor();
|
|
|
|
// CString tableng;
|
|
// CString strWellName ;
|
|
// if(m_pItemWell)
|
|
// strWellName= m_pItemWell->GetWellObject()->GetWellName();
|
|
//
|
|
// CTrackCurveObjBase* TrackCurve = (CTrackCurveObjBase*)pTrack;
|
|
// if (TrackCurve->GetTrackType() == Track_Curve)
|
|
// {
|
|
// fields.push_back("depth");
|
|
// fields.push_back(strcurvename);
|
|
// CString strSGXh;
|
|
// CString strVer;
|
|
|
|
// WellCurve.SetParams(strWellName,strcurvename,strSGXh,strVer,Db::LOG_CURVE);
|
|
// WellCurve.AttachInput(pSqlManager);
|
|
// WellCurve.ReadData();
|
|
// //pdatas = &WellCurve.GetDataSet();
|
|
// TrackCurve->BuidChildObject(WellCurve.GetCurveDepth(),WellCurve.GetCurveData(),WellCurve.GetDataNum(),TRUE);
|
|
// }
|
|
// else if (TrackCurve->GetTrackType() == Track_Discrete)
|
|
// {
|
|
// fields.push_back("depth");
|
|
// fields.push_back(strcurvename);
|
|
// //CDataBinderWellDiscrete WellDis(strWellName,strcurvename);
|
|
// WellDis.SetParams(strWellName,strcurvename);
|
|
// WellDis.AttachInput(pSqlManager);
|
|
// WellDis.ReadData();
|
|
// TrackCurve->BuidChildObject(WellDis.GetCurveDepth(),WellDis.GetCurveData(),WellDis.GetDataNum(),TRUE);
|
|
// //pdatas = &WellDis.GetDataSet();
|
|
// }
|
|
// AfxGetApp()->EndWaitCursor();
|
|
//}
|
|
//else
|
|
{//使用井缓冲的曲线数据
|
|
CTrackCurve *pTrackCurve = (CTrackCurve*)pTrack;
|
|
CWellPole *pWell = pTrack->GetWell();
|
|
for(int ii = 0; ii< pWell->m_CurveDataVecs.size(); ii++)
|
|
{
|
|
if(strcurvename == pWell->m_CurveDataVecs[ii]->m_curve_name)
|
|
{
|
|
pTrackCurve->m_dataObj = *pWell->m_CurveDataVecs[ii];
|
|
pTrackCurve->m_fRlev = pTrackCurve->m_dataObj.m_rlev;
|
|
pTrackCurve->CaculateStartAndEnd(pWell);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//void CItemTrack::AddReverseCurveRangeItem(CXTPPropertyGridItem* pParentItem,CTrackObj *pTrack)
|
|
//{
|
|
// CTrackCurve *pTarckCurve = (CTrackCurve*)pTrack;
|
|
// CPropertyGridItemAdd ItemAdd(NULL);
|
|
//
|
|
// CString str;
|
|
// str.LoadString(IDS_REVERSE_VALUE_RANGE);
|
|
// int rangeNum = pTarckCurve->m_ReverseRangeVec.size();
|
|
// if(rangeNum>0)
|
|
// {
|
|
// CString tmpStr;
|
|
// CXTPPropertyGridItem *pGridItem,*pItem1;
|
|
// double left,right;
|
|
// GDFLOGPEN tlogPen;
|
|
// for(int ii = 0; ii< rangeNum; ii++)
|
|
// {
|
|
// tmpStr.Format("%s%d",str,ii+1);
|
|
// pGridItem = pParentItem->AddChildItem(new CXTPPropertyGridItemCategory(tmpStr));
|
|
// //pGridItem= grid.AddCategory(tmpStr);
|
|
//
|
|
// ItemAdd.SetItem(pGridItem);
|
|
// if(ii ==0)
|
|
// left = pTarckCurve->m_curve_right;
|
|
// else
|
|
// left = pTarckCurve->m_ReverseRangeVec[ii-1];
|
|
//
|
|
// right = pTarckCurve->m_ReverseRangeVec[ii];
|
|
//
|
|
// pItem1 = ItemAdd.AddItemDouble(IDS_REVERSE_VALUE_LEFT,left);// 曲线的左刻
|
|
// pItem1->SetReadOnly(TRUE);
|
|
//
|
|
// pItem1 = ItemAdd.AddItemDouble(IDS_REVERSE_VALUE_RIGHT,right);// 曲线的右刻
|
|
// pItem1->SetReadOnly(TRUE);
|
|
//
|
|
// ItemAdd.AddItemLine1(IDS_REVERSE_CURVE_LINE, pTarckCurve->m_ReversePenVec[ii], &pTarckCurve->m_ReversePenVec[ii],LineType_Curve);//曲线类型
|
|
// pGridItem->Expand();
|
|
// }
|
|
//
|
|
// pParentItem->Expand();
|
|
// }
|
|
//}
|
|
|
|
void CItemTrack::ReadWavetraceData(CTrackObj *pTrack,CString newname)
|
|
{
|
|
//Db::CSqlStatementManager *pSqlManager = AfxGetGeo()->GetSqlStatementManager();
|
|
//if (pSqlManager->HasDB())
|
|
//{
|
|
// AfxGetApp()->BeginWaitCursor();
|
|
|
|
// if(pTrack->GetTrackType() == Track_VdlImage)
|
|
// {
|
|
// CTrackVdlImage *pTrackVdl = (CTrackVdlImage*)pTrack;
|
|
|
|
// CWellObj *pWell = (CWellObj*)pTrack->GetParentObj();
|
|
// int well_id = pSqlManager->GetWellID(pWell->GetWellName());
|
|
|
|
// std::vector<CString>fields;
|
|
// std::vector<Db::DB_TABLE_DATA_TYPE>fieldsType;
|
|
|
|
// fields.push_back("top"); fieldsType.push_back(DB_DATA_DOUBLE);
|
|
// fields.push_back("bottom"); fieldsType.push_back(DB_DATA_DOUBLE);
|
|
// fields.push_back("DepthRelv"); fieldsType.push_back(DB_DATA_DOUBLE);
|
|
// fields.push_back("startTime"); fieldsType.push_back(DB_DATA_DOUBLE);
|
|
// fields.push_back("endTime"); fieldsType.push_back(DB_DATA_DOUBLE);
|
|
// fields.push_back("timeRelv"); fieldsType.push_back(DB_DATA_DOUBLE);
|
|
|
|
// fields.push_back("dataRow"); fieldsType.push_back(DB_DATA_INT);
|
|
// fields.push_back("datalen"); fieldsType.push_back(DB_DATA_INT);
|
|
// fields.push_back("SaveOrder"); fieldsType.push_back(DB_DATA_INT);
|
|
|
|
// fields.push_back("datatype");fieldsType.push_back(DB_DATA_STRING);
|
|
// fields.push_back("depthUnit");fieldsType.push_back(DB_DATA_STRING);
|
|
// fields.push_back("timeUnit");fieldsType.push_back(DB_DATA_STRING);
|
|
|
|
// fields.push_back("Data"); fieldsType.push_back(DB_DATA_BINARY);
|
|
|
|
// CDataBlobOne bread("well_wavetrace",fields,fieldsType);
|
|
|
|
// bread.AttachInput(pSqlManager);
|
|
|
|
// CString strWhere,str1,str2;
|
|
// str2.Format("'%s'", pWell->GetWellName() );
|
|
// str1 = bread.GetFieldFmtStr("well_id");
|
|
// strWhere = str1 + "=" +str2;
|
|
|
|
// str1 = bread.GetFieldFmtStr("name");
|
|
// str2.Format("='%s'",newname);
|
|
// strWhere =strWhere +" and " + str1 + str2;
|
|
|
|
// bread.SetWhereSql(strWhere);
|
|
// if(bread.GetBlobOneRecord())
|
|
// {
|
|
// pTrackVdl->SetNewDataInTrack(bread.GetBlobRecord()[0].data.m_dVal,bread.GetBlobRecord()[1].data.m_dVal,bread.GetBlobRecord()[2].data.m_dVal
|
|
// ,bread.GetBlobRecord()[3].data.m_dVal,bread.GetBlobRecord()[4].data.m_dVal,bread.GetBlobRecord()[5].data.m_dVal
|
|
// ,bread.GetBlobRecord()[6].data.m_iVal,bread.GetBlobRecord()[7].data.m_iVal,bread.GetBlobRecord()[8].data.m_iVal
|
|
// ,bread.GetBlobRecord()[9].m_str,bread.GetBlobRecord()[10].m_str,bread.GetBlobRecord()[11].m_str
|
|
// ,bread.GetBlobRecord()[12].GetBlob().pData,bread.GetBlobRecord()[12].GetBlob().cbSize);
|
|
|
|
// pTrack->m_strTrackName = newname;
|
|
// }
|
|
// bread.EndBlob();
|
|
// }
|
|
|
|
// AfxGetApp()->EndWaitCursor();
|
|
//}
|
|
} |