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/libkdepim/komposer/core/editor.h

105 lines
2.7 KiB

// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
/**
* editor.h
*
* Copyright (C) 2003-2004 Zack Rusin <zack@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#ifndef KOMPOSER_EDITOR_H
#define KOMPOSER_EDITOR_H
#include "plugin.h"
#include <tqstringlist.h>
namespace KParts {
class Part;
}
namespace Komposer {
class Core;
class Editor : public Plugin
{
Q_OBJECT
public:
enum TextType {
Plain = 1 << 0,
RichText = 1 << 1,
HTML = 1 << 2
};
virtual ~Editor();
/**
* This is the magic function that all derivatives have to reimplement.
* It returns the actual editor component.
*/
virtual TQWidget *widget() =0;
int supportedTextFormats() const;
/**
* Returns the full text inside the editor.
*/
virtual TQString text() const =0;
/**
* This function is called when the plugin is selected by the user before the
* widget of the KPart belonging to the plugin is raised.
*/
virtual void select();
/**
* Reimplement this method and return a @ref TQStringList of all config
* modules your application part should offer via Komposer. Note that the
* part and the module will have to take care for config syncing themselves.
* Usually @p DCOP used for that purpose.
*
* @note Make sure you offer the modules in the form:
* <code>"pathrelativetosettings/mysettings.desktop"</code>
*/
virtual TQStringList configModules() const { return TQStringList(); }
public slots:
/**
* Sets the text of the opened editor.
* Most commonly used on replaying.
* If any text is present if will be deleted.
*/
virtual void setText( const TQString &txt ) =0;
/**
* Changes currently used signature. If no signature is present
* a new one should be appened.
*/
virtual void changeSignature( const TQString &txt ) =0;
protected:
Editor( TQObject *parent, const char *name, const TQStringList &args );
private:
class Private;
Private *d;
};
}
#endif