kartsfloatwatch.cpp

00001     /*
00002 
00003     Copyright (C) 2001 Stefan Westerfeld
00004                        stefan@space.twc.de
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010   
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public License
00017     along with this library; see the file COPYING.LIB.  If not, write to
00018     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019     Boston, MA 02110-1301, USA.
00020 
00021     */
00022 
00023 #include "artskde.h"
00024 #include "kartsfloatwatch.moc"
00025 #include "connect.h"
00026 
00027 using namespace Arts;
00028 
00029 class KArtsFloatWatchPrivate {
00030 public:
00031     KFloatWatchProxy proxy;
00032 };
00033 
00034 namespace Arts {
00035 
00036 class KFloatWatchProxy_impl : public KFloatWatchProxy_skel {
00037 protected:
00038     KArtsFloatWatch *watch;
00039 public:
00040     KFloatWatchProxy_impl(KArtsFloatWatch *watch) : watch(watch) { };
00041 
00042     float value() { return 0.0; /* dummy */ }
00043     void value(float newValue) { watch->change(newValue); }
00044 };
00045 
00046 }
00047 
00048 KArtsFloatWatch::KArtsFloatWatch(Arts::Object object, const char *stream,
00049     QObject *parent, const char *name) : QObject(parent, name)
00050 {
00051     d = new KArtsFloatWatchPrivate();
00052     d->proxy = KFloatWatchProxy::_from_base(new KFloatWatchProxy_impl(this));
00053     Arts::connect(object, stream, d->proxy, "value");
00054 }
00055 
00056 KArtsFloatWatch::~KArtsFloatWatch()
00057 {
00058     delete d;
00059 }
00060 
00061 void KArtsFloatWatch::change(float newValue)
00062 {
00063     emit valueChanged(newValue);
00064 }
KDE Home | KDE Accessibility Home | Description of Access Keys