#include "LIGHTGUI_Selection.h"
#include "LIGHTGUI_DataModel.h"
-#include "LIGHTGUI_OBSelector.h"
-#include "LIGHTGUI_DataOwner.h"
+#include "LightApp_DataOwner.h"
#include <SUIT_MessageBox.h>
-#include <SalomeApp_Application.h>
-#include <SalomeApp_SelectionMgr.h>
+#include <LightApp_Application.h>
+#include <LightApp_SelectionMgr.h>
+#include "LightApp_Selection.h"
#include <qinputdialog.h>
#include <qstringlist.h>
+#include <LIGHTGUI_TextPrs.hxx>
+#include <OCCViewer_ViewManager.h>
+#include <SOCC_ViewModel.h>
+#include <SOCC_Prs.h>
+
//=================================================================================
// function : LIGHTGUI()
// purpose : Constructor : sets the default name for the module
//=================================================================================
LIGHTGUI::LIGHTGUI()
- : SalomeApp_Module( "LIGHTGUI" )
+ : LightApp_Module( "LIGHTGUI" )
{
}
//=================================================================================
void LIGHTGUI::initialize ( CAM_Application* app )
{
- SalomeApp_Module::initialize( app );
+ LightApp_Module::initialize( app );
QWidget* parent = application()->desktop();
tr( "STB_LOAD_FILE" ), 0, parent, false, this, SLOT( onLoadFile() ) );
createAction( lgSaveFile, tr( "TOP_SAVE_FILE" ), QIconSet(), tr( "MEN_SAVE_FILE" ),
tr( "STB_SAVE_FILE" ), 0, parent, false, this, SLOT( onSaveFile() ) );
+ createAction( lgDisplayLine, tr( "TOP_DISPLAY_LINE" ), QIconSet(), tr( "MEN_DISPLAY_LINE" ),
+ tr( "STB_DISPLAY_LINE" ), 0, parent, false, this, SLOT( onDisplayLine() ) );
createAction( lgEditLine, tr( "TOP_EDIT_LINE" ), QIconSet(), tr( "MEN_EDIT_LINE" ),
tr( "STB_EDIT_LINE" ), 0, parent, false, this, SLOT( onEditLine() ) );
createAction( lgAddLine, tr( "TOP_ADD_LINE" ), QIconSet(), tr( "MEN_ADD_LINE" ),
createMenu( lgSaveFile, aFileMnu, 10 );
int aLightMnu = createMenu( tr( "MEN_LIGHT" ), -1, -1, 50 );
+ createMenu( lgDisplayLine, aLightMnu, 10 );
createMenu( lgEditLine, aLightMnu, 10 );
createMenu( lgAddLine, aLightMnu, 10 );
createMenu( separator(), aLightMnu, -1, 10 );
int parentId = -1;
QString rule = "client='ObjectBrowser' and selcount=1 and type='TextLine'";
+ popupMgr()->insert ( action( lgDisplayLine ), parentId, 0 );
+ popupMgr()->setRule( action( lgDisplayLine ), rule, true );
+
popupMgr()->insert ( action( lgEditLine ), parentId, 0 );
popupMgr()->setRule( action( lgEditLine ), rule, true );
// function : contextMenuPopup()
// purpose : defines context popup menu
//=================================================================================
-void LIGHTGUI::contextMenuPopup ( const QString& client, QPopupMenu* menu, QString& )
+void LIGHTGUI::contextMenuPopup ( const QString& client, QPopupMenu* menu, QString& str)
{
- LIGHTGUI_Selection sel ( client, getApp()->selectionMgr() );
- popupMgr()->updatePopup( menu, &sel );
+ LIGHTGUI_Selection* sel = new LIGHTGUI_Selection();
+ sel->init( client, getApp()->selectionMgr() );
+ popupMgr()->updatePopup( menu, sel );
+ delete sel;
}
//=================================================================================
//=================================================================================
void LIGHTGUI::windows ( QMap<int, int>& aMap ) const
{
- aMap.insert( SalomeApp_Application::WT_ObjectBrowser, Qt::DockLeft );
- aMap.insert( SalomeApp_Application::WT_PyConsole, Qt::DockBottom );
-}
-
-//=================================================================================
-// function : engineIOR()
-// purpose : Returns empty string. It means that this module
-// should use default engine for its persistence.
-//=================================================================================
-QString LIGHTGUI::engineIOR() const
-{
- return QString( "" );
+ aMap.insert( LightApp_Application::WT_ObjectBrowser, Qt::DockLeft );
+ aMap.insert( LightApp_Application::WT_PyConsole, Qt::DockBottom );
}
//=================================================================================
int aPosition = 0; // bad value
// Look for selected lines
- SalomeApp_Application* app = getApp();
- SalomeApp_SelectionMgr* mgr = app ? app->selectionMgr() : NULL;
+ LightApp_Application* app = getApp();
+ LightApp_SelectionMgr* mgr = app ? app->selectionMgr() : NULL;
if ( mgr ) {
SUIT_DataOwnerPtrList anOwnersList;
mgr->selected( anOwnersList );
// Get index of the single selected line
if ( anOwnersList.size() == 1 ) {
- const LIGHTGUI_DataOwner* owner =
- dynamic_cast<const LIGHTGUI_DataOwner*>( anOwnersList[0].get() );
- aPosition = owner->lineNb();
+ const LightApp_DataOwner* owner =
+ dynamic_cast<const LightApp_DataOwner*>( anOwnersList[0].get() );
+ QString anEntry = owner->entry();
+ int anIndex = anEntry.find("_");
+ aPosition = (anEntry.mid(anIndex+1, anEntry.length() - anIndex)).toInt();//lineNb();
}
}
return aPosition;
//=================================================================================
bool LIGHTGUI::activateModule ( SUIT_Study* study )
{
- bool isDone = SalomeApp_Module::activateModule( study );
+ bool isDone = LightApp_Module::activateModule( study );
if ( !isDone ) return false;
setMenuShown( true );
- // enable own ObjectBrowser selector an disable another ones
- bool isOwnSelector = false;
- QPtrList<SUIT_Selector> lst;
- getApp()->selectionMgr()->selectors( lst );
- for ( QPtrListIterator<SUIT_Selector> it( lst ); it.current(); ++it ) {
- if ( it.current()->type() == "ObjectBrowser" ) {
- LIGHTGUI_OBSelector* anOwnSelector = dynamic_cast<LIGHTGUI_OBSelector*>( it.current() );
- // restore own selector
- if ( anOwnSelector ) {
- // enable own
- anOwnSelector->setEnabled( true );
- isOwnSelector = true;
- }
- else {
- // disable other
- it.current()->setEnabled( false );
- }
- }
- }
-
- // create own selector, if it was not found in selection manager
- if ( !isOwnSelector ) {
- new LIGHTGUI_OBSelector ( getApp()->objectBrowser(), getApp()->selectionMgr() );
- }
-
return isDone;
}
// hide menus
setMenuShown( false );
- // disable own ObjectBrowser selector an enable another ones
- QPtrList<SUIT_Selector> lst;
- getApp()->selectionMgr()->selectors( lst );
- for ( QPtrListIterator<SUIT_Selector> it( lst ); it.current(); ++it ) {
- if ( it.current()->type() == "ObjectBrowser" ) {
- LIGHTGUI_OBSelector* anOwnSelector = dynamic_cast<LIGHTGUI_OBSelector*>( it.current() );
- if ( anOwnSelector ) {
- // disable own selector
- anOwnSelector->setEnabled( false );
- }
- else {
- // enable other
- it.current()->setEnabled( true );
- }
- }
- }
-
- return SalomeApp_Module::deactivateModule( study );
+ return LightApp_Module::deactivateModule( study );
}
//=================================================================================
}
}
}
+//=================================================================================
+// function : onDisplayLine()
+// purpose : "Display Line" action slot
+//=================================================================================
+void LIGHTGUI::onDisplayLine()
+{
+ OCCViewer_ViewManager* aMgr = (OCCViewer_ViewManager*)getApp()->getViewManager("OCCViewer", true);
+ SOCC_Viewer* aViewer = (SOCC_Viewer*)aMgr->getViewModel();
+ if ( !aViewer )
+ return;
+
+ LIGHTGUI_DataModel* dm = dynamic_cast<LIGHTGUI_DataModel*>( dataModel() );
+ if ( !dm ) return;
+ int aPosition = selectedLine();
+ QString aLine = dm->getLineText( aPosition );
+ double aX = 0, aY = 0, aZ = 0;
+ QString aStrId = QString("LIGHTGUI_%1").arg(aPosition);
+
+ Handle(LIGHTGUI_TextPrs) aPrs = new LIGHTGUI_TextPrs( aLine, gp_Pnt( aX, aY, aZ ) );
+ aPrs->SetOwner(new SALOME_InteractiveObject( aStrId, "" ) );
+ SOCC_Prs* prs = dynamic_cast<SOCC_Prs*>( aViewer->CreatePrs() ); // aStringID is an "entry"
+ if ( prs ) {
+ aViewer->EraseAll();
+ prs->AddObject( aPrs );
+ aViewer->Display( prs );
+ aViewer->Repaint();
+ getApp()->updateObjectBrowser();
+ }
+}
//=================================================================================
// function : onEditLine()
#ifndef LIGHTGUI_H
#define LIGHTGUI_H
-#include <SalomeApp_Module.h>
+#include <LightApp_Module.h>
-class LIGHTGUI: public SalomeApp_Module
+class LIGHTGUI: public LightApp_Module
{
Q_OBJECT
- enum { lgLoadFile = 931, lgSaveFile, lgEditLine, lgAddLine, lgDelLine, lgClear };
+ enum { lgLoadFile = 931, lgSaveFile, lgDisplayLine, lgEditLine, lgAddLine, lgDelLine, lgClear };
public:
LIGHTGUI();
virtual void contextMenuPopup ( const QString&, QPopupMenu*, QString& );
virtual void windows ( QMap<int, int>& ) const;
- virtual QString engineIOR() const;
-
protected:
virtual CAM_DataModel* createDataModel();
int selectedLine();
private slots:
void onLoadFile();
void onSaveFile();
+ void onDisplayLine();
void onEditLine();
void onAddLine ();
void onDelLine ();
void onClear ();
+
+private:
+ int anIndex;
};
#endif // LIGHTGUI_H
#include "LIGHTGUI_DataModel.h"
#include "LIGHTGUI_DataObject.h"
-#include <SalomeApp_Study.h>
+#include <LightApp_Study.h>
#include <SUIT_Tools.h>
#include <SUIT_DataObjectIterator.h>
+#include <CAM_Module.h>
+#include <CAM_Application.h>
#include <qstring.h>
#include <qfile.h>
+#include <vector.h>
+#include <string.h>
+
//=================================================================================
// function : LIGHTGUI_DataModel()
// purpose : constructor
//=================================================================================
LIGHTGUI_DataModel::LIGHTGUI_DataModel ( CAM_Module* theModule )
- : SalomeApp_DataModel( theModule ),
+ : LightApp_DataModel( theModule ),
myFileName( "" ),
myStudyURL( "" )
{
//=================================================================================
bool LIGHTGUI_DataModel::open ( const QString& theURL, CAM_Study* study )
{
- SalomeApp_Study* aDoc = dynamic_cast<SalomeApp_Study*>( study );
+ LightApp_Study* aDoc = dynamic_cast<LightApp_Study*>( study );
if ( !aDoc )
return false;
- SalomeApp_DataModel::open( theURL, study );
+ LightApp_DataModel::open( theURL, aDoc );
- // Get list of files, created for this module by SalomeApp_Engine_i::Load().
- std::vector<std::string> aListOfFiles = GetListOfFiles();
+ // Get list of files, created for this module by LightApp_Engine_i::Load().
+ std::vector<std::string> aListOfFiles = aDoc->GetListOfFiles();
// The first list item contains path to a temporary
// directory, where the persistent files was placed
QString aTmpDir ( aListOfFiles[0] );
// This module operates with a single persistent file
- if ( aListOfFiles.size() == 2 ) {
- myStudyURL = theURL;
- QString aFileName ( aListOfFiles[1] );
- QString aFullPath = SUIT_Tools::addSlash( aTmpDir ) + aFileName;
+ if ( aListOfFiles.size() == 2 ) {
+ myStudyURL = theURL;
+ QString aFileName ( aListOfFiles[1] );
+ QString aFullPath = SUIT_Tools::addSlash( aTmpDir ) + aFileName;
- loadFile( aFullPath, study );
- }
+ loadFile( aFullPath, aDoc );
+ }
// Remove the files and temporary directory, created
- // for this module by SalomeApp_Engine_i::Load()
+ // for this module by LightApp_Engine_i::Load()
bool isMultiFile = false; // TODO: decide, how to access this parameter
- RemoveTemporaryFiles( isMultiFile );
+ aDoc->RemoveTemporaryFiles( isMultiFile );
}
return true;
// 1. Save data to temporary files
bool isMultiFile = false; // TODO: decide, how to access this parameter
- QString aTmpDir ( SalomeApp_DataModel::GetTmpDir( myStudyURL.latin1(), isMultiFile ) );
+ LightApp_DataModel::save();
+
+ LightApp_Study* study = dynamic_cast<LightApp_Study*>( module()->application()->activeStudy() );
+
+ QString aTmpDir = study->GetTmpDir( myStudyURL.latin1(), isMultiFile );
QString aFileName = SUIT_Tools::file( myStudyURL, false ) + "_LIGHTGUI.txt";
QString aFullPath = aTmpDir + aFileName;
dumpFile( aFullPath );
std::vector<std::string> aListOfFiles ( 2 );
aListOfFiles[0] = aTmpDir.latin1();
aListOfFiles[1] = aFileName.latin1();
- SetListOfFiles( aListOfFiles );
+ study->SetListOfFiles( aListOfFiles );
return true;
}
//=================================================================================
bool LIGHTGUI_DataModel::close()
{
+ LightApp_DataModel::close();
return true;
}
// function : update()
// purpose : updates data model
//=================================================================================
-void LIGHTGUI_DataModel::update ( SalomeApp_DataObject*, SalomeApp_Study* )
+void LIGHTGUI_DataModel::update ( LightApp_DataObject*, LightApp_Study* )
{
// Nothing to do here: we always keep the data tree in the up-to-date state
- // The only goal of this method is to hide default behavior from SalomApp_DataModel
+ // The only goal of this method is to hide default behavior from LightApp_DataModel
return;
}
{
if ( !studyRoot )
return;
-
+
LIGHTGUI_ModuleObject* modelRoot = new LIGHTGUI_ModuleObject( this, studyRoot );
- CAM_DataObject* aParaObject, aLineObject;
+ LIGHTGUI_DataObject* aParaObject;
+ LIGHTGUI_DataObject* aLineObject;
aParaObject = new LIGHTGUI_DataObject ( "", modelRoot );
for ( ; it1 != it2; ++it1 ) {
if ( (*it1).stripWhiteSpace().isEmpty() ) {
aParaObject = new LIGHTGUI_DataObject ( *it1, modelRoot );
- }
+ }
else {
aLineObject = new LIGHTGUI_DataObject ( *it1, aParaObject );
}
#pragma once
#endif // _MSC_VER > 1000
-#include <SalomeApp_DataModel.h>
+#include <LightApp_DataModel.h>
class CAM_Module;
-class SalomeApp_Study;
+class LightApp_Study;
+class LightApp_DataObject;
class LIGHTGUI_DataObject;
-class LIGHTGUI_DataModel : public SalomeApp_DataModel
+class LIGHTGUI_DataModel : public LightApp_DataModel
{
Q_OBJECT
virtual bool isModified () const;
virtual bool isSaved () const;
- virtual void update ( SalomeApp_DataObject* = 0, SalomeApp_Study* = 0 );
+ virtual void update ( LightApp_DataObject* = 0, LightApp_Study* = 0 );
bool loadFile ( const QString&, CAM_Study* study = 0 );
bool dumpFile ( const QString& = QString::null );
// purpose : default constructor
//=================================================================================
LIGHTGUI_DataObject::LIGHTGUI_DataObject ( SUIT_DataObject* parent )
- : CAM_DataObject( parent )
+: LightApp_DataObject( parent ),
+ CAM_DataObject( parent )
{
}
// purpose : constructor
//=================================================================================
LIGHTGUI_DataObject::LIGHTGUI_DataObject ( const QString& line_text, SUIT_DataObject* parent )
- : CAM_DataObject( parent ),
- myLineTxt( line_text )
+: LightApp_DataObject( parent ),
+ myLineTxt( line_text ),
+ CAM_DataObject( parent)
{
}
{
}
+/*!Gets object ID.
+ *\retval QString
+ */
+QString LIGHTGUI_DataObject::entry() const
+{
+ QString aStr = QString("LIGHTGUI_%1").arg(lineNb());
+ return aStr;
+}
+
//=================================================================================
// function : name()
// purpose : gets an name of the object
// purpose : one more constructor
//=================================================================================
LIGHTGUI_ModuleObject::LIGHTGUI_ModuleObject ( CAM_DataModel* dm, SUIT_DataObject* parent )
- : LIGHTGUI_DataObject( parent ),
- CAM_RootObject( dm, parent ),
- CAM_DataObject( parent )
+: LIGHTGUI_DataObject( parent ),
+ CAM_RootObject( dm, parent ),
+ CAM_DataObject( parent )
{
}
#ifndef LIGHTGUI_DATAOBJECT_H
#define LIGHTGUI_DATAOBJECT_H
-#include <CAM_DataObject.h>
-#include <CAM_RootObject.h>
+#include <LightApp_DataObject.h>
+#include <LightApp_RootObject.h>
#include <qstring.h>
/*!
* LIGHTGUI_DataObject - LIGHT module's data object class
*/
-class LIGHTGUI_DataObject : public virtual CAM_DataObject
+class LIGHTGUI_DataObject : public virtual LightApp_DataObject
{
public:
LIGHTGUI_DataObject ( SUIT_DataObject* = 0 );
LIGHTGUI_DataObject ( const QString&, SUIT_DataObject* = 0 );
virtual ~LIGHTGUI_DataObject();
+ virtual QString entry() const;
+
QString name() const;
QPixmap icon() const;
QString toolTip() const;
* LIGHTGUI_ModuleObject - LIGHT module's root data object class
*/
-class LIGHTGUI_ModuleObject : public LIGHTGUI_DataObject,
- public CAM_RootObject
+class LIGHTGUI_ModuleObject : public LIGHTGUI_DataObject,
+ public CAM_RootObject
{
public:
LIGHTGUI_ModuleObject ( CAM_DataModel*, SUIT_DataObject* = 0 );
+++ /dev/null
-// LIGHT : sample (no-corba-engine) SALOME module
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-// Author : Julia DOROVSKIKH
-// Date : 01/01/2005
-// $Header$
-
-#include "LIGHTGUI_DataOwner.h"
-
-//=================================================================================
-// function : LIGHTGUI_DataOwner()
-// purpose : constructor
-//=================================================================================
-LIGHTGUI_DataOwner::LIGHTGUI_DataOwner ( const int theLineNb )
- : myLineNb( theLineNb )
-{
-}
-
-//=================================================================================
-// function : ~LIGHTGUI_DataOwner()
-// purpose : destructor
-//=================================================================================
-LIGHTGUI_DataOwner::~LIGHTGUI_DataOwner()
-{
-}
-
-//=================================================================================
-// function : isEqual()
-// purpose : compares two owners
-//=================================================================================
-bool LIGHTGUI_DataOwner::isEqual ( const SUIT_DataOwner& obj ) const
-{
- const LIGHTGUI_DataOwner* other =
- dynamic_cast<const LIGHTGUI_DataOwner*>( &obj );
-
- return other && lineNb() == other->lineNb();
-}
-
-//=================================================================================
-// function : lineNb()
-// purpose : returns owner id
-//=================================================================================
-int LIGHTGUI_DataOwner::lineNb() const
-{
- return myLineNb;
-}
+++ /dev/null
-// LIGHT : sample (no-corba-engine) SALOME module
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-// Author : Julia DOROVSKIKH
-// Date : 01/01/2005
-// $Header$
-
-#ifndef LIGHTGUI_DATAOWNER_H
-#define LIGHTGUI_DATAOWNER_H
-
-#include <SUIT_DataOwner.h>
-
-class LIGHTGUI_DataOwner : public SUIT_DataOwner
-{
-public:
- LIGHTGUI_DataOwner ( const int );
- virtual ~LIGHTGUI_DataOwner ();
-
- virtual bool isEqual ( const SUIT_DataOwner& ) const;
- int lineNb () const;
-
-private:
- int myLineNb;
-};
-
-#endif // LIGHTGUI_DATAOWNER_H
+++ /dev/null
-// LIGHT : sample (no-corba-engine) SALOME module
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-// Author : Julia DOROVSKIKH
-// Date : 01/01/2005
-// $Header$
-
-#include "LIGHTGUI_OBSelector.h"
-#include "LIGHTGUI_DataOwner.h"
-#include "LIGHTGUI_DataObject.h"
-
-#include <OB_Browser.h>
-
-#include <SUIT_DataObjectIterator.h>
-
-//=================================================================================
-// function : LIGHTGUI_OBSelector()
-// purpose : constructor
-//=================================================================================
-LIGHTGUI_OBSelector::LIGHTGUI_OBSelector ( OB_Browser* ob, SUIT_SelectionMgr* mgr )
- : SUIT_Selector( mgr, ob ),
- myBrowser( ob )
-{
- if ( myBrowser ) {
- connect( myBrowser, SIGNAL( selectionChanged() ), this, SLOT( onSelectionChanged() ) );
- }
-}
-
-//=================================================================================
-// function : ~LIGHTGUI_OBSelector()
-// purpose : destructor
-//=================================================================================
-LIGHTGUI_OBSelector::~LIGHTGUI_OBSelector()
-{
-}
-
-//=================================================================================
-// function : browser()
-// purpose : gets object browser
-//=================================================================================
-OB_Browser* LIGHTGUI_OBSelector::browser() const
-{
- return myBrowser;
-}
-
-//=================================================================================
-// function : getSelection()
-// purpose : gets selection
-//=================================================================================
-void LIGHTGUI_OBSelector::getSelection ( SUIT_DataOwnerPtrList& aList ) const
-{
- if ( !myBrowser )
- return;
-
- DataObjectList objlist;
- myBrowser->getSelected( objlist );
- for ( DataObjectListIterator it ( objlist ); it.current(); ++it )
- {
- LIGHTGUI_DataObject* obj = dynamic_cast<LIGHTGUI_DataObject*>( it.current() );
- if ( obj )
- aList.append( SUIT_DataOwnerPtr( new LIGHTGUI_DataOwner( obj->lineNb() ) ) );
- }
-}
-
-//=================================================================================
-// function : setSelection()
-// purpose : sets selection
-//=================================================================================
-void LIGHTGUI_OBSelector::setSelection ( const SUIT_DataOwnerPtrList& aList )
-{
- if ( !myBrowser )
- return;
-
- // Fill map of all data objects
- QMap<int, LIGHTGUI_DataObject*> aMap;
-
- SUIT_DataObjectIterator objit ( myBrowser->getRootObject(),
- SUIT_DataObjectIterator::DepthLeft );
- for ( ; objit.current(); ++objit )
- {
- LIGHTGUI_DataObject* obj = dynamic_cast<LIGHTGUI_DataObject*>( objit.current() );
- if ( obj )
- aMap.insert( obj->lineNb(), obj );
- }
-
- // Fill list with all selected data objects
- DataObjectList objList;
- SUIT_DataOwnerPtrList::const_iterator ownit = aList.begin();
- for ( ; ownit != aList.end(); ++ownit )
- {
- const LIGHTGUI_DataOwner* owner =
- dynamic_cast<const LIGHTGUI_DataOwner*>( (*ownit).get() );
- if ( owner && aMap.contains( owner->lineNb() ) )
- objList.append( aMap[owner->lineNb()] );
- }
-
- myBrowser->setSelected( objList );
-}
-
-//=================================================================================
-// function : onSelectionChanged()
-// purpose : called when selection is changed in the Object Browser
-//=================================================================================
-void LIGHTGUI_OBSelector::onSelectionChanged()
-{
- selectionChanged();
-}
+++ /dev/null
-// LIGHT : sample (no-corba-engine) SALOME module
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-// Author : Julia DOROVSKIKH
-// Date : 01/01/2005
-// $Header$
-
-#ifndef LIGHTGUI_OBSELECTOR_H
-#define LIGHTGUI_OBSELECTOR_H
-
-#include <SUIT_Selector.h>
-
-class OB_Browser;
-
-class LIGHTGUI_OBSelector : public SUIT_Selector
-{
- Q_OBJECT
-
-public:
- LIGHTGUI_OBSelector ( OB_Browser*, SUIT_SelectionMgr* );
- virtual ~LIGHTGUI_OBSelector ();
-
- OB_Browser* browser () const;
-
- virtual QString type () const { return "ObjectBrowser"; }
-
-private slots:
- void onSelectionChanged ();
-
-protected:
- virtual void getSelection ( SUIT_DataOwnerPtrList& ) const;
- virtual void setSelection ( const SUIT_DataOwnerPtrList& );
-
-private:
- OB_Browser* myBrowser;
-};
-
-#endif // LIGHTGUI_OBSELECTOR_H
// $Header$
#include "LIGHTGUI_Selection.h"
-#include "LIGHTGUI_DataOwner.h"
+#include "LightApp_DataOwner.h"
-#include <SalomeApp_SelectionMgr.h>
+#include <LightApp_SelectionMgr.h>
//=================================================================================
// function : LIGHTGUI_Selection()
// purpose : constructor
//=================================================================================
-LIGHTGUI_Selection::LIGHTGUI_Selection ( const QString& client,
- SalomeApp_SelectionMgr* mgr )
+LIGHTGUI_Selection::LIGHTGUI_Selection ()
+: LightApp_Selection()
{
- myPopupClient = client;
+}
+
+//=================================================================================
+// function : ~LIGHTGUI_Selection()
+// purpose : destructor
+//=================================================================================
+LIGHTGUI_Selection::~LIGHTGUI_Selection()
+{
+}
+//=================================================================================
+// function : init()
+// purpose : initialization
+//=================================================================================
+void LIGHTGUI_Selection::init( const QString& client, LightApp_SelectionMgr* mgr)
+{
if ( mgr ) {
SUIT_DataOwnerPtrList sel;
mgr->selected( sel);
aLast = sel.end();
for ( ; anIt != aLast; anIt++ ) {
SUIT_DataOwner* owner = (SUIT_DataOwner*)( (*anIt).get() );
- LIGHTGUI_DataOwner* sowner = dynamic_cast<LIGHTGUI_DataOwner*>( owner );
- if ( sowner && sowner->lineNb() > 0 )
+ LightApp_DataOwner* sowner = dynamic_cast<LightApp_DataOwner*>( owner );
+ QString anEntry = sowner->entry();
+ int anIndex = anEntry.find("_");
+ int aPosition = (anEntry.mid(anIndex+1, anEntry.length() - anIndex)).toInt();//lineNb();
+ if ( sowner && aPosition > 0 )
myTypes.append( "TextLine" );
else
myTypes.append( "Unknown" );
}
}
-}
-
-//=================================================================================
-// function : ~LIGHTGUI_Selection()
-// purpose : destructor
-//=================================================================================
-LIGHTGUI_Selection::~LIGHTGUI_Selection()
-{
+ LightApp_Selection::init(client, mgr);
}
//=================================================================================
#define LIGHTGUI_SELECTION_H
#include <QtxPopupMgr.h>
+#include <LightApp_Selection.h>
-class SalomeApp_SelectionMgr;
+class LightApp_SelectionMgr;
-class LIGHTGUI_Selection : public QtxPopupMgr::Selection
+class LIGHTGUI_Selection : public LightApp_Selection
{
public:
- LIGHTGUI_Selection ( const QString&, SalomeApp_SelectionMgr* );
+ LIGHTGUI_Selection ();
virtual ~LIGHTGUI_Selection ();
+ virtual void init( const QString&, LightApp_SelectionMgr* );
virtual int count () const;
virtual QtxValue param ( const int, const QString& ) const;
private:
- QString myPopupClient;
QStringList myTypes;
};
msgid "STB_SAVE_FILE"
msgstr "Save text file"
+msgid "TOP_DISPLAY_LINE"
+msgstr "Display line"
+
+msgid "MEN_DISPLAY_LINE"
+msgstr "Display selected line"
+
+msgid "STB_DISPLAY_LINE"
+msgstr "Display selected line"
msgid "TOP_EDIT_LINE"
msgstr "Edit line"
LIGHTGUI.cxx \
LIGHTGUI_Selection.cxx \
LIGHTGUI_DataObject.cxx \
- LIGHTGUI_DataOwner.cxx \
LIGHTGUI_DataModel.cxx \
- LIGHTGUI_OBSelector.cxx
+ LIGHTGUI_TextPrs.cxx
LIB_CLIENT_IDL = SALOME_Component.idl
# MOC pre-processing
LIB_MOC = \
LIGHTGUI.h \
LIGHTGUI_DataModel.h \
- LIGHTGUI_OBSelector.h
# additionnal compilation flags
-CPPFLAGS += \
- $(QT_INCLUDES) $(VTK_INCLUDES) $(OCC_INCLUDES) $(PYTHON_INCLUDES) -I${BOOSTDIR} \
- -I${KERNEL_ROOT_DIR}/include/salome \
+CPPFLAGS +=$(PYTHON_INCLUDES) $(QT_INCLUDES) $(VTK_INCLUDES) $(OCC_INCLUDES) -I${BOOSTDIR} \
-I${GUI_ROOT_DIR}/include/salome
# additionnal linkage flags
-LDFLAGS += \
- -lSalomeApp \
- -L${KERNEL_ROOT_DIR}/lib/salome \
- -L${GUI_ROOT_DIR}/lib/salome
+LDFLAGS +=$(PYTHON_LIBS) $(QT_MT_LIBS)\
+ -lLightApp -L${GUI_ROOT_DIR}/lib/salome
@CONCLUDE@