00001
00148 #if !defined(INC_MI32_MXDIALOG_H) && !defined(WIN32_NATIVE)
00149 #define INC_MI32_MXDIALOG_H
00150
00151 #ifndef INC_MI32_STDDEFNS_H
00152 #include <mi32/stddefns.h>
00153 #endif
00154
00155 #if !defined(WIN32_NATIVE) && !defined(INC_MI32_XDEFNS_H)
00156 #include <mi32/xdefns.h>
00157 #endif
00158
00159 #if !defined(WIN32_NATIVE) && !defined(_XtIntrinsic_h)
00160 #include <X11/Intrinsic.h>
00161 #endif
00162
00163 #ifndef INC_MI32_POINT_H
00164 #include <mi32/point.h>
00165 #endif
00166
00167 #ifndef INC_MI32_MCB_H
00168 #include <mi32/mcb.h>
00169 #endif
00170
00171 #ifndef INC_RVC_OBJITEM_H
00172 #include <rvc/objitem.h>
00173 #endif
00174
00175
00176 class REGION2D;
00177 class TRANS2D_MAPGEN;
00178 namespace RVC {
00179 class OBJITEM;
00180 class OBJITEMLIST;
00181 }
00182
00183
00184
00185
00186
00187 struct MxdAnyCallbackStruct {
00188 UINT32 reason;
00189 MXDHANDLE dhandle;
00190 };
00191
00192 typedef void (*MxdCallbackFunc)(MxdAnyCallbackStruct*,void*);
00193
00194
00195 #define MxdFLAG_SetLastPosition 0x80000000
00196 #define MxdFLAG_OpenOnCreate 0x40000000
00197 #define MxdFLAG_DestroyOnClose 0x20000000
00198 #define MxdFLAG_Modal 0x10000000
00199 #define MxdFLAG_ReturnWhenClose 0x08000000
00200 #define MxdFLAG_NoClose 0x04000000
00201 #define MxdFLAG_HaveApply 0x02000000
00202
00203
00204
00205
00206 #define MxdINSPRAST_NoSelect 0x00000001
00207 #define MxdINSPRAST_AllowEdit 0x00000002
00208
00209 #define MxdINSPRAST_SetCenter 1
00210
00211
00212 #define MxdTIPOFDAY_NoAutoOpen 0x00000001
00213
00214
00215 #define MxdVIEWRASTCORR_PosnTransInput 0x00000001
00216
00217
00218 #define MxdCR_Destroy 0x80000000
00219 #define MxdCR_Close 0x40000000
00220 #define MxdCR_Open 0x20000000
00221 #define MxdCR_Resize 0x10000000
00222 #define MxdCR_Apply 0x08000000
00223 #define MxdCR_Modify 0x04000000
00224 #define MxdCR_ChangeBegin 0x02000000
00225 #define MxdCR_ChangeEnd 0x01000000
00226 #define MxdCR_ChangeContinue 0x00800000
00227 #define MxdCR_SelectedObject 0x00400000
00228 #define MxdCR_SavedObject 0x00200000
00229
00230
00231 #define MxdCR_InspRastViewChanged 0x00000001
00232
00233
00234
00235
00236
00237
00238 #define MxdEDITCOLORMAP_LoadFromObject 0x00000001
00239 #define MxdEDITCOLORMAP_InitGrayscale 0x00000002
00240 #define MxdEDITCOLORMAP_RetNewObject 0x00000004
00241 #define MxdEDITCOLORMAP_AllowTransparent 0x00000008
00242 #define MxdEDITCOLORMAP_AllowTransparency 0x00000010
00243
00244 struct MxdEditColorMapCallbackStruct : McbAnyCallbackStruct {
00245 MXDHANDLE dhandle;
00246 RVC::OBJITEM m_ObjItem;
00247
00248 MxdEditColorMapCallbackStruct (
00249 UINT32 reason,
00250 MXDHANDLE dhandle
00251 );
00252 };
00253
00254
00255
00256
00257
00258
00259 #define MxdSmartLine_StartLine 0x00000001
00260 #define MxdSmartLine_StopLine 0x00000002
00261 #define MxdSmartLine_SaveLine 0x00000004
00262 #define MxdSmartLine_AbortLine 0x00000008
00263 #define MxdSmartLine_NewPoint 0x00000010
00264 #define MxdSmartLine_TraceBegin 0x00000020
00265 #define MxdSmartLine_TraceEnd 0x00000040
00266 #define MxdSmartLine_StopReason 0x00000080
00267
00268 struct MxdSmartLineCallbackStruct {
00269 UINT32 reason;
00270 MXDHANDLE dhandle;
00271 INT32 ElemNum;
00272 LPOINT3D *Line;
00273 INT32 NumPoints;
00274 int ElemType;
00275 };
00276
00280
00282 int MxdAutoColorMapAddCallback (
00283 MXDHANDLE dhandle,
00284 MxdCallbackFunc,
00285 void *data,
00286 UINT32 reason
00287 );
00288
00290 int MxdAutoColorMapCreate (
00291 Widget pwidget,
00292 MXDHANDLE *dhandle,
00293 const RVC::OBJITEM& ObjItemRaster,
00294 COLOR *colmap,
00295 int NumColors,
00296 int dialogflags
00297 );
00298
00300 int MxdAutoColorMapOpen (
00301 MXDHANDLE dhandle
00302 );
00303
00305 int MxdAutoColorMapClose (
00306 MXDHANDLE dhandle
00307 );
00308
00310 int MxdAutoColorMapDestroy (
00311 MXDHANDLE dhandle
00312 );
00313
00315 int MxdAutoColorMapIsOpen (
00316 MXDHANDLE dhandle
00317 );
00318
00320 int MxdAutoColorMapRemoveCallback (
00321 MXDHANDLE dhandle,
00322 MxdCallbackFunc,
00323 void *data,
00324 UINT32 reason
00325 );
00326
00334 int MxdEditColorMapAddCallback (
00335 MXDHANDLE dhandle,
00336 MxdCallbackFunc,
00337 void *cbs,
00338 UINT32 reasonmask
00339 );
00340
00342 int MxdEditColorMapClose (
00343 MXDHANDLE dhandle
00344 );
00345
00353 int MxdEditColorMapCreate (
00354 Widget pwidget,
00355 MXDHANDLE *dhandle,
00356 char *dialogname,
00357 int relposn,
00358 COLOR *colmap,
00359 int NumColors,
00360 RVC::OBJITEM& ObjItemPalette,
00361 UINT32 dialogflags
00362 );
00363
00365 int MxdEditColorMapDestroy (
00366 MXDHANDLE dhandle
00367 );
00368
00370 int MxdEditColorMapIsOpen (
00371 MXDHANDLE dhandle
00372 );
00373
00375 int MxdEditColorMapOpen (
00376 MXDHANDLE dhandle
00377 );
00378
00380 int MxdEditColorMapRemoveCallback (
00381 MXDHANDLE dhandle,
00382 MxdCallbackFunc,
00383 void *cbs,
00384 UINT32 reasonmask
00385 );
00386
00388 int MxdEditColorMapUpdate (
00389 MXDHANDLE dhandle,
00390 int notify
00391 );
00392
00394 int MxdEditMetaDataAddCallback (
00395 MXDHANDLE dhandle,
00396 void(*)(MxdAnyCallbackStruct*,void*),
00397 void *cbs,
00398 UINT32 reasonmask
00399 );
00400
00402 int MxdEditMetaDataClose (
00403 MXDHANDLE dhandle
00404 );
00405
00407 int MxdEditMetaDataCreate (
00408 Widget pwidget,
00409 MXDHANDLE *dhandle,
00410 const char *dialogname,
00411 MxRELPOSN relposn,
00412 const RVC::OBJITEM& ObjItem,
00413 UINT32 dialogflags
00414 );
00415
00417 int MxdEditMetaDataDestroy (
00418 MXDHANDLE dhandle
00419 );
00420
00422 int MxdEditMetaDataIsOpen (
00423 MXDHANDLE dhandle
00424 );
00425
00427 int MxdEditMetaDataOpen (
00428 MXDHANDLE dhandle
00429 );
00430
00432 int MxdEditMetaDataRemoveCallback (
00433 MXDHANDLE dhandle,
00434 void(*)(MxdAnyCallbackStruct*,void*),
00435 void *cbs,
00436 UINT32 reasonmask
00437 );
00438
00440 int MxdEditTextFileAddCallback (
00441 MXDHANDLE dhandle,
00442 MxdCallbackFunc,
00443 void *cbs,
00444 UINT32 reasonmask
00445 );
00446
00448 int MxdEditTextFileClose (
00449 MXDHANDLE dhandle
00450 );
00451
00456 int MxdEditTextFileCreate (
00457 Widget pwidget,
00458 MXDHANDLE *dhandle,
00459 char *dialogname,
00460 int relposn,
00461 MIUNICODE *filename,
00462 char *dftextn,
00463 char *encoding,
00464 UINT32 dialogflags
00465 );
00466
00468 int MxdEditTextFileGetTextWidget (
00469 MXDHANDLE dhandle,
00470 Widget *ReturnWidget
00471 );
00472
00474 int MxdEditTextFileDestroy (
00475 MXDHANDLE dhandle
00476 );
00477
00479 int MxdEditTextFileIsOpen (
00480 MXDHANDLE dhandle
00481 );
00482
00484 int MxdEditTextFileOpen (
00485 MXDHANDLE dhandle
00486 );
00487
00489 int MxdEditTextFileRemoveCallback (
00490 MXDHANDLE dhandle,
00491 MxdCallbackFunc,
00492 void *cbs,
00493 UINT32 reasonmask
00494 );
00495
00497 ERRVALUE MxdEditTextFileObjAddCallback (
00498 MXDHANDLE dhandle,
00499 MxdCallbackFunc,
00500 void *cbs,
00501 UINT32 reasonmask
00502 );
00503
00505 ERRVALUE MxdEditTextFileObjClose (
00506 MXDHANDLE dhandle
00507 );
00508
00513 ERRVALUE MxdEditTextFileObjCreate (
00514 Widget pwidget,
00515 MXDHANDLE *dhandle,
00516 char *dialogname,
00517 int relposn,
00518 MIUNICODE *filename,
00519 char *dftextn,
00520 char *encoding,
00521 UINT32 dialogflags
00522 );
00523
00525 ERRVALUE MxdEditTextFileObjGetTextWidget (
00526 MXDHANDLE dhandle,
00527 Widget *ReturnWidget
00528 );
00529
00531 ERRVALUE MxdEditTextFileObjDestroy (
00532 MXDHANDLE dhandle
00533 );
00534
00536 ERRVALUE MxdEditTextFileObjIsOpen (
00537 MXDHANDLE dhandle
00538 );
00539
00541 ERRVALUE MxdEditTextFileObjOpen (
00542 MXDHANDLE dhandle
00543 );
00544
00546 ERRVALUE MxdEditTextFileObjRemoveCallback (
00547 MXDHANDLE dhandle,
00548 MxdCallbackFunc,
00549 void *cbs,
00550 UINT32 reasonmask
00551 );
00552
00562 int MxdInspRastAddCallback (
00563 MXDHANDLE handle,
00564 MxdCallbackFunc,
00565 void *cbdata,
00566 UINT32 reason
00567 );
00568
00570 int MxdInspRastClose (
00571 MXDHANDLE dhandle
00572 );
00573
00581 int MxdInspRastCreate (
00582 Widget pwidget,
00583 MXDHANDLE *dhandle,
00584 char *dialogname,
00585 int relposn,
00586 const RVC::OBJITEM& DftObjItem,
00587 int dialogflags
00588 );
00589
00591 int MxdInspRastDestroy (
00592 MXDHANDLE dhandle
00593 );
00594
00596 int MxdInspRastGetRast (
00597 MXDHANDLE dhandle,
00598 RVC::OBJITEM& ObjItemRaster
00599 );
00600
00602 int MxdInspRastGetView (
00603 MXDHANDLE dhandle,
00604 INT32 *initlin,
00605 INT32 *initcol,
00606 INT32 *viewlins,
00607 INT32 *viewcols,
00608 INT32 *editlin,
00609 INT32 *editcol
00610 );
00611
00613 int MxdInspRastIsOpen (
00614 MXDHANDLE dhandle
00615 );
00616
00618 int MxdInspRastOpen (
00619 MXDHANDLE dhandle
00620 );
00621
00623 int MxdInspRastRemoveCallback (
00624 MXDHANDLE dhandle,
00625 MxdCallbackFunc,
00626 void *cbs,
00627 UINT32 reasonmask
00628 );
00629
00634 int MxdInspRastSetView (
00635 MXDHANDLE dhandle,
00636 INT32 initlin,
00637 INT32 initcol,
00638 int flags
00639 );
00640
00642 int MxdSmartLineActivate (
00643 MXDHANDLE handle
00644 );
00645
00647 int MxdSmartLineAddCallback (
00648 MXDHANDLE handle,
00649 void (*func)(MxdSmartLineCallbackStruct *cb, void*),
00650 void *udata,
00651 UINT32 reason
00652 );
00653
00655 int MxdSmartLineClose (
00656 MXDHANDLE dhandle
00657 );
00658
00660 int MxdSmartLineCreate (
00661 Widget pwidget,
00662 MXDHANDLE *handle,
00663 char *dialogname,
00664 int relposn,
00665 void *vview,
00666 void *vlp,
00667 UINT32 dialogflags
00668 );
00669
00671 int MxdSmartLineDestroy (
00672 MXDHANDLE dhandle
00673 );
00674
00676 int MxdSmartLineIsOpen (
00677 MXDHANDLE dhandle
00678 );
00679
00681 int MxdSmartLineNewView (
00682 MXDHANDLE dhandle
00683 );
00684
00686 int MxdSmartLineOpen (
00687 MXDHANDLE dhandle
00688 );
00689
00691 void MxdSmartLineRemoveCallback (
00692 MXDHANDLE dhandle,
00693 void (*func)(MxdSmartLineCallbackStruct *cb, void*),
00694 void *data,
00695 UINT32 reason
00696 );
00697
00699 int MxdSmartLineResume (
00700 MXDHANDLE handle
00701 );
00702
00704 int MxdSmartLineSuspend (
00705 MXDHANDLE handle
00706 );
00707
00709 int MxdTipOfDayAddCallback (
00710 MXDHANDLE dhandle,
00711 MxdCallbackFunc,
00712 void *data,
00713 UINT32 reason
00714 );
00715
00717 int MxdTipOfDayClose (
00718 MXDHANDLE dhandle
00719 );
00720
00725 int MxdTipOfDayCreate (
00726 Widget pwidget,
00727 MXDHANDLE *dhandle,
00728 char *dialogname,
00729 int relposn,
00730 UINT32 dialogflags
00731 );
00732
00734 int MxdTipOfDayDestroy (
00735 MXDHANDLE dhandle
00736 );
00737
00739 int MxdTipOfDayIsOpen (
00740 MXDHANDLE dhandle
00741 );
00742
00744 int MxdTipOfDayOpen (
00745 MXDHANDLE dhandle
00746 );
00747
00749 int MxdTipOfDayRemoveCallback (
00750 MXDHANDLE dhandle,
00751 MxdCallbackFunc,
00752 void *data,
00753 UINT32 reason
00754 );
00755
00757 int MxdViewProfileClose (
00758 MXDHANDLE dhandle
00759 );
00760
00762 int MxdViewProfileCreate (
00763 Widget parent,
00764 MXDHANDLE *dhandle,
00765 char *dialogname,
00766 MxRELPOSN relposn,
00767 const RVC::OBJITEM *pObjItem,
00768 int dialogflags
00769 );
00770
00772 int MxdViewProfileDestroy (
00773 MXDHANDLE dhandle
00774 );
00775
00777 int MxdViewProfileIsOpen (
00778 MXDHANDLE dhandle
00779 );
00780
00782 int MxdViewProfileOpen (
00783 MXDHANDLE dhandle
00784 );
00785
00787 int MxdViewProfileQueryObject (
00788 MXDHANDLE dhandle,
00789 RVC::OBJITEMLIST& ObjItemList
00790 );
00791
00793 int MxdViewProfileRedraw (
00794 MXDHANDLE dhandle
00795 );
00796
00798 int MxdViewProfileSetChangeObjectCallback (
00799 MXDHANDLE dhandle,
00800 void(*)(MXDHANDLE,void*,const RVC::OBJITEM&),
00801 void *chgobjdata
00802 );
00803
00805 int MxdViewProfileSetCloseCallback (
00806 MXDHANDLE dhandle,
00807 void(*)(MXDHANDLE,void*),
00808 void *closedata
00809 );
00810
00811 void MxdViewProfileSetDelegateOnCursorEnter (
00812 MXDHANDLE dhandle,
00813 DELEGATE_VOID_NOPARMS delegate
00814 );
00815
00816 void MxdViewProfileSetDelegateOnCursorLeave (
00817 MXDHANDLE dhandle,
00818 DELEGATE_VOID_NOPARMS delegate
00819 );
00820
00821 void MxdViewProfileSetDelegateOnCursorMotion (
00822 MXDHANDLE dhandle,
00823 FastDelegate<void(const DPOINT2D&, const SPATREF::COORDREFSYS&)> delegate
00824 );
00825
00827 int MxdViewProfileSetDestroyCallback (
00828 MXDHANDLE dhandle,
00829 void(*)(MXDHANDLE,void*),
00830 void *destroydata
00831 );
00832
00833 enum PROFILEFLAGS {
00834 PROFILEFLAG_None = 0x00,
00835 PROFILEFLAG_InMapCoord = 0x01,
00836 PROFILEFLAG_SeparatePoints = 0x02
00837 };
00838
00839 #ifndef GENERATING_DOXYGEN_OUTPUT
00840 DEFINE_ENUM_OP_BITWISE(PROFILEFLAGS)
00841 #endif
00842
00844 int MxdViewProfileUpdate (
00845 MXDHANDLE dhandle,
00846 DPOINT2D *mappoint,
00847 INT32 numpoints,
00848 const SPATREF::COORDREFSYS& CoordRefSys,
00849 PROFILEFLAGS flags
00850 );
00851
00853 int MxdViewRastCorrAddCallback (
00854 MXDHANDLE dhandle,
00855 MxdCallbackFunc,
00856 void *cbs,
00857 UINT32 reasonmask
00858 );
00859
00861 int MxdViewRastCorrClose (
00862 MXDHANDLE dhandle
00863 );
00864
00866 int MxdViewRastCorrCreate (
00867 Widget pwidget,
00868 MXDHANDLE *dhandle,
00869 const char *dialogname,
00870 const RVC::OBJITEM *pObjItemX,
00871 const RVC::OBJITEM *pObjItemY,
00872 UINT32 dialogflags
00873 );
00874
00876 int MxdViewRastCorrDestroy (
00877 MXDHANDLE dhandle
00878 );
00879
00881 int MxdViewRastCorrIsOpen (
00882 MXDHANDLE dhandle
00883 );
00884
00886 int MxdViewRastCorrOpen (
00887 MXDHANDLE dhandle
00888 );
00889
00891 int MxdViewRastCorrRemoveCallback (
00892 MXDHANDLE dhandle,
00893 MxdCallbackFunc,
00894 void *cbs,
00895 UINT32 reasonmask
00896 );
00897
00899 int MxdViewRastCorrSetHighlightPosn (
00900 MXDHANDLE dhandle,
00901 const TRANS2D_MAPGEN& Trans,
00902 DPOINT2D *point,
00903 UINT32 flags
00904 );
00905
00907 int MxdViewRastHistAddCallback (
00908 MXDHANDLE dhandle,
00909 void(*)(MxdAnyCallbackStruct*,void*),
00910 void *cbdata,
00911 UINT32 reasonmask
00912 );
00913
00915 int MxdViewRastHistClose (
00916 MXDHANDLE dhandle
00917 );
00918
00920 int MxdViewRastHistCreate (
00921 Widget pwidget,
00922 MXDHANDLE *dhandle,
00923 const char *dialogname,
00924 int relposn,
00925 const RVC::OBJITEM* objitem,
00926 UINT32 dialogflags
00927 );
00928
00930 int MxdViewRastHistDestroy (
00931 MXDHANDLE dhandle
00932 );
00933
00935 int MxdViewRastHistOpen (
00936 MXDHANDLE dhandle
00937 );
00938
00940 int MxdViewRastHistRemoveCallback (
00941 MXDHANDLE dhandle,
00942 void(*)(MxdAnyCallbackStruct*,void*),
00943 void *cbdata,
00944 UINT32 reasonmask
00945 );
00946
00951 int MxdViewRastHistSetRegion (
00952 MXDHANDLE dhandle,
00953 const REGION2D& region
00954 );
00955
00957 int MxdViewRoseAddVariable (
00958 MXDHANDLE dhandle,
00959 int Num,
00960 const MIUNICODE *name,
00961 double *Value,
00962 double Min,
00963 double Max,
00964 double SelPos
00965 );
00966
00968 int MxdViewRoseAddVariableAngle (
00969 MXDHANDLE dhandle,
00970 double Angle,
00971 MIUNICODE *name,
00972 double *Value,
00973 double Min,
00974 double Max,
00975 double SelPos
00976 );
00977
00979 int MxdViewRoseClose (
00980 MXDHANDLE dhandle
00981 );
00982
00984 int MxdViewRoseCreate (
00985 Widget pwidget,
00986 MXDHANDLE *dhandle,
00987 char *dialogname,
00988 int relposn,
00989 int NumVars,
00990 int dialogflags
00991 );
00992
00994 int MxdViewRoseDestroy (
00995 MXDHANDLE dhandle
00996 );
00997
00999 int MxdViewRoseIsOpen (
01000 MXDHANDLE dhandle
01001 );
01002
01004 int MxdViewRoseOpen (
01005 MXDHANDLE dhandle
01006 );
01007
01009 int MxdViewRoseScaleBar (
01010 MXDHANDLE dhandle,
01011 int Num,
01012 double *Var
01013 );
01014
01016 int MxdViewRoseSetSelectCallback (
01017 MXDHANDLE dhandle,
01018 void(*)(int, void*),
01019 void *data
01020 );
01021
01023 int MxdViewRoseUpdate (
01024 MXDHANDLE dhandle
01025 );
01026
01028 int MxdViewRoseSetCloseCallback (
01029 MXDHANDLE dhandle,
01030 void(*)(void*,void*),
01031 void *closedata
01032 );
01033
01035 int MxdViewRoseSetDestroyCallback (
01036 MXDHANDLE dhandle,
01037 void(*)(void*,void*),
01038 void *destroydata
01039 );
01040
01042 int MxdViewXYPlotAddCallback (
01043 MXDHANDLE dhandle,
01044 MxdCallbackFunc,
01045 void *cbdata,
01046 UINT32 reasonmask
01047 );
01048
01056 int MxdViewXYPlotAssignData (
01057 MXDHANDLE dhandle,
01058 INT32 Num,
01059 DPOINT2D *Points,
01060 char *Xname,
01061 char *Yname
01062 );
01063
01065 int MxdViewXYPlotClose (
01066 MXDHANDLE dhandle
01067 );
01068
01070 int MxdViewXYPlotCreate (
01071 Widget parent,
01072 MXDHANDLE *dhandle,
01073 char *name,
01074 int relposn,
01075 int dialogflags
01076 );
01077
01079 int MxdViewXYPlotDestroy (
01080 MXDHANDLE dhandle
01081 );
01082
01084 Widget MxdViewXYPlotGetFormDialog (
01085 MXDHANDLE dhandle
01086 );
01087
01089 int MxdViewXYPlotIsOpen (
01090 MXDHANDLE dhandle
01091 );
01092
01094 int MxdViewXYPlotOpen (
01095 MXDHANDLE dhandle
01096 );
01097
01099 int MxdViewXYPlotUpdate (
01100 MXDHANDLE dhandle
01101 );
01102
01104
01105 #endif