Restart from scratch

This commit is contained in:
ngo 2013-02-04 11:11:13 +00:00
parent 94f7859f4f
commit 498ce1933f
20 changed files with 996 additions and 18 deletions

View File

@ -20,6 +20,7 @@
SET(GEOM_CXXFLAGS -I${GEOM_ROOT_DIR}/include/salome)
FIND_LIBRARY(AdvancedGUI AdvancedGUI ${GEOM_ROOT_DIR}/lib/salome)
FIND_LIBRARY(ImportExportGUI ImportExportGUI ${GEOM_ROOT_DIR}/lib/salome)
FIND_LIBRARY(BasicGUI BasicGUI ${GEOM_ROOT_DIR}/lib/salome)
FIND_LIBRARY(BlocksGUI BlocksGUI ${GEOM_ROOT_DIR}/lib/salome)
FIND_LIBRARY(BooleanGUI BooleanGUI ${GEOM_ROOT_DIR}/lib/salome)
@ -60,6 +61,3 @@ FIND_LIBRARY(STEPImport STEPImport ${GEOM_ROOT_DIR}/lib/salome)
FIND_LIBRARY(STLExport STLExport ${GEOM_ROOT_DIR}/lib/salome)
FIND_LIBRARY(TransformationGUI TransformationGUI ${GEOM_ROOT_DIR}/lib/salome)
FIND_LIBRARY(VTKExport VTKExport ${GEOM_ROOT_DIR}/lib/salome)
FIND_LIBRARY(XAOExport XAOExport ${GEOM_ROOT_DIR}/lib/salome)
FIND_LIBRARY(XAOImport XAOImport ${GEOM_ROOT_DIR}/lib/salome)
FIND_LIBRARY(XAO XAO ${GEOM_ROOT_DIR}/lib/salome)

View File

