1 /* ------------- menu.c ------------- */
3 #include "dflat32/dflat.h"
5 static struct PopDown
*FindCmd(MBAR
*mn
, int cmd
)
7 MENU
*mnu
= mn
->PullDown
;
8 while (mnu
->Title
!= (void *)-1) {
9 struct PopDown
*pd
= mnu
->Selections
;
10 while (pd
->SelectionTitle
!= NULL
) {
11 if (pd
->ActionId
== cmd
)
20 char *GetCommandText(MBAR
*mn
, int cmd
)
22 struct PopDown
*pd
= FindCmd(mn
, cmd
);
24 return pd
->SelectionTitle
;
28 BOOL
isCascadedCommand(MBAR
*mn
, int cmd
)
30 struct PopDown
*pd
= FindCmd(mn
, cmd
);
32 return pd
->Attrib
& CASCADED
;
36 void ActivateCommand(MBAR
*mn
, int cmd
)
38 struct PopDown
*pd
= FindCmd(mn
, cmd
);
40 pd
->Attrib
&= ~INACTIVE
;
43 void DeactivateCommand(MBAR
*mn
, int cmd
)
45 struct PopDown
*pd
= FindCmd(mn
, cmd
);
47 pd
->Attrib
|= INACTIVE
;
50 BOOL
isActive(MBAR
*mn
, int cmd
)
52 struct PopDown
*pd
= FindCmd(mn
, cmd
);
54 return !(pd
->Attrib
& INACTIVE
);
58 BOOL
GetCommandToggle(MBAR
*mn
, int cmd
)
60 struct PopDown
*pd
= FindCmd(mn
, cmd
);
62 return (pd
->Attrib
& CHECKED
) != 0;
66 void SetCommandToggle(MBAR
*mn
, int cmd
)
68 struct PopDown
*pd
= FindCmd(mn
, cmd
);
70 pd
->Attrib
|= CHECKED
;
73 void ClearCommandToggle(MBAR
*mn
, int cmd
)
75 struct PopDown
*pd
= FindCmd(mn
, cmd
);
77 pd
->Attrib
&= ~CHECKED
;
80 void InvertCommandToggle(MBAR
*mn
, int cmd
)
82 struct PopDown
*pd
= FindCmd(mn
, cmd
);
84 pd
->Attrib
^= CHECKED
;