bluetoothengine/btui/btcpplugin/btcpuibaseview.h
author hgs
Fri, 03 Sep 2010 16:17:59 +0300
changeset 57 5ebadcda06cb
parent 42 b72428996822
child 67 16e4b9007960
permissions -rw-r--r--
201035_7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     1
/*
42
hgs
parents: 31
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents: 31
diff changeset
     3
 * All rights reserved.
hgs
parents: 31
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents: 31
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0""
hgs
parents: 31
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents: 31
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents: 31
diff changeset
     8
 *
hgs
parents: 31
diff changeset
     9
 * Initial Contributors:
hgs
parents: 31
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents: 31
diff changeset
    11
 *
hgs
parents: 31
diff changeset
    12
 * Contributors:
hgs
parents: 31
diff changeset
    13
 *
hgs
parents: 31
diff changeset
    14
 * Description:  
hgs
parents: 31
diff changeset
    15
 *
hgs
parents: 31
diff changeset
    16
 */
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    17
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    18
#ifndef BTCPUIBASEVIEW_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    19
#define BTCPUIBASEVIEW_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    20
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    21
#include <hbview.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    22
#include <qglobal.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    23
#include <cpbasesettingview.h>
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    24
#include <btsettingmodel.h>
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    25
#include <btdevicemodel.h>
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    26
#include <btdelegateconsts.h>
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    27
#include <btuimodelsortfilter.h>
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    28
#include <HbAbstractViewItem>
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    29
#include <HbMenu>
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    30
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    31
class BtcpuiViewMgr;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    32
class HbSelectionDialog;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    33
class BtAbstractDelegate;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    34
class HbMainWindow;
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    35
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    36
/*!
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    37
    \class BtUiBaseView
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    38
    \brief the class is the base class for all views in btapplication.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    39
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    40
 */
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    41
class BtcpuiBaseView : public CpBaseSettingView
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    42
{
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    43
    Q_OBJECT
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    44
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    45
public:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    46
    
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    47
    virtual ~BtcpuiBaseView();
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    48
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    49
    virtual void activateView( const QVariant& value, bool backNavi) = 0;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    50
    virtual void deactivateView() = 0;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    51
    virtual void setPreviousView(BtcpuiBaseView *view);
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    52
    void setViewMgr(BtcpuiViewMgr *mgr);
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    53
    virtual void take(BtAbstractDelegate *delegate);
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    54
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    55
public slots:
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    56
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    57
    virtual void backToPreviousView();
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    58
    void viewByDeviceTypeDialog();
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    59
    virtual void viewByDialogClosed(HbAction* action);
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    60
    void contextMenuTriggered(HbAction *action);
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    61
    void deviceSelected(const QModelIndex& modelIndex);
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    62
    void showContextMenu(HbAbstractViewItem *item, const QPointF &coords);
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    63
    void handleDelegateCompleted(int error, BtAbstractDelegate* delegate);
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    64
    
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    65
signals:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    66
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    67
protected:
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    68
    explicit BtcpuiBaseView(QGraphicsItem *parent = 0);
42
hgs
parents: 31
diff changeset
    69
    
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    70
    explicit BtcpuiBaseView(BtSettingModel &settingModel, 
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    71
            BtDeviceModel &deviceModel, 
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    72
            QGraphicsItem *parent = 0);
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    73
    
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    74
    void initialise();
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    75
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    76
    BtSettingModel *settingModel();
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    77
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    78
    BtDeviceModel *deviceModel();
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    79
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    80
    BtcpuiViewMgr *viewMgr();
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    81
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    82
    bool createDelegate(BtDelegate::EditorType type,
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    83
            QObject *receiver, const char *member);
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    84
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    85
    bool createExecuteDelegate(BtDelegate::EditorType type,
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    86
            QObject *receiver, const char *member, const QVariant &param);    
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    87
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    88
    int selectedDeviceTypes(HbAction* action);
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    89
    
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    90
    virtual void createContextMenuActions(int majorRole);
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    91
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    92
protected:
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    93
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    94
    enum devTypeSelectionList {
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    95
        BtUiDevAudioDevice = 0,
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    96
        BtUiDevComputer,
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    97
        BtUiDevInputDevice,
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    98
        BtUiDevPhone,
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
    99
        BtUiDevOtherDevice
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   100
    };
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   101
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   102
    // The view manager from which the device view can be accessed.
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   103
    // not owned.
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   104
    BtcpuiViewMgr *mViewMgr;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   105
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   106
    HbMainWindow *mMainWindow;
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   107
    
42
hgs
parents: 31
diff changeset
   108
    // owned
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
   109
    BtSettingModel *mSettingModel;
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
   110
    
42
hgs
parents: 31
diff changeset
   111
    // owned
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
   112
    BtDeviceModel *mDeviceModel;
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
   113
    
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   114
    //The run-time singleton delegate in a btui view
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   115
    BtAbstractDelegate* mDelegate;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   116
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   117
    // The view which this view is navigated from.
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   118
    // We will navigate to previous view if the back action is activated.
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   119
    BtcpuiBaseView *mPreviousView;
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   120
    
57
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   121
    // The back action of this view.
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   122
    HbAction *mBack;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   123
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   124
    HbSelectionDialog *mQuery;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   125
    
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   126
    HbMenu* mContextMenu;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   127
    HbAbstractViewItem *mLongPressedItem;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   128
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   129
    BtuiModelSortFilter*    mBtuiModelSortFilter;
5ebadcda06cb 201035_7
hgs
parents: 42
diff changeset
   130
    Q_DISABLE_COPY(BtcpuiBaseView)
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   131
};
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   132
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   133
#endif // BTCPUIBASEVIEW_H