@ -495,6 +495,7 @@ AC_OUTPUT([ \
doc/salome/tui/static/header.html \
src/Makefile \
src/AdvancedGUI/Makefile \
src/ImportExportGUI/Makefile \
src/ARCHIMEDE/Makefile \
src/BREPExport/Makefile \
src/BREPImport/Makefile \
@ -540,9 +541,6 @@ AC_OUTPUT([ \
src/ShapeRecognition/Makefile \
src/TransformationGUI/Makefile \
src/VTKExport/Makefile \
src/XAO/Makefile \
src/XAOExport/Makefile \
src/XAOImport/Makefile \
resources/Makefile \
resources/GEOMCatalog.xml \
resources/SalomeApp.xml \

View File

@ -0,0 +1 @@
<li>\subpage create_exportxao_page</li>

View File

@ -0,0 +1,29 @@
/*!
\page create_exportxao_page ExportXAO
To create a \b ExportXAO in the <b>Main Menu</b> select <b>New Entity - >
ImportExport - > ExportXAO </b>
Specify the parameters of the ExportXAO object creation in the opened dialog
box and press "Apply" or "Apply & Close" button.
Result of each operation will be a GEOM_Object.
<b>TUI Command:</b> <em>geompy.MakeExportXAO(ExportingShape, FileName, lGroups, lFields)</em>
<b>Arguments:</b>
- \b ExportingShape - Shape to export
- \b FileName - The name of the exported file
- \b lGroups - List of groups to export
- \b lFields - List of fields to export
\image html exportxao_dlg.png
Example:
\image html exportxao.png
Our <b>TUI Scripts</b> provide you with useful examples of creation of
\ref tui_creation_exportxao "ImportExport objects".
*/

View File

@ -0,0 +1,18 @@
\anchor tui_creation_exportxao
<br><h2>Creation of ExportXAO</h2>
\code
import geompy
import salome
gg = salome.ImportComponentGUI("GEOM")
# create ExportXAO object
exportxao = geompy.MakeExportXAO([value], [value], [value], [value])
# add object in the study
id_exportxao = geompy.addToStudy(exportxao,"ExportXAO")
# display exportxao
gg.createAndDisplayGO(id_exportxao)
\endcode

View File

@ -4005,6 +4005,26 @@ module GEOM
/*@@ insert new functions before this line @@ do not remove this line @@*/
};
// # GEOM_IImportExportOperations:
/*!
* \brief Interface for advanced modeling functions.
*/
interface GEOM_IImportExportOperations : GEOM_IOperations
{
/*!
* Export a shape to XAO Format
* \param theExportingShape Shape to export
* \param theFileName The name of the exported file
* \param thelGroups List of groups to export
* \param thelFields List of fields to export
* \return New GEOM_Object, containing the created shape.
*/
boolean ExportXAO (in GEOM_Object theExportingShape, in string theFileName, in ListOfGO thelGroups, in ListOfGO thelFields);
/*@@ insert new functions before this line @@ do not remove this line @@*/
};
// # GEOM_Gen:
/*!
* \brief Interface to access other GEOM interfaces.
@ -4141,6 +4161,7 @@ module GEOM
GEOM_IBlocksOperations GetIBlocksOperations (in long theStudyID) raises (SALOME::SALOME_Exception);
GEOM_IGroupOperations GetIGroupOperations (in long theStudyID) raises (SALOME::SALOME_Exception);
GEOM_IAdvancedOperations GetIAdvancedOperations (in long theStudyID) raises (SALOME::SALOME_Exception);
GEOM_IImportExportOperations GetIImportExportOperations (in long theStudyID) raises (SALOME::SALOME_Exception);
// # Objects Management

View File

@ -623,6 +623,11 @@ module GEOM
GEOM_Object MakeDividedCylinder (in double theR, in double theH,
in pattern thePattern);
//-----------------------------------------------------------//
// ImportExportOperations //
//-----------------------------------------------------------//
boolean ExportXAO (in GEOM_Object theExportingShape, in string theFileName, in GEOM_List thelGroups, in GEOM_List thelFields);
/*@@ insert new functions before this line @@ do not remove this line @@*/
};
};

View File

@ -52,8 +52,10 @@
<objref name="GEOM_IBlocksOperations" id="IDL:GEOM/GEOM_IBlocksOperations:1.0" />
<objref name="GEOM_IGroupOperations" id="IDL:GEOM/GEOM_IGroupOperations:1.0" />
<objref name="GEOM_IAdvancedOperations" id="IDL:GEOM/GEOM_IAdvancedOperations:1.0" />
<objref name="GEOM_IImportExportOperations" id="IDL:GEOM/GEOM_IImportExportOperations:1.0" />
<sequence name="ListOfLong" content="int" />
<sequence name="ListOfGO" content="GEOM_Object" />
<sequence name="ListOfBool" content="boolean" />
<sequence name="string_array" content="string" />
<struct name="BCError" >
<member name="incriminated" type="ListOfLong"/>
@ -470,6 +472,30 @@
</outParameter-list>
<DataStream-list></DataStream-list>
</component-service>
<component-service>
<!-- service-identification -->
<service-name>GetIImportExportOperations</service-name>
<service-author></service-author>
<service-version></service-version>
<service-comment></service-comment>
<service-by-default>1</service-by-default>
<!-- service-connexion -->
<inParameter-list>
<inParameter>
<inParameter-name>theStudyID</inParameter-name>
<inParameter-type>long</inParameter-type>
<inParameter-comment></inParameter-comment>
</inParameter>
</inParameter-list>
<outParameter-list>
<outParameter>
<outParameter-name>return</outParameter-name>
<outParameter-type>GEOM_IImportExportOperations</outParameter-type>
<outParameter-comment></outParameter-comment>
</outParameter>
</outParameter-list>
<DataStream-list></DataStream-list>
</component-service>
<component-service>
<!-- service-identification -->
<service-name>RemoveObject</service-name>
@ -5279,6 +5305,43 @@
</outParameter-list>
<DataStream-list></DataStream-list>
</component-service>
<component-service>
<service-name>MakeExportXAO</service-name>
<service-author></service-author>
<service-version></service-version>
<service-comment>unknown</service-comment>
<service-by-default>0</service-by-default>
<inParameter-list>
<inParameter>
<inParameter-name>theExportingShape</inParameter-name>
<inParameter-type>GEOM_Object</inParameter-type>
<inParameter-comment>Shape to export</inParameter-comment>
</inParameter>
<inParameter>
<inParameter-name>theFileName</inParameter-name>
<inParameter-type>string</inParameter-type>
<inParameter-comment>The name of the exported file</inParameter-comment>
</inParameter>
<inParameter>
<inParameter-name>thelGroups</inParameter-name>
<inParameter-type>GEOM_List</inParameter-type>
<inParameter-comment>List of groups to export</inParameter-comment>
</inParameter>
<inParameter>
<inParameter-name>thelFields</inParameter-name>
<inParameter-type>GEOM_List</inParameter-type>
<inParameter-comment>List of fields to export</inParameter-comment>
</inParameter>
</inParameter-list>
<outParameter-list>
<outParameter>
<outParameter-name>return</outParameter-name>
<outParameter-type>bool</outParameter-type>
<outParameter-comment>Result object</outParameter-comment>
</outParameter>
</outParameter-list>
<DataStream-list></DataStream-list>
</component-service>
<!-- @@ insert new functions before this line @@ do not remove this line @@ -->
</component-service-list>
</component-interface-list>

View File

@ -1,14 +1,10 @@
Import: BREP|XAO|IGES|STEP|ACIS
Export: BREP|XAO|IGES|IGES_5_3|STEP|STL_Bin|STL_ASCII|ACIS|VTK
Import: BREP|IGES|STEP|ACIS
Export: BREP|IGES|IGES_5_3|STEP|STL_Bin|STL_ASCII|ACIS|VTK
BREP.Import: libBREPImport
BREP.Export: libBREPExport
BREP.Pattern: BREP Files ( *.brep )
XAO.Import: libXAOImport
XAO.Export: libXAOExport
XAO.Pattern: XAO Files ( *.xao )
IGES.Import: libIGESImport
IGES.Export: libIGESExport
IGES.Pattern: IGES Files ( *.iges *.igs )

View File

@ -182,10 +182,6 @@ tree_group_vertex.png \
tree_group_edge.png \
tree_group_face.png \
tree_group_solid.png \
tree_field_vertex.png \
tree_field_edge.png \
tree_field_face.png \
tree_field_solid.png \
tree_lcs.png \
vector.png \
vector_mode.png \
@ -261,6 +257,7 @@ ADVANCED_RESOURCES += dlg_pipetshapefilletrf.png
# ADVANCED_RESOURCES += divideddisk.png divideddisk_r_ratio.png tree_divideddisk.png
ADVANCED_RESOURCES += dividedcylinder.png dividedcylinder_r_h.png
# tree_dividedcylinder.png
#IMPORTEXPORT_RESOURCES += exportxao.png exportxao_exportingshape_filename_lgroups_lfields.png tree_exportxao.png
##@@ insert new functions before this line @@ do not remove this line @@##
dist_salomeres_DATA += $(ADVANCED_RESOURCES)

View File

@ -0,0 +1,92 @@
// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File : ImportExportGUI.cxx
// Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
//
#include "ImportExportGUI.h"
#include "GeometryGUI.h"
#include "GeometryGUI_Operations.h"
#include <SUIT_Desktop.h>
#include <SalomeApp_Application.h>
#include "ImportExportGUI_ExportXAODlg.h"
//@@ insert new functions before this line @@ do not remove this line @@ do not remove this line @@//
#include <QDialog>
//=======================================================================
// function : ImportExportGUI()
// purpose : Constructor
//=======================================================================
ImportExportGUI::ImportExportGUI( GeometryGUI* parent ) : GEOMGUI( parent )
{
}
//=======================================================================
// function : ~ImportExportGUI
// purpose : Destructor
//=======================================================================
ImportExportGUI::~ImportExportGUI()
{
}
//=======================================================================
// function : OnGUIEvent()
// purpose :
//=======================================================================
bool ImportExportGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent )
{
SalomeApp_Application* app = getGeometryGUI()->getApp();
if ( !app ) return false;
getGeometryGUI()->EmitSignalDeactivateDialog();
QDialog* aDlg = NULL;
switch ( theCommandID ) { case GEOMOp::OpExportXAO:
aDlg = new ImportExportGUI_ExportXAODlg( getGeometryGUI(), parent );
break;
//@@ insert new functions before this line @@ do not remove this line @@ do not remove this line @@//
default:
app->putInfo( tr( "GEOM_PRP_COMMAND" ).arg( theCommandID ) );
break;
}
if ( aDlg != NULL )
aDlg->show();
return true;
}
//=====================================================================================
// EXPORTED METHODS
//=====================================================================================
extern "C"
{
#ifdef WIN32
__declspec( dllexport )
#endif
GEOMGUI* GetLibGUI( GeometryGUI* parent )
{
return new ImportExportGUI( parent );
}
}

