Hauptseite | Klassenhierarchie | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente | Datei-Elemente | Zusätzliche Informationen

D_EXTERN.H

gehe zur Dokumentation dieser Datei
00001 //############################################################################## 00002 // // 00003 // D_EXTERN.H // 00004 // // 00005 // Subsystem: Diffraktometrie/ Reflektometrie // 00006 // DIE MDI-Fensterbasisklasse // 00007 // Benutzung durch andere Subsysteme erforderlich: NEIN // 00008 // // 00009 //############################################################################## 00010 00011 #ifndef _D_EXTERN_H 00012 #define _D_EXTERN_H 00013 00014 #include "internls\evrythng.h" // TMDIWindow 00015 00016 #include "difrkmty\d_intern.h" // TBitmapSource, TCoorSystem 00017 #include "datavisa\datavisa.h" // TCurve, TOutputFormat, TScreen 00018 00019 //--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||-- 00020 00021 const char EOL[]= "\r\n"; 00022 const int P_X= 0; 00023 const int P_Y= 1; 00024 const int P_Z= 2; 00025 00026 typedef struct 00027 { 00028 float x, y; 00029 int Ord; 00030 } TKSystem[4]; 00031 00032 enum EFileFormat 00033 { 00034 ffUnknown= 0, ffStandardFile= 1, ffShiftedStandard, ffTripel, ffTupel, ffBitmap, ffBkFile, ffDtnFile 00035 // 21.04.2004 ffShiftedBitmap, ffTiff8, ffTiff12, ffRAW8, ffRAW12 00036 }; 00037 00038 enum ExScanType 00039 { 00040 stUnknown= 0, stStandardScan= 1, stOmega2ThetaScan, stContinuousScan, stPsdEnergyScan, 00041 stPsdPositionScan, stOmega2ThetaScanList, stScanList 00042 }; 00043 00044 struct TKSProperties 00045 { 00046 BOOL bLogarithmicY; 00047 float fMinX, fMaxX, fMinY, fMaxY; 00048 }; 00049 00050 struct TFloatPoint { 00051 float x, y; 00052 }; 00053 00054 //############################################################################## 00055 // TPlotWindow 00056 //############################################################################## 00057 // stellt die Basisfunktionalität zur Darstellung und Bewertung von Kurven dar 00058 00059 class TPlotWindow : public TMDIWindow 00060 { 00061 friend class TCurveShowParamDlg; 00062 friend class TCurveFreeScalDlg; 00063 friend class TBitmapSource; 00064 friend class TCurveFreeScalColor; 00065 00066 public: 00068 TPlotWindow( HINSTANCE ); 00069 00071 virtual ~TPlotWindow( void ); 00072 00073 // Überschriebenes aus der (Fenster-)Basisklasse; z.T. wieder in TAreaScanWindow und TScanWindow überschrieben 00074 protected: 00075 virtual BOOL canNew() 00076 { return TRUE; } 00077 virtual BOOL canOpenFile() 00078 { return TRUE; } 00079 virtual BOOL canSave() 00080 { return !bMeasurementActive; /*Messung beendet*/ } // Diff./Refl. - Fix 78 00081 00082 virtual HICON GetIcon ( void ) const; 00083 00085 virtual HCURSOR GetCursor( void ) const 00086 { 00087 return LoadCursor(NULL, IDC_CROSS); 00088 }; 00089 00090 virtual BOOL New( void ); 00091 00092 virtual LRESULT OnCommand ( WPARAM, LPARAM ); 00093 00094 // 21.04.2004 virtual void Size( HWND, WPARAM, LPARAM ); 00095 00097 virtual void RenderFormat( WPARAM ); 00098 00100 virtual void RenderAllFormats( WPARAM ); 00101 00104 virtual void PickUpData( LPARAM ); 00105 00108 virtual void Paint( HDC, PAINTSTRUCT * ); 00109 00111 virtual void DoCopy( void ); 00112 00114 virtual void SetRanges( void ); 00115 00116 // Mausbedienung 00118 virtual void lButtonDown( WPARAM, LPARAM ); 00119 00122 virtual void MouseMove( WPARAM, LPARAM ); 00123 00126 virtual void lButtonUp( WPARAM, LPARAM ); 00127 00128 // wird in TAreaScanWindow und TScanWindow wieder überschrieben 00129 protected: 00132 virtual void FreezeCurve( void ); 00133 00136 virtual void KillSecondCurve( void ); 00137 00140 virtual void SaveSecondCurve( void ); 00141 00143 virtual void SetKSProperties( TKSProperties* ); 00144 00146 virtual void SetLoadFormat(EFileFormat); 00147 00149 virtual double GetThetaOffset( int ) 00150 { 00151 return 0.0; 00152 }; 00153 00155 virtual BOOL SetMeasurementArea( TKSystem & ); 00156 00157 // Sonstiges 00158 private: 00161 void FormatCurveToPLine( TCurve *, LPPOINT, int & ); 00162 00164 void EnablePaint( void ) 00165 { 00166 bEnablePaint= TRUE; 00167 }; 00168 00170 void DisablePaint( void ) 00171 { 00172 bEnablePaint= FALSE; 00173 }; 00174 00177 int GetNachkommaStelle(TCoorSystem* pCoorSys, int x, int y); 00178 00180 void DrawCoordinateSystem( HDC ); 00181 00182 // ATTRIBUT(E) 00183 public: 00184 // ehemalig extern-Verweise aus D_INTERN.CPP 00185 float tilesx; 00186 float tilesy; 00187 int scrolldxposmin; 00188 int scrolldxposmax; 00189 int scrolldyposmin; 00190 int scrolldyposmax; 00191 int xBorder; 00192 int yBorder; 00193 WORD RLdx; 00194 WORD RLdy; 00195 BOOL bIncreasePP; 00196 float MinIntensitaet; 00197 float MaxIntensitaet; 00198 TFloatPoint mPoint1, mPoint2; 00199 bool DataaquisitionActive; 00200 00202 char abzisse[ _MAXLENUNIT+1 ]; 00203 00205 TBitmapSource *BSource; // im Destruktor freigegeben 00206 00207 protected: 00208 TCurve *MainCurve; // hier nicht im Destruktor freigeben: wird nur von TAreaScanWindow und TScanWindow initialisiert; darf bei TAreaScanWindow nicht im Destruktor freigegeben werden (wird von TDataBase verwaltet); bei TScanWindow wird MainCurve im Destruktor freigegeben 00209 TCurve *SecondCurve; // im Destruktor freigegeben 00210 00212 EOutputType eOutputType; 00213 00215 TDisplay VisualDB; 00216 00218 EFileFormat eLoadFormat; 00219 00221 TCoorSystem CoorSys, AltCoorSys; // AltCoorSys sollte nicht verwendet werden, weil nach einmaligem Zeichnen auf CoorSys zurückgeschaltet wird (d.h. ein Fenster-Update zeichnet dann wieder mit CoorSys) 00222 00223 BOOL bAltCoorSystem; // TRUE==beim nächsten Zeichnen AltCoorSys benutzen; siehe AltCoorSys 00224 00225 BOOL bSecondaryCoor; // TRUE==Kanaldarst.; sonst Winkeldarstellung für x-Achse 00226 00228 float LowerBound, UpperBound; 00229 00231 BOOL bXY_Scaling; 00232 00233 00234 private: 00235 TScreen Screen; 00236 00237 HFONT hFont; 00238 00240 HDC DragDC; 00241 00243 BOOL bEnablePaint; 00244 00246 BOOL bButtonDown; 00247 00249 float xo, yo; 00250 }; 00251 00252 #endif // _D_EXTERN_H 00253 00254 //############################################################################# 00255 // LastLine 00256 //#############################################################################

Erzeugt am Sat Nov 13 12:48:04 2004 für XCTL32 von doxygen 1.3.7