// Bring the next screen in the linked screen list to the front and return its number. Return status. int nextScreen(Value *rp,int n) { EScreen *scrp; int nscreens; // Total number of screens. // Check if n is out of range. nscreens = scrcount(); if(n == 0 || (n != INT_MIN && abs(n) > nscreens)) return rcset(FAILURE,0,text240,n); // "No such screen '%d'" // Argument given? if(n != INT_MIN) { // If the argument is negative, it is the nth screen from the end of the screen sequence. if(n < 0) n = nscreens + n + 1; } else if((n = cursp->s_num + 1) > nscreens) n = 1; // Find the screen... scrp = sheadp; while(scrp->s_num != n) scrp = scrp->s_nextp; // return its number... vsetint((long) scrp->s_num,rp); // and make it current. return sswitch(scrp); }
/* to write mode. */ int file_switch_to_write(const ref * op) { stream *s = fptr(op); if (s->read_id != r_size(op) || s->file == 0) /* not valid */ return_error(e_invalidaccess); if (sswitch(s, true) < 0) return_error(e_ioerror); s->write_id = s->read_id; /* enable writing */ s->read_id = 0; /* disable reading */ return 0; }
// Create new screen, switch to it, and return its number. Return status. int newScreen(Value *rp,int n) { EScreen *scrp; // Save the current window's settings. wftobf(curwp,curbp); // Find screen "0" to force-create one and make it current. if(sfind(0,curbp,&scrp) != SUCCESS || sswitch(scrp) != SUCCESS) return rc.status; vsetint((long) scrp->s_num,rp); return rcset(SUCCESS,0,text174,scrp->s_num); // "Created screen %hu" }
bool CMailWasherDlg::OnClicked(CItemBase *pItem) { sswitch(pItem->m_strItemId.c_str()) scase(ITEMID_DEL) OperateSelected(pm_MESSAGE_REMOVE); sbreak; scase(ITEMID_READNEXT) GetMsgList(); sbreak; scase(ITEMID_STOP) CancelOperating(); sbreak; scase(ITEMID_DECODE_KOI8_R) DecodeMsg(pItem->m_strItemId.c_str()); sbreak; scase(ITEMID_DECODE_WINDOWS_1251) DecodeMsg(pItem->m_strItemId.c_str()); sbreak; scase(ITEMID_DECODE_IBM866) DecodeMsg(pItem->m_strItemId.c_str()); sbreak; scase(ITEMID_DECODE_ISO8859_5) DecodeMsg(pItem->m_strItemId.c_str()); sbreak; scase(ITEMID_DECODE_X_MAC_CYRILLIC) DecodeMsg(pItem->m_strItemId.c_str()); sbreak; send; return TBase::OnClicked(pItem); }
bool CAskPasswordDialog::OnClicked(CItemBase* pItem) { CDialogBindingT<cAskObjectPassword>::UpdateStruct(); sswitch(pItem->m_strItemId.c_str()) stcase(Ok) m_pStruct->m_nResultAction = ACTION_OK; sbreak; stcase(SkipAll) m_pStruct->m_nApplyToAll = APPLYTOALL_TRUE; sbreak; send; Close(); return true; }
bool CRestoreObjectDlg::OnClicked(CItemBase* pItem) { sswitch(pItem->m_strItemId.c_str()) stcase(Restore) Restore(); sbreak; stcase(SaveAss) if( Root()->BrowseFile(*this, LoadLocString(tString(), STRID_BROWSEOBJRESTORE), NULL, m_pStruct->m_strObjectName, true) ) Restore(); sbreak; stcase(Skip) Close(); sbreak; send; return true; }
bool CPageAntispamSink::OnClicked(CItemBase* pItem) { FolderInfo_t * pFolder = NULL; sswitch(pItem->m_strItemId.c_str()) scase("CS_Browse") pFolder = &m_ser->CertainSpamRule.FolderForAction; sbreak; scase("PS_Browse") pFolder = &m_ser->PossibleSpamRule.FolderForAction; sbreak; scase("Link") _Module.ShowAntiSpamSettings(); sbreak send if( pFolder ) { UpdateData(false); if(CBrowseForFolder(m_arrLocalFolders, pFolder, m_hTreeImageList).DoModal(Item(), "OutlookPlugun.Antispam.Browse") == DLG_ACTION_OK) { UpdateData(true); } } return TBaseDlg::OnClicked(pItem); }