1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-01 17:36:21 +03:00
occt/tools/DFBrowser/DFBrowser_ItemDocument.cxx
dpasukhi a5a7b3185b Coding - Apply .clang-format formatting #286
Update empty method guards to new style with regex (see PR).
Used clang-format 18.1.8.
New actions to validate code formatting is added.
Update .clang-format with disabling of include sorting.
  It is temporary changes, then include will be sorted.
Apply formatting for /src and /tools folder.
The files with .hxx,.cxx,.lxx,.h,.pxx,.hpp,*.cpp extensions.
2025-01-26 00:43:57 +00:00

150 lines
4.6 KiB
C++

// Created on: 2017-06-16
// Created by: Natalia ERMOLAEVA
// Copyright (c) 2017 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <inspector/DFBrowser_ItemDocument.hxx>
#include <inspector/DFBrowser_Item.hxx>
#include <inspector/DFBrowser_ItemApplication.hxx>
#include <inspector/DFBrowser_ItemDocument.hxx>
#include <inspector/DFBrowser_Tools.hxx>
#include <inspector/DFBrowserPane_AttributePane.hxx>
#include <inspector/DFBrowserPane_ItemRole.hxx>
#include <Standard_WarningsDisable.hxx>
#include <QIcon>
#include <QLabel>
#include <QObject>
#include <Standard_WarningsRestore.hxx>
// =======================================================================
// function : GetLabel
// purpose :
// =======================================================================
TDF_Label DFBrowser_ItemDocument::GetLabel() const
{
TDF_Label aLabel;
if (myDocument.IsNull())
getDocument();
if (!myDocument.IsNull())
aLabel = myDocument->Main().Root();
if (!aLabel.IsNull())
aLabel = aLabel.Root();
return aLabel;
}
// =======================================================================
// function : getDocument
// purpose :
// =======================================================================
const Handle(TDocStd_Document)& DFBrowser_ItemDocument::getDocument() const
{
initItem();
return myDocument;
}
// =======================================================================
// function : initValue
// purpose :
// =======================================================================
QVariant DFBrowser_ItemDocument::initValue(const int theItemRole) const
{
if (theItemRole == Qt::DisplayRole || theItemRole == Qt::EditRole
|| theItemRole == DFBrowserPane_ItemRole_DisplayExtended
|| theItemRole == DFBrowserPane_ItemRole_ToolTipExtended)
return DFBrowser_Tools::GetLabelInfo(GetLabel());
if (theItemRole == Qt::DecorationRole)
return DFBrowser_Tools::GetLabelIcon(GetLabel());
return QVariant();
}
// =======================================================================
// function : createChild
// purpose :
// =======================================================================
TreeModel_ItemBasePtr DFBrowser_ItemDocument::createChild(int theRow, int theColumn)
{
TreeModel_ItemBasePtr anItem = DFBrowser_Item::CreateItem(currentItem(), theRow, theColumn);
DFBrowser_ItemBasePtr aBaseItem = itemDynamicCast<DFBrowser_ItemBase>(anItem);
aBaseItem->SetModule(GetModule());
return anItem;
}
// =======================================================================
// function : Init
// purpose :
// =======================================================================
void DFBrowser_ItemDocument::Init()
{
DFBrowser_ItemApplicationPtr aParentItem = itemDynamicCast<DFBrowser_ItemApplication>(Parent());
if (!aParentItem)
return;
const Handle(TDocStd_Application)& anApplication = aParentItem->GetApplication();
// items can exist only by items with not empty label
if (anApplication.IsNull())
return;
int aRowId = Row();
int aDocumentId = -1;
for (Standard_Integer aDocId = 1, aNbDoc = anApplication->NbDocuments();
aDocId <= aNbDoc && aDocumentId < 0;
aDocId++)
{
if (aDocId - 1 == aRowId)
aDocumentId = aDocId;
}
if (aDocumentId > 0)
{
Handle(TDocStd_Document) aDocument;
anApplication->GetDocument(aDocumentId, aDocument);
setDocument(aDocument);
}
else
setDocument(Handle(TDocStd_Document)());
TreeModel_ItemBase::Init();
}
// =======================================================================
// function : reset
// purpose :
// =======================================================================
void DFBrowser_ItemDocument::Reset()
{
Handle(TDocStd_Document) aDocument;
setDocument(aDocument);
DFBrowser_ItemBase::Reset();
}
// =======================================================================
// function : initItem
// purpose :
// =======================================================================
void DFBrowser_ItemDocument::initItem() const
{
if (IsInitialized())
return;
const_cast<DFBrowser_ItemDocument*>(this)->Init();
}