TITANIUM_FUNCTION(File, write) { const auto js_context = this_object.get_context(); if (arguments.size() < 1) { return js_context.CreateUndefined(); } const auto _0 = arguments.at(0); const auto _1 = arguments.size() < 2 ? js_context.CreateBoolean(false) : arguments.at(1); TITANIUM_ASSERT(_1.IsBoolean()); const auto append = static_cast<bool>(_1); if (_0.IsString()) { return js_context.CreateBoolean(write(static_cast<std::string>(arguments.at(0)), append)); } else if (_0.IsObject()) { const auto js_object = static_cast<JSObject>(_0); const auto blob = js_object.GetPrivate<Titanium::Blob>(); const auto file = js_object.GetPrivate<File>(); if (blob != nullptr) { return js_context.CreateBoolean(write(blob, append)); } else if (file != nullptr) { return js_context.CreateBoolean(write(file, append)); } } return js_context.CreateNull(); }
TITANIUM_PROPERTY_GETTER(Button, image) { const auto ctx = get_context(); if (imageAsBlob__ != nullptr) { return imageAsBlob__->get_object(); } else if (!image__.empty()) { return ctx.CreateString(get_image()); } else { return ctx.CreateNull(); } }
TITANIUM_FUNCTION(File, getDirectoryListing) { const auto context = get_context(); if (isFile() || !exists()) { return context.CreateNull(); } auto listing = getDirectoryListing(); std::vector<JSValue> result; for (size_t i = 0; i < listing.size(); i++) { result.push_back(context.CreateString(listing.at(i))); } return context.CreateArray(result); }
std::vector<JSValue> Picker::getSelectedJSValues() { const auto ctx = get_context(); std::vector<JSValue> values; for (const auto c : columns__) { const auto column = std::dynamic_pointer_cast<TitaniumWindows::UI::PickerColumn>(c); const auto picker = column->getComponent(); const auto item = picker->SelectedItem; if (item) { const auto value = TitaniumWindows::Utility::ConvertUTF8String(static_cast<TextBlock^>(item)->Text); values.push_back(ctx.CreateString(value)); } else { values.push_back(ctx.CreateNull()); } }
TITANIUM_FUNCTION(File, open) { auto js_context = this_object.get_context(); if (arguments.size() == 0) { return js_context.CreateUndefined(); } const auto _0 = arguments.at(0); TITANIUM_ASSERT(_0.IsNumber()); const auto result = open(Constants::to_MODE(static_cast<std::underlying_type<MODE>::type>(_0))); if (result != nullptr) { return result->get_object(); } else { return js_context.CreateNull(); } }
TITANIUM_FUNCTION(Properties, getString) { ENSURE_STRING_AT_INDEX(property, 0); boost::optional<std::string> defaultValue = nullptr; if (arguments.size() > 1) { const auto _1 = arguments.at(1); if (_1.IsString()) { defaultValue = static_cast<std::string>(_1); } } const auto js_context = this_object.get_context(); const auto object_ptr = GetStaticObject(js_context).GetPrivate<Properties>(); const auto result = object_ptr->getString(property, defaultValue); if (result) { return js_context.CreateString(*result); } return js_context.CreateNull(); }
TITANIUM_FUNCTION(File, append) { const auto js_context = this_object.get_context(); if (arguments.size() == 0) { return js_context.CreateUndefined(); } auto _0 = arguments.at(0); if (_0.IsString()) { return js_context.CreateBoolean(append(static_cast<std::string>(arguments.at(0)))); } else if (_0.IsObject()) { const auto js_object = static_cast<JSObject>(_0); const auto blob = js_object.GetPrivate<Titanium::Blob>(); const auto file = js_object.GetPrivate<File>(); if (blob != nullptr) { return js_context.CreateBoolean(append(blob)); } else if (file != nullptr) { return js_context.CreateBoolean(append(file)); } } return js_context.CreateNull(); }