You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdepim/knotes/KNotesIface.h

111 lines
3.5 KiB

/*******************************************************************
KNotesIface.h -- This file defines the DCOP interface for KNotes.
Copyright (C) 2000 by Adriaan de Groot
2001-2004 by Michael Brade <brade@kde.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*******************************************************************/
#ifndef __KNotesIface_h__
#define __KNotesIface_h__
#include <tqstring.h>
#include <tqmap.h>
#include <tqdatetime.h>
#include <dcopobject.h>
class KNotesIface : virtual public DCOPObject
{
K_DCOP
k_dcop:
/**
* Create a new note.
* @param name the name (title) of the new note, if it is empty,
* KNotes will choose an appropriate name
* @param text the body of the new note
* @return the new notes' id
*/
virtual TQString newNote( const TQString& name = TQString(),
const TQString& text = TQString() ) = 0;
/**
* Create a new note and inserts the current text in the clipboard
* as text.
*
* @param name the name (title) of the new note, if it is empty,
* KNotes will choose an appropriate name
* @return the new notes' id
*/
virtual TQString newNoteFromClipboard( const TQString& name = TQString() ) = 0;
/**
* Deletes a note forever.
* @param noteId the id of the note to kill
*/
virtual ASYNC killNote( const TQString& noteId ) = 0;
/**
* Deletes a note forever.
* @param noteId the id of the note to kill
* @param force do not request confirmation
*/
virtual ASYNC killNote( const TQString& noteId, bool force ) = 0;
/**
* Get all the notes including their ids.
* @return a TQMap that maps the id of a note to its name
*/
virtual TQMap<TQString,TQString> notes() const = 0;
/**
* Changes the title/name of a note.
* @param noteId the id of the note to be modified
* @param newName the new title
*/
virtual ASYNC setName( const TQString& noteId, const TQString& newName ) = 0;
/**
* Sets the text of a note. This will delete the old text!
* @param noteId the id of the note
* @param newText the new text for the note
*/
virtual ASYNC setText( const TQString& noteId, const TQString& newText ) = 0;
/**
* Returns the title/name of a note.
* @param noteId the id of the note in question
* @return the name as a TQString
*/
virtual TQString name( const TQString& noteId ) const = 0;
/**
* Returns the text of a note.
* @param noteId the id of the note in question
* @return the body as a TQString
*/
virtual TQString text( const TQString& noteId ) const = 0;
/**
* Get the last modified time of a note
* @return the last modified time as a TQDateTime
*/
virtual TQDateTime getLastModified( const TQString& noteId ) const = 0;
};
#endif