/*
* Copyright (c) 2009 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: stub hbaction
*
*/
#ifndef HBACTION_H
#define HBACTION_H
#include <QObject>
#include <QString>
#include <qpointer.h>
#include <qaction.h>
#include "hbnamespace.h"
#include "hbicon.h"
#include "hbmenu.h"
#include "xqserviceutilstub.h"
#include "xqserviceproviderstub.h"
class HbAction : public QAction
{
Q_OBJECT
public:
/**
* Constructor
*/
explicit HbAction(QObject *parent = 0)
: QAction(parent),
mMenu(0)
{
Q_UNUSED(parent);
initializeCount++;
mTriggeredCount = 0;
}
/**
* Contructor.
*/
explicit HbAction(const QString &txt, QObject *parent = 0)
: QAction(txt, parent),
mMenu(0)
{
Q_UNUSED(parent);
initializeCount++;
mTriggeredCount = 0;
}
/**
* Contructor.
*/
explicit HbAction(Hb::SoftKeyAction actType, QObject *parent = 0)
: QAction(parent),
mMenu(0)
{
Q_UNUSED(parent);
Q_UNUSED(actType);
initializeCount++;
mTriggeredCount = 0;
}
explicit HbAction(Hb::NavigationAction action, QObject* parent = 0)
: QAction(parent),
mMenu(0)
{
Q_UNUSED(parent);
Q_UNUSED(action);
initializeCount++;
mNavAction = action;
mTriggeredCount = 0;
}
/**
* destructor
*/
virtual ~HbAction(){initializeCount--;}
/**
* icon
*/
void setIcon(const HbIcon &icon) { mIcon = icon; }
/**
* icon
*/
HbIcon icon() const { return mIcon; }
/**
* menu
*/
void setMenu(HbMenu* menu) { mMenu = menu; }
/**
* menu
*/
HbMenu *menu() const { return mMenu; }
/**
* Trigger stub
*/
void trigger()
{
mTriggeredCount++;
QAction::trigger();
}
public: // data
/**
* counter to make sure alloc dealloc match
*/
static int initializeCount;
/**
* Hb navigation action type.
*/
static Hb::NavigationAction mNavAction;
/**
* Count how many times this was triggered.
*/
int mTriggeredCount;
/**
* icon
*/
HbIcon mIcon;
/**
* menu
*/
HbMenu* mMenu;
};
#endif