View File

@ -0,0 +1,41 @@
// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File : ImportExportGUI.h
// Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
//
#ifndef IMPORTEXPORTGUI_H
#define IMPORTEXPORTGUI_H
#include "GEOMGUI.h"
//=================================================================================
// class : ImportExportGUI
// purpose :
//=================================================================================
class ImportExportGUI : public GEOMGUI
{
public:
ImportExportGUI( GeometryGUI* );
~ImportExportGUI();
bool OnGUIEvent( int, SUIT_Desktop* );
};
#endif // IMPORTEXPORTGUI_H

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ImportExportGUI_1Sel1LineEdit2ListWidget_QTD</class>
<widget class="QWidget" name="ImportExportGUI_1Sel1LineEdit2ListWidget_QTD">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>222</width>
<height>178</height>
</rect>
</property>
<property name="windowTitle">
<string/>
</property>
<layout class="QGridLayout">
<property name="margin">
<number>0</number>
</property>
<property name="spacing">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="QGroupBox" name="GroupBox1">
<property name="title">
<string/>
</property>
<layout class="QGridLayout">
<property name="margin">
<number>9</number>
</property>
<property name="spacing">
<number>6</number>
</property>
<item row="1" column="1" colspan="2">
<widget class="QLineEdit" name="LineEdit2"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="TextLabel2">
<property name="text">
<string>TL2</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="PushButton1">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="TextLabel1">
<property name="text">
<string>TL1</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLineEdit" name="LineEdit1">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QLabel" name="TextLabel3">
<property name="text">
<string>TL3</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLabel" name="TextLabel4">
<property name="text">
<string>TL4</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="QListWidget" name="listWidget1"/>
</item>
<item row="3" column="2">
<widget class="QListWidget" name="listWidget2"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>PushButton1</tabstop>
<tabstop>LineEdit1</tabstop>
<tabstop>LineEdit2</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,268 @@
// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 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.salome-platform.org/ or email : webmaster.salome@opencascade.com
#include "ImportExportGUI_ExportXAODlg.h"
#include "ImportExportGUI_Widgets.h"
#include <DlgRef.h>
#include <GeometryGUI.h>
#include <GEOMBase.h>
#include <SUIT_Session.h>
#include <SUIT_ResourceMgr.h>
#include <SalomeApp_Application.h>
#include <LightApp_SelectionMgr.h>
#include <QLabel>
#include <QLineEdit>
#include <QMap>
//#include <ui_ImportExportGUI_1Sel1LineEdit2ListWidget_QTD.h>
// OCCT Includes
#include <TopoDS_Shape.hxx>
#include <TopoDS.hxx>
#include <TopExp.hxx>
#include <TColStd_IndexedMapOfInteger.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
#include <GEOMImpl_Types.hxx>
//=================================================================================
// Constructor
//=================================================================================
ImportExportGUI_ExportXAODlg::ImportExportGUI_ExportXAODlg (GeometryGUI* theGeometryGUI, QWidget* parent)
: GEOMBase_Skeleton(theGeometryGUI, parent, false)
{
SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
QPixmap imageOp (resMgr->loadPixmap("GEOM", tr("ICON_DLG_EXPORTXAO_EXPORTINGSHAPE_FILENAME_LGROUPS_LFIELDS")));
QPixmap imageSel (resMgr->loadPixmap("GEOM", tr("ICON_SELECT")));
setWindowTitle(tr("GEOM_EXPORTXAO_TITLE"));
/***************************************************************/
mainFrame()->GroupConstructors->setTitle( tr( "GEOM_EXPORTXAO_TITLE" ) );
mainFrame()->RadioButton1->setIcon( imageOp );
mainFrame()->RadioButton2->setAttribute( Qt::WA_DeleteOnClose );
mainFrame()->RadioButton2->close();
mainFrame()->RadioButton3->setAttribute( Qt::WA_DeleteOnClose );
mainFrame()->RadioButton3->close();
myGrp = new ImportExportGUI_1Sel1LineEdit2ListWidget( centralWidget() );
myGrp->GroupBox1->setTitle( tr( "GEOM_EXPORTXAO" ) );
myGrp->TextLabel1->setText( tr( "GEOM_EXPORTXAO_EXPORTINGSHAPE" ) );
myGrp->TextLabel2->setText( tr( "GEOM_EXPORTXAO_FILENAME" ) );
myGrp->TextLabel3->setText( tr( "GEOM_EXPORTXAO_LGROUPS" ) );
myGrp->TextLabel4->setText( tr( "GEOM_EXPORTXAO_LFIELDS" ) );
myGrp->PushButton1->setIcon( imageSel );
setHelpFileName("create_exportxao_page.html");
Init();
}
//=================================================================================
// Destructor
//=================================================================================
ImportExportGUI_ExportXAODlg::~ImportExportGUI_ExportXAODlg()
{
// no need to delete child widgets, Qt does it all for us
}
//=================================================================================
// function : Init()
// purpose :
//=================================================================================
void ImportExportGUI_ExportXAODlg::Init()
{
// Get setting of step value from file configuration
// Signal/slot connections
connect(buttonOk(), SIGNAL(clicked()), this, SLOT(ClickOnOk()));
connect(buttonApply(), SIGNAL(clicked()), this, SLOT(ClickOnApply()));
connect( myGrp->PushButton1, SIGNAL( clicked() ), this, SLOT( SetEditCurrentArgument() ) );
connect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(),
SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) );
initName(tr("GEOM_EXPORTXAO"));
SelectionIntoArgument();
}
//=================================================================================
// function : processObject()
// purpose : Fill dialog fields in accordance with myObj
//=================================================================================
void ImportExportGUI_ExportXAODlg::processObject()
{
if ( myMainObj->_is_nil() ) {
myGrp->LineEdit1->setText( "" );
myGrp->LineEdit2->setText( "" );
erasePreview();
}
else {
myGrp->LineEdit1->setText( GEOMBase::GetName( myMainObj ) );
SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
}
}
//=================================================================================
// function : ClickOnOk()
// purpose :
//=================================================================================
void ImportExportGUI_ExportXAODlg::ClickOnOk()
{
if (ClickOnApply())
ClickOnCancel();
}
//=================================================================================
// function : ClickOnApply()
// purpose :
//=================================================================================
bool ImportExportGUI_ExportXAODlg::ClickOnApply()
{
if (!onAccept())
return false;
initName();
return true;
}
//=================================================================================
// function : SelectionIntoArgument()
// purpose : Called when selection as changed or other case
//=================================================================================
void ImportExportGUI_ExportXAODlg::SelectionIntoArgument()
{
erasePreview();
myMainObj = GEOM::GEOM_Object::_nil();
LightApp_SelectionMgr* aSelMgr = myGeomGUI->getApp()->selectionMgr();
SALOME_ListIO aSelList;
aSelMgr->selectedObjects(aSelList);
if (aSelList.Extent() != 1) {
processObject();
return;
}
GEOM::GEOM_Object_var aSelectedObject =
GEOMBase::ConvertIOinGEOMObject( aSelList.First() );
if ( aSelectedObject->_is_nil() ) {
processObject();
return;
}
myMainObj = aSelectedObject;
processObject();
}
//=================================================================================
// function : SetEditCurrentArgument()
// purpose :
//=================================================================================
void ImportExportGUI_ExportXAODlg::SetEditCurrentArgument()
{
myGrp->LineEdit1->setFocus();
myEditCurrentArgument = myGrp->LineEdit1;
SelectionIntoArgument();
}
//=================================================================================
// function : ActivateThisDialog()
// purpose :
//=================================================================================
void ImportExportGUI_ExportXAODlg::ActivateThisDialog()
{
GEOMBase_Skeleton::ActivateThisDialog();
}
//=================================================================================
// function : enterEvent [REDEFINED]
// purpose :
//=================================================================================
void ImportExportGUI_ExportXAODlg::enterEvent (QEvent*)
{
if (!mainFrame()->GroupConstructors->isEnabled())
ActivateThisDialog();
}
//=================================================================================
// function : createOperation
// purpose :
//=================================================================================
GEOM::GEOM_IOperations_ptr ImportExportGUI_ExportXAODlg::createOperation()
{
return getGeomEngine()->GetIImportExportOperations(getStudyId());
}
//=================================================================================
// function : isValid
// purpose :
//=================================================================================
bool ImportExportGUI_ExportXAODlg::isValid (QString& msg)
{
bool ok = true;
//@@ add custom validation actions here @@//
return ok;
}
//=================================================================================
// function : execute
// purpose :
//=================================================================================
bool ImportExportGUI_ExportXAODlg::execute (ObjectList& objects)
{
bool res = false;
GEOM::GEOM_Object_var anObj;
GEOM::GEOM_IImportExportOperations_var anOper = GEOM::GEOM_IImportExportOperations::_narrow(getOperation());
/*//@@ retrieve input values from the widgets here @@//
CORBA::Double theExportingShape = @@ init parameter value from dialog box @@;
CORBA::String_var theFileName = @@ init parameter value from dialog box @@;
CORBA::Boolean thelGroups = @@ init parameter value from dialog box @@;
CORBA::Boolean thelFields = @@ init parameter value from dialog box @@;
// call engine function
anObj = anOper->ExportXAO(theExportingShape, theFileName, thelGroups, thelFields);
res = !anObj->_is_nil();
if (res && !IsPreview())
{
QStringList aParameters;
//@@ put stringified input parameters to the string list here to store in the data model for notebook @@//
aParameters << @@ stringified parameter value @@; // ExportingShape parameter
aParameters << @@ stringified parameter value @@; // FileName parameter
aParameters << @@ stringified parameter value @@; // lGroups parameter
aParameters << @@ stringified parameter value @@; // lFields parameter
if ( aParameters.count() > 0 ) anObj->SetParameters(aParameters.join(":").toLatin1().constData());
}
if (res)
objects.push_back(anObj._retn());*/
return res;
}

