Hello Rooters, I have a question concerning WidgetMessageTypes: The "documentation" says: | ROOT reserves all message ids | between 0 - 1000. User defined messages should be in the range | 1001 - 10000. Sub-messages must always be in the range 1-255. but the code also casts message ids (MSG) to the range of 1-255 (i.e. I can't use user defined messages): inline Int_t GET_MSG(Long_t val) { return Int_t((val >> 8) & 255); } inline Int_t GET_SUBMSG(Long_t val) { return Int_t(val & 255); } I've attached a path to root/inc/gui/WidgetMessageTypes.h. Other API's (e.g. Windows) also include a symbol representing the lowest user defineable value. So that you can generate your message ids relative to this value, e.g. const EWidgetMessageTypes kC_MYWIDGET = kC_USER + (EWidgetMessageTypes)42; Just in case the systems needs more than 1000 messages somewhere along the way. Regards, Christian Lackas -- http://www.lackas.net/ Index: WidgetMessageTypes.h =================================================================== RCS file: /user/cvs/root/gui/inc/WidgetMessageTypes.h,v retrieving revision 1.4 diff -u -r1.4 WidgetMessageTypes.h --- WidgetMessageTypes.h 2000/10/22 19:28:58 1.4 +++ WidgetMessageTypes.h 2001/04/23 11:47:56 @@ -67,6 +67,7 @@ kTXT_OPEN = 6, kTXT_CLOSE = 7, kTXT_SAVE = 8, + kC_USER = 1001, kC_MSGMAX = 10000 }; @@ -74,7 +75,7 @@ // Message cracking routines inline Int_t MK_MSG(EWidgetMessageTypes msg, EWidgetMessageTypes submsg) { return (msg << 8) + submsg; } -inline Int_t GET_MSG(Long_t val) { return Int_t((val >> 8) & 255); } +inline Int_t GET_MSG(Long_t val) { return Int_t(val >> 8); } inline Int_t GET_SUBMSG(Long_t val) { return Int_t(val & 255); } #endif
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:43 MET