summaryrefslogtreecommitdiff
path: root/libopie/todayplugininterface.h
blob: 5bf556472e147999e8659d71a1d5bc3f2445249e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83

#ifndef TODAY_PLUGIN_INTERFACE
#define TODAY_PLUGIN_INTERFACE

#include <qpe/qcom.h>
#include "todayconfigwidget.h"

class QString;
class QWidget;

#ifndef IID_TodayPluginInterface
#define IID_TodayPluginInterface QUuid( 0x70481804, 0x2b50, 0x4fba, 0x80, 0xbb, 0x0b, 0xf8, 0xdc, 0x72, 0x04, 0x14)
#endif

/**
 *
 *
 *
 */
class TodayPluginObject {

public:

    virtual ~TodayPluginObject() {};

    /**
     * The name if the plugin
     */
    virtual QString pluginName() const = 0;

    /**
     * Version numbering
     */
    virtual double versionNumber() const = 0;


    virtual  QString pixmapNameWidget() const = 0;

    /**    widget for the today view
     * It _needs_ a parent here.
     */
    virtual QWidget* widget( QWidget * ) = 0;

    /**
     * Pixmap used in the config widget
     */
    virtual QString pixmapNameConfig() const = 0;

    /**
     * Config plugin widget - optional
     * If the plugin has a config widget, it  _needs_  a parent here.
     */
    virtual TodayConfigWidget* configWidget( QWidget * ) = 0;

    /**
     * The application that should be assigned to the button (pixmap)
     */
    virtual QString appName() const = 0;


    /**
     * If the plugin should take part in the periodic refresh
     */
    virtual bool excludeFromRefresh() const = 0;

    /**
     * minimum height the plugin at least should have
     */
    // virtual int minHeight()  const = 0;

    /**
     *  maximum height that should be used before starting scrolling
     */
    // virtual int maxHeight() const = 0;

};


struct TodayPluginInterface : public QUnknownInterface {
    virtual TodayPluginObject *guiPart() = 0;
};

#endif