mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-29 14:00:49 +03:00
0030268: Inspectors - improvements in VInspector plugin
- Convert package creation. It is used to prepare some auxiliary presentations/methods to prepare variables for inspector based on occt classes. - ViewControl package improvement: Classes for property view, table, table model are implemented to visualize view of properties. This view is filled by selection in tree if the selected object has implemented DumpJson functionality. - TreeModel package improvements: Method InitColumn is implemented in TreeModel_TreeModel to fill default columns in base model. The default columns are: Name, Visibility, Rows. Additional columns should be added in successors. Container of root items is moved into the base class - View package imrovements: Store preferences: display mode, fit all checked state and type of external context View_DisplayPreview is added to process preview for selected in tree view objects hide actions Clear, Multi, Single by default (as selection in tree view or Visibility state of item define which presentations should be displayed or erased) - ShapeView plugin improvements: Property View content based on DumpJson (columns in tree view for properties are removed), Properties for TopoDS_Shape are displayed Explode shape action in tree view to see content of shape by selected shape type. Type of displayed shapes is only preview, it is not used in export action. Export shape into BREP. The previous implementation about BREP files in some directory and default view is removed. - VInspector plugin imrovements: Property View content based on DumpJson (columns in tree view for properties are removed), Properties for AIS_InteractiveContext and AIS_InteractiveObject are displayed obsolete classes to provide properties are removed. - DFBrowser plugin improvements: Property View content based on DumpJson is not used yet. But there is the USE_DUMPJSON macro. It's switch off by default. If switch ON, it creates a Property View filled with DumpJson. It's a way of DFBrowser moving on this property view. Init uses static variable CDF_Session::CurrentSession()->CurrentApplication to fill plugin if application in plugin is not set but OCAF application exists - OCC_VERSION_HEX variable used for previous OCCT versions support (before 6.9.0 or 7.2.0) is removed
This commit is contained in:
@@ -3,4 +3,3 @@ TInspectorAPI_Communicator.hxx
|
||||
TInspectorAPI_PluginParameters.cxx
|
||||
TInspectorAPI_PluginParameters.hxx
|
||||
TInspectorAPI_PreferencesDataMap.hxx
|
||||
TInspectorAPI_Version.hxx
|
||||
|
@@ -18,17 +18,14 @@
|
||||
|
||||
#include <NCollection_List.hxx>
|
||||
#include <Standard_Transient.hxx>
|
||||
#include <Standard_Version.hxx>
|
||||
#if OCC_VERSION_HEX > 0x060901
|
||||
#include <Standard_Handle.hxx>
|
||||
#endif
|
||||
#include <Standard_Handle.hxx>
|
||||
#include <inspector/TInspectorAPI_PluginParameters.hxx>
|
||||
|
||||
//! The Communicator is an interface that should be implemented for a separate plugin
|
||||
//! It will be placed in layout of the given parent. After the plugin is created, it is possible to
|
||||
//! set container of parameters into plugin to provide the plugin's initialization by some external
|
||||
//! objects(e.g. Interactive Context or OCAF Application). If the parameters are changed, it may be
|
||||
//! applyed in UpdateContent function. The communicator can change parameters in the following cases:
|
||||
//! applied in UpdateContent function. The communicator can change parameters in the following cases:
|
||||
//! - the plugin removes own processed parameters (e.g. file names, that was opened by the plugin)
|
||||
//! - the plugin sends some parameters to another plugin(by name) (e.g. shape to be analized)
|
||||
//! (at the same time we should be careful here to do not change essential parameters of other plugins)
|
||||
@@ -50,9 +47,9 @@ public:
|
||||
//! \param theParent a parent class
|
||||
Standard_EXPORT virtual void SetParent (void* theParent) = 0;
|
||||
|
||||
//! Provide container for actions available in inspector on general level
|
||||
//! Provides container for actions available in inspector on general level
|
||||
//! \param theMenu if Qt implementation, it is QMenu object
|
||||
Standard_EXPORT virtual void FillActionsMenu (void* theMenu) { (void)theMenu; }
|
||||
virtual void FillActionsMenu (void* theMenu) { (void)theMenu; }
|
||||
|
||||
//! Returns plugin preferences, empty implementation by default
|
||||
virtual void GetPreferences (TInspectorAPI_PreferencesDataMap&) {}
|
||||
|
@@ -14,14 +14,8 @@
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <inspector/TInspectorAPI_PluginParameters.hxx>
|
||||
#include <inspector/TInspectorAPI_Version.hxx>
|
||||
|
||||
#if OCC_VERSION_HEX <= 0x060901
|
||||
IMPLEMENT_STANDARD_HANDLE (TInspectorAPI_PluginParameters, Standard_Transient)
|
||||
IMPLEMENT_STANDARD_RTTIEXT (TInspectorAPI_PluginParameters, Standard_Transient)
|
||||
#else
|
||||
IMPLEMENT_STANDARD_RTTIEXT (TInspectorAPI_PluginParameters, Standard_Transient)
|
||||
#endif
|
||||
|
||||
// =======================================================================
|
||||
// function : SetParameters
|
||||
@@ -275,7 +269,6 @@ void TInspectorAPI_PluginParameters::ParametersToShape (const TCollection_AsciiS
|
||||
return;
|
||||
anOrientationStr.Split (anOrientationStr.Length() - 1);
|
||||
|
||||
#if TINSPECTORAPI_VERSION_HEX > 0x070200
|
||||
TopAbs_Orientation anOrientation;
|
||||
if (!TopAbs::ShapeOrientationFromString (anOrientationStr.ToCString(), anOrientation))
|
||||
return;
|
||||
@@ -284,7 +277,4 @@ void TInspectorAPI_PluginParameters::ParametersToShape (const TCollection_AsciiS
|
||||
|
||||
theShape.Location (aLocation);
|
||||
theShape.Orientation (anOrientation);
|
||||
#else
|
||||
(void)theValue; (void)theShape;
|
||||
#endif
|
||||
}
|
||||
|
@@ -18,16 +18,12 @@
|
||||
|
||||
#include <NCollection_DataMap.hxx>
|
||||
#include <NCollection_List.hxx>
|
||||
#include <Standard_Version.hxx>
|
||||
#include <Standard_Transient.hxx>
|
||||
#include <TCollection_AsciiString.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
|
||||
#include <inspector/TInspectorAPI_PreferencesDataMap.hxx>
|
||||
|
||||
class TInspectorAPI_PluginParameters;
|
||||
DEFINE_STANDARD_HANDLE (TInspectorAPI_PluginParameters, Standard_Transient)
|
||||
|
||||
//! The container of parameters for all possible plugins. It stores list of parameters for each plugin, even
|
||||
//! it was not be loaded yet. There is a map of plugin name into plugin parameters.
|
||||
//! The parameters may be:
|
||||
@@ -41,7 +37,7 @@ public:
|
||||
Standard_EXPORT TInspectorAPI_PluginParameters() {}
|
||||
|
||||
//! Destructor
|
||||
Standard_EXPORT virtual ~TInspectorAPI_PluginParameters() Standard_OVERRIDE {}
|
||||
Standard_EXPORT virtual ~TInspectorAPI_PluginParameters() {}
|
||||
|
||||
//! Stores the parameters for plugin
|
||||
//! \param thePluginName a plugin name
|
||||
@@ -131,7 +127,7 @@ public:
|
||||
Standard_EXPORT virtual void SetPreferences (const TCollection_AsciiString& thePluginName,
|
||||
const TInspectorAPI_PreferencesDataMap& theItem) = 0;
|
||||
|
||||
//! Store plugin preferences into a preferences file
|
||||
//! Stores plugin preferences into a preferences file
|
||||
Standard_EXPORT virtual void StorePreferences() = 0;
|
||||
|
||||
//! Converts a Shape parameters excepting TShape into a string value
|
||||
@@ -145,11 +141,7 @@ public:
|
||||
Standard_EXPORT static void ParametersToShape (const TCollection_AsciiString& theValue, TopoDS_Shape& theShape);
|
||||
|
||||
|
||||
#if OCC_VERSION_HEX <= 0x060901
|
||||
DEFINE_STANDARD_RTTI (TInspectorAPI_PluginParameters)
|
||||
#else
|
||||
DEFINE_STANDARD_RTTIEXT (TInspectorAPI_PluginParameters, Standard_Transient)
|
||||
#endif
|
||||
private:
|
||||
//! container of parameters
|
||||
NCollection_DataMap<TCollection_AsciiString, NCollection_List<Handle(Standard_Transient)> > myParameters;
|
||||
|
@@ -1,41 +0,0 @@
|
||||
// Copyright (c) 2018 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.
|
||||
|
||||
/*======================================================================
|
||||
//
|
||||
// Purpose: Defines macros identifying current version of Inspector
|
||||
// The version is equal to current OCCT version and used to support compile compatibility
|
||||
// to previous OCCT versions interface.
|
||||
// To compile Inspector with earlier version of OCCT, change version variable here to needed OCCT version.
|
||||
//
|
||||
// TINSPECTORAPI_VERSION_MAJOR : (integer) number identifying major version
|
||||
// TINSPECTORAPI_VERSION_MINOR : (integer) number identifying minor version
|
||||
// TINSPECTORAPI_VERSION_MAINTENANCE : (integer) number identifying maintenance version
|
||||
// TINSPECTORAPI_VERSION_HEX : (hex) complete number as hex, two positions per each of major, minor, and patch number
|
||||
//
|
||||
//======================================================================*/
|
||||
|
||||
#ifndef _TInspectorAPI_Version_HeaderFile
|
||||
#define _TInspectorAPI_Version_HeaderFile
|
||||
|
||||
#include <Standard_Version.hxx>
|
||||
|
||||
// Primary definitions
|
||||
#define TINSPECTORAPI_VERSION_MAJOR OCC_VERSION_MAJOR
|
||||
#define TINSPECTORAPI_VERSION_MINOR OCC_VERSION_MINOR
|
||||
#define TINSPECTORAPI_VERSION_MAINTENANCE 0//OCC_VERSION_MAINTENANCE
|
||||
|
||||
// Derived: complete version as hex (0x0'major'0'minor'0'maintenance')
|
||||
#define TINSPECTORAPI_VERSION_HEX (TINSPECTORAPI_VERSION_MAJOR << 16 | TINSPECTORAPI_VERSION_MINOR << 8 | TINSPECTORAPI_VERSION_MAINTENANCE)
|
||||
|
||||
#endif /* _TInspectorAPI_Version_HeaderFile */
|
Reference in New Issue
Block a user