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)
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)
doc/salome/tui/static/header.html \
src/Makefile \
src/AdvancedGUI/Makefile \
+ src/ImportExportGUI/Makefile \
src/ARCHIMEDE/Makefile \
src/BREPExport/Makefile \
src/BREPImport/Makefile \
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 \
--- /dev/null
+<li>\subpage create_exportxao_page</li>
--- /dev/null
+/*!
+
+\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".
+
+*/
--- /dev/null
+\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
+
/*@@ 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.
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
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 @@*/
};
};
<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"/>
</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>
</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>
-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 )
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 \
# 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)
--- /dev/null
+// 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 );
+ }
+}
--- /dev/null
+// 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
--- /dev/null
+<?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>
--- /dev/null
+// 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;
+}
--- /dev/null
+// 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
--- /dev/null
+// 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()
+{
+}
+
--- /dev/null
+// 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
--- /dev/null
+# 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
--- /dev/null
+<?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>
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 \
GEOMToolsGUI DisplayGUI BasicGUI PrimitiveGUI GenerationGUI \
EntityGUI BuildGUI BooleanGUI TransformationGUI OperationGUI \
RepairGUI MeasureGUI GroupGUI BlocksGUI AdvancedGUI \
- XAOExport XAOImport \
GEOM_SWIG_WITHIHM GEOM_PY ShapeRecognition