Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

Public Member Functions | Protected Attributes | List of all members
cogitantdisplay::Clipboard Class Referenceabstract

Fonctions de gestion du presse-papiers. More...

#include "cogitant/display/clipboard.h"

Inheritance diagram for cogitantdisplay::Clipboard:
cogitantdisplay::Clipboard_Simple

Public Member Functions

 Clipboard (bool shared=true)
 Constructeur. More...
 
virtual ~Clipboard ()
 Destructeur. More...
 
virtual std::list< std::string > formats () const =0
 Accès aux formats des données contenues dans le presse-papiers. More...
 
virtual bool hasFormat (std::string const &f) const
 Le presse-papiers contient-il des données au format passé. More...
 
virtual bool get (std::string const &f, std::string &result) const =0
 Lecture des données à un format. More...
 
virtual void set (std::string const &f, std::string const &data)=0
 Ajout de données à un format. More...
 
virtual void clear ()=0
 Effacement du contenu du presse-papiers. More...
 
virtual void commit ()
 Fin de modification du presse-papiers. More...
 
bool shared () const
 Le presse-papiers est-il partagé ?
 
void addEditor (Editor *ed)
 Ajout d'un éditeur. More...
 
void removeEditor (Editor *ed)
 Suppression d'un éditeur. More...
 

Protected Attributes

std::list< Editor * > m_editors
 Éditeurs utilisant ce presse-papiers.
 
bool m_shared
 Le presse-papiers est global et partagé par plusieurs éditeurs.
 

Detailed Description

Fonctions de gestion du presse-papiers.

Cette classe encapsule les fonctions de gestion du presse-papiers. Les principales fonctions offectes par cette classe sont la lecture du contenu du presse-papiers (selon les différents formats disponibles dans celui-ci), et l'ajout de données dans le presse-papiers.
Cette classe est abstraite, car la gestion du presse papiers peut se faire de différentes façons. Une sous classes concrète est la classe Clipboard_Simple qui se contente de mémoriser les données du presse-papiers. Toutefois, cette classe, portable, n'est pas intégrée au système utilisé car elle n'utilise pas le presse-papiers du système. Il est donc possible d'écrire de nouvelles sous-classes concrètes utilisant les particularités du système utilisé (ClipboardJava par exemple).
Les formats du presse-papiers doivent être notés sous la forme de types MIME (de préférence), par exemple text/plain, text/bcgct, etc.

Constructor & Destructor Documentation

cogitantdisplay::Clipboard::Clipboard ( bool  shared = true)

Constructeur.

Parameters
sharedSi true (défaut) le presse-papiers est global et partagé par plusieurs éditeurs. Dans ce cas, il doit être détruit explicitement (n'est pas détruit dans le destructeur de Editor). Sinon, le presse-papiers est local à l'éditeur et il est automatiquement détruit dans le destructeur d'Editor.
virtual cogitantdisplay::Clipboard::~Clipboard ( )
virtual

Destructeur.

Member Function Documentation

void cogitantdisplay::Clipboard::addEditor ( Editor ed)

Ajout d'un éditeur.

virtual void cogitantdisplay::Clipboard::clear ( )
pure virtual

Effacement du contenu du presse-papiers.

Cette méthode doit toujours être appelée avant d'ajouter des données, car sinon, les nouvelles données sont ajoutées aux données existantes.

Implemented in cogitantdisplay::Clipboard_Simple.

virtual void cogitantdisplay::Clipboard::commit ( )
virtual

Fin de modification du presse-papiers.

Cette méthode doit être appelée après avoir appelé plusieurs fois set() (afin d'ajouter les données dans les différents formats). Cette méthode se charge d'informer les editeurs branchés sur ce presse-papiers qu'il a été modifié.

virtual std::list<std::string> cogitantdisplay::Clipboard::formats ( ) const
pure virtual

Accès aux formats des données contenues dans le presse-papiers.

Implemented in cogitantdisplay::Clipboard_Simple.

virtual bool cogitantdisplay::Clipboard::get ( std::string const &  f,
std::string &  result 
) const
pure virtual

Lecture des données à un format.

Parameters
fformat demandé.
result(R) résultat.
Returns
true ssi des données étaient disponibles à ce format.

Implemented in cogitantdisplay::Clipboard_Simple.

virtual bool cogitantdisplay::Clipboard::hasFormat ( std::string const &  f) const
virtual

Le presse-papiers contient-il des données au format passé.

Parameters
fformat recherché.
Returns
true ssi f est un format disponible.

Reimplemented in cogitantdisplay::Clipboard_Simple.

void cogitantdisplay::Clipboard::removeEditor ( Editor ed)

Suppression d'un éditeur.

virtual void cogitantdisplay::Clipboard::set ( std::string const &  f,
std::string const &  data 
)
pure virtual

Ajout de données à un format.

Parameters
fformat.
datadonnées.

Implemented in cogitantdisplay::Clipboard_Simple.