Package ch.bailu.gtk.gdk
Class ContentFormats
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.type.Record
ch.bailu.gtk.gdk.ContentFormats
- All Implemented Interfaces:
PointerInterface
The `GdkContentFormats` structure is used to advertise and negotiate the
format of content.
You will encounter `GdkContentFormats` when interacting with objects
controlling operations that pass data between different widgets, window
or application, like [class@Gdk.Drag], [class@Gdk.Drop],
[class@Gdk.Clipboard] or [class@Gdk.ContentProvider].
GDK supports content in 2 forms: `GType` and mime type.
Using `GTypes` is meant only for in-process content transfers. Mime types
are meant to be used for data passing both in-process and out-of-process.
The details of how data is passed is described in the documentation of
the actual implementations. To transform between the two forms,
[class@Gdk.ContentSerializer] and [class@Gdk.ContentDeserializer] are used.
A `GdkContentFormats` describes a set of possible formats content can be
exchanged in. It is assumed that this set is ordered. `GTypes` are more
important than mime types. Order between different `GTypes` or mime types
is the order they were added in, most important first. Functions that
care about order, such as [method@Gdk.ContentFormats.union], will describe
in their documentation how they interpret that order, though in general the
order of the first argument is considered the primary order of the result,
followed by the order of further arguments.
For debugging purposes, the function [method@Gdk.ContentFormats.to_string]
exists. It will print a comma-separated list of formats from most important
to least important.
`GdkContentFormats` is an immutable struct. After creation, you cannot change
the types it represents. Instead, new `GdkContentFormats` have to be created.
The [struct@Gdk.ContentFormatsBuilder] structure is meant to help in this
endeavor.
format of content.
You will encounter `GdkContentFormats` when interacting with objects
controlling operations that pass data between different widgets, window
or application, like [class@Gdk.Drag], [class@Gdk.Drop],
[class@Gdk.Clipboard] or [class@Gdk.ContentProvider].
GDK supports content in 2 forms: `GType` and mime type.
Using `GTypes` is meant only for in-process content transfers. Mime types
are meant to be used for data passing both in-process and out-of-process.
The details of how data is passed is described in the documentation of
the actual implementations. To transform between the two forms,
[class@Gdk.ContentSerializer] and [class@Gdk.ContentDeserializer] are used.
A `GdkContentFormats` describes a set of possible formats content can be
exchanged in. It is assumed that this set is ordered. `GTypes` are more
important than mime types. Order between different `GTypes` or mime types
is the order they were added in, most important first. Functions that
care about order, such as [method@Gdk.ContentFormats.union], will describe
in their documentation how they interpret that order, though in general the
order of the first argument is considered the primary order of the result,
followed by the order of further arguments.
For debugging purposes, the function [method@Gdk.ContentFormats.to_string]
exists. It will print a comma-separated list of formats from most important
to least important.
`GdkContentFormats` is an immutable struct. After creation, you cannot change
the types it represents. Instead, new `GdkContentFormats` have to be created.
The [struct@Gdk.ContentFormatsBuilder] structure is meant to help in this
endeavor.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionContentFormats
(PointerContainer pointer) ContentFormats
(Strs mime_types, int n_mime_types) Creates a new `GdkContentFormats` from an array of mime types. -
Method Summary
Modifier and TypeMethodDescriptionboolean
containGtype
(long type) Checks if a given `GType` is part of the given @formats.boolean
containMimeType
(Str mime_type) Checks if a given mime type is part of the given @formats.boolean
containMimeType
(String mime_type) Checks if a given mime type is part of the given @formats.static ClassHandler
static int
getMimeTypes
(Int64 n_mime_types) Gets the mime types included in @formats.static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
boolean
match
(ContentFormats second) Checks if @first and @second have any matching formats.long
matchGtype
(ContentFormats second) Finds the first `GType` from @first that is also contained
in @second.matchMimeType
(ContentFormats second) Finds the first mime type from @first that is also contained
in @second.static ContentFormats
newForGtypeContentFormats
(long type) Creates a new `GdkContentFormats` for a given `GType`.static ContentFormats
Parses the given @string into `GdkContentFormats` and
returns the formats.void
Prints the given @formats into a string for human consumption.ref()
Increases the reference count of a `GdkContentFormats` by one.toStr()
Prints the given @formats into a human-readable string.union
(ContentFormats second) Append all missing types from @second to @first, in the order
they had in @second.Add GTypes for mime types in @formats for which deserializers are
registered.Add mime types for GTypes in @formats for which deserializers are
registered.Add GTypes for the mime types in @formats for which serializers are
registered.Add mime types for GTypes in @formats for which serializers are
registered.void
unref()
Decreases the reference count of a `GdkContentFormats` by one.Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
ContentFormats
-
ContentFormats
Creates a new `GdkContentFormats` from an array of mime types.
The mime types must be valid and different from each other or the
behavior of the return value is undefined. If you cannot guarantee
this, use [struct@Gdk.ContentFormatsBuilder] instead.- Parameters:
mime_types
- Pointer to an array of mime typesn_mime_types
- number of entries in @mime_types.
-
-
Method Details
-
getClassHandler
-
newForGtypeContentFormats
Creates a new `GdkContentFormats` for a given `GType`.- Parameters:
type
- a `GType`- Returns:
- a new `GdkContentFormats`
-
containGtype
public boolean containGtype(long type) Checks if a given `GType` is part of the given @formats.- Parameters:
type
- the `GType` to search for- Returns:
- %TRUE if the `GType` was found
-
containMimeType
Checks if a given mime type is part of the given @formats.- Parameters:
mime_type
- the mime type to search for- Returns:
- %TRUE if the mime_type was found
-
containMimeType
Checks if a given mime type is part of the given @formats.- Parameters:
mime_type
- the mime type to search for- Returns:
- %TRUE if the mime_type was found
-
getMimeTypes
Gets the mime types included in @formats.
Note that @formats may not contain any mime types, in particular
when they are empty. In that case %NULL will be returned.- Parameters:
n_mime_types
- optional pointer to take the number of mime types contained in the return value- Returns:
- %NULL-terminated array of interned strings of mime types included in @formats
-
match
Checks if @first and @second have any matching formats.- Parameters:
second
- the `GdkContentFormats` to intersect with- Returns:
- %TRUE if a matching format was found.
-
matchGtype
Finds the first `GType` from @first that is also contained
in @second.
If no matching `GType` is found, %G_TYPE_INVALID is returned.- Parameters:
second
- the `GdkContentFormats` to intersect with- Returns:
- The first common `GType` or %G_TYPE_INVALID if none.
-
matchMimeType
Finds the first mime type from @first that is also contained
in @second.
If no matching mime type is found, %NULL is returned.- Parameters:
second
- the `GdkContentFormats` to intersect with- Returns:
- The first common mime type or %NULL if none
-
print
Prints the given @formats into a string for human consumption.
The result of this function can later be parsed with
[func@Gdk.ContentFormats.parse].- Parameters:
string
- a `GString` to print into
-
ref
Increases the reference count of a `GdkContentFormats` by one.- Returns:
- the passed in `GdkContentFormats`.
-
toStr
Prints the given @formats into a human-readable string.
The resulting string can be parsed with [func@Gdk.ContentFormats.parse].
This is a small wrapper around [method@Gdk.ContentFormats.print]
to help when debugging.- Returns:
- a new string
-
union
Append all missing types from @second to @first, in the order
they had in @second.- Parameters:
second
- the `GdkContentFormats` to merge from- Returns:
- a new `GdkContentFormats`
-
unionDeserializeGtypes
Add GTypes for mime types in @formats for which deserializers are
registered.- Returns:
- a new `GdkContentFormats`
-
unionDeserializeMimeTypes
Add mime types for GTypes in @formats for which deserializers are
registered.- Returns:
- a new `GdkContentFormats`
-
unionSerializeGtypes
Add GTypes for the mime types in @formats for which serializers are
registered.- Returns:
- a new `GdkContentFormats`
-
unionSerializeMimeTypes
Add mime types for GTypes in @formats for which serializers are
registered.- Returns:
- a new `GdkContentFormats`
-
unref
public void unref()Decreases the reference count of a `GdkContentFormats` by one.
If the resulting reference count is zero, frees the formats. -
parse
Parses the given @string into `GdkContentFormats` and
returns the formats.
Strings printed via [method@Gdk.ContentFormats.to_string]
can be read in again successfully using this function.
If @string does not describe valid content formats, %NULL
is returned.- Parameters:
string
- the string to parse- Returns:
- the content formats if @string is valid
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-