mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-26 09:20:35 +05:00
Implementation of 'Show' and 'Show Only' actions from popup menu for selected objects in Dependency tree.
This commit is contained in:
parent
328ea5246c
commit
ff4c9a2717
@ -74,12 +74,12 @@ SET(DependencyTree_HEADERS
|
|||||||
DependencyTree.h
|
DependencyTree.h
|
||||||
DependencyTree_Object.h
|
DependencyTree_Object.h
|
||||||
DependencyTree_Arrow.h
|
DependencyTree_Arrow.h
|
||||||
DependencyTree_ViewModel.h
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# header files / to be processed by moc
|
# header files / to be processed by moc
|
||||||
SET(_moc_HEADERS
|
SET(_moc_HEADERS
|
||||||
DependencyTree_View.h
|
DependencyTree_View.h
|
||||||
|
DependencyTree_ViewModel.h
|
||||||
)
|
)
|
||||||
|
|
||||||
# --- sources ---
|
# --- sources ---
|
||||||
|
@ -17,14 +17,24 @@
|
|||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
//
|
||||||
|
|
||||||
#include <GraphicsView_Viewer.h>
|
|
||||||
|
|
||||||
#include "DependencyTree_ViewModel.h"
|
#include "DependencyTree_ViewModel.h"
|
||||||
#include "DependencyTree_View.h"
|
|
||||||
|
|
||||||
|
#include "DependencyTree_View.h"
|
||||||
|
#include "GEOM_Displayer.h"
|
||||||
|
|
||||||
|
#include <GraphicsView_Viewer.h>
|
||||||
#include <GraphicsView_ViewPort.h>
|
#include <GraphicsView_ViewPort.h>
|
||||||
|
#include <SalomeApp_Application.h>
|
||||||
|
#include <SalomeApp_Study.h>
|
||||||
|
#include <LightApp_SelectionMgr.h>
|
||||||
|
#include <SALOME_ListIO.hxx>
|
||||||
|
#include <SALOME_ListIteratorOfListIO.hxx>
|
||||||
|
#include <SUIT_Session.h>
|
||||||
|
#include <OCCViewer_ViewModel.h>
|
||||||
|
#include <OCCViewer_ViewManager.h>
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
#include <QMenu>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
DependencyTree_ViewModel::DependencyTree_ViewModel( const QString& title )
|
DependencyTree_ViewModel::DependencyTree_ViewModel( const QString& title )
|
||||||
@ -42,6 +52,68 @@ DependencyTree_ViewModel::~DependencyTree_ViewModel()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void activateOCCViewer() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void DependencyTree_ViewModel::onShowSelected()
|
||||||
|
{
|
||||||
|
std::cout<<"\n\n\n\n *****onShowSelected " << std::endl;
|
||||||
|
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( SUIT_Session::session()->activeApplication() );
|
||||||
|
if ( !app ) return;
|
||||||
|
|
||||||
|
app->getViewManager(OCCViewer_Viewer::Type(), /*create=*/true);
|
||||||
|
|
||||||
|
LightApp_SelectionMgr* aSelMgr = app->selectionMgr();
|
||||||
|
if ( !aSelMgr ) return;
|
||||||
|
|
||||||
|
SALOME_ListIO aSelList;
|
||||||
|
aSelMgr->selectedObjects(aSelList);
|
||||||
|
|
||||||
|
SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>(app->activeStudy());
|
||||||
|
GEOM_Displayer* disp = new GEOM_Displayer( appStudy );
|
||||||
|
|
||||||
|
OCCViewer_ViewManager* anOCCVM = (OCCViewer_ViewManager*) app->getViewManager( OCCViewer_Viewer::Type(), /*create=*/true );
|
||||||
|
|
||||||
|
if ( SUIT_ViewModel* vmod = anOCCVM->getViewModel() ) {
|
||||||
|
if ( SALOME_View* aViewFrame = dynamic_cast<SALOME_View*>( vmod ) ) {
|
||||||
|
SALOME_ListIteratorOfListIO Iter( aSelList );
|
||||||
|
for ( ; Iter.More(); Iter.Next() ) {
|
||||||
|
disp->Display( Iter.Value(), false, aViewFrame );
|
||||||
|
}
|
||||||
|
aViewFrame->Repaint();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DependencyTree_ViewModel::onShowOnlySelected()
|
||||||
|
{
|
||||||
|
std::cout<<"\n\n\n\n *****onShowOnlySelected " << std::endl;
|
||||||
|
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( SUIT_Session::session()->activeApplication() );
|
||||||
|
if ( !app ) return;
|
||||||
|
|
||||||
|
LightApp_SelectionMgr* aSelMgr = app->selectionMgr();
|
||||||
|
if ( !aSelMgr ) return;
|
||||||
|
|
||||||
|
SALOME_ListIO aSelList;
|
||||||
|
aSelMgr->selectedObjects(aSelList);
|
||||||
|
|
||||||
|
SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>(app->activeStudy());
|
||||||
|
GEOM_Displayer* disp = new GEOM_Displayer( appStudy );
|
||||||
|
|
||||||
|
OCCViewer_ViewManager* anOCCVM = (OCCViewer_ViewManager*) app->getViewManager( OCCViewer_Viewer::Type(), /*create=*/true );
|
||||||
|
|
||||||
|
if ( SUIT_ViewModel* vmod = anOCCVM->getViewModel() ) {
|
||||||
|
if ( SALOME_View* aViewFrame = dynamic_cast<SALOME_View*>( vmod ) ) {
|
||||||
|
disp->EraseAll( true, false, aViewFrame );
|
||||||
|
SALOME_ListIteratorOfListIO Iter( aSelList );
|
||||||
|
for ( ; Iter.More(); Iter.Next() ) {
|
||||||
|
disp->Display( Iter.Value(), false, aViewFrame );
|
||||||
|
}
|
||||||
|
aViewFrame->Repaint();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void DependencyTree_ViewModel::contextMenuPopup( QMenu* theMenu )
|
void DependencyTree_ViewModel::contextMenuPopup( QMenu* theMenu )
|
||||||
{
|
{
|
||||||
GraphicsView_Viewer::contextMenuPopup( theMenu );
|
GraphicsView_Viewer::contextMenuPopup( theMenu );
|
||||||
@ -51,12 +123,15 @@ void DependencyTree_ViewModel::contextMenuPopup( QMenu* theMenu )
|
|||||||
{
|
{
|
||||||
int aNbSelected = aViewPort->nbSelected();
|
int aNbSelected = aViewPort->nbSelected();
|
||||||
std::cout<<"\n aNbSelected " << aNbSelected << std::endl;
|
std::cout<<"\n aNbSelected " << aNbSelected << std::endl;
|
||||||
|
if( aNbSelected > 0 ) {
|
||||||
|
theMenu->addAction( tr( "MEN_DISPLAY" ), this, SLOT( onShowSelected() ) );
|
||||||
|
theMenu->addAction( tr( "MEN_DISPLAY_ONLY" ), this, SLOT( onShowOnlySelected() ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//SUIT_ViewWindow* DependencyTree_ViewModel::createView( SUIT_Desktop* theDesktop )
|
//SUIT_ViewWindow* DependencyTree_ViewModel::createView( SUIT_Desktop* theDesktop )
|
||||||
//{
|
//{
|
||||||
// DependencyTree_ViewWindow* aViewFrame;
|
// DependencyTree_ViewWindow* aViewFrame;
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
class DependencyTree_ViewModel: public GraphicsView_Viewer
|
class DependencyTree_ViewModel: public GraphicsView_Viewer
|
||||||
{
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -35,5 +36,8 @@ public:
|
|||||||
|
|
||||||
// static QString Type() { return "DependencyTree"; }
|
// static QString Type() { return "DependencyTree"; }
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void onShowSelected();
|
||||||
|
void onShowOnlySelected();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user