mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3824 Annotations. 'Create annotation' context menu item on each annotation group
This commit is contained in:
parent
6a2484c40e
commit
23148c621e
@ -25,6 +25,7 @@
|
||||
#include "RimReachCircleAnnotation.h"
|
||||
#include "RimPolylinesAnnotation.h"
|
||||
#include "RimAnnotationCollection.h"
|
||||
#include "RimAnnotationGroupCollection.h"
|
||||
#include "RimAnnotationInViewCollection.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimOilField.h"
|
||||
@ -45,7 +46,10 @@ CAF_CMD_SOURCE_INIT(RicCreateReachCircleAnnotationFeature, "RicCreateReachCircle
|
||||
bool RicCreateReachCircleAnnotationFeature::isCommandEnabled()
|
||||
{
|
||||
auto selObjs = caf::selectedObjectsByTypeStrict<RimAnnotationCollection*>();
|
||||
return selObjs.size() == 1;
|
||||
auto selGroupColl = caf::selectedObjectsByTypeStrict<RimAnnotationGroupCollection*>();
|
||||
|
||||
return selObjs.size() == 1 || (selGroupColl.size() == 1
|
||||
&& selGroupColl.front()->uiCapability()->uiName() == RimAnnotationGroupCollection::REACH_CIRCLE_ANNOTATION_UI_NAME);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "RimReachCircleAnnotation.h"
|
||||
#include "RimPolylinesAnnotation.h"
|
||||
#include "RimAnnotationCollection.h"
|
||||
#include "RimAnnotationGroupCollection.h"
|
||||
#include "RimAnnotationInViewCollection.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimOilField.h"
|
||||
@ -44,8 +45,11 @@ bool RicCreateTextAnnotationFeature::isCommandEnabled()
|
||||
{
|
||||
auto selObjsGlobal = caf::selectedObjectsByTypeStrict<RimAnnotationCollection*>();
|
||||
auto selObjs2InView = caf::selectedObjectsByTypeStrict<RimAnnotationInViewCollection*>();
|
||||
auto selGroupColl = caf::selectedObjectsByTypeStrict<RimAnnotationGroupCollection*>();
|
||||
|
||||
return selObjsGlobal.size() == 1 || selObjs2InView.size() == 1;
|
||||
return selObjsGlobal.size() == 1 || selObjs2InView.size() == 1 ||
|
||||
(selGroupColl.size() == 1 &&
|
||||
selGroupColl.front()->uiCapability()->uiName() == RimAnnotationGroupCollection::TEXT_ANNOTATION_UI_NAME);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "RimReachCircleAnnotation.h"
|
||||
#include "RimUserDefinedPolylinesAnnotation.h"
|
||||
#include "RimAnnotationCollection.h"
|
||||
#include "RimAnnotationGroupCollection.h"
|
||||
#include "RimAnnotationInViewCollection.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimOilField.h"
|
||||
@ -44,8 +45,11 @@ CAF_CMD_SOURCE_INIT(RicCreateUserDefinedPolylinesAnnotationFeature, "RicCreateUs
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicCreateUserDefinedPolylinesAnnotationFeature::isCommandEnabled()
|
||||
{
|
||||
auto selObjs = caf::selectedObjectsByTypeStrict<RimAnnotationCollection*>();
|
||||
return selObjs.size() == 1;
|
||||
auto selObjs = caf::selectedObjectsByTypeStrict<RimAnnotationCollection*>();
|
||||
auto selGroupColl = caf::selectedObjectsByTypeStrict<RimAnnotationGroupCollection*>();
|
||||
|
||||
return selObjs.size() == 1 || (selGroupColl.size() == 1 && selGroupColl.front()->uiCapability()->uiName() ==
|
||||
RimAnnotationGroupCollection::USED_DEFINED_POLYLINE_ANNOTATION_UI_NAME);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "RimOilField.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimAnnotationCollection.h"
|
||||
#include "RimAnnotationGroupCollection.h"
|
||||
#include "RimPolylinesFromFileAnnotation.h"
|
||||
|
||||
#include "Riu3DMainWindowTools.h"
|
||||
@ -30,6 +31,8 @@
|
||||
#include <QAction>
|
||||
#include <QFileDialog>
|
||||
|
||||
#include <cafSelectionManagerTools.h>
|
||||
|
||||
|
||||
CAF_CMD_SOURCE_INIT(RicImportPolylinesAnnotationFeature, "RicImportPolylinesAnnotationFeature");
|
||||
|
||||
@ -38,7 +41,12 @@ CAF_CMD_SOURCE_INIT(RicImportPolylinesAnnotationFeature, "RicImportPolylinesAnno
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicImportPolylinesAnnotationFeature::isCommandEnabled()
|
||||
{
|
||||
return true;
|
||||
auto selObjs = caf::selectedObjectsByTypeStrict<RimAnnotationCollection*>();
|
||||
auto selGroupColl = caf::selectedObjectsByTypeStrict<RimAnnotationGroupCollection*>();
|
||||
|
||||
return selObjs.size() == 1 ||
|
||||
(selGroupColl.size() == 1 && selGroupColl.front()->uiCapability()->uiName() ==
|
||||
RimAnnotationGroupCollection::POLYLINE_FROM_FILE_ANNOTATION_UI_NAME);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -57,9 +57,9 @@ RimAnnotationCollection::RimAnnotationCollection()
|
||||
m_userDefinedPolylineAnnotations = new RimAnnotationGroupCollection();
|
||||
m_polylineFromFileAnnotations = new RimAnnotationGroupCollection();
|
||||
|
||||
m_reachCircleAnnotations->uiCapability()->setUiName("Reach Circle Annotations");
|
||||
m_userDefinedPolylineAnnotations->uiCapability()->setUiName("User Defined Polyline Annotations");
|
||||
m_polylineFromFileAnnotations->uiCapability()->setUiName("Polylines From File");
|
||||
m_reachCircleAnnotations->uiCapability()->setUiName(RimAnnotationGroupCollection::REACH_CIRCLE_ANNOTATION_UI_NAME);
|
||||
m_userDefinedPolylineAnnotations->uiCapability()->setUiName(RimAnnotationGroupCollection::USED_DEFINED_POLYLINE_ANNOTATION_UI_NAME);
|
||||
m_polylineFromFileAnnotations->uiCapability()->setUiName(RimAnnotationGroupCollection::POLYLINE_FROM_FILE_ANNOTATION_UI_NAME);
|
||||
|
||||
m_reachCircleAnnotations->uiCapability()->setUiIcon(QIcon(":/ReachCircle16x16.png"));
|
||||
m_userDefinedPolylineAnnotations->uiCapability()->setUiIcon(QIcon(":/PolylinesFromFile16x16.png"));
|
||||
|
@ -48,7 +48,7 @@ RimAnnotationCollectionBase::RimAnnotationCollectionBase()
|
||||
|
||||
m_textAnnotations.uiCapability()->setUiHidden(true);
|
||||
m_textAnnotations = new RimAnnotationGroupCollection();
|
||||
m_textAnnotations->uiCapability()->setUiName("Text Annotations");
|
||||
m_textAnnotations->uiCapability()->setUiName(RimAnnotationGroupCollection::TEXT_ANNOTATION_UI_NAME);
|
||||
m_textAnnotations->uiCapability()->setUiIcon(QIcon(":/TextAnnotation16x16.png"));
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,14 @@
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimAnnotationGroupCollection, "RimAnnotationGroupCollection");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QString RimAnnotationGroupCollection::TEXT_ANNOTATION_UI_NAME = "Text Annotations";
|
||||
const QString RimAnnotationGroupCollection::REACH_CIRCLE_ANNOTATION_UI_NAME = "Reach Circle Annotations";
|
||||
const QString RimAnnotationGroupCollection::USED_DEFINED_POLYLINE_ANNOTATION_UI_NAME = "User Defined Polyline Annotations";
|
||||
const QString RimAnnotationGroupCollection::POLYLINE_FROM_FILE_ANNOTATION_UI_NAME = "Polylines From File";
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -39,6 +39,13 @@ class RimAnnotationGroupCollection : public caf::PdmObject
|
||||
friend class RimAnnotationInViewCollection;
|
||||
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
public:
|
||||
const static QString TEXT_ANNOTATION_UI_NAME;
|
||||
const static QString REACH_CIRCLE_ANNOTATION_UI_NAME;
|
||||
const static QString USED_DEFINED_POLYLINE_ANNOTATION_UI_NAME;
|
||||
const static QString POLYLINE_FROM_FILE_ANNOTATION_UI_NAME;
|
||||
|
||||
public:
|
||||
RimAnnotationGroupCollection();
|
||||
~RimAnnotationGroupCollection() override;
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "Rim3dWellLogRftCurve.h"
|
||||
#include "RimAnnotationCollection.h"
|
||||
#include "RimAnnotationInViewCollection.h"
|
||||
#include "RimAnnotationGroupCollection.h"
|
||||
#include "RimCalcScript.h"
|
||||
#include "RimCaseCollection.h"
|
||||
#include "RimCellRangeFilter.h"
|
||||
@ -681,7 +682,8 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
||||
menuBuilder << "Separator";
|
||||
menuBuilder << "RicConvertFractureTemplateUnitFeature";
|
||||
}
|
||||
else if (dynamic_cast<RimAnnotationCollection*>(uiItem))
|
||||
else if (dynamic_cast<RimAnnotationCollection*>(uiItem)
|
||||
|| dynamic_cast<RimAnnotationGroupCollection*>(uiItem))
|
||||
{
|
||||
menuBuilder << "RicCreateTextAnnotationFeature";
|
||||
menuBuilder << "RicCreateReachCircleAnnotationFeature";
|
||||
@ -692,7 +694,6 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
||||
{
|
||||
menuBuilder << "RicCreateTextAnnotationFeature";
|
||||
}
|
||||
|
||||
if (dynamic_cast<Rim3dView*>(uiItem))
|
||||
{
|
||||
menuBuilder << "Separator";
|
||||
|
Loading…
Reference in New Issue
Block a user