View File

@ -0,0 +1,69 @@
// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 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.salome-platform.org/ or email : webmaster.salome@opencascade.com
#ifndef IMPORTEXPORTGUI_EXPORTXAODLG_H
#define IMPORTEXPORTGUI_EXPORTXAODLG_H
#include <GEOMBase_Skeleton.h>
class QGroupBox;
class QLineEdit;
class QButtonGroup;
class ImportExportGUI_1Sel1LineEdit2ListWidget;
//=================================================================================
// class : ImportExportGUI_ExportXAODlg
// purpose :
//=================================================================================
class ImportExportGUI_ExportXAODlg : public GEOMBase_Skeleton
{
Q_OBJECT
public:
ImportExportGUI_ExportXAODlg( GeometryGUI*, QWidget* = 0 );
~ImportExportGUI_ExportXAODlg();
protected:
// redefined from GEOMBase_Helper
virtual GEOM::GEOM_IOperations_ptr createOperation();
virtual bool isValid( QString& );
virtual bool execute( ObjectList& );
private:
void Init();
void enterEvent( QEvent* );
void processObject();
private:
GEOM::GEOM_Object_var myMainObj;
ImportExportGUI_1Sel1LineEdit2ListWidget* myGrp;
private slots:
void ClickOnOk();
bool ClickOnApply();
void ActivateThisDialog();
void SelectionIntoArgument();
void SetEditCurrentArgument();
//void ValueChangedInSpinBox();
//void SetDoubleSpinBoxStep( double );
};
#endif // IMPORTEXPORTGUI_EXPORTXAODLG_H

