void UserWindow::ReadChooserDialogObject( SharedKObject o, bool& multiple, std::string& title, std::string& path, std::string& defaultName, std::vector<std::string>& types, std::string& typesDescription) { // Pass in a set of properties for chooser dialogs like this: // var selected = Titanium.UI.OpenFileChooserDialog(callback, // { // multiple:true, // title: "Select file to delete...", // defaultFile: "autoexec.bat", // path: "C:\" // types:['js','html'] // }); multiple = o->GetBool("multiple", true); title = o->GetString("title", title); path = o->GetString("path", path); defaultName = o->GetString("defaultName", defaultName); SharedKList listTypes = new StaticBoundList(); listTypes = o->GetList("types", listTypes); for (size_t i = 0; i < listTypes->Size(); i++) { if (listTypes->At(i)->IsString()) { types.push_back(listTypes->At(i)->ToString()); std::cout << "Found " << listTypes->At(i)->ToString() << std::endl; } } typesDescription = o->GetString("typesDescription", defaultName); }
void MonkeyBinding::Callback(const ValueList &args, SharedValue result) { SharedKObject event = args.at(0)->ToObject(); if (!event->Get("url")->IsString() || !event->Get("scope")->IsObject() || !event->GetObject("scope")->Get("window")) { throw ValueException::FromString( "ti.Monkey could not find required components of PAGE_LOADED events"); } std::string url = event->GetString("url"); SharedKObject windowObject = event->GetObject("scope")->GetObject("window"); vector<Script*>::iterator iter = scripts.begin(); while (iter != scripts.end()) { Script* script = (*iter++); if (script->Matches(url)) { EvaluateUserScript(event, url, windowObject, script->source); } } }