Used for short-term data storage between documents and applications via copy and paste operations. More...
Public Member Functions | |
BClipboard (const char *name, bool transient=false) | |
Create a BClipboard object with the given name. | |
virtual | ~BClipboard () |
Destroys the BClipboard object. The clipboard data is not destroyed. | |
const char * | Name () const |
Returns the name of the BClipboard object. | |
Commit Count | |
uint32 | LocalCount () const |
Returns the (locally cached) number of commits to the clipboard. | |
uint32 | SystemCount () const |
Returns the number of commits to the clipboard. | |
Monitoring | |
status_t | StartWatching (BMessenger target) |
Start watching the BClipboard object for changes. | |
status_t | StopWatching (BMessenger target) |
Stop watching the BClipboard object for changes. | |
Locking | |
bool | Lock () |
Locks the clipboard so that no other tread can read from it or write to it. | |
void | Unlock () |
Unlocks the clipboard. | |
bool | IsLocked () const |
Returns whether or not the clipboard is locked. | |
Clipboard Data Transaction | |
status_t | Clear () |
Clears out all data from the clipboard. | |
status_t | Commit () |
Commits the clipboard data to the BClipboard object. | |
status_t | Commit (bool failIfChanged) |
Commits the clipboard data to the BClipboard object with the option to fail if there is a change to the clipboard data. | |
status_t | Revert () |
Reverts the clipboard data. | |
Clipboard Data Message | |
BMessenger | DataSource () const |
Gets a BMessenger object targeting the application that last modified the clipboard. | |
BMessage * | Data () const |
Gets a pointer to the BMessage object that holds the clipboard data. | |
Used for short-term data storage between documents and applications via copy and paste operations.
Clipboards are differentiated by their name. In order for two applications to share a clipboard they simply have to create a BClipboard object with the same name. However, it is rarely necessary to create your own clipboard, instead you can use the be_clipboard
system clipboard object.
To access the clipboard data call the Data() method. The BMessage object returned by the Data() method has the following properties:
what
value is unused.B_MIME_TYPE
.To read and write to the clipboard you must first lock the BClipboard object. If you fail to lock the BClipboard object then the Data() method will return NULL
instead of a pointer to a BMessage object.
Below is an example of reading a string from the system clipboard.
Below is an example of writing a string to the system clipboard.
BClipboard::BClipboard | ( | const char * | name, |
bool | transient = false |
||
) |
Create a BClipboard object with the given name.
If the name parameter is NULL
then the "system" BClipboard object is constructed instead.
name | The name of the clipboard. |
transient | If true , lose data after a reboot (currently unused). |
|
virtual |
Destroys the BClipboard object. The clipboard data is not destroyed.
status_t BClipboard::Clear | ( | ) |
Clears out all data from the clipboard.
You should call Clear() before adding new data to the BClipboard object.
B_OK | Everything went find. |
B_NOT_ALLOWED | The clipboard is not locked. |
B_NO_MEMORY | Ran out of memory initializing the data message. |
B_ERROR | Another error occurred. |
status_t BClipboard::Commit | ( | ) |
Commits the clipboard data to the BClipboard object.
B_OK | Everything went find. |
B_NOT_ALLOWED | The clipboard is not locked. |
B_ERROR | Another error occurred. |
status_t BClipboard::Commit | ( | bool | failIfChanged | ) |
Commits the clipboard data to the BClipboard object with the option to fail if there is a change to the clipboard data.
failIfChanged | Whether or not to fail to commit the changes if there is a change in the clipboard data. |
B_OK | Everything went find. |
B_NOT_ALLOWED | The clipboard is not locked. |
B_ERROR | Another error occurred. |
BMessage * BClipboard::Data | ( | ) | const |
Gets a pointer to the BMessage object that holds the clipboard data.
If the BClipboard object is not locked this method returns NULL
.
NULL
if the clipboard is not locked.BMessenger BClipboard::DataSource | ( | ) | const |
Gets a BMessenger object targeting the application that last modified the clipboard.
The clipboard object does not need to be locked to call this method.
bool BClipboard::IsLocked | ( | ) | const |
Returns whether or not the clipboard is locked.
true
if the clipboard is locked, false
if it is unlocked.uint32 BClipboard::LocalCount | ( | ) | const |
Returns the (locally cached) number of commits to the clipboard.
The returned value is the number of successful Commit() invocations for the clipboard represented by this object, either invoked on this object or another (even from another application). This method returns a locally cached value, which might already be obsolete. For an up-to-date value use SystemCount().
bool BClipboard::Lock | ( | ) |
const char * BClipboard::Name | ( | ) | const |
status_t BClipboard::Revert | ( | ) |
Reverts the clipboard data.
The method should be used in the case that you have made a change to the clipboard data message and then decide to revert the change instead of committing it.
B_OK | Everything went find. |
B_NOT_ALLOWED | The clipboard is not locked. |
B_NO_MEMORY | Ran out of memory initializing the data message. |
B_ERROR | Another error occurred. |
status_t BClipboard::StartWatching | ( | BMessenger | target | ) |
Start watching the BClipboard object for changes.
When a change in the clipboard occurs, most like as the result of a cut or copy action, a B_CLIPBOARD_CHANGED message is sent to target.
B_OK | Everything went fine. |
B_BAD_VALUE | target is invalid. |
B_ERROR | An error occured. |
status_t BClipboard::StopWatching | ( | BMessenger | target | ) |
Stop watching the BClipboard object for changes.
B_OK | Everything went fine. |
B_BAD_VALUE | target is invalid. |
B_ERROR | An error occurred. |
uint32 BClipboard::SystemCount | ( | ) | const |
Returns the number of commits to the clipboard.
The returned value is the number of successful Commit() invocations for the clipboard represented by this object, either invoked on this object or another (even from another application). This method retrieves the value directly from the system service managing the clipboards, so it is more expensive, but more up-to-date than LocalCount(), which returns a locally cached value.
void BClipboard::Unlock | ( | ) |