wlanutilities/wlansniffer/wlansnifferapplication/inc/wlansnifferlistwidget.h
changeset 38 2dc6da6fb431
child 58 301aeb18ae47
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/inc/wlansnifferlistwidget.h	Fri Jun 11 14:43:07 2010 +0300
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2009-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: 
+* WLAN Sniffer list widget class.
+*/
+
+#ifndef WLANSNIFFERLISTWIDGET_H
+#define WLANSNIFFERLISTWIDGET_H
+
+// System includes
+
+#include <QSharedPointer>
+#include <QList>
+#include <QString>
+
+// User includes
+
+// Forward declarations
+
+class HbListWidget;
+class HbListWidgetItem;
+class WlanSnifferListItem;
+class WlanQtUtilsIap;
+class WlanQtUtilsAp;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanSnifferListWidget
+{
+    
+public:
+
+    // Data types
+
+    /*!
+        Signal strength category boundaries in dB (absolute value).
+        Smaller value means better signal.
+    */
+    enum
+    {
+        SignalStrengthHigh = 65,        //!< High signal strength 
+        SignalStrengthMedium = 79       //!< Medium signal strength
+    };
+
+    explicit WlanSnifferListWidget(HbListWidget *listWidget);
+    
+    virtual ~WlanSnifferListWidget();
+
+    void updateContent(
+        QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+        QList< QSharedPointer<WlanQtUtilsAp> > &aps,
+        int connectedIapId);
+    
+    void scrollTo(int row);
+    
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+    Q_DISABLE_COPY(WlanSnifferListWidget)
+
+    void sortIaps(
+        QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+        int connectedIapId);
+
+    void sortAps(
+        QList< QSharedPointer<WlanQtUtilsAp> > &aps);
+
+    static bool iapLessThan(
+        const QSharedPointer<WlanQtUtilsIap> iap1,
+        const QSharedPointer<WlanQtUtilsIap> iap2);
+
+    static bool apLessThan(
+        const QSharedPointer<WlanQtUtilsAp> ap1,
+        const QSharedPointer<WlanQtUtilsAp> ap2);
+
+    WlanSnifferListItem *findFromOldList(QSharedPointer<WlanQtUtilsIap> iap);
+
+    WlanSnifferListItem *findFromOldList(QSharedPointer<WlanQtUtilsAp> ap);
+
+    HbListWidgetItem *listItemCreate(
+        QSharedPointer<WlanQtUtilsIap> iap,
+        int connectedIapId);
+    
+    HbListWidgetItem *listItemCreate(QSharedPointer<WlanQtUtilsAp> ap);
+
+    QString signalStrengthIconChoose(int signalStrength);
+    
+    QString leftIconChoose(int iapId, int connectedIapId);
+    
+    void removeLostItems(
+        const QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+        const QList< QSharedPointer<WlanQtUtilsAp> > &aps);
+    
+    void addDiscoveredItemsAndUpdateRest(
+        const QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+        const QList< QSharedPointer<WlanQtUtilsAp> > &aps,
+        int connectedIapId);
+    
+    void traceListContent() const;
+    
+private slots:
+
+private: // data
+
+    // Not owned data
+    HbListWidget *mListWidget;          //!< WLAN list view widget
+
+    // Owned data
+
+    // Friend classes
+};
+
+#endif // WLANSNIFFERLISTWIDGET_H