notify.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<
00003     FILE: notify.h
00004 
00005     DESCRIPTION: Include file for event notification support
00006 
00007     CREATED BY: Tom Hudson
00008 
00009     HISTORY: Created 8 April 1995
00010 
00011  *> Copyright (c) 1995, All Rights Reserved.
00012  **********************************************************************/
00013 
00014 #pragma once
00015 #include "maxheap.h"
00016 #include "coreexp.h"
00017 #include "strbasic.h"
00018 
00019 // forward declarations
00020 class View;
00021 class FrameRendParams;
00022 class INode;
00023 class ViewParams;
00024 
00025 // Pre-defined Max system notification codes
00035 
00037 #define NOTIFY_UNITS_CHANGE             0x00000001
00038 
00039 #define NOTIFY_TIMEUNITS_CHANGE         0x00000002 
00040 
00041 #define NOTIFY_VIEWPORT_CHANGE          0x00000003 
00042 
00043 #define NOTIFY_SPACEMODE_CHANGE         0x00000004 
00044 
00045 #define NOTIFY_SYSTEM_PRE_RESET         0x00000005 
00046 
00047 #define NOTIFY_SYSTEM_POST_RESET        0x00000006 
00048 
00049 
00050 #define NOTIFY_SYSTEM_PRE_NEW           0x00000007 
00051 
00052 
00053 #define NOTIFY_SYSTEM_POST_NEW          0x00000008 
00054 
00055 #define NOTIFY_FILE_PRE_OPEN            0x00000009 
00056 
00057 #define NOTIFY_FILE_POST_OPEN           0x0000000A 
00058 
00059 
00061 #define NOTIFY_FILE_PRE_MERGE           0x0000000B
00062 
00063 
00065 #define NOTIFY_FILE_POST_MERGE          0x0000000C 
00066 
00067 #define NOTIFY_FILE_PRE_SAVE            0x0000000D 
00068 
00069 #define NOTIFY_FILE_POST_SAVE           0x0000000E 
00070 
00071 #define NOTIFY_FILE_OPEN_FAILED         0x0000000F 
00072 
00073 #define NOTIFY_FILE_PRE_SAVE_OLD        0x00000010 
00074 
00075 #define NOTIFY_FILE_POST_SAVE_OLD       0x00000011 
00076 
00077 #define NOTIFY_SELECTIONSET_CHANGED     0x00000012 
00078 
00079 
00084 #define NOTIFY_BITMAP_CHANGED           0x00000013 
00085 
00086 #define NOTIFY_PRE_RENDER               0x00000014 
00087 
00088 #define NOTIFY_POST_RENDER              0x00000015 
00089 
00090 
00095 #define NOTIFY_PRE_RENDERFRAME          0x00000016 
00096 
00097 
00099 #define NOTIFY_POST_RENDERFRAME         0x00000017 
00100 
00101 
00102 #define NOTIFY_PRE_IMPORT               0x00000018 
00103 
00104 #define NOTIFY_POST_IMPORT              0x00000019 
00105 
00106 #define NOTIFY_IMPORT_FAILED            0x0000001A 
00107 
00108 #define NOTIFY_PRE_EXPORT               0x0000001B 
00109 
00110 #define NOTIFY_POST_EXPORT              0x0000001C 
00111 
00112 #define NOTIFY_EXPORT_FAILED            0x0000001D 
00113 
00115 
00121 
00122 
00123 
00125 #define NOTIFY_NODE_RENAMED             0x0000001E 
00126 
00127 
00130 #define NOTIFY_PRE_PROGRESS             0x0000001F 
00131 
00132 #define NOTIFY_POST_PROGRESS            0x00000020 
00133 
00134 #define NOTIFY_MODPANEL_SEL_CHANGED     0x00000021 
00135 
00136 #define NOTIFY_HEIGHT_CHANGED           0x00000022 
00137 
00138 #define NOTIFY_RENDPARAM_CHANGED        0x00000023
00139 
00142 
00143 #define NOTIFY_MATLIB_PRE_OPEN          0x00000024 
00144 
00145 
00146 #define NOTIFY_MATLIB_POST_OPEN         0x00000025 
00147 
00148 #define NOTIFY_MATLIB_PRE_SAVE          0x00000026 
00149 
00150 #define NOTIFY_MATLIB_POST_SAVE         0x00000027 
00151 
00152 #define NOTIFY_MATLIB_PRE_MERGE         0x00000028 
00153 
00154 #define NOTIFY_MATLIB_POST_MERGE        0x00000029 
00155 
00156 
00158 #define NOTIFY_FILELINK_BIND_FAILED     0x0000002A 
00159 
00160 #define NOTIFY_FILELINK_DETACH_FAILED   0x0000002B 
00161 
00162 #define NOTIFY_FILELINK_RELOAD_FAILED   0x0000002C 
00163 
00164 #define NOTIFY_FILELINK_ATTACH_FAILED   0x0000002D 
00165 
00166 #define NOTIFY_FILELINK_PRE_BIND        0x00000030 
00167 
00168 #define NOTIFY_FILELINK_POST_BIND       0x00000031 
00169 
00170 #define NOTIFY_FILELINK_PRE_DETACH      0x00000032 
00171 
00172 #define NOTIFY_FILELINK_POST_DETACH     0x00000033 
00173 
00174 #define NOTIFY_FILELINK_PRE_RELOAD      0x00000034 
00175 
00176 #define NOTIFY_FILELINK_POST_RELOAD     0x00000035 
00177 
00178 #define NOTIFY_FILELINK_PRE_ATTACH      0x00000036 
00179 
00180 
00181 #define NOTIFY_FILELINK_POST_ATTACH     0x00000037 
00182 
00184 #define NOTIFY_AB_NAVIGATE_URL          0x00000038 
00185 
00186 
00191 #define NOTIFY_RENDER_PREEVAL           0x00000039 
00192 
00193 #define NOTIFY_NODE_CREATED             0x0000003A 
00194 
00195 #define NOTIFY_NODE_LINKED              0x0000003B 
00196 
00197 #define NOTIFY_NODE_UNLINKED            0x0000003C 
00198 
00199 #define NOTIFY_NODE_HIDE                0x0000003D 
00200 
00201 #define NOTIFY_NODE_UNHIDE              0x0000003E 
00202 
00203 #define NOTIFY_NODE_FREEZE              0x0000003F 
00204 
00205 #define NOTIFY_NODE_UNFREEZE            0x00000040 
00206 
00207 #define NOTIFY_NODE_PRE_MTL             0x00000041 
00208 
00209 #define NOTIFY_NODE_POST_MTL            0x00000042 
00210 
00211 #define NOTIFY_SCENE_ADDED_NODE         0x00000043 
00212 
00213 #define NOTIFY_SCENE_PRE_DELETED_NODE   0x00000044 
00214 
00215 #define NOTIFY_SCENE_POST_DELETED_NODE  0x00000045 
00216 
00217 #define NOTIFY_SEL_NODES_PRE_DELETE     0x00000046 
00218 
00219 #define NOTIFY_SEL_NODES_POST_DELETE    0x00000047 
00220 
00222 #define NOTIFY_WM_ENABLE                0x00000048 
00223 
00225 #define NOTIFY_SYSTEM_SHUTDOWN          0x00000049 
00226 
00227 #define NOTIFY_SYSTEM_STARTUP           0x00000050 
00228 
00230 #define NOTIFY_PLUGIN_LOADED            0x00000051 
00231 
00233 
00236 #define NOTIFY_SYSTEM_SHUTDOWN2         0x00000052 
00237 
00239 #define NOTIFY_ANIMATE_ON               0x00000053 
00240 
00241 #define NOTIFY_ANIMATE_OFF              0x00000054 
00242 
00244 
00249 #define NOTIFY_COLOR_CHANGE             0x00000055 
00250 
00251 
00252 #define NOTIFY_PRE_EDIT_OBJ_CHANGE      0x00000056 
00253 
00254 
00255 #define NOTIFY_POST_EDIT_OBJ_CHANGE     0x00000057 
00256 
00258 
00260 #define NOTIFY_RADIOSITYPROCESS_STARTED 0x00000058 
00261 
00262 
00264 #define NOTIFY_RADIOSITYPROCESS_STOPPED 0x00000059 
00265 
00266 
00268 #define NOTIFY_RADIOSITYPROCESS_RESET   0x0000005A 
00269 
00270 
00272 #define NOTIFY_RADIOSITYPROCESS_DONE    0x0000005B 
00273 
00275 #define NOTIFY_LIGHTING_UNIT_DISPLAY_SYSTEM_CHANGE      0x0000005C 
00276 
00277 // #define NOTIFY_INSTANCE_CREATED          0x00000053 // Sent when a new plugin instance is created via Interface::CreateInstance(), callParam is ptr to CreateInstanceCallParam (see below)
00278 
00279 // 10/29/01 - 1:57pm --MQM-- 
00280 // These are helpful for any plugins needing to know when we're starting a reflect/refract map,
00281 // or when we're starting the actual frame.
00282 
00284 #define NOTIFY_BEGIN_RENDERING_REFLECT_REFRACT_MAP  0x0000005D 
00285 
00286 #define NOTIFY_BEGIN_RENDERING_ACTUAL_FRAME         0x0000005E 
00287 
00288 #define NOTIFY_BEGIN_RENDERING_TONEMAPPING_IMAGE    0x0000005F 
00289 
00291 #define NOTIFY_RADIOSITY_PLUGIN_CHANGED     0x00000060 
00292 
00293 // [LAM - 3/13/02] Broadcast on scene undo/redo
00295 #define NOTIFY_SCENE_UNDO                   0x00000061 
00296 
00297 #define NOTIFY_SCENE_REDO                   0x00000062 
00298 
00299 #define NOTIFY_MANIPULATE_MODE_OFF          0x00000063 
00300 
00301 #define NOTIFY_MANIPULATE_MODE_ON           0x00000064 
00302 
00303 // 020607  --prs.
00307 
00308 #define NOTIFY_SCENE_XREF_PRE_MERGE         0x00000065 
00309 
00310 #define NOTIFY_SCENE_XREF_POST_MERGE        0x00000066 
00311 
00312 #define NOTIFY_OBJECT_XREF_PRE_MERGE        0x00000067 
00313 
00314 #define NOTIFY_OBJECT_XREF_POST_MERGE       0x00000068 
00315 
00316 
00317 // [J.Zhao - 6/10/02]
00319 
00321 #define NOTIFY_PRE_MIRROR_NODES             0x00000069 
00322 
00323 
00325 #define NOTIFY_POST_MIRROR_NODES            0x0000006A 
00326 
00327 // [bayboro | 1may2002] Broadcast on node cloning
00329 #define NOTIFY_NODE_CLONED                  0x0000006B  
00330 
00331 // [J.Zhao - 10/4/02] The following two notifications may be broadcast
00332 // when NotifyDependents from outside the recursion, that is, not during
00333 // the traversal of reference targets.
00334 // Right now, for examples, the very sources of NotifyDependents() of
00335 //  - \ref REFMSG_MOUSE_CYCLE_STARTED
00336 //  - \ref REFMSG_MOUSE_CYCLE_COMPLETED
00337 // are bracketed by the notifications.
00338 
00340 
00341 #define NOTIFY_PRE_NOTIFYDEPENDENTS         0x0000006C 
00342 
00343 
00344 #define NOTIFY_POST_NOTIFYDEPENDENTS        0x0000006D 
00345 
00346 //[hutchij 10/26/02]
00348 #define NOTIFY_MTL_REFADDED                 0x0000006E 
00349 
00350 #define NOTIFY_MTL_REFDELETED               0x0000006F 
00351 
00352 
00353 //watje TIMERANGE CALLBACK
00354 //watje time range call back for CS
00356 #define NOTIFY_TIMERANGE_CHANGE             0x00000070 
00357 
00358 //aszabo|dec.04.02|
00360 
00362 #define NOTIFY_PRE_MODIFIER_ADDED           0x00000071 
00363 
00364 
00366 #define NOTIFY_POST_MODIFIER_ADDED          0x00000072 
00367 
00368 
00370 #define NOTIFY_PRE_MODIFIER_DELETED         0x00000073 
00371 
00372 
00374 #define NOTIFY_POST_MODIFIER_DELETED        0x00000074 
00375 
00376 // See Node Property Change Notifications, below (codes 0x74 through 0x85)
00377 
00378 // CA - 1/23/03
00380 
00381 #define NOTIFY_FILELINK_POST_RELOAD_PRE_PRUNE   0x00000085
00382 
00383 // aszabo|jan.24.03|
00385 
00388 #define NOTIFY_PRE_NODES_CLONED             0x00000086 
00389 
00390 
00393 #define NOTIFY_POST_NODES_CLONED            0x00000087 
00394 #define NOTIFY_POST_MERGE_PROCESS           0x00000088
00395 
00396 // xavier robitaille | 03.02.07
00398 
00399 #define NOTIFY_SYSTEM_PRE_DIR_CHANGE        0x00000089 
00400 
00401 
00402 #define NOTIFY_SYSTEM_POST_DIR_CHANGE       0x0000008A 
00403 
00405 
00406 #define NOTIFY_SV_SELECTIONSET_CHANGED      0x0000008C 
00407 
00408 
00409 #define NOTIFY_SV_DOUBLECLICK_GRAPHNODE     0x0000008D 
00410 
00412 #define NOTIFY_PRE_RENDERER_CHANGE          0x0000008E 
00413 
00414 #define NOTIFY_POST_RENDERER_CHANGE         0x0000008F 
00415 
00417 
00418 #define NOTIFY_SV_PRE_LAYOUT_CHANGE         0x00000090 
00419 
00420 
00421 #define NOTIFY_SV_POST_LAYOUT_CHANGE        0x00000091 
00422 
00424 
00426 #define NOTIFY_BY_CATEGORY_DISPLAY_FILTER_CHANGED   0x00000092 
00427 
00429 
00432 #define NOTIFY_CUSTOM_DISPLAY_FILTER_CHANGED    0x00000093 
00433 
00435 
00436 #define NOTIFY_LAYER_CREATED                0x00000094 
00437 
00438 #define NOTIFY_LAYER_DELETED                0x00000095 
00439 
00440 
00442 #define NOTIFY_NODE_LAYER_CHANGED           0x00000096 
00443  
00445 
00446 #define NOTIFY_TABBED_DIALOG_CREATED        0x00000097 
00447 
00448 
00449 #define NOTIFY_TABBED_DIALOG_DELETED        0x00000098 
00450 
00452 
00453 #define NOTIFY_NODE_NAME_SET                0x00000099 
00454 
00456 /* This allows the standard material to force a rebuild of the hardware shader.  
00457 Param is a pointer to the material being effected. */
00458 #define NOTIFY_HW_TEXTURE_CHANGED           0x0000009A 
00459 
00461 
00464 #define NOTIFY_MXS_STARTUP                  0x0000009B 
00465 
00467 #define NOTIFY_MXS_POST_STARTUP             0x0000009C 
00468 
00470 #define NOTIFY_ACTION_ITEM_PRE_EXEC         0x0000009D 
00471 
00472 #define NOTIFY_ACTION_ITEM_POST_EXEC        0x0000009E 
00473 // NotifyInfo::callParam is ActionItem*
00474 
00475 // CCJ - 12.7.2004
00480 
00481 #define NOTIFY_SCENESTATE_PRE_SAVE          0x0000009F 
00482 
00483 #define NOTIFY_SCENESTATE_POST_SAVE         0x000000A0 
00484 
00485 #define NOTIFY_SCENESTATE_PRE_RESTORE       0x000000A1 
00486 
00487 #define NOTIFY_SCENESTATE_POST_RESTORE      0x000000A2 
00488 
00489 #define NOTIFY_SCENESTATE_DELETE            0x000000A3 
00490 
00491 
00492 
00493 #define NOTIFY_SCENESTATE_RENAME            0x000000A4 
00494 
00495 
00496 // NH 20-Dec-04
00499 
00500 #define NOTIFY_SCENE_PRE_UNDO               0x000000A5 
00501 
00502 
00506 #define NOTIFY_SCENE_PRE_REDO               0x000000A6 
00507 
00508 #define NOTIFY_SCENE_POST_UNDO NOTIFY_SCENE_UNDO 
00509 
00510 #define NOTIFY_SCENE_POST_REDO NOTIFY_SCENE_REDO 
00511 
00512 
00513 // Added LAM 19-Jan-05
00515 
00516 #define NOTIFY_MXS_SHUTDOWN                 0x000000A7 
00517 
00518 //Added NH 21-Jan-05
00520 
00521 #define NOTIFY_D3D_PRE_DEVICE_RESET         0x000000A8 
00522 
00523 
00524 #define NOTIFY_D3D_POST_DEVICE_RESET        0x000000A9 
00525 
00526 // JH 2-18-05
00528 
00531 #define NOTIFY_TOOLPALETTE_MTL_SUSPEND      0x000000AA
00532 
00534 
00537 #define NOTIFY_TOOLPALETTE_MTL_RESUME       0x000000AB
00538 
00539 // Added LAM 04-Mar-05
00541 
00544 #define NOTIFY_CLASSDESC_REPLACED           0x000000AC
00545 
00546 // Added russom 08-Mar-05
00551 #define NOTIFY_FILE_PRE_OPEN_PROCESS        0x000000AD
00552 #define NOTIFY_FILE_POST_OPEN_PROCESS       0x0000008B
00553 #define NOTIFY_FILE_PRE_SAVE_PROCESS        0x000000AE
00554 #define NOTIFY_FILE_POST_SAVE_PROCESS       0x000000AF
00555 
00556 
00557 // Added LAM 15-Mar-05
00559 
00562 #define NOTIFY_CLASSDESC_LOADED             0x000000B0
00563 
00564 // Added MAB 7-June-05
00566 #define NOTIFY_TOOLBARS_PRE_LOAD                0x000000B1
00567 
00568 #define NOTIFY_TOOLBARS_POST_LOAD               0x000000B2
00569 
00575 
00576 #define NOTIFY_ATS_PRE_REPATH_PHASE             0x000000B3
00577 
00578 #define NOTIFY_ATS_POST_REPATH_PHASE            0x000000B4
00579 
00580 
00590 #define NOTIFY_PROXY_TEMPORARY_DISABLE_START    0x000000B5
00591 #define NOTIFY_PROXY_TEMPORARY_DISABLE_END      0x000000B6
00592 
00593 
00594 // Added russom 11-Apr-06
00600 #define NOTIFY_FILE_CHECK_STATUS                0x000000B7
00601 
00606 
00607 
00608 
00610 #define NOTIFY_NAMED_SEL_SET_CREATED            0x000000B8
00611 
00612 
00614 #define NOTIFY_NAMED_SEL_SET_DELETED            0x000000B9
00615 
00616 
00617 
00619 #define NOTIFY_NAMED_SEL_SET_RENAMED            0x000000BC
00620 
00621 
00622 
00623 
00635 #define NOTIFY_NAMED_SEL_SET_PRE_MODIFY         0x000000CA
00636 
00637 
00639 #define NOTIFY_NAMED_SEL_SET_POST_MODIFY        0x000000CB
00640 
00641 
00643 #define NOTIFY_MODPANEL_SUBOBJECTLEVEL_CHANGED  0x000000BA
00644 
00645 // NH 13-May-2006
00646 
00648 
00656 #define NOTIFY_FAILED_DIRECTX_MATERIAL_TEXTURE_LOAD     0x000000BB
00657 
00659 
00663 #define NOTIFY_RENDER_PREEVAL_FRAMEINFO                 0x000000BC
00664 
00666 
00668 #define NOTIFY_POST_SCENE_RESET                         0x000000BD
00669 
00671 
00673 #define NOTIFY_ANIM_LAYERS_ENABLED                          0x000000BE
00674 
00676 
00678 #define NOTIFY_ANIM_LAYERS_DISABLED                         0x000000BF
00679 
00681 
00682 #define NOTIFY_ACTION_ITEM_PRE_START_OVERRIDE                   0x000000C0
00683 
00685 
00686 #define NOTIFY_ACTION_ITEM_POST_START_OVERRIDE                  0x000000C1
00687 
00689 
00690 #define NOTIFY_ACTION_ITEM_PRE_END_OVERRIDE                 0x000000C2
00691 
00693 
00694 #define NOTIFY_ACTION_ITEM_POST_END_OVERRIDE                    0x000000C3
00695 
00696 //aszabo|dec.11.02|
00697 
00702 #define NOTIFY_PRE_NODE_GENERAL_PROP_CHANGED    0x00000075 // Encompasses Render, Display, and Basic props below
00703 #define NOTIFY_POST_NODE_GENERAL_PROP_CHANGED   0x00000076 // Encompasses Render, Display, and Basic props below
00704 #define NOTIFY_PRE_NODE_GI_PROP_CHANGED         0x00000077
00705 #define NOTIFY_POST_NODE_GI_PROP_CHANGED        0x00000078
00706 #define NOTIFY_PRE_NODE_MENTALRAY_PROP_CHANGED  0x00000079
00707 #define NOTIFY_POST_NODE_MENTALRAY_PROP_CHANGED 0x00000080
00708 #define NOTIFY_PRE_NODE_BONE_PROP_CHANGED       0x00000081
00709 #define NOTIFY_POST_NODE_BONE_PROP_CHANGED      0x00000082
00710 #define NOTIFY_PRE_NODE_USER_PROP_CHANGED       0x00000083
00711 #define NOTIFY_POST_NODE_USER_PROP_CHANGED      0x00000084
00712 
00713 #define NOTIFY_PRE_NODE_RENDER_PROP_CHANGED     0x000000C4
00714 #define NOTIFY_POST_NODE_RENDER_PROP_CHANGED    0x000000C5
00715 #define NOTIFY_PRE_NODE_DISPLAY_PROP_CHANGED    0x000000C6
00716 #define NOTIFY_POST_NODE_DISPLAY_PROP_CHANGED   0x000000C7
00717 #define NOTIFY_PRE_NODE_BASIC_PROP_CHANGED      0x000000C8
00718 #define NOTIFY_POST_NODE_BASIC_PROP_CHANGED     0x000000C9
00719 
00720 
00722 
00723 #define NOTIFY_SELECTION_LOCK                   0x000000D0
00724 
00725 
00726 #define NOTIFY_SELECTION_UNLOCK                 0x000000D1
00727 
00729 
00732 #define NOTIFY_PRE_IMAGE_VIEWER_DISPLAY         0x000000D2
00733 
00734 
00736 #define NOTIFY_POST_IMAGE_VIEWER_DISPLAY        0x000000D3
00737 
00738 
00740 #define NOTIFY_IMAGE_VIEWER_UPDATE              0x000000D4
00741 
00747 
00748 #define NOTIFY_CUSTOM_ATTRIBUTES_ADDED          0x000000D5
00749 
00750 #define NOTIFY_CUSTOM_ATTRIBUTES_REMOVED        0x000000D6
00751 
00752 
00754 #define NOTIFY_OS_THEME_CHANGED                 0x000000D7
00755 
00757 
00759 #define NOTIFY_ACTIVE_VIEWPORT_CHANGED          0x000000D8
00760 
00762 #define NOTIFY_PRE_MAXMAINWINDOW_SHOW           0x000000DB
00763 
00765 #define NOTIFY_POST_MAXMAINWINDOW_SHOW          0x000000DC
00766 
00768 
00773 #define NOTIFY_CLASSDESC_ADDED          0x000000DD
00774 
00776 
00788 #define NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN           0x000000DE
00789 
00791 
00803 #define NOTIFY_OBJECT_DEFINITION_CHANGE_END         0x000000DF
00804 
00805 
00807 
00808 #define NOTIFY_MTLBASE_PARAMDLG_PRE_OPEN            0x000000E0
00809 
00811 
00812 #define NOTIFY_MTLBASE_PARAMDLG_POST_CLOSE          0x000000E1
00813 
00815 
00816 #define NOTIFY_APP_FRAME_THEME_CHANGED              0x000000E2
00817 
00818 
00819 // Note #1: If you add more built-in notification codes, consider
00820 //    increasing NUM_BUILTIN_NOTIFIERS in core\notify.cpp - currently 0x00E7
00821 
00822 // Note #2: If you add more built-in notification codes, consider
00823 //    adding them to MAXScript. See maxscrpt\maxcallbacks.cpp
00824 
00825 // Start of messages for internal use only.
00826 #define NOTIFY_INTERNAL_USE_START               0x70000000
00827 
00833 
00834 #define PRE_NEW_NEW_ALL 0x1
00835 
00836 #define PRE_NEW_KEEP_OBJECTS 0x2
00837 
00838 #define PRE_NEW_KEEP_OBJECTS_AND_HIERARCHY 0x3
00839 
00840 
00841 // Added russom 08-Mar-05
00844 //* \brief iProcessType value for scene file save/load
00846 #define FILE_PROCESS_SCENE                  0x1
00847 //* \brief iProcessType value for hold/fetch
00849 #define FILE_PROCESS_HOLD_FETCH             0x2
00850 //* \brief iProcessType value for auto backup
00852 #define FILE_PROCESS_AUTOBAK                0x3
00853 
00854 
00855 //  Added russom 11-Apr-06
00859 //* \brief iStatus value for NOTIFY_FILE_CHECK_STATUS
00860 /*  \see NOTIFY_FILE_CHECK_STATUS  */
00861 #define FILE_STATUS_READONLY                0x1
00862 
00863 
00864 
00866 
00867 // Notification information structure -- Passed to NOTIFYPROC to inform it what
00868 // it's being notified about...
00901 struct NotifyInfo: public MaxHeapOperators {
00902     int intcode;
00905     void *callParam;  // this param can be passed in with BroadcastNotification;
00906 };
00907 
00908 // The notification callback function
00909 typedef void (* NOTIFYPROC)(void *param, NotifyInfo *info);
00910 
00911 // Integer versions -- For pre-defined MAX codes
00918 CoreExport int RegisterNotification(NOTIFYPROC proc, void *param, int code);
00928 CoreExport int UnRegisterNotification(NOTIFYPROC proc, void *param, int code);
00932 CoreExport void BroadcastNotification(int code);
00939 CoreExport void BroadcastNotification(int code, void *callParam);
00940 
00941 // Unregister a callback from all codes
00947 CoreExport int UnRegisterNotification(NOTIFYPROC proc, void *param);
00948 
00949 class ClassDesc;
00950 
00951 class CreateInstanceCallParam: public MaxHeapOperators {
00952 public:
00953     void* instance;
00954     ClassDesc* cd;
00955     CreateInstanceCallParam (void* i, ClassDesc* cd) : instance(i), cd(cd) { }
00956 }; 
00957 
00962 struct NotifyPreEval_FrameInfo : public MaxHeapOperators {
00965     View* view;
00967     FrameRendParams* frp;
00969     INode* viewNode;
00972     ViewParams* viewParams;
00973 };
00974 
00976 
00981 struct NameChange{ 
00983     MCHAR* oldname;
00985     MCHAR* newname;
00986 };
00987 
00989 
00992 struct ObjectDefinitionChangeNotificationParam : public MaxHeapOperators
00993 {
00995     enum ObjectDefinitionType{ 
00997         kScriptedPlugin = 0 
00998     };
01000     ObjectDefinitionType m_type;
01002     void* m_definition;
01003     ObjectDefinitionChangeNotificationParam(ObjectDefinitionType type, void* definition) : m_type(type), m_definition(definition) {}
01004 private:
01005     ObjectDefinitionChangeNotificationParam();
01006 };
01007 
01008