View File

@ -0,0 +1,37 @@
// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File : ImportExportGUI_Widgets.cxx
// Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
//
#include "ImportExportGUI_Widgets.h"
//////////////////////////////////////////
// ImportExportGUI_1Sel1LineEdit2ListWidget
//////////////////////////////////////////
ImportExportGUI_1Sel1LineEdit2ListWidget::ImportExportGUI_1Sel1LineEdit2ListWidget( QWidget* parent, Qt::WindowFlags f )
: QWidget( parent, f )
{
setupUi( this );
}
ImportExportGUI_1Sel1LineEdit2ListWidget::~ImportExportGUI_1Sel1LineEdit2ListWidget()
{
}

View File

@ -0,0 +1,42 @@
// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File : IMPORTEXPORTGUI_Widgets.h
// Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
//
#ifndef IMPORTEXPORTGUI_WIDGETS_H
#define IMPORTEXPORTGUI_WIDGETS_H
//////////////////////////////////////////
// ImportExportGUI_1Sel1LineEdit2ListWidget
//////////////////////////////////////////
#include "ui_ImportExportGUI_1Sel1LineEdit2ListWidget_QTD.h"
class ImportExportGUI_1Sel1LineEdit2ListWidget : public QWidget,
public Ui::ImportExportGUI_1Sel1LineEdit2ListWidget_QTD
{
Q_OBJECT
public:
ImportExportGUI_1Sel1LineEdit2ListWidget( QWidget* = 0, Qt::WindowFlags = 0 );
~ImportExportGUI_1Sel1LineEdit2ListWidget();
};
#endif // MEASUREGUI_WIDGETS_H

