VirtualBox

Changeset 70923 in vbox


Ignore:
Timestamp:
Feb 9, 2018 9:05:17 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
120751
Message:

FE/Qt bugref:6699 Adding tree item class

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
3 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk

    r70899 r70923  
    505505        src/wizards/firstrun/UIWizardFirstRunPageBasic.h \
    506506        src/runtime/information/UIGuestSessionsEventHandler.h \
     507        src/runtime/information/UIGuestSessionTreeItem.h \
    507508        src/runtime/information/UIInformationConfiguration.h \
    508509        src/runtime/information/UIInformationDataItem.h \
     
    835836        src/wizards/firstrun/UIWizardFirstRunPageBasic.cpp \
    836837        src/runtime/information/UIGuestSessionsEventHandler.cpp \
     838        src/runtime/information/UIGuestSessionTreeItem.cpp \
    837839        src/runtime/information/UIInformationConfiguration.cpp \
    838840        src/runtime/information/UIInformationDataItem.cpp \
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIGuestSessionTreeItem.cpp

    r70912 r70923  
    11/* $Id$ */
    22/** @file
    3  * VBox Qt GUI - UIInformationGuestSession class implementation.
     3 * VBox Qt GUI - UIGuestSessionTreeItem class implementation.
    44 */
    55
     
    2525
    2626/* GUI includes: */
    27 # include "QITreeWidget.h"
    28 # include "UIInformationGuestSession.h"
     27# include "UIGuestSessionTreeItem.h"
    2928# include "UIGuestSessionsEventHandler.h"
    3029# include "VBoxGlobal.h"
     
    3534#endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
    3635
    37 UIInformationGuestSession::UIInformationGuestSession(QWidget *pParent, const CConsole &console)
    38     : QWidget(pParent)
    39     , m_comConsole(console)
    40     , m_pMainLayout(0)
    41     , m_pGuestSessionsEventHandler(0)
    42     , m_pTreeWidget(0)
     36
     37UIGuestSessionTreeItem::UIGuestSessionTreeItem(QITreeWidget *pTreeWidget,
     38                                               GuestSessionTreeItemType itemType)
     39    :QITreeWidgetItem(pTreeWidget)
     40    , m_eItemType(itemType)
    4341{
    44     prepareEventHandler();
    45     prepareLayout();
    46     prepareWidgets();
    4742}
    4843
    49 void UIInformationGuestSession::prepareLayout()
     44UIGuestSessionTreeItem::UIGuestSessionTreeItem(UIGuestSessionTreeItem *pTreeWidgetItem,
     45                                               GuestSessionTreeItemType itemType)
     46    :QITreeWidgetItem(pTreeWidgetItem)
     47    , m_eItemType(itemType)
    5048{
    51     /* Create layout: */
    52     m_pMainLayout = new QVBoxLayout(this);
    53     if (m_pMainLayout)
    54     {
    55         /* Configure layout: */
    56         m_pMainLayout->setSpacing(0);
    57     }
    5849}
    5950
    60 void UIInformationGuestSession::prepareWidgets()
     51UIGuestSessionTreeItem::UIGuestSessionTreeItem(QITreeWidget *pTreeWidget,
     52                                               const QStringList &strings, GuestSessionTreeItemType itemType)
     53    :QITreeWidgetItem(pTreeWidget, strings)
     54    , m_eItemType(itemType)
    6155{
    62     m_pTreeWidget = new QITreeWidget();
    63     m_pMainLayout->addWidget(m_pTreeWidget);
    64     updateTreeWidget();
    6556}
    6657
    67 void UIInformationGuestSession::updateTreeWidget()
     58UIGuestSessionTreeItem::UIGuestSessionTreeItem(UIGuestSessionTreeItem *pTreeWidgetItem,
     59                                               const QStringList &strings, GuestSessionTreeItemType itemType)
     60    :QITreeWidgetItem(pTreeWidgetItem, strings)
     61    , m_eItemType(itemType)
    6862{
    69     if (!m_pTreeWidget)
    70         return;
    71     if (!m_pGuestSessionsEventHandler)
    72         return;
    73 
    74     m_pTreeWidget->clear();
    75     QVector<QITreeWidgetItem> treeItemVector;
    76     m_pGuestSessionsEventHandler->populateGuestSessionsTree(m_pTreeWidget);
    77     update();
    7863}
    79 
    80 void UIInformationGuestSession::prepareEventHandler()
    81 {
    82     m_pGuestSessionsEventHandler = new UIGuestSessionsEventHandler(this, m_comConsole.GetGuest());
    83     connect(m_pGuestSessionsEventHandler, &UIGuestSessionsEventHandler::sigGuestSessionsUpdated,
    84             this, &UIInformationGuestSession::sltGuestSessionsUpdated);
    85 }
    86 
    87 void UIInformationGuestSession::sltGuestSessionsUpdated()
    88 {
    89     updateTreeWidget();
    90 }
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIGuestSessionTreeItem.h

    r70912 r70923  
    1616 */
    1717
    18 #ifndef ___UIInformationGuestSession_h___
    19 #define ___UIInformationGuestSession_h___
     18#ifndef ___UIGuestSessionTreeItem_h___
     19#define ___UIGuestSessionTreeItem_h___
    2020
    21 /* Qt includes: */
    22 #include <QWidget>
     21/* GUI includes: */
     22# include "QITreeWidget.h"
    2323
    24 /* COM includes: */
    25 #include "COMEnums.h"
    26 #include "CConsole.h"
    2724
    2825/* Forward declarations: */
    29 class QITreeWidget;
    30 class QVBoxLayout;
    31 class UIGuestSessionsEventHandler;
    3226
    33 /** QWidget extension
    34   * providing GUI with guest session information and control tab in session-information window. */
    35 class UIInformationGuestSession : public QWidget
     27
     28class UIGuestSessionTreeItem : public QITreeWidgetItem
    3629{
     30
    3731    Q_OBJECT;
    3832
     
    4135public:
    4236
    43     UIInformationGuestSession(QWidget *pParent, const CConsole &console);
     37    enum GuestSessionTreeItemType{
     38        SessionTreeItem = 0,
     39        ProcessTreeItem,
     40        GuestSessionItemTypeMax
     41    };
     42
     43
     44    /** Constructs item passing @a pTreeWidget into the base-class. */
     45    UIGuestSessionTreeItem(QITreeWidget *pTreeWidget, GuestSessionTreeItemType itemType);
     46    /** Constructs item passing @a pTreeWidgetItem into the base-class. */
     47    UIGuestSessionTreeItem(UIGuestSessionTreeItem *pTreeWidgetItem, GuestSessionTreeItemType itemType);
     48    /** Constructs item passing @a pTreeWidget and @a strings into the base-class. */
     49    UIGuestSessionTreeItem(QITreeWidget *pTreeWidget, const QStringList &strings, GuestSessionTreeItemType itemType);
     50    /** Constructs item passing @a pTreeWidgetItem and @a strings into the base-class. */
     51    UIGuestSessionTreeItem(UIGuestSessionTreeItem *pTreeWidgetItem,
     52                           const QStringList &strings, GuestSessionTreeItemType itemType);
    4453
    4554private slots:
    4655
    47     void sltGuestSessionsUpdated();
    4856
    4957private:
    50 
    51     void prepareLayout();
    52     void prepareWidgets();
    53     void prepareEventHandler();
    54     void updateTreeWidget();
    55 
    56     CConsole             m_comConsole;
    57     QVBoxLayout         *m_pMainLayout;
    58     UIGuestSessionsEventHandler *m_pGuestSessionsEventHandler;
    59     QITreeWidget        *m_pTreeWidget;
     58    GuestSessionTreeItemType m_eItemType;
    6059
    6160};
    6261
    63 #endif /* !___UIInformationGuestSession_h___ */
     62#endif /* !___UIGuestSessionTreeItem_h___ */
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIGuestSessionsEventHandler.cpp

    r70912 r70923  
    2424# include "UIExtraDataManager.h"
    2525# include "UIGuestSessionsEventHandler.h"
     26# include "UIGuestSessionTreeItem.h"
    2627# include "UIMainEventListener.h"
    2728# include "VBoxGlobal.h"
     
    564565                       << iterator.value()->guestSessionStatus();
    565566        const GuestProcessMap& processMap = iterator.value()->guestProcessMap();
    566         QITreeWidgetItem *treeItem = new QITreeWidgetItem(pTreeWidget, itemStringList);
     567        UIGuestSessionTreeItem *treeItem = new UIGuestSessionTreeItem(pTreeWidget, itemStringList,
     568                                                                      UIGuestSessionTreeItem::SessionTreeItem);
    567569        pTreeWidget->insertTopLevelItem(iterator.key(), treeItem);
    568570        for (GuestProcessMap::const_iterator processIterator = processMap.begin();
     
    573575                              << processIterator.value()->guestProcessName()
    574576                              << processIterator.value()->guestProcessStatus();
    575             new QTreeWidgetItem(treeItem, processStringList);
     577            new UIGuestSessionTreeItem(treeItem, processStringList, UIGuestSessionTreeItem::ProcessTreeItem);
    576578        }
    577579
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationGuestSession.cpp

    r70899 r70923  
    2727# include "QITreeWidget.h"
    2828# include "UIInformationGuestSession.h"
     29# include "UIGuestSessionTreeItem.h"
    2930# include "UIGuestSessionsEventHandler.h"
    3031# include "VBoxGlobal.h"
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette