]> git.cworth.org Git - vogl/blobdiff - src/vogleditor/vogleditor_apicalltreeitem.cpp
Merge pull request #23 from kingtaurus/master
[vogl] / src / vogleditor / vogleditor_apicalltreeitem.cpp
index 5a66db872469cf72c62274e22df61680664cfbf2..3fd2d7f9792c68979c001d982cb30eda593cefd2 100644 (file)
@@ -35,11 +35,13 @@ vogleditor_apiCallTreeItem::vogleditor_apiCallTreeItem(vogleditor_QApiCallTreeMo
  : m_parentItem(NULL),
    m_pApiCallItem(NULL),
    m_pFrameItem(NULL),
-   m_pModel(pModel)
+   m_pModel(pModel),
+   m_localRowIndex(0)
 {
     m_columnData[VOGL_ACTC_APICALL] = "API Call";
     m_columnData[VOGL_ACTC_INDEX] = "Index";
     m_columnData[VOGL_ACTC_FLAGS] = "";
+    m_columnData[VOGL_ACTC_GLCONTEXT] = "GL Context";
     //m_ColumnTitles[VOGL_ACTC_BEGINTIME] = "Begin Time";
     //m_ColumnTitles[VOGL_ACTC_ENDTIME] = "End Time";
     m_columnData[VOGL_ACTC_DURATION] = "Duration (ns)";
@@ -50,7 +52,8 @@ vogleditor_apiCallTreeItem::vogleditor_apiCallTreeItem(vogleditor_frameItem* fra
  : m_parentItem(parent),
    m_pApiCallItem(NULL),
    m_pFrameItem(frameItem),
-   m_pModel(NULL)
+   m_pModel(NULL),
+   m_localRowIndex(0)
 {
    if (frameItem != NULL)
    {
@@ -70,7 +73,8 @@ vogleditor_apiCallTreeItem::vogleditor_apiCallTreeItem(QString nodeText, vogledi
  : m_parentItem(parent),
    m_pApiCallItem(apiCallItem),
    m_pFrameItem(NULL),
-   m_pModel(NULL)
+   m_pModel(NULL),
+   m_localRowIndex(0)
 {
    m_columnData[VOGL_ACTC_APICALL] = nodeText;
 
@@ -78,6 +82,8 @@ vogleditor_apiCallTreeItem::vogleditor_apiCallTreeItem(QString nodeText, vogledi
    {
       m_columnData[VOGL_ACTC_INDEX] = (qulonglong)apiCallItem->globalCallIndex();
       m_columnData[VOGL_ACTC_FLAGS] = "";
+      dynamic_string strContext;
+      m_columnData[VOGL_ACTC_GLCONTEXT] = strContext.format("0x%" PRIx64, apiCallItem->getGLPacket()->m_context_handle).c_str();
       //m_columnData[VOGL_ACTC_BEGINTIME] = apiCallItem->startTime();
       //m_columnData[VOGL_ACTC_ENDTIME] = apiCallItem->endTime();
       m_columnData[VOGL_ACTC_DURATION] = (qulonglong)apiCallItem->duration();
@@ -119,7 +125,8 @@ vogleditor_apiCallTreeItem* vogleditor_apiCallTreeItem::parent() const
 
 void vogleditor_apiCallTreeItem::appendChild(vogleditor_apiCallTreeItem* pChild)
 {
-   m_childItems.append(pChild);
+    pChild->m_localRowIndex = m_childItems.size();
+    m_childItems.append(pChild);
 }
 
 int vogleditor_apiCallTreeItem::childCount() const
@@ -249,8 +256,5 @@ QVariant vogleditor_apiCallTreeItem::columnData(int column, int role) const
 int vogleditor_apiCallTreeItem::row() const
 {
    // note, this is just the row within the current level of the hierarchy
-   if (m_parentItem)
-      return m_parentItem->m_childItems.indexOf(const_cast<vogleditor_apiCallTreeItem*>(this));
-
-   return 0;
+   return m_localRowIndex;
 }