//////////////////////////////////////////////////////////////////////////////////////////////// // Program : MyUppApp.exe // Version : 0.0.3 Alpha // Date : November 2006 // Copyright : Copyright(C) 2006 by Yeoh HS // Author : Yeoh HS //////////////////////////////////////////////////////////////////////////////////////////////// #include "Options.h" #define IMAGECLASS OptionsImg #define IMAGEFILE #include // get user options, process and save. void Options::onbtnSave() { int dontsplash = optSplash.Get(); // get the value from option control int savewinpos = optSaveWinPos.Get();// get the value from option control Ctrl* owner = GetOwner(); // get a handle to the Options dislog owner which is MyUppApp main window. Rect rc; // create a struct to store window position and size if ( savewinpos != 1 ) { // if Save Window option is not checked. rc.left = 0; // set window position x to 0 rc.top = 0; // set window position y to 0 } else { rc = owner->GetRect(); // get the position and size of MyUppApp main window } String cfg; // create a string to store config data cfg << "Splash=" << dontsplash << "\n" // save user's choice "SaveWinPos=" << savewinpos << "\n" // save user's choice "PosX=" << rc.left << "\n" // save window x position "PosY=" << rc.top << "\n"; // save window y position if( !SaveFile(cfgfile, cfg) ) // save the config file Exclamation("Error saving configuration!"); // if failed show error dialog else PromptOK("Options saved!"); // show success dialog Break(IDOK); // close this dialog } // do setup work here Options::Options() { CtrlLayout(*this,"Options"); Icon(OptionsImg::Options()); // set callback for the save button btnSave <<= THISBACK(onbtnSave); // get the values from the config file VectorMap cfg = LoadIniFile(cfgfile); int dontsplash = ScanInt(cfg.Get("Splash", Null)); int savewinpos = ScanInt(cfg.Get("SaveWinPos", Null)); // set option controls with current value from config file optSplash = dontsplash; optSaveWinPos = savewinpos; } // end of file