| # kio Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# KScanDialog Class Reference

This is a base class for scanning dialogs. A baseclass and accessor for Scanning Dialogs. More...

`#include <kscan.h>`

Inheritance diagram for KScanDialog:

[legend]
Collaboration diagram for KScanDialog:

[legend]
List of all members.

## Signals
void | preview (const QImage &, int id)
| Informs you that an image has been previewed.
void | finalImage (const QImage &, int id)
| Informs you that an image has scanned.
void | textRecognized (const QString &, int id)
| Informs you that the image with the id `id` has been run through text-recognition.
## Public Member Functions
| ~KScanDialog ()
| Destructs the scan dialog.
virtual bool | setup ()
| Reimplement this if you need to set up some things, before showing the dialog, e.g.
## Static Public Member Functions
KScanDialog * | getScanDialog (QWidget *parent=0L, const char *name=0, bool modal=false)
| Creates the user's preferred scanning dialog and returns it, or 0L if no scan-support is available.
## Protected Member Functions
| KScanDialog (int dialogFace=Tabbed, int buttonMask=Close|Help, QWidget *parent=0L, const char *name=0, bool modal=false)
| Constructs the scan dialog.
int | id () const
int | nextId ()
virtual void | virtual_hook (int id, void *data)

## Detailed Description

This is a base class for scanning dialogs. A baseclass and accessor for Scanning Dialogs.

You can derive from this class and implement your own dialog. An implementation is available in kdegraphics/libkscan.

Application developers that wish to add scanning support to their program can use the static method `KScanDialog::getScanDialog()` to get an instance of the user's preferred scanning dialog.

Typical usage looks like this (e.g. in a slotShowScanDialog() method):

     if ( !m_scanDialog ) {
         m_scanDialog = KScanDialog::getScanDialog( this, "scandialog" );
         if ( !m_scanDialog ) // no scanning support installed?
             return;

         connect( m_scanDialog, SIGNAL( finalImage( const QImage&, int )),
                  SLOT( slotScanned( const QImage&, int ) ));
     }

     if ( m_scanDialog->setup() ) // only if scanner configured/available
         m_scanDialog->show();

This will create and show a non-modal scanning dialog. Connect to more signals if you like.

If you implement an own scan-dialog, you also have to implement a KScanDialogFactory.

Author:
  Carsten Pfeiffer <pfeiffer@kde.org>

Definition at line 63 of file kscan.h.

## Constructor & Destructor Documentation

KScanDialog::~KScanDialog | ( |  | ) |

| Destructs the scan dialog. Definition at line 58 of file kscan.cpp.

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

| Constructs the scan dialog. If you implement an own dialog, you can customize it with the usual KDialogBase flags. See also: KDialogBase Definition at line 50 of file kscan.cpp. References KStdAccel::name().

## Member Function Documentation

KScanDialog * KScanDialog::getScanDialog | ( | QWidget * | parent = 0L,
|  | const char * | name = 0,
|  | bool | modal = false
| ) | `[static]`

| Creates the user's preferred scanning dialog and returns it, or 0L if no scan-support is available. Pass a suitable `parent` widget, if you like. If you don't you have to 'delete' the returned pointer yourself. Definition at line 28 of file kscan.cpp. References QValueList::begin(), KLibFactory::create(), QFile::encodeName(), KLibLoader::factory(), QValueList::isEmpty(), KStdAccel::name(), QString::number(), KTrader::OfferList, KTrader::query(), KLibLoader::self(), and KTrader::self().

bool KScanDialog::setup | ( |  | ) | `[virtual]`

| Reimplement this if you need to set up some things, before showing the dialog, e.g. to ask the user for the scanner device to use. If you return false (e.g. there is no device available or the user aborted device selection), the dialog will not be shown. Returns true by default. Definition at line 62 of file kscan.cpp.

int KScanDialog::id | ( |  | ) | const`[inline, protected]`

| Returns: the current id for an image. You can use that in your subclass for the signals. The id is used in the signals to let people know which preview and which text-recognition belongs to which scan. See also: nextId finalImage preview textRecognized Definition at line 111 of file kscan.h.

int KScanDialog::nextId | ( |  | ) | `[inline, protected]`

| Returns: the id for the next image. You can use that in your subclass for the signals. See also: id finalImage preview textRecognized Definition at line 123 of file kscan.h.

void KScanDialog::preview | ( | const QImage & | ,
|  | int | id
| ) | `[signal]`

| Informs you that an image has been previewed.

void KScanDialog::finalImage | ( | const QImage & | ,
|  | int | id
| ) | `[signal]`

| Informs you that an image has scanned. `id` is the same as in the `preview()` signal, if this image had been previewed before. Note, that those id's may not be properly implemented in the current libkscan.

void KScanDialog::textRecognized | ( | const QString & | ,
|  | int | id
| ) | `[signal]`

| Informs you that the image with the id `id` has been run through text-recognition. The text is in the QString parameter. In the future, a compound document, using rich text will be used instead.

The documentation for this class was generated from the following files:

- kscan.h
- kscan.cpp

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:21:52 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001