diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 18:42:24 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 18:42:24 +0000 |
commit | f508189682b6fba62e08feeb1596f682bad5fff9 (patch) | |
tree | 28aeb0e6c19386c385c1ce5edf8a92c1bca15281 /src/libgui/watch_view.h | |
download | piklab-f508189682b6fba62e08feeb1596f682bad5fff9.tar.gz piklab-f508189682b6fba62e08feeb1596f682bad5fff9.zip |
Added KDE3 version of PikLab
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/piklab@1095639 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/libgui/watch_view.h')
-rw-r--r-- | src/libgui/watch_view.h | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/src/libgui/watch_view.h b/src/libgui/watch_view.h new file mode 100644 index 0000000..a7ac24c --- /dev/null +++ b/src/libgui/watch_view.h @@ -0,0 +1,94 @@ +/*************************************************************************** + * Copyright (C) 2006-2007 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef WATCH_VIEW_H +#define WATCH_VIEW_H + +#include "common/gui/list_container.h" +#include "common/common/storage.h" +#include "common/gui/list_view.h" +#include "devices/base/register.h" +namespace Device { class Data; } + +namespace Register +{ + +//----------------------------------------------------------------------------- +class BaseListView : public ListView +{ +Q_OBJECT +public: + BaseListView(QWidget *parent); + virtual void init(const Device::Data *data) = 0; + virtual void updateView() = 0; + +private slots: + virtual void itemClicked(int button, QListViewItem *item, const QPoint &p, int col) = 0; + virtual void contextMenu(QListViewItem *item, const QPoint &p, int col) = 0; + +protected: + ListViewItemContainer *_root; + QValueVector<Register::TypeData> _ids; +}; + +//----------------------------------------------------------------------------- +class RegisterListView : public BaseListView +{ +Q_OBJECT +public: + RegisterListView(QWidget *parent); + virtual void init(const Device::Data *data); + virtual void updateView(); + +private slots: + virtual void itemClicked(int button, QListViewItem *item, const QPoint &p, int col); + virtual void contextMenu(QListViewItem *, const QPoint &, int) {} +}; + +//----------------------------------------------------------------------------- +class WatchedListView : public BaseListView +{ +Q_OBJECT +public: + WatchedListView(QWidget *parent); + virtual QString tooltip(const QListViewItem &item, int col) const; + virtual void init(const Device::Data *data); + virtual void updateView(); + +private slots: + virtual void itemClicked(int button, QListViewItem *item, const QPoint &p, int col); + virtual void contextMenu(QListViewItem *item, const QPoint &p, int col); + +private: + PopupContainer *_popup; + KPopupMenu *_formatPopup; + NumberBase _base; + + static KPopupMenu *appendFormatMenu(KPopupMenu *parent, uint offset); +}; + +//----------------------------------------------------------------------------- +class WatchView : public QWidget, public GenericView +{ +Q_OBJECT +public: + WatchView(QWidget *parent); + void init(bool force); + +public slots: + virtual void updateView(); + +private: + WatchedListView *_watchedListView; + RegisterListView *_registerListView; + const Device::Data *_data; +}; + +} // namespace + +#endif |