summaryrefslogtreecommitdiff
authorzecke <zecke>2004-05-11 21:56:44 (UTC)
committer zecke <zecke>2004-05-11 21:56:44 (UTC)
commite58a9f83f1bd385aad687daa166077602e921494 (patch) (side-by-side diff)
tree23e52d2670f39747bda9dd871588f0cd098dc841
parentee881675ee5f0df15cc19e7ab2d18ee9f13bf438 (diff)
downloadopie-e58a9f83f1bd385aad687daa166077602e921494.zip
opie-e58a9f83f1bd385aad687daa166077602e921494.tar.gz
opie-e58a9f83f1bd385aad687daa166077602e921494.tar.bz2
Comment on virtual method and maybe the lack of them
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opieui/okeyconfigwidget.h10
-rw-r--r--libopie2/opieui/otaskbarapplet.h1
2 files changed, 8 insertions, 3 deletions
diff --git a/libopie2/opieui/okeyconfigwidget.h b/libopie2/opieui/okeyconfigwidget.h
index d11054c..3d2260c 100644
--- a/libopie2/opieui/okeyconfigwidget.h
+++ b/libopie2/opieui/okeyconfigwidget.h
@@ -1,137 +1,141 @@
/*
* Copyright (C) 2004
* LGPL v2 zecke@handhelds.org
*/
#ifndef ODP_KEY_CONFIG_WIDGET_H
#define ODP_KEY_CONFIG_WIDGET_H
#include <opie2/okeyconfigmanager.h>
#include <qhbox.h>
class QKeyEvent;
class QLabel;
class QPushButton;
class QListViewItem;
class QRadioButton;
class QTimer;
namespace Opie {
namespace Ui {
namespace Internal {
class OKeyConfigWidgetPrivate;
typedef QValueList<OKeyConfigWidgetPrivate> OKeyConfigWidgetPrivateList;
class OKeyListViewItem;
}
class OListViewItem;
class OListView;
/**
* With this Widget you can let the Keyboard Shortcuts
* be configured by the user.
* There are two ways you can use this widget. Either in a tab were
* all changes are immediately getting into effect or in a queue
* were you ask for saving. Save won't write the data but only set
- * it to the OKeyConfigManager
+ * it to the OKeyConfigManager.
+ *
+ * Normally subclassing this widget does not make much sense as the widget content
+ * as such is immutable. If I'm wrong I'm willing to learn and you could mail me which
+ * functions do make sense with virtual on it (zecke@handhelds.org).
*
* @since 1.2
*/
class OKeyConfigWidget : public QWidget {
Q_OBJECT
public:
/**
* Immediate Apply the change directly to the underlying OKeyConfigManager
* Queue Save all items and then apply when you save()
*/
enum ChangeMode { Imediate, Queue };
OKeyConfigWidget( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
- ~OKeyConfigWidget();
+ virtual ~OKeyConfigWidget();
void setChangeMode( enum ChangeMode );
ChangeMode changeMode()const;
void insert( const QString& name, Opie::Core::OKeyConfigManager* );
void load();
void save();
-private slots:
+protected slots:
void slotListViewItem( QListViewItem* );
void slotNoKey();
void slotDefaultKey();
void slotCustomKey();
void slotConfigure();
private:
static bool sanityCheck( Opie::Ui::Internal::OKeyListViewItem* man,
const Opie::Core::OKeyPair& newItem );
void updateItem( Opie::Ui::Internal::OKeyListViewItem* man,
const Opie::Core::OKeyPair& newItem);
void initUi();
Opie::Ui::OListView *m_view;
Opie::Ui::Internal::OKeyConfigWidgetPrivateList m_list;
QLabel *m_lbl;
QPushButton *m_btn;
QRadioButton *m_def, *m_cus, *m_none;
QWidget* m_box;
ChangeMode m_mode;
class Private;
Private *d;
};
/**
* This is a small dialog that allows you to
* capture a key sequence.
* If you want it to close after a key was captured you
* can use this code snippet.
*
* \code
* OKeyChooserConfigDialog diag(0,0,true);
* connect(&diag,SIGNAL(keyCaptured()),
* this,SLOT(accept()));
* if( QPEApplication::execDialog(&diag) == QDialog::Accept ){
* take_the_key_and_do_something
* }
*
* \endcode
*
*/
class OKeyChooserConfigDialog : public QDialog {
Q_OBJECT
public:
OKeyChooserConfigDialog( QWidget* parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0 );
~OKeyChooserConfigDialog();
Opie::Core::OKeyPair keyPair()const;
protected:
void keyPressEvent( QKeyEvent* );
void keyReleaseEvent( QKeyEvent* );
signals:
void keyCaptured();
private slots:
void slotTimeUp();
private:
QTimer *m_timer;
QLabel *m_lbl;
bool m_virtKey : 1;
Opie::Core::OKeyPair m_keyPair;
int m_key, m_mod;
class Private;
Private *d;
};
}
}
#endif
diff --git a/libopie2/opieui/otaskbarapplet.h b/libopie2/opieui/otaskbarapplet.h
index ec7b9c4..77cc461 100644
--- a/libopie2/opieui/otaskbarapplet.h
+++ b/libopie2/opieui/otaskbarapplet.h
@@ -1,129 +1,130 @@
/*
                This file is part of the Opie Project
              Copyright (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
=.
.=l.
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program is distributed in the hope that
     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
    : ..    .:,     . . . without even the implied warranty of
    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = Library General Public License along with
    --        :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef OTASKBARAPPLET_H
#define OTASKBARAPPLET_H
#include <qpe/taskbarappletinterface.h>
#include <qpe/qcom.h>
#include <qwidget.h>
class QMouseEvent;
namespace Opie {
namespace Ui {
namespace Internal {
/*======================================================================================
* OTaskbarAppletWrapper
*======================================================================================*/
class OTaskbarAppletWrapperPrivate;
template<class T> class OTaskbarAppletWrapper : public TaskbarAppletInterface
{
public:
OTaskbarAppletWrapper():_applet( 0 )
{
}
virtual ~OTaskbarAppletWrapper()
{
delete _applet;
}
QRESULT queryInterface( const QUuid& uuid, QUnknownInterface** iface )
{
qDebug( "OTaskbarAppletWrapper::queryInterface()" );
*iface = 0;
if ( uuid == IID_QUnknown )
*iface = this;
else if ( uuid == IID_TaskbarApplet )
*iface = this;
else
return QS_FALSE;
if ( *iface ) (*iface)->addRef();
return QS_OK;
}
Q_REFCOUNT
virtual T* applet( QWidget* parent )
{
if ( !_applet ) _applet = new T( parent );
return _applet;
}
virtual int position() const
{
return T::position();
}
private:
T* _applet;
OTaskbarAppletWrapperPrivate *d;
};
}
/*======================================================================================
* OTaskbarApplet
*======================================================================================*/
// Must be inline until after we shipped Opie 1.0
// Having OTaskBarApplet reside in libopieui2 is not possible
// until we link the launcher binary against libopieui2 -
// otherwise the necessary symbols are not present, when
// the dynamic loader [dlopen] tries to resolve an applet which
// inherits OTaskbarApplet
class OTaskbarApplet : public QWidget
{
public:
OTaskbarApplet( QWidget* parent, const char* name = 0 );
virtual ~OTaskbarApplet();
+
protected:
virtual void popup( QWidget* widget );
private:
class Private;
Private *d;
};
}
}
#define EXPORT_OPIE_APPLET_v1( AppLet ) \
Q_EXPORT_INTERFACE() { \
Q_CREATE_INSTANCE( Opie::Ui::Internal::OTaskbarAppletWrapper<AppLet> ) \
}
#endif