home *** CD-ROM | disk | FTP | other *** search
- /* ------------- menu.c ------------- */
-
- #include "dflat.h"
-
- static struct PopDown *FindCmd(MBAR *mn, int cmd)
- {
- MENU *mnu = mn->PullDown;
- while (mnu->Title != (void *)-1) {
- struct PopDown *pd = mnu->Selections;
- while (pd->SelectionTitle != NULL) {
- if (pd->ActionId == cmd)
- return pd;
- pd++;
- }
- mnu++;
- }
- return NULL;
- }
-
- char *GetCommandText(MBAR *mn, int cmd)
- {
- struct PopDown *pd = FindCmd(mn, cmd);
- if (pd != NULL)
- return pd->SelectionTitle;
- return NULL;
- }
-
- BOOL isCascadedCommand(MBAR *mn, int cmd)
- {
- struct PopDown *pd = FindCmd(mn, cmd);
- if (pd != NULL)
- return pd->Attrib & CASCADED;
- return FALSE;
- }
-
- void ActivateCommand(MBAR *mn, int cmd)
- {
- struct PopDown *pd = FindCmd(mn, cmd);
- if (pd != NULL)
- pd->Attrib &= ~INACTIVE;
- }
-
- void DeactivateCommand(MBAR *mn, int cmd)
- {
- struct PopDown *pd = FindCmd(mn, cmd);
- if (pd != NULL)
- pd->Attrib |= INACTIVE;
- }
-
- BOOL isActive(MBAR *mn, int cmd)
- {
- struct PopDown *pd = FindCmd(mn, cmd);
- if (pd != NULL)
- return !(pd->Attrib & INACTIVE);
- return FALSE;
- }
-
- BOOL GetCommandToggle(MBAR *mn, int cmd)
- {
- struct PopDown *pd = FindCmd(mn, cmd);
- if (pd != NULL)
- return (pd->Attrib & CHECKED) != 0;
- return FALSE;
- }
-
- void SetCommandToggle(MBAR *mn, int cmd)
- {
- struct PopDown *pd = FindCmd(mn, cmd);
- if (pd != NULL)
- pd->Attrib |= CHECKED;
- }
-
- void ClearCommandToggle(MBAR *mn, int cmd)
- {
- struct PopDown *pd = FindCmd(mn, cmd);
- if (pd != NULL)
- pd->Attrib &= ~CHECKED;
- }
-
- void InvertCommandToggle(MBAR *mn, int cmd)
- {
- struct PopDown *pd = FindCmd(mn, cmd);
- if (pd != NULL)
- pd->Attrib ^= CHECKED;
- }