Salome HOME
Merge branch 'SALOME-8.2.0_porting'
authorvsv <vitaly.smetannikov@opencascade.com>
Thu, 22 Dec 2016 13:09:03 +0000 (16:09 +0300)
committervsv <vitaly.smetannikov@opencascade.com>
Thu, 22 Dec 2016 13:09:03 +0000 (16:09 +0300)
Conflicts:
src/SketchPlugin/Test/TestArcBehavior.py
src/XGUI/CMakeLists.txt

1  2 
src/CollectionPlugin/CMakeLists.txt
src/Model/Model_AttributeSelectionList.cpp
src/SHAPERGUI/SHAPERGUI.cpp
src/XGUI/CMakeLists.txt

index bce080dc5316256bcd980f4a5a7372a74e32d3e0,00c353de77190e61a73ddb09afeb3989b471e4bf..5208b70622a067551451919188ede9d13aa72c98
@@@ -2,23 -2,29 +2,29 @@@
  
  INCLUDE(Common)
  INCLUDE(UnitTest)
- SET(CMAKE_AUTOMOC ON)
+ INCLUDE(UseQtExt)
+ # additional include directories
+ INCLUDE_DIRECTORIES(${QT_INCLUDES})
+ # additional preprocessor / compiler flags
+ ADD_DEFINITIONS(${QT_DEFINITIONS})
  
  SET(PROJECT_HEADERS
      CollectionPlugin.h
      CollectionPlugin_Plugin.h
      CollectionPlugin_Group.h
      CollectionPlugin_Field.h
-       CollectionPlugin_WidgetCreator.h
-       CollectionPlugin_WidgetField.h
+     CollectionPlugin_WidgetCreator.h
+     CollectionPlugin_WidgetField.h
  )
  
  SET(PROJECT_SOURCES
      CollectionPlugin_Plugin.cpp
      CollectionPlugin_Group.cpp
      CollectionPlugin_Field.cpp
-       CollectionPlugin_WidgetCreator.cpp
-       CollectionPlugin_WidgetField.cpp
+     CollectionPlugin_WidgetCreator.cpp
+     CollectionPlugin_WidgetField.cpp
  )
  
  SET(XML_RESOURCES
@@@ -30,6 -36,12 +36,12 @@@ SET(TEXT_RESOURCE
      CollectionPlugin_msg_en.ts
  )
  
+ # sources / moc wrappings
+ QT_WRAP_MOC(PROJECT_AUTOMOC ${PROJECT_HEADERS})
+ #QT5_ADD_TRANSLATION(QM_RESOURCES ${TEXT_RESOURCES})
+ SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES} ${QM_RESOURCES})
  SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
  
  
@@@ -54,7 -66,12 +66,12 @@@ SET(PROJECT_LIBRARIE
  )
  
  ADD_DEFINITIONS(-DCOLLECTIONPLUGIN_EXPORTS ${CAS_DEFINITIONS})
