diff -r 48060abbbeaf -r b3cee849fa46 creator/inc/notifications.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/creator/inc/notifications.h Tue Aug 31 15:15:20 2010 +0300 @@ -0,0 +1,149 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef NOTIFICATIONS_H_ +#define NOTIFICATIONS_H_ + +#include +#include +#include + +#include "engine.h" + +#include + +class HbProgressDialog; +class HbPopup; + +class Notifications : public HbPopup + { + + Q_OBJECT + +public: + /** + * shows massage box + */ + static void showMessageBox(HbMessageBox::MessageBoxType type, const QString &text, const QString &label, int timeout ); + + /** + * shows about box + */ + static void about(); + + /** + * shows error message + */ + static void error(const QString& errorMessage); + + /** + * to shows progressbar + */ + static HbProgressDialog* showProgressBar(const QString& text, int max); + + /** + * shows global HbGlobalCommonNote type note + */ + static void showGlobalNote(const QString& text, HbMessageBox::MessageBoxType type, HbPopup::DefaultTimeout timeout = HbPopup::ConfirmationNoteTimeout); + }; + +class CreatorDialog +{ + Q_DISABLE_COPY(CreatorDialog) +protected: + CreatorDialog(MUIObserver* observer, int userData) throw(std::exception) : mObserver(observer), mUserData(userData) + { + if(!mObserver) + throw std::invalid_argument("module cannot be the null!"); + }; +protected: + virtual void NotifyObserver(TBool aPositiveAction) + { + TRAPD( err, mObserver->QueryDialogClosedL(aPositiveAction, mUserData) ); + if(err) + { + Notifications::error( QString("Symbian Leave: %1 ").arg(err) ); + } + } + +protected: + MUIObserver* mObserver; + int mUserData; +}; + +class CreatorYesNoDialog : public HbMessageBox, public CreatorDialog +{ + Q_DISABLE_COPY(CreatorYesNoDialog) + Q_OBJECT +public: + static void launch(const QString& text, const QString& label, MUIObserver* observer, int userData) throw( std::exception ); +protected: + CreatorYesNoDialog(MUIObserver* observer, int userData); +protected slots: + void DialogClosed(HbAction*); +}; + +class CreatorInputDialog : public HbInputDialog, public CreatorDialog +{ + Q_DISABLE_COPY(CreatorInputDialog) + Q_OBJECT +public: + static void launch(const QString& label, int* value, bool acceptZero, MUIObserver* observer, int userData) throw( std::exception ); + static void launch(const QString& label, TDes& value, MUIObserver* observer, int userData) throw( std::exception ); +protected: + CreatorInputDialog(int* value, MUIObserver* observer, int userData); + CreatorInputDialog(TDes& value, MUIObserver* observer, int userData); +protected slots: + void DialogClosed(HbAction*); +private: + int *mIntValue; + TDes& mStrValue; + TBuf<1> mDummy; +}; + +class CreatorSelectionDialog : public HbSelectionDialog, public CreatorDialog +{ + Q_DISABLE_COPY(CreatorSelectionDialog) + Q_OBJECT +public: + static void launch(const QString& label, const QStringList& items, TInt* selectedItem, MUIObserver* observer, int userData) throw( std::exception ); + static void launch(const QString& label, const QStringList& items, CArrayFixFlat* aSelectedItems, MUIObserver* observer, int userData) throw( std::exception ); +protected: + CreatorSelectionDialog(TInt* selectedItem, MUIObserver* observer, int userData) throw( std::exception ); + CreatorSelectionDialog(CArrayFixFlat* aSelectedItems, MUIObserver* observer, int userData) throw( std::exception ); +protected slots: + void DialogClosed(HbAction*); +private: + TInt* mSelectedItem; + CArrayFixFlat* mSelectedItems; +}; + +class CreatorDateTimeDialog : public HbDialog, public CreatorDialog +{ + Q_DISABLE_COPY(CreatorDateTimeDialog) + Q_OBJECT +public: + static void launch(const QString& label, TTime* value, MUIObserver* observer, int userData) throw( std::exception ); +protected: + CreatorDateTimeDialog(TTime* value, MUIObserver* observer, int userData); +protected slots: + void DialogClosed(HbAction*); +private: + TTime *mValue; +}; +#endif // NOTIFICATIONS_H_