Source: kscan.h


Annotated List
Files
Globals
Hierarchy
Index
/* This file is part of the KDE libraries
    Copyright (C) 2001 Carsten Pfeiffer <pfeiffer@kde.org>

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 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
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public License
    along with this library; see the file COPYING.LIB.  If not, write to
    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.
*/

#ifndef KSCAN_H
#define KSCAN_H

#include <kdialogbase.h>
#include <kinstance.h>
#include <klibloader.h>

class QImage;

// baseclass for scan-dialogs
class KScanDialog : public KDialogBase
{
    Q_OBJECT

public:
    static KScanDialog * getScanDialog( QWidget *parent=0L,
					const char *name=0, bool modal=false );
    ~KScanDialog();

protected:
    KScanDialog( int dialogFace=Tabbed, int buttonMask = Close|Help,
		 QWidget *parent=0L, const char *name=0, bool modal=false );

    int id() const { return m_currentId; }
    int nextId() { return ++m_currentId; }

signals:
    // we need an id so that applications can distinguish between new
    // scans and redone scans!
    void preview( const QImage&, int id );
    void finalImage( const QImage&, int id );
    void textRecognized( const QString&, int id );
    
private:
    int m_currentId;

};


class KScanDialogFactory : public KLibFactory
{
public:
    virtual ~KScanDialogFactory();

    /**
     * Your library should reimplement this method to return your KScanDialog
     * derived dialog.
     */
    virtual KScanDialog * createDialog( QWidget *parent=0, const char *name=0,
					bool modal=false ) = 0;

protected:
    KScanDialogFactory( QObject *parent=0, const char *name=0 );

    virtual QObject* createObject( QObject* parent = 0, const char* name = 0,
                                   const char* classname = "QObject",
                                   const QStringList &args = QStringList() );


    void setName( const QCString& instanceName ) {
	delete m_instance;
	m_instance = new KInstance( instanceName );
    }

    KInstance *instance() const { return m_instance; }

private:
    KInstance *m_instance;

};

// baseclass for ocr-dialogs
class KOCRDialog : public KDialogBase
{
    Q_OBJECT

public:
    static KOCRDialog * getOCRDialog( QWidget *parent=0L,
					const char *name=0, bool modal=false );
    ~KOCRDialog();

protected:
    KOCRDialog( int dialogFace=Tabbed, int buttonMask = Close|Help,
		 QWidget *parent=0L, const char *name=0, bool modal=false );

    int id() const { return m_currentId; }
    int nextId() { return ++m_currentId; }

signals:
    void textRecognized( const QString&, int id );

private:
    int m_currentId;

};


class KOCRDialogFactory : public KLibFactory
{
public:
    virtual ~KOCRDialogFactory();

    /**
     * Your library should reimplement this method to return your KOCRDialog
     * derived dialog.
     */
    virtual KOCRDialog * createDialog( QWidget *parent=0, const char *name=0,
					bool modal=false ) = 0;

protected:
    KOCRDialogFactory( QObject *parent=0, const char *name=0 );

    virtual QObject* createObject( QObject* parent = 0, const char* name = 0,
                                   const char* classname = "QObject",
                                   const QStringList &args = QStringList() );


    void setName( const QCString& instanceName ) {
	delete m_instance;
	m_instance = new KInstance( instanceName );
    }

    KInstance *instance() const { return m_instance; }

private:
    KInstance *m_instance;

};


#endif // KSCAN_H

Generated by: ssk@tauon.ph.unimelb.EDU.AU on Wed May 23 05:06:16 2001, using kdoc 2.0a35.