• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdegraphics API Reference
  • KDE Home
  • Contact Us
 

libs/libksane/libksane

  • sources
  • kde-4.14
  • kdegraphics
  • libs
  • libksane
  • libksane
  • options
ksane_option.h
Go to the documentation of this file.
1 /* ============================================================
2  *
3  * This file is part of the KDE project
4  *
5  * Date : 2009-01-21
6  * Description : Sane interface for KDE
7  *
8  * Copyright (C) 2009 by Kare Sars <kare dot sars at iki dot fi>
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 2.1 of the License, or (at your option) version 3, or any
14  * later version accepted by the membership of KDE e.V. (or its
15  * successor approved by the membership of KDE e.V.), which shall
16  * act as a proxy defined in Section 6 of version 3 of the license.
17  *
18  * This library is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21  * Lesser General Public License for more details.
22  *
23  * You should have received a copy of the GNU Lesser General Public
24  * License along with this program. If not, see <http://www.gnu.org/licenses/>.
25  *
26  * ============================================================ */
27 
28 #ifndef KSANE_OPTION_H
29 #define KSANE_OPTION_H
30 
31 // Qt includes
32 #include <QFrame>
33 
34 //KDE includes
35 #include <KLocalizedString>
36 
37 // Sane includes
38 extern "C"
39 {
40 #include <sane/sane.h>
41 #include <sane/saneopts.h>
42 }
43 
44 namespace KSaneIface
45 {
46 
47 class KSaneOptionWidget;
48 
49 class KSaneOption : public QObject
50 {
51  Q_OBJECT
52 
53 public:
54 
55  typedef enum
56  {
57  TYPE_DETECT_FAIL,
58  TYPE_CHECKBOX,
59  TYPE_SLIDER,
60  TYPE_F_SLIDER,
61  TYPE_COMBO,
62  TYPE_ENTRY,
63  TYPE_GAMMA,
64  TYPE_BUTTON
65  } KSaneOptType;
66 
67  typedef enum
68  {
69  STATE_HIDDEN,
70  STATE_DISABLED,
71  STATE_SHOWN
72  } KSaneOptWState;
73 
74  KSaneOption(const SANE_Handle handle, const int index);
75  ~KSaneOption();
76  static KSaneOptType optionType(const SANE_Option_Descriptor *optDesc);
77 
78  KSaneOptionWidget *widget() {return m_widget;}
79  virtual bool hasGui() {return false;}
80  bool needsPolling();
81  KSaneOptWState state();
82  QString name();
83 
84  virtual void createWidget(QWidget *parent);
85 
86  virtual void readOption();
87  virtual void readValue();
88 
89  virtual bool getMinValue(float &max);
90  virtual bool getMaxValue(float &max);
91  virtual bool getValue(float &val);
92  virtual bool setValue(float val);
93  virtual bool getValue(QString &val);
94  virtual bool setValue(const QString &val);
95  virtual int getUnit();
96 
97  bool storeCurrentData();
98  bool restoreSavedData();
99 
100 Q_SIGNALS:
101  void optsNeedReload();
102  void valsNeedReload();
103 
104 protected:
105 
106  SANE_Word toSANE_Word(unsigned char *data);
107  void fromSANE_Word(unsigned char *data, SANE_Word from);
108  bool writeData(void *data);
109  KLocalizedString unitString();
110  QString unitDoubleString();
111  void updateVisibility();
112 
113  SANE_Handle m_handle;
114  int m_index;
115  const SANE_Option_Descriptor *m_optDesc;
116  unsigned char *m_data;
117  KSaneOptionWidget *m_widget;
118 };
119 
120 } // NameSpace KSaneIface
121 
122 #endif // KSANE_OPTION_H
QWidget
KSaneIface::KSaneOption::optsNeedReload
void optsNeedReload()
KSaneIface::KSaneOption::TYPE_GAMMA
Definition: ksane_option.h:63
KSaneIface::KSaneOption::optionType
static KSaneOptType optionType(const SANE_Option_Descriptor *optDesc)
Definition: ksane_option.cpp:239
KSaneIface::KSaneOption::storeCurrentData
bool storeCurrentData()
Definition: ksane_option.cpp:204
KSaneIface::KSaneOption::createWidget
virtual void createWidget(QWidget *parent)
Definition: ksane_option.cpp:59
KSaneIface::KSaneOption::m_index
int m_index
Definition: ksane_option.h:114
KSaneIface::KSaneOption::fromSANE_Word
void fromSANE_Word(unsigned char *data, SANE_Word from)
Definition: ksane_option.cpp:180
KSaneIface::KSaneOption::toSANE_Word
SANE_Word toSANE_Word(unsigned char *data)
Definition: ksane_option.cpp:162
KSaneIface::KSaneOption::TYPE_F_SLIDER
Definition: ksane_option.h:60
KSaneIface::KSaneOption::STATE_SHOWN
Definition: ksane_option.h:71
KSaneIface::KSaneOption::TYPE_COMBO
Definition: ksane_option.h:61
KSaneIface::KSaneOption::hasGui
virtual bool hasGui()
Definition: ksane_option.h:79
KSaneIface::KSaneOption::m_data
unsigned char * m_data
Definition: ksane_option.h:116
KSaneIface::KSaneOption::needsPolling
bool needsPolling()
Definition: ksane_option.cpp:108
KSaneIface::KSaneOption::state
KSaneOptWState state()
Definition: ksane_option.cpp:92
KSaneIface::KSaneOption::m_optDesc
const SANE_Option_Descriptor * m_optDesc
This pointer is provided by sane.
Definition: ksane_option.h:115
KSaneIface::KSaneOption::m_handle
SANE_Handle m_handle
Definition: ksane_option.h:113
KSaneIface::KSaneOption::TYPE_SLIDER
Definition: ksane_option.h:59
QObject
KSaneIface::KSaneOptionWidget
A wrapper for a checkbox.
Definition: ksane_option_widget.h:45
KSaneIface::KSaneOption::setValue
virtual bool setValue(float val)
Definition: ksane_option.cpp:199
KSaneIface::KSaneOption::TYPE_ENTRY
Definition: ksane_option.h:62
KSaneIface::KSaneOption::TYPE_DETECT_FAIL
Definition: ksane_option.h:57
KSaneIface::KSaneOption::KSaneOptWState
KSaneOptWState
Definition: ksane_option.h:67
KSaneIface::KSaneOption::getMaxValue
virtual bool getMaxValue(float &max)
Definition: ksane_option.cpp:197
QString
KSaneIface::KSaneOption
Definition: ksane_option.h:49
KSaneIface::KSaneOption::~KSaneOption
~KSaneOption()
Definition: ksane_option.cpp:48
KSaneIface::KSaneOption::KSaneOptType
KSaneOptType
Definition: ksane_option.h:55
KSaneIface::KSaneOption::getUnit
virtual int getUnit()
Definition: ksane_option.cpp:202
KSaneIface::KSaneOption::restoreSavedData
bool restoreSavedData()
Definition: ksane_option.cpp:224
KSaneIface::KSaneOption::STATE_DISABLED
Definition: ksane_option.h:70
KSaneIface::KSaneOption::getMinValue
virtual bool getMinValue(float &max)
Definition: ksane_option.cpp:196
KSaneIface::KSaneOption::STATE_HIDDEN
Definition: ksane_option.h:69
KSaneIface::KSaneOption::readValue
virtual void readValue()
Definition: ksane_option.cpp:160
KSaneIface::KSaneOption::writeData
bool writeData(void *data)
Definition: ksane_option.cpp:126
KSaneIface::KSaneOption::readOption
virtual void readOption()
Definition: ksane_option.cpp:73
KSaneIface::KSaneOption::TYPE_CHECKBOX
Definition: ksane_option.h:58
KSaneIface::KSaneOption::KSaneOption
KSaneOption(const SANE_Handle handle, const int index)
Definition: ksane_option.cpp:40
KSaneIface::KSaneOption::TYPE_BUTTON
Definition: ksane_option.h:64
KSaneIface::KSaneOption::updateVisibility
void updateVisibility()
Definition: ksane_option.cpp:79
KSaneIface::KSaneOption::m_widget
KSaneOptionWidget * m_widget
Definition: ksane_option.h:117
KSaneIface::KSaneOption::unitDoubleString
QString unitDoubleString()
Definition: ksane_option.cpp:326
KSaneIface::KSaneOption::unitString
KLocalizedString unitString()
Definition: ksane_option.cpp:311
QObject::parent
QObject * parent() const
KSaneIface::KSaneOption::widget
KSaneOptionWidget * widget()
Definition: ksane_option.h:78
KSaneIface::KSaneOption::valsNeedReload
void valsNeedReload()
KSaneIface::KSaneOption::name
QString name()
Definition: ksane_option.cpp:120
KSaneIface::KSaneOption::getValue
virtual bool getValue(float &val)
Definition: ksane_option.cpp:198
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:19:47 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libs/libksane/libksane

Skip menu "libs/libksane/libksane"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdegraphics API Reference

Skip menu "kdegraphics API Reference"
  •     libkdcraw
  •     libkexiv2
  •     libkipi
  •     libksane
  • okular

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal