pub struct DataFormat { /* private fields */ }Expand description
Represents a format usable with the clipboard and drag-and-drop.
A format is a value: two formats are equal when their kind and their
identifier are equal. The typed counterpart, which also carries the type
of the data, is DataFormatOf; it dereferences to DataFormat.
Implementations§
Source§impl DataFormat
impl DataFormat
Sourcepub fn data_type(&self) -> Option<TypeId>
pub fn data_type(&self) -> Option<TypeId>
The type of the values of the format (String for a format of
strings, Rc<[u8]> for a format of bytes), when the format was
created with one: the counterpart of asking whether a format of the
managed original is a DataFormat<string> or a DataFormat<byte[]>,
which a platform backend does to decide how to read data the system
does not describe. Two formats that differ in it alone are equal.
Sourcepub fn kind(&self) -> DataFormatKind
pub fn kind(&self) -> DataFormatKind
The kind of the data format.
Sourcepub fn identifier(&self) -> &str
pub fn identifier(&self) -> &str
The identifier of the data format.
Sourcepub fn text() -> DataFormatOf<String>
pub fn text() -> DataFormatOf<String>
A data format representing plain text. Its data type is String.
Sourcepub fn bitmap() -> DataFormatOf<Rc<Bitmap>>
pub fn bitmap() -> DataFormatOf<Rc<Bitmap>>
A data format representing a bitmap. Its data type is a shared
Bitmap.
Sourcepub fn file() -> DataFormatOf<Rc<dyn IStorageItem>>
pub fn file() -> DataFormatOf<Rc<dyn IStorageItem>>
A data format representing a single file. Its data type is a shared
IStorageItem.
Sourcepub fn to_system_name(&self, application_prefix: &str) -> String
pub fn to_system_name(&self, application_prefix: &str) -> String
Creates a name for this format, usable by the underlying platform.
application_prefix is the system prefix used to recognize the name
as an application format.
§Panics
This method can only be called if kind is
DataFormatKind::Application or DataFormatKind::Platform.
Sourcepub fn create_bytes_application_format(
identifier: &str,
) -> DataFormatOf<Rc<[u8]>>
pub fn create_bytes_application_format( identifier: &str, ) -> DataFormatOf<Rc<[u8]>>
Creates a new format specific to the application that returns an array of bytes.
To avoid conflicts with system identifiers, identifier isn’t
passed to the underlying platform directly. However, two different
applications using the same identifier with
create_bytes_application_format or
create_string_application_format
are able to share data using this format.
§Panics
Only ASCII letters (A-Z, a-z), digits (0-9), the dot (.) and the hyphen (-) are accepted in the identifier, which must not be empty.
Sourcepub fn create_string_application_format(
identifier: &str,
) -> DataFormatOf<String>
pub fn create_string_application_format( identifier: &str, ) -> DataFormatOf<String>
Creates a new format specific to the application that returns a
String.
See create_bytes_application_format
for the identifier.
Sourcepub fn create_in_process_format<T: 'static>(identifier: &str) -> DataFormatOf<T>
pub fn create_in_process_format<T: 'static>(identifier: &str) -> DataFormatOf<T>
Creates a new format that stays within the current process and is never serialized to a platform clipboard or drag-and-drop operation.
T is the data type. identifier is only used for equality
comparisons within the process and is never passed to the underlying
platform.
§Panics
Panics if the identifier is empty.
Sourcepub fn create_bytes_platform_format(identifier: &str) -> DataFormatOf<Rc<[u8]>>
pub fn create_bytes_platform_format(identifier: &str) -> DataFormatOf<Rc<[u8]>>
Creates a new format for the current platform that returns an array of bytes.
identifier is not validated and is passed as is to the underlying
platform. Most systems use mime types, but macOS requires Uniform
Type Identifiers (UTI).
§Panics
Panics if the identifier is empty.
Sourcepub fn create_string_platform_format(identifier: &str) -> DataFormatOf<String>
pub fn create_string_platform_format(identifier: &str) -> DataFormatOf<String>
Creates a new format for the current platform that returns a
String.
See create_bytes_platform_format
for the identifier.
Sourcepub fn from_system_name<T: 'static>(
system_name: &str,
application_prefix: &str,
) -> DataFormatOf<T>
pub fn from_system_name<T: 'static>( system_name: &str, application_prefix: &str, ) -> DataFormatOf<T>
Creates a format from a name coming from the underlying platform.
application_prefix is the system prefix used to recognize the name
as an application format. This is an implementation detail of the
platform backends.
Trait Implementations§
Source§impl Clone for DataFormat
impl Clone for DataFormat
Source§impl Debug for DataFormat
impl Debug for DataFormat
Source§impl Display for DataFormat
impl Display for DataFormat
impl Eq for DataFormat
Source§impl<T> From<DataFormatOf<T>> for DataFormat
impl<T> From<DataFormatOf<T>> for DataFormat
Source§fn from(value: DataFormatOf<T>) -> DataFormat
fn from(value: DataFormatOf<T>) -> DataFormat
Source§impl Hash for DataFormat
impl Hash for DataFormat
Source§impl PartialEq for DataFormat
impl PartialEq for DataFormat
Source§impl<T> PartialEq<DataFormat> for DataFormatOf<T>
impl<T> PartialEq<DataFormat> for DataFormatOf<T>
Auto Trait Implementations§
impl !Send for DataFormat
impl !Sync for DataFormat
impl Freeze for DataFormat
impl RefUnwindSafe for DataFormat
impl Unpin for DataFormat
impl UnsafeUnpin for DataFormat
impl UnwindSafe for DataFormat
Blanket Implementations§
Source§impl<T> AnyValue for Twhere
T: PartialEq + 'static,
impl<T> AnyValue for Twhere
T: PartialEq + 'static,
fn any_value_as_any(&self) -> &(dyn Any + 'static)
fn any_value_eq(&self, other: &(dyn AnyValue + 'static)) -> bool
fn any_value_type_name(&self) -> &'static str
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ClassDefaults for Twhere
T: ?Sized,
impl<T> ClassDefaults for Twhere
T: ?Sized,
Source§fn static_constructor()
fn static_constructor()
affects_render, metadata
overrides). Read more