creator/inc/notifications.h
author hgs
Tue, 01 Jun 2010 14:40:54 +0300
changeset 28 4cc0d1a608c1
parent 27 271e901a9423
child 51 b048e15729d6
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description: 
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#ifndef NOTIFICATIONS_H_
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#define NOTIFICATIONS_H_
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <hbmessagebox.h>
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <hbselectiondialog.h>
27
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    24
#include <hbinputdialog.h>
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    25
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    26
#include "engine.h"
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    27
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    28
#include <stdexcept>
17
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
class HbProgressDialog;
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
class HbPopup;
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
class Notifications : public HbPopup
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
    {
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
	Q_OBJECT 	
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
	
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
public:
25
31fc1277642e 201017_2
hgs
parents: 24
diff changeset
    39
    /**
31fc1277642e 201017_2
hgs
parents: 24
diff changeset
    40
     * shows massage box
31fc1277642e 201017_2
hgs
parents: 24
diff changeset
    41
     */
31fc1277642e 201017_2
hgs
parents: 24
diff changeset
    42
	static void showMessageBox(HbMessageBox::MessageBoxType type, const QString &text, const QString &label, int timeout );
31fc1277642e 201017_2
hgs
parents: 24
diff changeset
    43
	
17
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
    /**
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
     * shows about box
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
     */
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
    static void about();
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
    
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
    /** 
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
     * shows error message 
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
     */
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
    static void error(const QString& errorMessage);
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
	
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
	/**
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
     * to shows progressbar
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
     */
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
	static HbProgressDialog* showProgressBar(const QString& text, int max);
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
	
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
    /**
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
     * shows global HbGlobalCommonNote type note
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
     */
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
	static void showGlobalNote(const QString& text, HbMessageBox::MessageBoxType type, HbPopup::DefaultTimeout timeout = HbPopup::ConfirmationNoteTimeout);
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
    };
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
27
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    65
class CreatorDialog
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    66
{
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    67
    Q_DISABLE_COPY(CreatorDialog)
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    68
protected:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    69
    CreatorDialog(MUIObserver* observer, int userData) throw(std::exception) : mObserver(observer), mUserData(userData)
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    70
        {
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    71
            if(!mObserver)
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    72
                throw std::invalid_argument("module cannot be the null!");
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    73
        };
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    74
protected:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    75
    virtual void NotifyObserver(TBool aPositiveAction)
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    76
        {
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    77
        TRAPD( err, mObserver->QueryDialogClosedL(aPositiveAction, mUserData) );
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    78
        if(err)
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    79
            {
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    80
            Notifications::error( QString("Symbian Leave: %1 ").arg(err) );
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    81
            }
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    82
        }
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    83
    
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    84
protected:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    85
    MUIObserver* mObserver;
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    86
    int mUserData;
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    87
};
17
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
27
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    89
class CreatorYesNoDialog : public HbMessageBox, public CreatorDialog
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    90
{
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    91
    Q_DISABLE_COPY(CreatorYesNoDialog)
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    92
    Q_OBJECT
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    93
public:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    94
    static void launch(const QString& text, const QString& label, MUIObserver* observer, int userData) throw( std::exception );
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    95
protected:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    96
    CreatorYesNoDialog(MUIObserver* observer, int userData);
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    97
protected slots:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    98
    void DialogClosed(HbAction*);
271e901a9423 201019_1
hgs
parents: 25
diff changeset
    99
};
17
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
27
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   101
class CreatorInputDialog : public HbInputDialog, public CreatorDialog
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   102
{
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   103
    Q_DISABLE_COPY(CreatorInputDialog)
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   104
    Q_OBJECT
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   105
public:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   106
    static void launch(const QString& label, int* value, bool acceptZero,  MUIObserver* observer, int userData) throw( std::exception );
28
hgs
parents: 27
diff changeset
   107
    static void launch(const QString& label, TDes& value,  MUIObserver* observer, int userData) throw( std::exception );
27
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   108
protected:
28
hgs
parents: 27
diff changeset
   109
    CreatorInputDialog(int* value, MUIObserver* observer, int userData);
hgs
parents: 27
diff changeset
   110
    CreatorInputDialog(TDes& value, MUIObserver* observer, int userData);
27
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   111
protected slots:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   112
    void DialogClosed(HbAction*);
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   113
private:
28
hgs
parents: 27
diff changeset
   114
    int *mIntValue;
hgs
parents: 27
diff changeset
   115
    TDes& mStrValue;
hgs
parents: 27
diff changeset
   116
    TBuf<1> mDummy;
27
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   117
};
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   118
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   119
class CreatorSelectionDialog : public HbSelectionDialog, public CreatorDialog
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   120
{
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   121
    Q_DISABLE_COPY(CreatorSelectionDialog)
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   122
    Q_OBJECT
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   123
public:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   124
    static void launch(const QString& label, const QStringList& items, TInt* selectedItem, MUIObserver* observer, int userData) throw( std::exception );
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   125
    static void launch(const QString& label, const QStringList& items, CArrayFixFlat<TInt>* aSelectedItems, MUIObserver* observer, int userData) throw( std::exception );
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   126
protected:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   127
    CreatorSelectionDialog(TInt* selectedItem, MUIObserver* observer, int userData) throw( std::exception );
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   128
    CreatorSelectionDialog(CArrayFixFlat<TInt>* aSelectedItems, MUIObserver* observer, int userData) throw( std::exception );
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   129
protected slots:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   130
    void DialogClosed(HbAction*);
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   131
private:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   132
    TInt* mSelectedItem;
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   133
    CArrayFixFlat<TInt>* mSelectedItems;
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   134
};
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   135
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   136
class CreatorDateTimeDialog : public HbDialog, public CreatorDialog
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   137
{
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   138
    Q_DISABLE_COPY(CreatorDateTimeDialog)
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   139
    Q_OBJECT
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   140
public:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   141
    static void launch(const QString& label, TTime* value, MUIObserver* observer, int userData) throw( std::exception );
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   142
protected:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   143
    CreatorDateTimeDialog(TTime* value, MUIObserver* observer, int userData);
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   144
protected slots:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   145
    void DialogClosed(HbAction*);
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   146
private:
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   147
    TTime *mValue;
271e901a9423 201019_1
hgs
parents: 25
diff changeset
   148
};
17
4f2773374eff Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
#endif // NOTIFICATIONS_H_