- ADD_LIBRARY(CollectionPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
+ ADD_LIBRARY(CollectionPlugin MODULE
+             ${PROJECT_SOURCES}
+             ${PROJECT_HEADERS}
+             ${XML_RESOURCES}
+             ${TEXT_RESOURCES}
+             ${PROJECT_AUTOMOC})
  TARGET_LINK_LIBRARIES(CollectionPlugin ${PROJECT_LIBRARIES})
  
  INSTALL(TARGETS CollectionPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
@@@ -65,5 -82,4 +82,5 @@@ INSTALL(FILES ${TEXT_RESOURCES} DESTINA
  ADD_UNIT_TESTS(
                 TestGroup.py
                 TestField.py
 +               TestGroup1799.py
  )
index 72e830852a424de3f5f87461d1b33b22f8b0e95b,80808ae884cb38cf0c8122af5d71b692910cdb3c..29f23b24e72a8bfec5daa1712c9f1b35021ed462
@@@ -13,6 -13,7 +13,7 @@@
  #include <TDF_AttributeIterator.hxx>
  #include <TDF_ChildIterator.hxx>
  #include <TDF_RelocationTable.hxx>
+ #include <TDF_DeltaOnAddition.hxx>
  #include <TopAbs_ShapeEnum.hxx>
  #include <TopoDS.hxx>
  #include <TopoDS_Shape.hxx>
@@@ -20,6 -21,7 +21,7 @@@
  #include <BRep_Tool.hxx>
  #include <TNaming_Builder.hxx>
  #include <TNaming_Iterator.hxx>
+ #include <TNaming_NamedShape.hxx>
  #include <NCollection_List.hxx>
  
  void Model_AttributeSelectionList::append(
@@@ -45,7 -47,6 +47,7 @@@
      std::shared_ptr<Model_AttributeSelection>(new Model_AttributeSelection(aNewLab));
    if (owner()) {
      aNewAttr->setObject(owner());
 +    aNewAttr->setParent(this);
    }
    aNewAttr->setID(id());
    mySize->Set(aNewTag);
@@@ -67,7 -68,6 +69,7 @@@ void Model_AttributeSelectionList::appe
      std::shared_ptr<Model_AttributeSelection>(new Model_AttributeSelection(aNewLab));
    if (owner()) {
      aNewAttr->setObject(owner());
 +    aNewAttr->setParent(this);
    }
    aNewAttr->setID(id());
    mySize->Set(aNewTag);
@@@ -274,7 -274,6 +276,7 @@@ std::shared_ptr<ModelAPI_AttributeSelec
    aNewAttr->setID(id());
    if (owner()) {
      aNewAttr->setObject(owner());
 +    aNewAttr->setParent(this);
    }
    return aNewAttr;
  }
@@@ -291,7 -290,6 +293,7 @@@ void Model_AttributeSelectionList::clea
          std::shared_ptr<Model_AttributeSelection>(new Model_AttributeSelection(aLab));
        if (owner()) {
          aNewAttr->setObject(owner());
 +        aNewAttr->setParent(this);
        }
        REMOVE_BACK_REF(aNewAttr->context());
  
index 9b1b51f6beab120b593fff8da0b242d65656bea4,7e41d32b6bd8febfc975704834fc9408e251d855..afaaf6a2cdf612ab5e281d5b3b8665bb10fab27f
@@@ -144,28 -144,24 +144,28 @@@ void SHAPERGUI::viewManagers(QStringLis
  }
  
  //******************************************************
 -void SHAPERGUI::connectToStudy(CAM_Study* theStudy)
 -{
 -  // if there are created viewer managers, we should try to create viewer
 -  // selector and initialize viewer with it. It sets interactive contect to the
 -  // proxy viewer. If study is opened, CAM application calls this method before the open()
 -  // of data model
 -  // the SHAPER data model is specific and during open(load) redisplay signals are flushed, so
 -  // we need to connect to the viewer before it. Here, it seems the most appropriate place for this
 -  // according to SALOME architecture.
 -  if (!mySelector) {
 -    ViewManagerList OCCViewManagers;
 -    application()->viewManagers(OCCViewer_Viewer::Type(), OCCViewManagers);
 -    if (OCCViewManagers.size() > 0) {
 -      mySelector = createSelector(OCCViewManagers.first());
 -    }
 -  }
 -  LightApp_Module::connectToStudy(theStudy);
 -}
 +// We can not create selector in this method because it can be called when
 +// SHAPER module is not active. Take into account that creation of our selector
 +// leads to switching OFF all other selectors
 +//void SHAPERGUI::connectToStudy(CAM_Study* theStudy)
 +//{
 +//  // if there are created viewer managers, we should try to create viewer
 +//  // selector and initialize viewer with it. It sets interactive contect to the
 +//  // proxy viewer. If study is opened, CAM application calls this method before the open()
 +//  // of data model
 +//  // the SHAPER data model is specific and during open(load) redisplay signals are flushed, so
 +//  // we need to connect to the viewer before it. Here,
 +//  // it seems the most appropriate place for this
 +//  // according to SALOME architecture.
 +//  if (!mySelector) {
 +//    ViewManagerList OCCViewManagers;
 +//    application()->viewManagers(OCCViewer_Viewer::Type(), OCCViewManagers);
 +//    if (OCCViewManagers.size() > 0) {
 +//      mySelector = createSelector(OCCViewManagers.first());
 +//    }
 +//  }
 +//  LightApp_Module::connectToStudy(theStudy);
 +//}
  
  //******************************************************
  bool SHAPERGUI::activateModule(SUIT_Study* theStudy)
        bool aFound = false;
        for (aLIt.Initialize(aList); aLIt.More(); aLIt.Next()) {
          anAISIO = aLIt.Value();
-         if (anAISIO.Access() == aAIS.Access()) {
+         if (anAISIO.get() == aAIS.get()) {
            aFound = true;
            break;
          }
@@@ -442,7 -438,7 +442,7 @@@ QAction* SHAPERGUI::addFeature(const QS
    myActionsList.append(theId);
    SUIT_Desktop* aDesk = application()->desktop();
    int aKeys = 0;
-   for (unsigned int i = 0; i < theKeys.count(); i++)
+   for (int i = 0; i < theKeys.count(); i++)
      aKeys += theKeys[i];
    QAction* aAction = createAction(aId, theTip, theIcon, theTitle, theTip, aKeys, aDesk,
                                    isCheckable);
@@@ -510,7 -506,7 +510,7 @@@ QAction* SHAPERGUI::addDesktopCommand(c
    myActionsList.append(theId);
    SUIT_Desktop* aDesk = application()->desktop();
    int aKeys = 0;
-   for (unsigned int i = 0; i < theKeys.count(); i++)
+   for (int i = 0; i < theKeys.count(); i++)
      aKeys += theKeys[i];
    QAction* aAction = createAction(aId, theTip, theIcon, theTitle, theTip, aKeys, aDesk,
                                    isCheckable);
diff --combined src/XGUI/CMakeLists.txt
index 83469a5d6a8b782ac35813005e66e8ede36231be,e68c131c8ce976c8bc5962262b6057f1c0b753b2..371e6d99d16a52261376f994f5fd85140e0bfc7c
@@@ -1,7 -1,12 +1,12 @@@
  ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
  
+ INCLUDE(UseQtExt)
  
- SET(CMAKE_AUTOMOC ON)
+ # additional include directories
+ INCLUDE_DIRECTORIES(${QT_INCLUDES})
+ # additional preprocessor / compiler flags
+ ADD_DEFINITIONS(${QT_DEFINITIONS})
  
  SET(PROJECT_HEADERS
        XGUI.h
@@@ -32,9 -37,8 +37,8 @@@
        XGUI_WorkshopListener.h
  )
  
- SET(PROJECT_AUTOMOC
-     ${CMAKE_CURRENT_BINARY_DIR}/XGUI_automoc.cpp
- )
+ # sources / moc wrappings
+ QT_WRAP_MOC(PROJECT_AUTOMOC ${PROJECT_HEADERS})
  
  SET(PROJECT_SOURCES
        XGUI_ActionsMgr.cpp
@@@ -103,9 -107,8 +107,8 @@@ ELSE(
      SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} GL)
  ENDIF()
  
- QT4_ADD_RESOURCES(PROJECT_COMPILED_RESOURCES ${PROJECT_RESOURCES})
+ QT_ADD_RESOURCES(PROJECT_COMPILED_RESOURCES ${PROJECT_RESOURCES})
  #QT5_ADD_TRANSLATION(QM_RESOURCES ${TEXT_RESOURCES})
  # QT4_CREATE_TRANSLATION(QM_RESOURCES
  #                                        ${PROJECT_SOURCES}
  #                                        ${TEXT_RESOURCES}
@@@ -129,6 -132,10 +132,10 @@@ SET(PROJECT_INCLUDE
      ${CAS_INCLUDE_DIRS}
      ${SUIT_INCLUDE})
  
+ IF(${HAVE_SALOME})
+   INCLUDE_DIRECTORIES(${SALOME_KERNEL_INCLUDE})
+ ENDIF(${HAVE_SALOME})
  IF(VInspectorAPI)
      message("VINSPECTOR is defined")
      SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} ${VInspectorAPI})
@@@ -141,7 -148,7 +148,7 @@@ IF(NOT ${HAVE_SALOME}
      SET(PROJECT_INCLUDES ${PROJECT_INCLUDES} ${APPELEMENTS_INCLUDE_DIR})
  ENDIF(NOT ${HAVE_SALOME})
  
 -IF(${DFBrowserAPI})
 +IF(DFBrowserAPI)
      message("DFBROWSER is defined")
      SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} ${DFBrowserAPI})
      SET(PROJECT_INCLUDES ${PROJECT_INCLUDES} ${DFBROWSER_INCLUDE_DIR})
@@@ -160,6 -167,7 +167,7 @@@ ADD_LIBRARY(XGUI SHARE
        ${TEXT_RESOURCES}
        ${QM_RESOURCES}
        ${PREFERENCES_XML}
+       ${PROJECT_AUTOMOC}
  )
  
  ADD_DEPENDENCIES(XGUI ModelAPI)