1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22#ifndef MACROS_INC 23#define MACROS_INC 24/* ===================================================== 25 * global helper macros 26 * =====================================================*/ 27 28#define DOSTRING( x ) #x 29#define STRING( x ) DOSTRING( x ) 30#define DOCONCAT2( x, y ) x##y 31#define CONCAT2( x, y) DOCONCAT2(x,y) 32#define DOCONCAT3( x, y, z ) x##y##z 33#define CONCAT3( x, y, z ) DOCONCAT3(x,y,z) 34#define DOCONCAT4( x, y, z, a ) x##y##z##a 35#define CONCAT4( x, y, z, a ) DOCONCAT4(x,y,z,a) 36#define DOCONCAT5( x, y, z, a, b ) x##y##z##a##b 37#define CONCAT5( x, y, z, a, b ) DOCONCAT5(x,y,z,a,b) 38#define DOCONCAT6( x, y, z, a, b, c ) x##y##z##a##b##c 39#define CONCAT6( x, y, z, a, b, c ) DOCONCAT6(x,y,z,a,b,c) 40#define DOCONCAT7( x, y, z, a, b, c, u) x##y##z##a##b##c##u 41#define CONCAT7( x, y, z, a, b, c, u) DOCONCAT7(x,y,z,a,b,c,u) 42#define DOCONCAT8( x, y, z, a, b, c, u, v) x##y##z##a##b##c##u##v 43#define CONCAT8( x, y, z, a, b, c, u, v) DOCONCAT8(x,y,z,a,b,c,u,v) 44#define DOCONCAT9( x, y, z, a, b, c, u, v, w) x##y##z##a##b##c##u##v##w 45#define CONCAT9( x, y, z, a, b, c, u, v, w) DOCONCAT9(x,y,z,a,b,c,u,v,w) 46 47#define MOD_NAME_DESC(id) \ 48 ALL_LANG(Name,STR_NAME_##id); \ 49 ALL_LANG(Description,STR_DESC_##id) 50 51#define MOD_NAME_DESC_ON_DESELECT(id) \ 52 MOD_NAME_DESC(id); \ 53 ALL_LANG(OnDeselect,STR_DESELECT_##id) 54 55#define REG_VALUE_LNG(id) \ 56 ALL_LANG(Value,STR_REG_VAL_##id); 57 58#define FOLDERITEM_NAME_LNG(id) \ 59 ALL_LANG(Name,STR_FI_NAME_##id); 60 61#define ALL_LANG_STR_KEY(ident) \ 62 ALL_LANG(Key,ident) 63 64#define ALL_LANG_STR_KEY_LNG(ident) \ 65 ALL_LANG(Key,STR_KEY_##ident) 66 67#define ALL_LANG_STR_VALUE_LNG(ident) \ 68 ALL_LANG(Value,STR_VALUE_##ident) 69 70#define ALL_LANG_VALUE(vident) \ 71 ALL_LANG(Value,vident) 72 73#define ALL_LANG_KEY(vident) \ 74 ALL_LANG(Key,vident) 75 76 77#ifdef UNX 78 #ifdef MACOSX 79 #define UNXSUFFIX .dylib 80 #else 81 #define UNXSUFFIX .so 82 #endif 83#endif 84 85#ifdef UNX 86 #define LIBNAME(name) STRING(CONCAT4(lib,name,DLLPOSTFIX,UNXSUFFIX)) 87 #define FILTER_LIBNAME(name) LIBNAME(name) 88 #define EXENAME(name) STRING(name) 89 #define PROFILENAME(name) STRING(CONCAT2(name,rc)) 90 #define SPECIAL_NAME(name) STRING(CONCAT3(lib,name,UNXSUFFIX)) 91 #ifdef MACOSX 92 #define SPECIAL_NAME_VER(name,version) STRING(CONCAT5(lib,name,.,version,UNXSUFFIX)) 93 #else 94 #define SPECIAL_NAME_VER(name,version) STRING(CONCAT5(lib,name,UNXSUFFIX,.,version)) 95 #endif 96 #define SPECIAL_COMPONENT_LIB_NAME(name) STRING(CONCAT2(name,UNXSUFFIX)) 97#else 98 #define LIBNAME(name) STRING(CONCAT3(name,DLLPOSTFIX,.dll)) 99 #define FILTER_LIBNAME(name) LIBNAME(name) 100 #define EXENAME(name) STRING(CONCAT2(name,.exe)) 101 #define PROFILENAME(name) STRING(CONCAT2(name,.ini)) 102 #define SPECIAL_NAME(name) STRING(CONCAT2(name,.dll)) 103 #define SPECIAL_COMPONENT_LIB_NAME(name) STRING(CONCAT2(name,.dll)) 104#endif 105 106#define RESFILENAME(name,lang) STRING(CONCAT3(name,lang,.res)) 107#define SHORTRESFILENAME(name,lang) STRING(CONCAT3(name,lang,.res)) 108#define READMETXTFILENAME(name,lang,ext) STRING(CONCAT4(name,lang,.,ext)) 109#define READMEFILENAME(name,lang) STRING(CONCAT2(name,lang)) 110#define HELPFILENAME(name,endung) STRING(CONCAT3(name,.,endung)) 111#define EXTRAFILENAME(name,lang) STRING(CONCAT3(name,lang,.zip)) 112#define CONFIGLANGFILENAME(name,lang,ext) STRING(CONCAT4(name,lang,.,ext)) 113 114#if defined WNT 115#define SCP2_OOO_BIN_DIR gid_Brand_Dir_Program 116#else 117#define SCP2_OOO_BIN_DIR gid_Dir_Program 118#endif 119 120#define BIN_FILE_BODY \ 121 UnixRights = 555 122 123#define TXT_FILE_BODY \ 124 UnixRights = 444 125 126#define USER_FILE_BODY \ 127 UnixRights = 644 128 129#define PACKED_TXT_FILE_BODY \ 130 TXT_FILE_BODY; \ 131 Styles = (PACKED) 132 133#define PACKED_TXT_FILE_BODY_PATCH \ 134 TXT_FILE_BODY; \ 135 Styles = (PACKED,PATCH) 136 137#define ARCHIVE_TXT_FILE_BODY \ 138 TXT_FILE_BODY; \ 139 Styles = (ARCHIVE) 140 141#define ARCHIVE_TXT_FILE_BODY_PATCH \ 142 TXT_FILE_BODY; \ 143 Styles = (ARCHIVE,PATCH) 144 145#define ARCHIVE_SUBST_FILE_BODY \ 146 TXT_FILE_BODY; \ 147 Styles = (ARCHIVE,SUBSTITUTE) 148 149#define ARCHIVE_SUBST_FILE_BODY_PATCH \ 150 TXT_FILE_BODY; \ 151 Styles = (ARCHIVE,SUBSTITUTE,PATCH) 152 153#define PACKED_LIB_FILE_BODY \ 154 TXT_FILE_BODY; \ 155 Styles = (PACKED); \ 156 Dir = SCP2_OOO_BIN_DIR 157 158#define PACKED_LIB_FILE_BODY_PATCH \ 159 TXT_FILE_BODY; \ 160 Styles = (PACKED,PATCH); \ 161 Dir = SCP2_OOO_BIN_DIR 162 163#define PACKED_FILTER_FILE_BODY \ 164 TXT_FILE_BODY; \ 165 Styles = (PACKED); \ 166 Dir = gid_Dir_Filter 167 168#define PACKED_FILTER_FILE_BODY_PATCH \ 169 TXT_FILE_BODY; \ 170 Styles = (PACKED,PATCH); \ 171 Dir = gid_Dir_Filter 172 173#define STD_LIB_FILE(id,name) \ 174 File id \ 175 Name = LIBNAME(name); \ 176 PACKED_LIB_FILE_BODY; \ 177 End 178 179#define STD_LIB_FILE_PATCH(id,name) \ 180 File id \ 181 Name = LIBNAME(name); \ 182 PACKED_LIB_FILE_BODY_PATCH; \ 183 End 184 185#define SPECIAL_LIB_FILE(id,name) \ 186 File id \ 187 Name = SPECIAL_NAME(name); \ 188 PACKED_LIB_FILE_BODY; \ 189 End 190 191#define SPECIAL_LIB_FILE_PATCH(id,name) \ 192 File id \ 193 Name = SPECIAL_NAME(name); \ 194 PACKED_LIB_FILE_BODY_PATCH; \ 195 End 196 197#define STD_RES_FILE(id,name) \ 198 File id \ 199 TXT_FILE_BODY; \ 200 RESFILE_ALL_LANG(name); \ 201 Dir = gid_Dir_Resource; \ 202 Styles = (PACKED); \ 203 End 204 205#define BRAND_RES_FILE(id,name) \ 206 File id \ 207 TXT_FILE_BODY; \ 208 RESFILE_ALL_LANG(name); \ 209 Dir = gid_Brand_Dir_Resource; \ 210 Styles = (PACKED); \ 211 End 212 213#define STD_RES_FILE_PATCH(id,name) \ 214 File id \ 215 TXT_FILE_BODY; \ 216 RESFILE_ALL_LANG(name); \ 217 Dir = gid_Dir_Resource; \ 218 Styles = (PACKED,PATCH); \ 219 End 220 221#define STD_RES_FILE_ONLY_PATCH(id,name) \ 222 File id \ 223 TXT_FILE_BODY; \ 224 RESFILE_ALL_LANG(name); \ 225 Dir = gid_Dir_Resource; \ 226 Styles = (PACKED,PATCH,PATCH_ONLY); \ 227 End 228 229#define STD_FILTER_FILE(id,name) \ 230 File id \ 231 PACKED_LIB_FILE_BODY; \ 232 Name = FILTER_LIBNAME(name); \ 233 End 234 235#define STD_FILTER_FILE_PATCH(id,name) \ 236 File id \ 237 PACKED_LIB_FILE_BODY_PATCH; \ 238 Name = FILTER_LIBNAME(name); \ 239 End 240 241#define STD_FONTUNX_FILE(id,name,fontname) \ 242 File id \ 243 TXT_FILE_BODY; \ 244 Dir = gid_Dir_Fonts_Truetype; \ 245 Styles = (PACKED, FONT_WARN_IF_EXISTS); \ 246 Name = STRING(name) ; \ 247 End 248 249#define STD_FONTWIN_FILE(id,name,fontname) \ 250 File id \ 251 TXT_FILE_BODY; \ 252 Dir = PREDEFINED_OSSYSTEMFONTDIR; \ 253 Styles = (PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \ 254 Name = STRING(name) ; \ 255 FontName = STRING(fontname) ; \ 256 NetDir = gid_Dir_Winfonts; \ 257 End 258 259#ifdef UNX 260#define STD_FONT_FILE(id,name,fontname) \ 261 File id \ 262 TXT_FILE_BODY; \ 263 Dir = gid_Dir_Fonts_Truetype; \ 264 Styles = (PACKED, FONT_WARN_IF_EXISTS); \ 265 Name = STRING(name) ; \ 266 End 267#endif 268 269#ifdef UNX 270#define STD_FONT_FILE_DUO(id,name,unxfontname,winfontname) \ 271 File id \ 272 TXT_FILE_BODY; \ 273 Dir = gid_Dir_Fonts_Truetype; \ 274 Styles = (PACKED, FONT_WARN_IF_EXISTS); \ 275 Name = STRING(name) ; \ 276 End 277#endif 278 279#ifdef WNT 280#define STD_FONT_FILE(id,name,fontname) \ 281 File id \ 282 TXT_FILE_BODY; \ 283 Dir = PREDEFINED_OSSYSTEMFONTDIR; \ 284 Styles = (PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \ 285 Name = STRING(name) ; \ 286 FontName = STRING(fontname) ; \ 287 NetDir = gid_Dir_Winfonts; \ 288 End 289#endif 290 291#ifdef WNT 292#define STD_FONT_FILE_DUO(id,name,unxfontname,winfontname) \ 293 File id \ 294 TXT_FILE_BODY; \ 295 Dir = PREDEFINED_OSSYSTEMFONTDIR; \ 296 Styles = (PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \ 297 Name = STRING(name) ; \ 298 FontName = STRING(winfontname) ; \ 299 NetDir = gid_Dir_Winfonts; \ 300 End 301#endif 302 303#define STD_JAR_FILE(id,name) \ 304 File id \ 305 TXT_FILE_BODY; \ 306 Name = STRING(CONCAT2(name,.jar)); \ 307 Dir = gid_Dir_Classes; \ 308 Styles = (PACKED,DONT_OVERWRITE); \ 309 End 310 311#define STD_JAR_FILE_PATCH(id,name) \ 312 File id \ 313 TXT_FILE_BODY; \ 314 Name = STRING(CONCAT2(name,.jar)); \ 315 Dir = gid_Dir_Classes; \ 316 Styles = (PACKED,DONT_OVERWRITE,PATCH); \ 317 End 318 319#define JARFILENAME(name) STRING(CONCAT2(name,.jar)) 320 321#define PACKED_SHELLNEW_FILE_BODY \ 322 TXT_FILE_BODY; \ 323 Styles = (PACKED,WORKSTATION, OVERWRITE); \ 324 Dir = PREDEFINED_OSSHELLNEWDIR; \ 325 NetDir = gid_Dir_Shellnew 326 327#define STD_SHELLNEW_FILE(id,name) \ 328 File id \ 329 PACKED_SHELLNEW_FILE_BODY; \ 330 Name = STRING(name) ; \ 331 End 332 333#define SPECIAL_COMPONENT_LIB_FILE(id,name) \ 334 File id \ 335 Name = SPECIAL_COMPONENT_LIB_NAME(name); \ 336 PACKED_LIB_FILE_BODY; \ 337 End 338 339#define SPECIAL_COMPONENT_LIB_FILE_PATCH(id,name) \ 340 File id \ 341 Name = SPECIAL_COMPONENT_LIB_NAME(name); \ 342 PACKED_LIB_FILE_BODY_PATCH; \ 343 End 344 345#define WINW4WFILTERFILENAME(name) STRING(CONCAT2(name,f32w.dll)) 346 347#define STD_WIN_W4WFILTER_FILE(id,name) \ 348 File id \ 349 PACKED_FILTER_FILE_BODY; \ 350 Name = WINW4WFILTERFILENAME(name); \ 351 End 352 353#define SOLSW4WFILTERFILENAME(name) STRING(CONCAT2(w4w, name)) 354 355#define STD_SOLS_W4WFILTER_FILE(id,name) \ 356 File id \ 357 BIN_FILE_BODY; \ 358 Styles = (PACKED); \ 359 Dir = gid_Dir_Filter; \ 360 Name = SOLSW4WFILTERFILENAME(name); \ 361 End 362 363#define SPECIAL_NO_WARNING_IF_NOT_EXISTS_FILE(id,name) \ 364 File id \ 365 TXT_FILE_BODY; \ 366 Name = LIBNAME(name); \ 367 Dir = SCP2_OOO_BIN_DIR; \ 368 Styles = (PACKED, NO_WARNING_IF_NOT_EXISTS); \ 369 End 370 371// --------------------------------------- 372#define CONDITIONAL_MODULE_ENTRY(name,modid) \ 373 Module gid_Module_Root_Reg_##name \ 374 ParentID = modid; \ 375 Name = STRING(CONCAT2(gid_Module_Root_,name)); \ 376 Description = STRING(CONCAT2(gid_Module_Root_,name)); \ 377 Default = YES; \ 378 Styles = (HIDDEN_ROOT); \ 379End 380 381#define REGISTRY_ENTRY_OPEN_WITH(name,cond,doc_type,modid,key) \ 382 RegistryItem gid_Regitem_OpenOffice_##cond##_OpenWith_##doc_type \ 383 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 384 ModuleID = modid; \ 385 Subkey = STRING(CONCAT3(.,key,\OpenWithProgIDs)); \ 386 Name = STRING(CONCAT2(OpenOffice.org.,name)); \ 387 Value = " "; \ 388 End 389 390#define REGISTRY_ENTRY_OPEN_WITH_TMPL(name,cond,doc_type,modid,key) \ 391 RegistryItem gid_Regitem_OpenOffice_##cond##_OpenWith_##doc_type \ 392 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 393 ModuleID = modid; \ 394 Subkey = STRING(CONCAT3(.,key,\OpenWithProgIDs)); \ 395 Name = STRING(CONCAT2(OpenOffice.org.,name)); \ 396 Value = " "; \ 397 End 398 399#define CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \ 400 RegistryItem gid_Regitem__##name \ 401 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 402 ModuleID = gid_Module_Root_Reg_##name; \ 403 Subkey = STRING(CONCAT2(.,key)); \ 404 Value = STRING(CONCAT2(OpenOffice.org.,name)); \ 405 ComponentCondition = STRING(CONCAT3(REGISTER_,cond,=1)); \ 406 End 407 408#define REGISTRY_ENTRY_DOC(name,modid,disp_name) \ 409 RegistryItem CONCAT2(gid_Regitem_Openoffice_,name) \ 410 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 411 ModuleID = modid; \ 412 Subkey = STRING(CONCAT2(OpenOffice.org.,name)); \ 413 REG_VALUE_LNG(disp_name) \ 414 End 415 416#define REGISTRY_ENTRY_ICON(name,modid,icon_id) \ 417 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Defaulticon) \ 418 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 419 ModuleID = modid; \ 420 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\DefaultIcon)); \ 421 Value = "<progpath>\program\soffice.exe," STRING(icon_id); \ 422 End 423 424#define REGISTRY_ENTRY_SHELL(name,default,modid) \ 425 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell) \ 426 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 427 ModuleID = modid; \ 428 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell)); \ 429 Value = STRING(default); \ 430 End 431 432#define REGISTRY_ENTRY_NEW_CMD(name,modid,app) \ 433 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_New) \ 434 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 435 ModuleID = modid; \ 436 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell\new)); \ 437 REG_VALUE_LNG(NEW) \ 438 End \ 439 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_New_Command) \ 440 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 441 ModuleID = modid; \ 442 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell\new\command)); \ 443 Value = "\"<progpath>\program\\" STRING(app) "\" -n \"%1\""; \ 444 End 445 446#define REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \ 447 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Open_Command) \ 448 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 449 ModuleID = modid; \ 450 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell\open\command)); \ 451 Value = "\"<progpath>\program\\" STRING(app) "\" -o \"%1\""; \ 452 End 453 454#define REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \ 455 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Print_Command) \ 456 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 457 ModuleID = modid; \ 458 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell\print\command)); \ 459 Value = "\"<progpath>\program\\" STRING(app) "\" -p \"%1\""; \ 460 End 461 462#define REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \ 463 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Printto_Command) \ 464 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 465 ModuleID = modid; \ 466 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell\printto\command)); \ 467 Value = "\"<progpath>\program\\" STRING(app) "\" -pt \"%2\" \"%1\""; \ 468 End 469 470#define REGISTRY_ENTRY_CAPABILITIES(name,modid,key,doc_type) \ 471 RegistryItem CONCAT2(gid_Regitem_Software_Manufacturer_Productname_Productversion_Capabilities_FileAssociations_,name) \ 472 ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \ 473 ModuleID = modid; \ 474 Subkey = STRING(Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\Capabilities\FileAssociations); \ 475 Name = STRING(CONCAT2(.,key)); \ 476 Value = STRING(CONCAT2(OpenOffice.org.,name)); \ 477 Styles = (); \ 478 End 479 480#define REGISTRY_ENTRY_TEMPLATE_CAPABILITIES(name,modid,key,doc_type) \ 481 RegistryItem CONCAT2(gid_Regitem_Software_Manufacturer_Productname_Productversion_Capabilities_FileAssociations_,name) \ 482 ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \ 483 ModuleID = modid; \ 484 Subkey = STRING(Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\Capabilities\FileAssociations); \ 485 Name = STRING(CONCAT2(.,key)); \ 486 Value = STRING(CONCAT2(OpenOffice.org.,name)); \ 487 Styles = (); \ 488 End 489 490#define CONDITIONAL_REGISTER_DOC_EXTENSION(name,modid,key,cond,disp_name,icon_id,app,default,doc_type) \ 491 CONDITIONAL_MODULE_ENTRY(name,modid) \ 492 REGISTRY_ENTRY_OPEN_WITH(name,cond,doc_type,modid,key) \ 493 CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \ 494 REGISTRY_ENTRY_DOC(name,modid,disp_name) \ 495 REGISTRY_ENTRY_ICON(name,modid,icon_id) \ 496 REGISTRY_ENTRY_SHELL(name,default,modid) \ 497 REGISTRY_ENTRY_NEW_CMD(name,modid,app) \ 498 REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \ 499 REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \ 500 REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \ 501 REGISTRY_ENTRY_CAPABILITIES(name,modid,key,doc_type) \ 502 503#define CONDITIONAL_REGISTER_DOCTEMPLATE_EXTENSION(name,modid,key,cond,disp_name,icon_id,app,default,doc_type) \ 504 CONDITIONAL_MODULE_ENTRY(name,modid) \ 505 REGISTRY_ENTRY_OPEN_WITH_TMPL(name,cond,doc_type,modid,key) \ 506 CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \ 507 REGISTRY_ENTRY_DOC(name,modid,disp_name) \ 508 REGISTRY_ENTRY_ICON(name,modid,icon_id) \ 509 REGISTRY_ENTRY_SHELL(name,default,modid) \ 510 REGISTRY_ENTRY_NEW_CMD(name,modid,app) \ 511 REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \ 512 REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \ 513 REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \ 514 REGISTRY_ENTRY_TEMPLATE_CAPABILITIES(name,modid,key,doc_type) \ 515 516// --------------------------------------- 517 518#define REGISTER_PROPERTY_HANDLER_FOR_EXTENSION(extension) \ 519 RegistryItem CONCAT2(gid_Regitem_Software_Microsoft_Windows_CurrentVersion_PropertySystem_PropertyHandlers_,extension) \ 520 ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \ 521 ModuleID = gid_Module_Optional_Winexplorerext_PropertyHdl; \ 522 ComponentCondition = "VersionNT >= 600"; \ 523 Styles = (X64); \ 524 Subkey = STRING(CONCAT2(SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.,extension)); \ 525 Value = "{AE424E85-F6DF-4910-A6A9-438797986431}"; \ 526 Val64 = "{AE424E85-F6DF-4910-A6A9-438797986431}"; \ 527 End 528 529// --------------------------------------- 530 531#if defined WNT 532#define SCP2_URE_DL_DIR gid_Dir_Ure_Bin 533#define SCP2_URE_DL_NORMAL(n) n ".dll" 534#define SCP2_URE_DL_BARE(n) n ".dll" 535#define SCP2_URE_DL_VER(n, v) n v ".dll" 536#define SCP2_URE_DL_COMID_VER(n, v) n v STRING(COMID) ".dll" 537#define SCP2_URE_DL_UNO_VER(n, v) n v ".dll" 538#define SCP2_URE_DL_UNO_COMID_VER(n, v) n v STRING(COMID) ".dll" 539#define SCP2_URE_SHARE_DIR gid_Dir_Common_Ure 540#if defined _STLP_DEBUG 541#define SCP2_STDLP_DEBUG "d" 542#else 543#define SCP2_STDLP_DEBUG "" 544#endif 545#else 546#define SCP2_URE_DL_DIR gid_Dir_Ure_Lib 547#define SCP2_URE_DL_NORMAL(n) "lib" n STRING(UNXSUFFIX) 548#define SCP2_URE_DL_BARE(n) n STRING(UNXSUFFIX) 549#define SCP2_URE_DL_VER(n, v) "lib" n STRING(UNXSUFFIX) "." v 550#define SCP2_URE_DL_COMID_VER(n, v) \ 551 "lib" n STRING(COMID) STRING(UNXSUFFIX) "." v 552#define SCP2_URE_DL_UNO_VER(n, v) "libuno_" n STRING(UNXSUFFIX) "." v 553#define SCP2_URE_DL_UNO_NORMAL(n) "libuno_" n STRING(UNXSUFFIX) 554#define SCP2_URE_DL_UNO_COMID_VER(n, v) \ 555 "libuno_" n STRING(COMID) STRING(UNXSUFFIX) "." v 556#define SCP2_URE_DL_UNO_COMID_NORMAL(n) \ 557 "libuno_" n STRING(COMID) STRING(UNXSUFFIX) 558#define SCP2_URE_SHARE_DIR gid_Dir_Ure_Share 559#endif 560#if defined MACOSX 561#define SCP2_URE_JDL_NORMAL(n) "lib" n ".jnilib" 562#else 563#define SCP2_URE_JDL_NORMAL(n) SCP2_URE_DL_NORMAL(n) 564#endif 565 566#include <langmacros.inc> 567 568 569#endif // MACROS_INC 570 571