Form Field: Prompt for file to save to
(
mut self,
prompt: &str,
ext: Option<&str>,
default_name: Option<&str>,
default: Option<&str>,
)
| 377 | |
| 378 | /// Form Field: Prompt for file to save to |
| 379 | pub fn save_file_field( |
| 380 | mut self, |
| 381 | prompt: &str, |
| 382 | ext: Option<&str>, |
| 383 | default_name: Option<&str>, |
| 384 | default: Option<&str>, |
| 385 | ) -> Self { |
| 386 | let prompt = BnString::new(prompt); |
| 387 | let ext = if let Some(ext) = ext { |
| 388 | BnString::new(ext) |
| 389 | } else { |
| 390 | BnString::new("") |
| 391 | }; |
| 392 | let default_name = if let Some(default_name) = default_name { |
| 393 | BnString::new(default_name) |
| 394 | } else { |
| 395 | BnString::new("") |
| 396 | }; |
| 397 | let default = default.map(BnString::new); |
| 398 | |
| 399 | let mut result = unsafe { std::mem::zeroed::<BNFormInputField>() }; |
| 400 | result.type_ = BNFormInputFieldType::SaveFileNameFormField; |
| 401 | result.prompt = prompt.as_ref().as_ptr() as *const c_char; |
| 402 | result.ext = ext.as_ref().as_ptr() as *const c_char; |
| 403 | result.defaultName = default_name.as_ref().as_ptr() as *const c_char; |
| 404 | result.hasDefault = default.is_some(); |
| 405 | if let Some(ref default) = default { |
| 406 | result.stringDefault = default.as_ref().as_ptr() as *const c_char; |
| 407 | } |
| 408 | self.fields.push(result); |
| 409 | |
| 410 | self.data.push(FormData::FileSave { |
| 411 | _prompt: prompt, |
| 412 | _ext: ext, |
| 413 | _default_name: default_name, |
| 414 | _default: default, |
| 415 | }); |
| 416 | self |
| 417 | } |
| 418 | |
| 419 | /// Form Field: Prompt for directory name |
| 420 | pub fn directory_name_field( |
no test coverage detected