# kio Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | 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 &img, int id)
void | finalImage (const QImage &img, int id)
void | textRecognized (const QString &text, int id)

## Public Member Functions

| ~KScanDialog ()
virtual bool | setup ()

## Static Public Member Functions

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

## Protected Member Functions

| KScanDialog (int dialogFace=Tabbed, int buttonMask=Close|Help, QWidget *parent=0L, const char *name=0, bool modal=false)
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.

Parameters:

  | dialogFace | the KDialogBase::DialogType
  | buttonMask | a ORed mask of all buttons (see KDialogBase::ButtonCode)
  | parent | the QWidget's parent, or 0
  | name | the name of the QObject, can be 0
  | modal | if true the dialog is model

See also:
  KDialogBase

Definition at line 50 of file kscan.cpp.

## 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.

Parameters:

  | parent | the QWidget's parent, or 0
  | name | the name of the QObject, can be 0
  | modal | if true the dialog is model

Returns:
  the KScanDialog, or 0 if the function failed

Definition at line 28 of file kscan.cpp.

References QValueList::begin(), KLibFactory::create(), KLibLoader::factory(), QValueList::isEmpty(), QString::number(), 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.

Returns:
  the current id for the image

See also:
  nextId

  finalImage

  preview

  textRecognized

Definition at line 122 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.

Returns:
  the id for the next image

See also:
  id

  finalImage

  preview

  textRecognized

Definition at line 135 of file kscan.h.

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

Informs you that an image has been previewed.

Parameters:

  | img | the image
  | id | the image's id

void KScanDialog::finalImage | ( | const QImage & | img,
|  | 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.

Parameters:

  | img | the image
  | id | the image's id

void KScanDialog::textRecognized | ( | const QString & | text,
|  | 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.

Parameters:

  | text | the text that has been recognized
  | id | the id of the image

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

- kscan.h
- kscan.cpp

This file is part of the documentation for kio Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:25:15 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003