Changes between Version 7 and Version 8 of Majorupdatetocommands.dat


Ignore:
Timestamp:
Jan 15, 2008, 8:41:02 AM (11 years ago)
Author:
stevenhl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Majorupdatetocommands.dat

    v7 v8  
    33Should means it would be a nice feature to have.'''
    44
    5 List of requirements
     5= Requirements =
    66
    771. The new format must provide an easy upgrade path for the user's commands.
    8    a. A keyword system appear to be the best option
     8   a. A keyword system appears to be the best option.
    99   b. Something like
    1010
     11{{{
    1112   ; FM/2 commands file -- 3 lines: title, cmd line, flags[[BR]]
     13   version = 2
    1214
    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
    2319   IconName = areallygoodicon.ico[[BR]]
    24 
     20}}}
    2521
    26222. The format must be easily expandable while remaining backward compatible.
     
    38345. The user should be made directly aware of new FM/2 command options and have access for adding FM/2 command options at anytime.
    3935
    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.
     366. Under a keyword system. The rules would be that each definition much start with the name keyword.
     37The other keywords could follow in any order. See example under 1 above.
    4138
    42397. The (an) ini file should be considered for the storage medium.
     
    545112. 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. 
    5552
    56 [[BR]]
     53= Code Modifications =
     54
     55== Data Structures ==
     56
     57{{{
     58
     59typedef struct
     60{
     61typedef 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{{{
     94typedef 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
     119Refactor structures to command.h
     120
     121=== command.c ===
     122
     123=== tool.c ===