bool CServices::OpenSettingsDialog() { CHECK_THREAD_OWNERSHIP; Mortimer::COptionSheetLayoutImpl<Mortimer::COptionSelectionLayoutTreeBanner, CCSNOptionSheet> Sheet(_T("Upgradr Settings")); // retrieve root key for registry HKEY hKey = NULL; LONG lRes = RegOpenKeyEx(HKEY_CURRENT_USER, REGISTRY_ROOT_KEY, 0, KEY_ALL_ACCESS, &hKey); if (lRes != ERROR_SUCCESS) { if (RegCreateKey(HKEY_CURRENT_USER, REGISTRY_ROOT_KEY, &hKey)) { TRACE_E(_T("Cannot create registry key: HKCU\\") REGISTRY_ROOT_KEY); return false; } } // create storage Mortimer::CSettingsStorageRegistry storage(hKey, REGISTRY_OPTIONS_KEY); // load settings from storage m_Settings.Load(storage); // fire options dialog Sheet.SetManagedSettings(&m_Settings, &storage); if (IDOK!=Sheet.DoModal()) return true; // if OK pressed, save options into storage m_Settings.Save(storage); return true; }
int main(int argc, char **argv) { CHAIN **Chain; HBOND **HBond; COMMAND *Cmd; int Cn, NChain=0, NHBond=0, ValidChain=0; float **PhiPsiMapHelix, **PhiPsiMapSheet; register int i; /* argc = ccommand(&argv); */ /* For Macintosh only, see readme.mac */ Chain = (CHAIN **)ckalloc(MAX_CHAIN*sizeof(CHAIN *)); HBond = (HBOND **)ckalloc(MAXHYDRBOND*sizeof(HBOND *)); Cmd = (COMMAND *)ckalloc(sizeof(COMMAND)); ProcessStrideOptions(argv,argc,Cmd); if( !ReadPDBFile(Chain,&NChain,Cmd) || !NChain ) die("Error reading PDB file %s\n",Cmd->InputFile); for( Cn=0; Cn<NChain; Cn++ ) ValidChain += CheckChain(Chain[Cn],Cmd); /* if( Cmd->Stringent ) * exit(0); */ if( !ValidChain ) die("No valid chain in %s\n",Chain[0]->File); if( Cmd->BrookhavenAsn ) GetPdbAsn(Chain,NChain); if( Cmd->DsspAsn ) GetDsspAsn(Chain,NChain,Cmd); BackboneAngles(Chain,NChain); if( Cmd->OutSeq ) OutSeq(Chain,NChain,Cmd); if( Cmd->ContactOrder ) ContactOrder(Chain,NChain,Cmd); if( Cmd->ContactMap ) ContactMap(Chain,NChain,Cmd); if( !strlen(Cmd->MapFileHelix) ) PhiPsiMapHelix = DefaultHelixMap(Cmd); else ReadPhiPsiMap(Cmd->MapFileHelix,&PhiPsiMapHelix,Cmd); if( !strlen(Cmd->MapFileSheet) ) PhiPsiMapSheet = DefaultSheetMap(Cmd); else ReadPhiPsiMap(Cmd->MapFileSheet,&PhiPsiMapSheet,Cmd); for( Cn=0; Cn<NChain; Cn++ ) PlaceHydrogens(Chain[Cn]); if( (NHBond = FindHydrogenBonds(Chain,Cn,HBond,Cmd)) == 0 ) die("No hydrogen bonds found in %s\n",Cmd->InputFile); NoDoubleHBond(HBond,NHBond); DiscrPhiPsi(Chain,NChain,Cmd); if(Cmd->ExposedArea) Area(Chain,NChain,Cmd); for( Cn=0; Cn<NChain; Cn++ ) { if( Chain[Cn]->Valid ) { Helix(Chain,Cn,HBond,Cmd,PhiPsiMapHelix); for( i=0; i<NChain; i++ ) if( Chain[i]->Valid ) Sheet(Chain,Cn,i,HBond,Cmd,PhiPsiMapSheet); BetaTurn(Chain,Cn); GammaTurn(Chain,Cn,HBond); } } Report(Chain,NChain,HBond,Cmd); if( Cmd->MolScript ) MolScript(Chain,NChain,Cmd); for( i=0; i<Cn; i++ ) free(Chain[i]); for( i=0; i<NHBond; i++ ) free(HBond[i]); free(Cmd); return(0); }