/** * @file QtWindowWellSection.h * @brief well section 窗口 插件,包括单井,多井窗口 * @date 2014-5-26 * @author: liyonggang */ #ifndef CQTWINDOWWELLSECTION__H #define CQTWINDOWWELLSECTION__H #pragma warning( push ,0) #include #include "slf.h" #include #include "BaseObject.h" #include "ObjWelllog.h" // #include "VecWindow.h" // #include "List_Table_Inf.h" // #include "WellSectionExport.h" // #include "ObjWellTrack.h" // #include "WellSectionWindowDocument.h" #include #include #pragma warning( pop) // BEGIN_OSGGRAPHICS_NAMESPACE #pragma execution_character_set("utf-8") #pragma warning( push ,0) #pragma warning( pop ) struct LIST_TABLE_INF { int lstm;//是否每米取值,0=不,>0,指定间隔 char m_TableName[16]; char m_TableType[16];//输出的统计表类型 char m_TableSpFIELD[16];//特征字段 int SPVALNUM; char SPVAL[100][116]; int IsHB; int Table_Field_Num; int m_Mode;//取值模式选择:0-每条曲线按各自给定取值方式取值,1-按给定曲线的极值点深度取值 int m_Flag;// int IsFC;//层内层列表 char m_CurveName[501];//特征曲线名 Slf_TABLE_FIELD Table_Field[100]; char RenName[100][116]; BYTE Type[100]; BYTE GetValueMode[100]; char ZdIndex[100][116]; char Format[100][116]; char TableName[100][116]; }; struct jiegutable_struct { int no; float sdep; float thick; }; class /*WELLSECTION_EXPORT*/ CQtWindowWellSection: public QMainWindow/* : public CVecWindow*/ { Q_OBJECT public: CQtWindowWellSection(); virtual ~CQtWindowWellSection(); void slotRemoveWell(); // //参见CVecWindow::GetWindowConfig // virtual void GetWindowConfig( EWindowFlag &WindowFlag,CVecSceneManager*&pSceneManager, // QVector&vUIBuilder,CBaseObject *&pDefaultShowObject, // QVector &vViewCommandID,osg::Vec4f& backgroundColor,bool bForDebugData ); //参见CVecWindow::InitBeforShow // virtual void InitBeforShow(bool bCompositeWindow); // virtual void AfterOpenWindow(); // virtual void UpdateObject(eUpdateEvent e,CObjectEventParam *pEventParam =NULL,QVariant vtPropertyValue=QVariant()); double GetDepByPos(double x,double y); //窗口默认设定pick模式 void PickFirst(); // virtual void focusInEvent ( QFocusEvent * event); //virtual void focusOutEvent ( QFocusEvent * event); // void AddDataDrawObject(QVector &welltracks,CWellSectionWindowDocument *pDoc,CObjWellTrack*pWellTrack,CObjWell *well,CBaseObject*objfromplugin); protected: /** * @brief 重载该函数来生成一个支持两个垂直滚动条的Viewer */ // virtual CVecViewer* CreateViewer(); void OnListBedValue(QString m_csWellName,QString m_OGTableName); void CreateTattle(QString m_csWellName,QString m_OGTableName,QString OutTableName,QList& sdep,QList& edep); public slots: // void slotNewDataAndDraw();// void slotListData(CObjWellLog *pLog); void slotZoneListData(CObjWellLog *pLog); void slotSetListTableStruct(); // void slotSetMegCurve(); // void slotSetOtherMegCurve(); // void slotSetStandardMegCurve(); // void slotSetShiftCurve(int type); // void slotSetOtherShiftCurve(int type); // void slotSetStandardCurve(int type); void slotReFreshZoneListData(); // void slotSetShiftCurve(); // void slotSetOtherShiftCurve(); // void slotSetStandardCurve(); // void slotChangeAllCurves(); // void slotMoveAllCurves(); // void slotCardMoveCurves(); // void slotClearShiftZonePoint(); // void slotClearShiftZonePoint0(); // void slotExecuteDepthShifting(); // void slotExecuteDepthAutoComp(); // void slotDepthMerge(); // void slotDepthScrMerge(); // void slotClearStandardShift(); // void slotClearShiftCurves(); // void slotClearShiftCurve(CObjWellLog *pLogt); // void slotClearStandardMeg(); // void slotClearMegCurves(); // void setTablePointValue(float dep); // void slotClearStandardShift(int type); // void slotClearShiftCurves(int type); // void slotSetJoinTool(); // void slotSetShiftTool(); // void slotRun(); // void onCurrentLineHighLight(); // void slotReplace(); // void slotJieguChangeRun(); // void slotJieguChangeOK(); // void slotJieguReFresh(); // void slotCardRun(); // void slotDepthCheck(); // void slotCardSave(); // void slotSetDep(); // void slotCheckCCLDepthShift(); void onTimer(); public: // double getXGeoFromOSGGlobal(CObjWellTrack*m_pWellTrack,double xOSGGlobal); // double getYGeoFromOSGGlobal(CObjWellTrack*m_pWellTrack,double yOSGGlobal); // double getYGeoNormalFromPixel(CObjWellTrack*m_pWellTrack,double y); // double getYOSGGlobalFromPixel(CObjWellTrack*m_pWellTrack,double y); // QRectF getLineRangeRectOSGGLobal(CObjWellTrack*m_pWellTrack); // double getXOSGGlobalFromPixel(CObjWellTrack*m_pWellTrack,double x); // QVector SetLinePoint(CWellSectionWindowDocument *pDoc,CObjWellTrack*m_pWellTrack,CurveLine *pLine,QRectF lineRangeRect); // virtual void UpdateHUD(); // void updateLines(CObjWellTrack*m_pWellTrack); void SetCLLDepthShift(); QTextEdit *pTDialog; QLineEdit *spinbox1; QLineEdit *spinbox2; QLineEdit *spinbox3; // QList m_LOGS; QDialogButtonBox *m_ButtonBox; int recordnum; int *record; float *thicks; struct jiegutable_struct *jiegudtat,*jiegudtatshift; int*pairno; int jiegunum; QTimer *m_clockTimer; LIST_TABLE_INF m_ListTableInf; void OnListTableInf(QString m_ParFileName); }; // END_OSGGRAPHICS_NAMESPACE #endif // OSGCROSSPLOTWINDOW_H