Changes between Version 7 and Version 8 of Majorupdatetocommands.dat
- Timestamp:
- Jan 15, 2008, 7:41:02 AM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Majorupdatetocommands.dat
v7 v8 3 3 Should means it would be a nice feature to have.''' 4 4 5 List of requirements 5 = Requirements = 6 6 7 7 1. The new format must provide an easy upgrade path for the user's commands. 8 a. A keyword system appear to be the best option8 a. A keyword system appears to be the best option. 9 9 b. Something like 10 10 11 {{{ 11 12 ; FM/2 commands file -- 3 lines: title, cmd line, flags[[BR]] 13 version = 2 12 14 13 version = 2[[BR]] 14 15 Name = Unlock exe or dll[[BR]] 16 17 Command = unlock -v %a[[BR]] 18 19 Icon = 4096[[BR]] 20 21 MenuId = 2100[[BR]] 22 15 Name = Unlock exe or dll 16 Command = unlock -v %a 17 Icon = 4096 18 MenuId = 2100 23 19 IconName = areallygoodicon.ico[[BR]] 24 20 }}} 25 21 26 22 2. The format must be easily expandable while remaining backward compatible. … … 38 34 5. The user should be made directly aware of new FM/2 command options and have access for adding FM/2 command options at anytime. 39 35 40 6. Under a keyword system. The rules would be that each definition much start with a name keyword. The others could be in any order. See example under 1 above. 36 6. Under a keyword system. The rules would be that each definition much start with the name keyword. 37 The other keywords could follow in any order. See example under 1 above. 41 38 42 39 7. The (an) ini file should be considered for the storage medium. … … 54 51 12. The resource number must be clearly displayed somewhere or adding to the toolbar must take care of this issue internally to make it easy for the user to add commands to toolbars. 55 52 56 [[BR]] 53 = Code Modifications = 54 55 == Data Structures == 56 57 {{{ 58 59 typedef struct 60 { 61 typedef struct LINKCMDS 62 { 63 CHAR *pszCmdLine; 64 CHAR *pszTitle; 65 ULONG flags; 66 USHORT usToolId; 67 struct LINKCMDS *next; 68 struct LINKCMDS *prev; 69 } LINKCMDS; 70 71 // flag masks 72 #define SYNCHRONOUS 1 73 #define ASYNCHRONOUS 2 74 #define DETACHED 3 75 #define SEPARATE 4 76 #define SEPARATEKEEP 5 77 #define WINDOWED 16 78 #define MAXIMIZED 32 79 #define MINIMIZED 64 80 #define FULLSCREEN 128 81 #define INVISIBLE 256 82 #define BACKGROUND 512 83 #define WAIT 1024 84 #define PROMPT 2048 85 #define KEEP 4096 86 #define ONCE 8192 87 #define DIEAFTER 16384 88 #define SEAMLESS 32768 89 #define CHILD 65536 90 91 }}} 92 93 {{{ 94 typedef struct TOOL 95 { 96 CHAR *pszHelp; 97 CHAR *pszText; 98 INT flags; 99 struct TOOL *next; 100 USHORT id; // 101 CHAR *pszIcon; // icon name or icon resource number in #icon format 102 USHORT usMenuId; 103 } TOOL; 104 105 // flag masks 106 #define T_DROPABLE 0x00000001 107 #define T_EMPHASIZED 0x00000002 108 #define T_INVISIBLE 0x00000004 109 #define T_SEPARATOR 0x00000008 110 #define T_TEXT 0x00000010 111 #define T_MYICON 0x00000020 // This can go away maybe 112 113 }}} 114 115 == Source code == 116 117 === fm3dll.h === 118 119 Refactor structures to command.h 120 121 === command.c === 122 123 === tool.c ===