View File

@ -0,0 +1,88 @@
# Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
#
# 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.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
# File : Makefile.am
# Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
#
include $(top_srcdir)/adm_local/unix/make_common_starter.am
# header files
salomeinclude_HEADERS = \
ImportExportGUI.h \
ImportExportGUI_Widgets.h
IMPORTEXPORT_INCLUDES =
IMPORTEXPORT_INCLUDES += ImportExportGUI_ExportXAODlg.h
##@@ insert new functions before this line @@ do not remove this line @@ do not remove this line @@ do not remove this line @@##
salomeinclude_HEADERS += $(IMPORTEXPORT_INCLUDES)
# Libraries targets
lib_LTLIBRARIES = libImportExportGUI.la
dist_libImportExportGUI_la_SOURCES = \
ImportExportGUI.cxx \
ImportExportGUI_Widgets.cxx
IMPORTEXPORT_SOURCES =
IMPORTEXPORT_SOURCES += ImportExportGUI_ExportXAODlg.h ImportExportGUI_ExportXAODlg.cxx
##@@ insert new functions before this line @@ do not remove this line @@ do not remove this line @@ do not remove this line @@##
dist_libImportExportGUI_la_SOURCES += $(IMPORTEXPORT_SOURCES)
MOC_FILES =
IMPORTEXPORT_MOC_FILES =
IMPORTEXPORT_MOC_FILES += ImportExportGUI_ExportXAODlg_moc.cxx
##@@ insert new functions before this line @@ do not remove this line @@ do not remove this line @@ do not remove this line @@##
MOC_FILES += $(IMPORTEXPORT_MOC_FILES)
nodist_libImportExportGUI_la_SOURCES = \
$(MOC_FILES)
UIC_FILES = \
ui_ImportExportGUI_1Sel1LineEdit2ListWidget_QTD.h
BUILT_SOURCES = $(UIC_FILES)
# additional information to compile and link file
libImportExportGUI_la_CPPFLAGS = \
$(QT_INCLUDES) \
$(VTK_INCLUDES) \
$(CAS_CPPFLAGS) \
$(PYTHON_INCLUDES) \
$(BOOST_CPPFLAGS) \
$(KERNEL_CXXFLAGS) \
$(GUI_CXXFLAGS) \
$(CORBA_CXXFLAGS) \
$(CORBA_INCLUDES) \
-I$(srcdir)/../GEOMGUI \
-I$(srcdir)/../DlgRef \
-I$(srcdir)/../GEOMBase \
-I$(srcdir)/../OBJECT \
-I$(srcdir)/../GEOMClient \
-I$(srcdir)/../GEOMImpl \
-I$(srcdir)/../GEOMFiltersSelection \
-I$(top_builddir)/src/DlgRef \
-I$(top_builddir)/idl
libImportExportGUI_la_LDFLAGS = \
../GEOMFiltersSelection/libGEOMFiltersSelection.la \
../GEOMBase/libGEOMBase.la

