Main Page   Class Hierarchy   Compound List   File List   Compound Members  

settingsdialog.h

00001 /***************************************************************************
00002                           settingsdialog.h  -  description
00003                              -------------------
00004     begin                : Sat May 11 2002
00005     copyright            : (C) 2002 by Kevin Hessels
00006     email                : khessels@shaw.ca
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef SETTINGSDIALOG_H
00019 #define SETTINGSDIALOG_H
00020 
00021 #include <qobject.h>
00022 
00023 #include <kdialogbase.h>
00024 
00025 class ChannelWidgetImpl;
00026 class ConfigData;
00027 class DeviceWidgetImpl;
00028 class GeneralWidget;
00029 class PictureWidget;
00030 class PluginWidgetImpl;
00031 class QtVision;
00032 class QTimer;
00033 class QVSourcePlugin;
00034 
00039 class SettingsDialog : public KDialogBase
00040 {
00041 Q_OBJECT
00042 
00043 public:
00044     enum Page
00045     {
00046         page_general = 0,
00047         page_device = 1,
00048         page_picture = 2,
00049         page_channels = 3,
00050         page_plugins = 4
00051     };
00052 
00053         SettingsDialog(QWidget *, char *, bool, ConfigData *, QtVision *qtv);
00054         ~SettingsDialog();
00055 
00056     void setCurrentDevice();
00057 
00058 signals:
00059     void optionsModified(ConfigData *newConfig);
00060 
00061     void hueChanged(int);
00062     void colourChanged(int);
00063     void brightnessChanged(int);
00064     void whitenessChanged(int);
00065     void contrastChanged(int);
00066 
00067 protected slots:
00068     void slotApply();
00069     void slotDefault();
00070     void slotCancel();
00071     void slotOk();
00072     void slotHelp();
00073 
00074 private:
00075     void setupGeneralPage();
00076     void setupDevicePage();
00077     void setupPicturePage();
00078     void setupChannelsPage();
00079     void setupPluginsPage();
00080 
00081     void setGeneralOptions(ConfigData *);
00082     void setDeviceOptions(ConfigData *);
00083     void setPictureOptions(ConfigData *);
00084     void setChannelOptions(ConfigData *);
00085     void setPluginOptions(ConfigData *);
00086 
00087     // for future use.
00088     bool checkValues();
00089 
00090     GeneralWidget *generalWidget;
00091     DeviceWidgetImpl *deviceWidgetImpl;
00092     PictureWidget *pictureWidget;
00093     ChannelWidgetImpl *channelWidgetImpl;
00094     PluginWidgetImpl *pluginWidgetImpl;
00095     bool m_inputValid;
00096     ConfigData *newConfig;
00097     QtVision *qtv;
00098     QTimer *_ptimer;
00099 
00100 private slots:
00101     void slotHueChanged(int);
00102     void slotColourChanged(int);
00103     void slotBrightnessChanged(int);
00104     void slotWhitenessChanged(int);
00105     void slotContrastChanged(int);
00106     void slotDeviceChanged(QVSourcePlugin *);
00107 
00108     // update the picture quality sliders
00109     void updatePicture();
00110 };
00111 
00112 #endif
00113 

Generated at Thu Jan 30 02:56:02 2003 for QtVision by doxygen1.2.9.1 written by Dimitri van Heesch, © 1997-2001