View File

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MeasureGUI_1Sel3LineEdit_QTD</class>
<widget class="QWidget" name="MeasureGUI_1Sel3LineEdit_QTD">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>197</width>
<height>137</height>
</rect>
</property>
<property name="windowTitle">
<string/>
</property>
<layout class="QGridLayout">
<property name="margin">
<number>0</number>
</property>
<property name="spacing">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="QGroupBox" name="GroupBox1">
<property name="title">
<string/>
</property>
<layout class="QGridLayout">
<property name="margin">
<number>9</number>
</property>
<property name="spacing">
<number>6</number>
</property>
<item row="3" column="1" colspan="2">
<widget class="QLineEdit" name="LineEdit4"/>
</item>
<item row="2" column="1" colspan="2">
<widget class="QLineEdit" name="LineEdit3"/>
</item>
<item row="1" column="1" colspan="2">
<widget class="QLineEdit" name="LineEdit2"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="TextLabel3">
<property name="text">
<string>TL3</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="TextLabel4">
<property name="text">
<string>TL4</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="TextLabel2">
<property name="text">
<string>TL2</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="PushButton1">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="TextLabel1">
<property name="text">
<string>TL1</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLineEdit" name="LineEdit1">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>PushButton1</tabstop>
<tabstop>LineEdit1</tabstop>
<tabstop>LineEdit2</tabstop>
<tabstop>LineEdit3</tabstop>
<tabstop>LineEdit4</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

View File

@ -34,7 +34,7 @@ if GEOM_ENABLE_GUI
SUBDIRS += OBJECT DlgRef GEOMFiltersSelection Material GEOMGUI GEOMBase GEOMToolsGUI \
DisplayGUI BasicGUI PrimitiveGUI GenerationGUI EntityGUI BuildGUI \
BooleanGUI TransformationGUI OperationGUI RepairGUI MeasureGUI \
GroupGUI BlocksGUI AdvancedGUI GEOM_SWIG_WITHIHM XAOExport XAO XAOImport
GroupGUI BlocksGUI AdvancedGUI ImportExportGUI GEOM_SWIG_WITHIHM
endif
DIST_SUBDIRS = ARCHIMEDE NMTDS NMTTools GEOMAlgo \
@ -45,5 +45,4 @@ DIST_SUBDIRS = ARCHIMEDE NMTDS NMTTools GEOMAlgo \
GEOMToolsGUI DisplayGUI BasicGUI PrimitiveGUI GenerationGUI \
EntityGUI BuildGUI BooleanGUI TransformationGUI OperationGUI \
RepairGUI MeasureGUI GroupGUI BlocksGUI AdvancedGUI \
XAOExport XAOImport \
GEOM_SWIG_WITHIHM GEOM_PY ShapeRecognition