]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Merge branch 'master' of https://git.salome-platform.org/git/modules/gui
authorCédric Aguerre <cedric.aguerre@edf.fr>
Tue, 20 Oct 2015 15:07:51 +0000 (17:07 +0200)
committerCédric Aguerre <cedric.aguerre@edf.fr>
Tue, 20 Oct 2015 15:07:51 +0000 (17:07 +0200)
22 files changed:
CMakeLists.txt
src/CAM/CAM_Module.cxx
src/CAM/CAM_Module.h
src/LightApp/resources/LightApp_msg_fr.ts
src/LightApp/resources/LightApp_msg_ja.ts
src/OCCViewer/OCCViewer_ViewFrame.cxx
src/OCCViewer/OCCViewer_ViewFrame.h
src/OCCViewer/OCCViewer_ViewModel.cxx
src/OCCViewer/OCCViewer_ViewModel.h
src/OCCViewer/OCCViewer_ViewWindow.cxx
src/OCCViewer/OCCViewer_ViewWindow.h
src/OCCViewer/resources/OCCViewer_msg_fr.ts
src/OCCViewer/resources/OCCViewer_msg_ja.ts
src/Qtx/resources/Qtx_msg_ja.ts
src/SVTK/SVTK_Renderer.cxx
src/SVTK/resources/SVTK_msg_fr.ts
src/SVTK/resources/SVTK_msg_ja.ts
src/SalomeApp/SalomeApp_Study.cxx
src/Style/CMakeLists.txt
src/Style/resources/Style_msg_ja.ts [new file with mode: 0644]
src/VTKViewer/resources/VTKViewer_msg_fr.ts
src/VTKViewer/resources/VTKViewer_msg_ja.ts

index 9656821148da5eec6544927d66db21136b9c5f4e..df762efd0dfc0cf66eb7069b0e947f29f971e62b 100755 (executable)
@@ -30,7 +30,7 @@ CMAKE_POLICY(SET CMP0003 NEW)
 STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
 
 SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7)
-SET(${PROJECT_NAME_UC}_MINOR_VERSION 6)
+SET(${PROJECT_NAME_UC}_MINOR_VERSION 7)
 SET(${PROJECT_NAME_UC}_PATCH_VERSION 0)
 SET(${PROJECT_NAME_UC}_VERSION
   ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
@@ -147,7 +147,7 @@ IF(SALOME_USE_OCCVIEWER OR SALOME_USE_VTKVIEWER OR SALOME_USE_GLVIEWER)
 ENDIF()
 
 # Qt4
-FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui QtXml QtWebKit QtOpenGL)
+FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui QtXml QtWebKit QtOpenGL QtNetwork)
 INCLUDE(${QT_USE_FILE})
 
 # PyQt4
index d3a0ddaf156e4187b7c48dad63da1e799466bab5..5ad1dad489a8b0a86ec04dc0733b838e192dcbdb 100755 (executable)
@@ -234,11 +234,10 @@ bool CAM_Module::activateModule( SUIT_Study* /*study*/ )
 {
   // IMN 05/03/2015: we copied myActionMap for reset/unset actions accelerator keys
   // after activate/deactivate modules
-  for ( QMap<QPair<int, QAction*>, QKeySequence>::Iterator it = myActionShortcutMap.begin(); it != myActionShortcutMap.end(); ++it )
+  for ( QMap<QAction*, QKeySequence>::Iterator it = myActionShortcutMap.begin(); it != myActionShortcutMap.end(); ++it )
   {
-    myActionMap.insert( it.key().first, it.key().second );
     // Reset actions accelerator keys
-    it.key().second->setShortcut( it.value() );
+    it.key()->setShortcut( it.value() );
   }
   myActionShortcutMap.clear();
   return true;
@@ -263,9 +262,9 @@ bool CAM_Module::deactivateModule( SUIT_Study* )
   myActionShortcutMap.clear();
   for ( QMap<int, QAction*>::Iterator it = myActionMap.begin(); it != myActionMap.end(); ++it )
   {
-    myActionShortcutMap.insert( qMakePair( it.key(), it.value() ), it.value()->shortcut() );
+    myActionShortcutMap.insert( it.value(), it.value()->shortcut() );
+    it.value()->setShortcut( QKeySequence() );
   }
-  myActionMap.clear();
   return true;
 }
 
index 952f1857142b39a25ea4e5af3773eb34cf5e2908..69c5415054ca1515c21d2994c61a1b3e2a5c0ce3 100755 (executable)
@@ -143,7 +143,7 @@ protected:
   bool                   unregisterAction( QAction* );
   // IMN 05/03/2015: we copied myActionMap for reset/unset actions accelerator keys
   // after activate/deactivate modules
-  QMap<QPair<int, QAction*>, QKeySequence> myActionShortcutMap; //!< copy actions shortcut map
+  QMap<QAction*, QKeySequence> myActionShortcutMap; //!< copy actions shortcut map
 
   virtual bool           abortAllOperations();
 
index 9d293f2546190ac4d50416872136aabd3f5296a1..526ecd7d27362cce15c0e28db3b06d94943c863d 100755 (executable)
@@ -629,63 +629,63 @@ Les modifications seront appliquées à la prochaine session.</translation>
     </message>
     <message>
         <source>PREF_GROUP_STEREO</source>
-        <translation type="unfinished">Stereo render</translation>
+        <translation>Rendu stéréo</translation>
     </message>
     <message>
         <source>PREF_STEREO_TYPE</source>
-        <translation type="unfinished">Stereo type</translation>
+        <translation>Type de rendu stéréo</translation>
     </message>
     <message>
         <source>PREF_ANAGLYPH_FILTER</source>
-        <translation type="unfinished">Anaglyph filter</translation>
+        <translation>Filtre anaglyphique</translation>
     </message>
     <message>
         <source>PREF_ANAGLYPH_RED_CYAN</source>
-        <translation type="unfinished">Red-Cyan</translation>
+        <translation>Rouge-Cyan</translation>
     </message>
     <message>
         <source>PREF_ANAGLYPH_YELLOW_BLUE</source>
-        <translation type="unfinished">Yellow-Blue</translation>
+        <translation>Jaune-Bleu</translation>
     </message>
     <message>
         <source>PREF_ANAGLYPH_GREEN_MAGENTA</source>
-        <translation type="unfinished">Green-Magenta</translation>
+        <translation>Vert-Magenta</translation>
     </message>
     <message>
         <source>PREF_FOCUS_TYPE</source>
-        <translation> type="unfinished"Convergence distance type</translation>
+        <translation> type=&quot;unfinished&quot;Convergence distance type</translation>
     </message>
     <message>
         <source>PREF_FOCUS_VALUE</source>
-        <translation type="unfinished">Stereographic focus value</translation>
+        <translation>Valeur de la focalisation stéréographique</translation>
     </message>
     <message>
         <source>PREF_IOD_TYPE</source>
-        <translation type="unfinished">IOD type</translation>
+        <translation>Type de distance intraoculaire</translation>
     </message>
     <message>
         <source>PREF_IOD_VALUE</source>
-        <translation type="unfinished">Interocular distance (IOD) value</translation>
+        <translation>Valeur de la distance intraoculaire</translation>
     </message>
     <message>
         <source>PREF_ABSOLUTE</source>
-        <translation type="unfinished">Absolute</translation>
+        <translation>Absolu</translation>
     </message>
     <message>
         <source>PREF_RELATIVE</source>
-        <translation type="unfinished">Relative</translation>
+        <translation>Relatif</translation>
     </message>
     <message>
         <source>PREF_REVERSE_STEREO</source>
-        <translation type="unfinished">Reverse stereo</translation>
+        <translation>Stéréo inversée</translation>
     </message>
     <message>
         <source>PREF_ENABLE_VSYNC</source>
-        <translation type="unfinished">Enable V-Sync</translation>
+        <translation>Activer la synchronisation verticale</translation>
     </message>
     <message>
         <source>PREF_ENABLE_QUAD_BUFFER_SUPPORT</source>
-        <translation type="unfinished">Enable quad-buffer support</translation>
+        <translation>Activer le support du quad-buffer</translation>
     </message>
     <message>
         <source>PREF_LOGARITHMIC</source>
@@ -849,7 +849,7 @@ Les modifications seront appliquées à la prochaine session.</translation>
     </message>
     <message>
         <source>PREF_CLIPPING_SCALE</source>
-        <translation>Facteur d'échelle</translation>
+        <translation>Facteur d&apos;échelle</translation>
     </message>
     <message>
         <source>TOT_CLOSE</source>
@@ -950,11 +950,11 @@ Le fichier n&apos;existe pas</translation>
     </message>
     <message>
         <source>PREF_GROUP_FULL_SCREEN</source>
-        <translation type="unfinished">Full-screen</translation>
+        <translation>Plein écran</translation>
     </message>
     <message>
         <source>PREF_FULL_SCREEN_AUTO</source>
-        <translation type="unfinished">Hide object browser and viewers toolbars</translation>
+        <translation>Cacher l&apos;arbre d&apos;étude and les barres d&apos;outils des vues</translation>
     </message>
     <message>
         <source>PREF_TAB_PYEDITOR</source>
@@ -970,7 +970,7 @@ Le fichier n&apos;existe pas</translation>
     </message>
     <message>
         <source>PREF_GROUP_PY_DISPLAY</source>
-        <translation>Paramètres d'affichage</translation>
+        <translation>Paramètres d&apos;affichage</translation>
     </message>
     <message>
         <source>PREF_PY_CURRLINE_HIGHLIGHT</source>
@@ -994,11 +994,11 @@ Le fichier n&apos;existe pas</translation>
     </message>
     <message>
         <source>PREF_PY_TAB_WHITESPACES</source>
-        <translation>Affiche les guides d'indentation</translation>
+        <translation>Affiche les guides d&apos;indentation</translation>
     </message>
     <message>
         <source>PREF_PY_TAB_SIZE</source>
-        <translation>Largeur d'intentation:</translation>
+        <translation>Largeur d&apos;intentation:</translation>
     </message>
     <message>
         <source>PREF_GROUP_VERT_EDGE</source>
@@ -1123,7 +1123,7 @@ Le fichier n&apos;existe pas</translation>
     </message>
     <message>
         <source>PREF_NEED_RESTART</source>
-        <translation type="unfinished">Some changes will take effect only after application restart</translation>
+        <translation>Des changements prendront effets seulement après un redémarrage de l&apos;application</translation>
     </message>
 </context>
 <context>
index 954a371ce4faede40105f3310557a5cec08dc850..29a70c646d8dd8b8e4957b2eb89a2504175c4285 100644 (file)
@@ -629,63 +629,63 @@ CEA/DEN, CEDRAT, EDF R&amp;D, LEG, PRINCIPIA R&amp;D, BUREAU VERITAS</translatio
     </message>
     <message>
       <source>PREF_GROUP_STEREO</source>
-      <translation type="unfinished">Stereo render</translation>
+      <translation>ステレオレンダリング</translation>
     </message>
     <message>
       <source>PREF_STEREO_TYPE</source>
-      <translation type="unfinished">Stereo type</translation>
+      <translation>ステレオタイプ</translation>
     </message>
     <message>
       <source>PREF_ANAGLYPH_FILTER</source>
-      <translation type="unfinished">Anaglyph filter</translation>
+      <translation>Anaglyph filter</translation>
     </message>
     <message>
       <source>PREF_ANAGLYPH_RED_CYAN</source>
-      <translation type="unfinished">Red-Cyan</translation>
+      <translation>赤-シアン投影</translation>
     </message>
     <message>
       <source>PREF_ANAGLYPH_YELLOW_BLUE</source>
-      <translation type="unfinished">Yellow-Blue</translation>
+      <translation>黄-青投影</translation>
     </message>
     <message>
       <source>PREF_ANAGLYPH_GREEN_MAGENTA</source>
-      <translation type="unfinished">Green-Magenta</translation>
+      <translation>緑-マゼンタ投影</translation>
     </message>
     <message>
       <source>PREF_FOCUS_TYPE</source>
-      <translation> type="unfinished"Convergence distance type</translation>
+      <translation>一致距離型</translation>
     </message>
     <message>
       <source>PREF_FOCUS_VALUE</source>
-      <translation type="unfinished">Stereographic focus value</translation>
+      <translation>立体画法焦点値</translation>
     </message>
     <message>
       <source>PREF_IOD_TYPE</source>
-      <translation type="unfinished">IOD type</translation>
+      <translation>眼間距離(IOD)型</translation>
     </message>
     <message>
       <source>PREF_IOD_VALUE</source>
-      <translation type="unfinished">Interocular distance (IOD) value</translation>
+      <translation>眼間距離(IOD)値</translation>
     </message>
     <message>
       <source>PREF_ABSOLUTE</source>
-      <translation type="unfinished">Absolute</translation>
+      <translation>絶対</translation>
     </message>
     <message>
       <source>PREF_RELATIVE</source>
-      <translation type="unfinished">Relative</translation>
+      <translation>早退</translation>
     </message>
     <message>
       <source>PREF_REVERSE_STEREO</source>
-      <translation type="unfinished">Reverse stereo</translation>
+      <translation>Reverse stereo</translation>
     </message>
     <message>
       <source>PREF_ENABLE_VSYNC</source>
-      <translation type="unfinished">Enable V-Sync</translation>
+      <translation>V-Syncを有効</translation>
     </message>
     <message>
       <source>PREF_ENABLE_QUAD_BUFFER_SUPPORT</source>
-      <translation type="unfinished">Enable quad-buffer support</translation>
+      <translation>quad-buffer サポートを有効</translation>
     </message>
     <message>
       <source>PREF_LOGARITHMIC</source>
@@ -949,11 +949,11 @@ CEA/DEN, CEDRAT, EDF R&amp;D, LEG, PRINCIPIA R&amp;D, BUREAU VERITAS</translatio
     </message>
     <message>
       <source>PREF_GROUP_FULL_SCREEN</source>
-      <translation type="unfinished">Full-screen</translation>
+      <translation>全画面表示</translation>
     </message>
     <message>
       <source>PREF_FULL_SCREEN_AUTO</source>
-      <translation type="unfinished">Hide object browser and viewers toolbars</translation>
+      <translation>オブジェクトブラウザと表示ツールバーを隠す</translation>
     </message>
     <message>
       <source>PREF_TAB_PYEDITOR</source>
@@ -1121,7 +1121,7 @@ CEA/DEN, CEDRAT, EDF R&amp;D, LEG, PRINCIPIA R&amp;D, BUREAU VERITAS</translatio
     </message>
     <message>
       <source>PREF_NEED_RESTART</source>
-      <translation type="unfinished">Some changes will take effect only after application restart</translation>
+      <translation>幾つかの変更はアプリケーションを再起動後に有効になります</translation>
     </message>
   </context>
   <context>
index 70e253b63a624abf80814b44a63079ea943c6da7..e4c3ec9047d76d5e10570266e01cc3908f7b5b6e 100644 (file)
@@ -708,3 +708,12 @@ void OCCViewer_ViewFrame::enablePreselection( bool isEnabled )
     aView->enablePreselection(isEnabled); 
   }
 }
+
+bool OCCViewer_ViewFrame::enableDrawMode( bool on )
+{
+  bool prev = false;
+  foreach (OCCViewer_ViewWindow* aView, myViews) {
+    prev = prev || aView->enableDrawMode( on ); 
+  }
+  return prev;
+}
index 8c04813980faf52b080c59ac2d4bfa7495dd8984..e7bb37726c5303a5a0261baec16c0900620c490a 100644 (file)
@@ -107,6 +107,8 @@ public:
   virtual bool isPreselectionEnabled() const { return getView(MAIN_VIEW)->isPreselectionEnabled(); }
   virtual void enablePreselection( bool );
 
+  virtual bool enableDrawMode( bool );
+
   virtual void setViewManager( SUIT_ViewManager* );
 
   virtual bool eventFilter(QObject* watched, QEvent* e) { return SUIT_ViewWindow::eventFilter(watched, e); }
index 1b2f96cbed45bdae5f0f0f4747e574d926857581..282cc5721933e52ccead81b2d65fc2e56e55b4e9 100755 (executable)
@@ -1544,3 +1544,22 @@ void OCCViewer_Viewer::setClippingDlg(OCCViewer_ClippingDlg* theDlg) {
     myClippingDlg = theDlg;
   }
 }
+
+
+bool OCCViewer_Viewer::enableDrawMode( bool on )
+{
+  //!! To be done for view windows
+  if ( !myViewManager )
+    return false;
+
+  bool prev = false;
+  QVector<SUIT_ViewWindow*> wins = myViewManager->getViews();
+  for ( int i = 0; i < (int)wins.count(); i++ )
+  {
+    OCCViewer_ViewWindow* win = ::qobject_cast<OCCViewer_ViewWindow*>( wins.at( i ) );
+    if ( win ) {
+      prev = prev || win->enableDrawMode( on ); 
+    }
+  }
+  return prev;
+}
index 0115104bfdb1a2666d6ca7aefe215b418ac82952..a8eba563e43e1f423cc71ca321830cfd53a96c2c 100755 (executable)
@@ -179,6 +179,8 @@ public:
   void                            enableMultiselection(bool isEnable);
   bool                            isMultiSelectionEnabled() const { return myMultiSelectionEnabled; }
 
+  bool                            enableDrawMode( bool on );
+
   void                            setClippingColor( const QColor& );
   QColor                          clippingColor() const;
 
index de19ce9816c0b47e46adfd42ea260261d1b6a426..a0e96792bba525452df09cffa38363629dd3dc4c 100755 (executable)
@@ -243,6 +243,7 @@ OCCViewer_ViewWindow::OCCViewer_ViewWindow( SUIT_Desktop*     theDesktop,
   myModel = theModel;
   myRestoreFlag = 0;
   myEnableDrawMode = false;
+  myDrawRectEnabled = true;
   myDrawRect=false;
   updateEnabledDrawMode();
   myScalingDlg = 0;
@@ -420,13 +421,25 @@ bool OCCViewer_ViewWindow::eventFilter( QObject* watched, QEvent* e )
   return SUIT_ViewWindow::eventFilter(watched, e);
 }
 
+/*!
+  \brief Enable / disable draw rect (rubber band) mode
+*/
+bool OCCViewer_ViewWindow::enableDrawMode( bool on )
+{
+  bool prev = myDrawRectEnabled;
+  myDrawRectEnabled = on;
+  updateEnabledDrawMode();
+  return prev;
+}
+
 /*!
   \brief Update state of enable draw mode state.
 */
 void OCCViewer_ViewWindow::updateEnabledDrawMode()
 {
+  myEnableDrawMode = myDrawRectEnabled;
   if ( myModel )
-    myEnableDrawMode = myModel->isSelectionEnabled() && myModel->isMultiSelectionEnabled();
+    myEnableDrawMode = myEnableDrawMode && myModel->isSelectionEnabled() && myModel->isMultiSelectionEnabled();
 }
 
 /*!
@@ -674,9 +687,8 @@ bool OCCViewer_ViewWindow::computeGravityCenter( double& theX, double& theY, dou
 
   for( ; aStructureIt.More(); aStructureIt.Next() ) {
     const Handle(Graphic3d_Structure)& aStructure = aStructureIt.Key();
-    if ( aStructure->IsEmpty() ) {
+    if ( aStructure->IsEmpty() || !aStructure->IsVisible() || aStructure->CStructure()->IsForHighlight )
       continue;
-    }
 
 #if OCC_VERSION_LARGE > 0x06070100
     Bnd_Box aBox = aStructure->MinMaxValues();
index dff660d7233df0ba2aa3ab9bc365aa9186917b33..51f6b92b06e636043d5abfdaf4adbe66a7dd494b 100755 (executable)
@@ -186,6 +186,8 @@ public:
   
   virtual void initLayout();
 
+  virtual bool enableDrawMode( bool );
+
   virtual void updateEnabledDrawMode();
 
   virtual void setCuttingPlane( bool on, const double x = 0 , const double y = 0 , const double z = 0,
@@ -396,6 +398,7 @@ protected:
   bool                  myCursorIsHand;                 
   bool                  myDrawRect;           // set when a rect is used for selection or magnify 
   bool                  myEnableDrawMode;
+  bool                  myDrawRectEnabled;
   bool                  myPaintersRedrawing;  // set to draw with external painters  
   bool                  IsSketcherStyle;
   bool                  myIsKeyFree;
index df2e06769ed87ff7b6520875ca9a1a792c010dd1..e7b680e0b216a06484d066d7d97c0ada228de4c8 100755 (executable)
@@ -4,7 +4,6 @@
 <context>
     <name>@default</name>
     <message>
-        <!-- used in GEOM module: to be moved there? -->
         <source>OCC_TEXTURE_FILES</source>
         <translatorcomment>Update to new supported format (see OCCT Image_AlienPixMap documentation)</translatorcomment>
         <translation>Fichiers images (*.jpeg *jpg *.jpe *.png *.bmp *.gif *.ppm *.tif *.tiff* .tga *.exr)</translation>
     </message>
     <message>
         <source>MNU_FITSELECTION</source>
-        <translation type="unfinished">Fit Selection</translation>
+        <translation>Adapter la sélection</translation>
     </message>
     <message>
         <source>DSC_FITSELECTION</source>
-        <translation type="unfinished">Fit all selected objects inside the view frame</translation>
+        <translation>Adapter tous les objets sélectionnés dans la vue</translation>
     </message>
     <message>
         <source>MNU_PRESETS_VIEW</source>
         <translation>Opérations sur la vue XZ</translation>
     </message>
     <message>
-        <source>>LBL_YZTOOLBAR_LABEL</source>
+        <source>LBL_YZTOOLBAR_LABEL</source>
         <translation>Opérations sur la vue YZ</translation>
     </message>
     <message>
     </message>
     <message>
         <source>MNU_STEREO_MODE</source>
-        <translation type="unfinished">Stereo projection</translation>
+        <translation>Mode Stéréo</translation>
     </message>
     <message>
         <source>DSC_STEREO_MODE</source>
-        <translation type="unfinished">Set the stereo projection type</translation>
+        <translation>Choisir le type de projection stéréo</translation>
     </message>
     <message>
         <source>WRN_SUPPORT_QUAD_BUFFER</source>
-        <translation type="unfinished">Graphic driver not support quad-buffer</translation>
+        <translation>Le pilote graphique ne supporte pas le quad-buffer</translation>
     </message>
 </context>
 <context>
     </message>
     <message>
         <source>ST_QUADBUFFER</source>
-        <translation type="unfinished">Shutter glasses (OpenGL quad-buffer)</translation>
+        <translation>Lunette à obturation (OpenGL quad-buffer)</translation>
     </message>
     <message>
         <source>ST_ANAGLYPH</source>
-        <translation type="unfinished">Anaglyph</translation>
+        <translation>Anaglyphe</translation>
     </message>
     <message>
         <source>ST_ROWINTERLACED</source>
-        <translation type="unfinished">Row-interlaced</translation>
+        <translation>Entrelacement horizontal</translation>
     </message>
     <message>
         <source>ST_COLUMNINTERLACED</source>
-        <translation type="unfinished">Column-interlaced</translation>
+        <translation>Entrelacement vertical</translation>
     </message>
     <message>
         <source>ST_CHESSBOARD</source>
-        <translation type="unfinished">Chess-board stereo for DLP TVs</translation>
+        <translation>Damier pour téléviseurs polarisés</translation>
     </message>
     <message>
         <source>ST_SIDEBYSIDE</source>
-        <translation type="unfinished">Horizontal-anamorphic (side-by-side)</translation>
+        <translation>Horizontal anamorphosé (côte-à-côte)</translation>
     </message>
     <message>
         <source>ST_OVERUNDER</source>
-        <translation type="unfinished">Vertical-anamorphic (Half OverUnder)</translation>
+        <translation>Vertical anamorphosé (Half OverUnder)</translation>
     </message>
 </context>
 <context>
index c05ea384d9e68e86657b69aec033db441ca83a8a..a98424954c23b6fd65b4a3bf3c12dbfba08b1d70 100644 (file)
       <translation>彼の党をボックスで選択を表示するには、ステージのサイズを変更します。</translation>
     </message>
     <message>
-        <source>MNU_FITSELECTION</source>
-        <translation type="unfinished">Fit Selection</translation>
+      <source>MNU_FITSELECTION</source>
+      <translation>選択をフィット</translation>
     </message>
     <message>
-        <source>DSC_FITSELECTION</source>
-        <translation type="unfinished">Fit all selected objects inside the view frame</translation>
+      <source>DSC_FITSELECTION</source>
+      <translation>ビューフレームの内側にある選択されたすべてのオブジェクトをフィット</translation>
     </message>
     <message>
       <source>MNU_PRESETS_VIEW</source>
     </message>
     <message>
       <source>MNU_ORTHOGRAPHIC_MODE</source>
-      <translation>直交モード</translation>
+      <translation>正射影投影</translation>
     </message>
     <message>
       <source>DSC_ORTHOGRAPHIC_MODE</source>
-      <translation>直交射影を選択します。</translation>
+      <translation>正射影投影タイプを設定</translation>
     </message>
     <message>
       <source>MNU_PERSPECTIVE_MODE</source>
-      <translation>é\81 è¿\91æ³\95</translation>
+      <translation>é\81 è¿\91æ\8a\95å½±</translation>
     </message>
     <message>
       <source>DSC_PERSPECTIVE_MODE</source>
-      <translation>é\80\8fè¦\96æ\8a\95å½±ã\82\92é\81¸æ\8a\9eã\81\97ã\81¾ã\81\99ã\80\82</translation>
+      <translation>é\81 è¿\91æ\8a\95å½±ã\82¿ã\82¤ã\83\97ã\82\92設å®\9a</translation>
     </message>
     <message>
       <source>MNU_STEREO_MODE</source>
-      <translation type="unfinished">Stereo projection</translation>
+      <translation>ステレオ投影</translation>
     </message>
     <message>
       <source>DSC_STEREO_MODE</source>
-      <translation type="unfinished">Set the stereo projection type</translation>
+      <translation>ステレオ投影タイプを設定</translation>
     </message>
     <message>
       <source>WRN_SUPPORT_QUAD_BUFFER</source>
-      <translation type="unfinished">Graphic driver not support quad-buffer</translation>
+      <translation>グラフィックドライバはquad-bufferをサポートしていません</translation>
     </message>
   </context>
   <context>
     </message>
     <message>
       <source>ST_QUADBUFFER</source>
-      <translation type="unfinished">Shutter glasses (OpenGL quad-buffer)</translation>
+      <translation>3D眼鏡 (OpenGL quad-buffer)</translation>
     </message>
     <message>
       <source>ST_ANAGLYPH</source>
-      <translation type="unfinished">Anaglyph</translation>
+      <translation>Anaglyph</translation>
     </message>
     <message>
       <source>ST_ROWINTERLACED</source>
-      <translation type="unfinished">Row-interlaced</translation>
+      <translation>行インターレース</translation>
     </message>
     <message>
       <source>ST_COLUMNINTERLACED</source>
-      <translation type="unfinished">Column-interlaced</translation>
+      <translation>列インターレース</translation>
     </message>
     <message>
       <source>ST_CHESSBOARD</source>
-      <translation type="unfinished">Chess-board stereo for DLP TVs</translation>
+      <translation>Chess-board stereo for DLP TVs</translation>
     </message>
     <message>
       <source>ST_SIDEBYSIDE</source>
-      <translation type="unfinished">Horizontal-anamorphic (side-by-side)</translation>
+      <translation>水平アナモルフィック(横に並列)</translation>
     </message>
     <message>
       <source>ST_OVERUNDER</source>
-      <translation type="unfinished">Vertical-anamorphic (Half OverUnder)</translation>
+      <translation>垂直アナモルフィック(縦に並列)</translation>
     </message>
   </context>
   <context>
index 54e94cf4691505b539144f13bd4869e66d5cacad..173c8128288fe8d0517d008310985163c6a522a8 100644 (file)
     </message>
     <message>
       <source>Open in</source>
-      <translation type="unfinished">次のアプリケーションで開く:</translation>
+      <translation>次のアプリケーションで開く:</translation>
     </message>
     <message>
       <source>Save file</source>
     </message>
     <message>
       <source>Use this program for all files of this type</source>
-      <translation type="unfinished">このタイプのすべてのファイルでこのプログラムを使用</translation>
+      <translation>このタイプのすべてのファイルでこのプログラムを使用</translation>
     </message>
     <message>
       <source>&amp;OK</source>
     </message>
     <message>
       <source>You are opening the file</source>
-      <translation type="unfinished">ファイルを開いています。</translation>
+      <translation>ファイルを開いています。</translation>
     </message>
     <message>
       <source>Please choose the action to be done</source>
-      <translation type="unfinished">実行するアクションを選択してください。</translation>
+      <translation>実行するアクションを選択してください。</translation>
     </message>
     <message>
       <source>Choose program</source>
-      <translation type="unfinished">プログラムの選択</translation>
+      <translation>プログラムの選択</translation>
     </message>
     <message>
       <source>Go Back</source>
     </message>
     <message>
       <source>Help Browser</source>
-      <translation type="unfinished">ヘルプブラウザ</translation>
+      <translation>ヘルプブラウザ</translation>
     </message>
     <message>
       <source>Error</source>
     </message>
     <message>
       <source>%1 has been developed using %2</source>
-      <translation type="unfinished">%1 は %2 を使用して開発されています。</translation>
+      <translation>%1 は %2 を使用して開発されています。</translation>
     </message>
   </context>
 </TS>
index 6a6420e6fc88755712f20b4faab34970e20b00ab..89c645acabdb7e58297f6230508859ca3191ec01 100644 (file)
@@ -708,10 +708,15 @@ void SVTK_Renderer::onFitSelection()
   vtkActorCollection* aCollection = aCopy.GetActors();
   aCollection->InitTraversal();
   while ( vtkActor* aProp = aCollection->GetNextActor() )
-    if ( SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( aProp ) )
-      if ( mySelector->IsSelected( anActor ) )
+    if ( SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( aProp ) ) {
+      const Handle(SALOME_InteractiveObject)& io = anActor->getIO();
+      if ( !io.IsNull() && mySelector->IsSelected( io ) )
         aSelectedCollection->AddItem( aProp );
-
+    }
+  
+  if( aSelectedCollection->GetNumberOfItems() == 0 )
+    return; // if collection is empty
+  
   double bounds[6];
   ::ComputeBounds( aSelectedCollection, bounds );
 
index efd27894c3c866a0c85f3eae8928bd6ccf0d92a2..6e75ff4edf2fc1c718d404a5c3bfedc386e9a9a3 100755 (executable)
     </message>
     <message>
         <source>MNU_FITSELECTION</source>
-        <translation type="unfinished">Fit Selection</translation>
+        <translation>Adapter la sélection</translation>
     </message>
     <message>
         <source>DSC_FITSELECTION</source>
-        <translation type="unfinished">Fit all selected objects inside the view frame</translation>
+        <translation>Adapter tous les objets sélectionnés dans la vue</translation>
     </message>
     <message>
         <source>DSC_BOTTOM_VIEW</source>
     </message>
     <message>
         <source>MNU_SVTK_STEREO_MODE</source>
-        <translation type="unfinished">Stereo Mode</translation>
+        <translation>Mode stéréo</translation>
     </message>
     <message>
         <source>DSC_SVTK_STEREO_MODE</source>
-        <translation type="unfinished">Set the stereo projection type</translation>
+        <translation>Choisir le type de projection stéréo</translation>
     </message>
     <message>
         <source>DSC_SVTK_STYLE_SWITCH</source>
     </message>
     <message>
         <source>WRN_SUPPORT_QUAD_BUFFER</source>
-        <translation type="unfinished">Graphic driver not support quad-buffer</translation>
-    </message> 
+        <translation>Les pilotes graphiques ne supportent pas le quad-buffer</translation>
+    </message>
 </context>
 <context>
     <name>SVTK_FontWidget</name>
@@ -677,39 +677,39 @@ Veuillez consulter la documentation.</translation>
     </message>
     <message>
         <source>ST_CRYSTALEYES</source>
-        <translation type="unfinished">Crystal Eyes</translation>
+        <translation>Crystal Eyes</translation>
     </message>
     <message>
         <source>ST_REDBLUE</source>
-        <translation type="unfinished">Red-Blue</translation>
+        <translation>Red-Blue</translation>
     </message>
     <message>
         <source>ST_INTERLACED</source>
-        <translation type="unfinished">Interlaced</translation>
+        <translation>Entrelacé</translation>
     </message>
     <message>
         <source>ST_LEFT</source>
-        <translation type="unfinished">Left</translation>
+        <translation>Gauche</translation>
     </message>
     <message>
         <source>ST_RIGHT</source>
-        <translation type="unfinished">Right</translation>
+        <translation>Droite</translation>
     </message>
     <message>
         <source>ST_DRESDEN</source>
-        <translation type="unfinished">Dresden</translation>
+        <translation>Dresden</translation>
     </message>
     <message>
         <source>ST_ANAGLYPH</source>
-        <translation type="unfinished">Anaglyph</translation>
+        <translation>Anaglyphe</translation>
     </message>
     <message>
         <source>ST_CHECKERBOARD</source>
-        <translation type="unfinished">Checkerboard</translation>
+        <translation>Damier</translation>
     </message>
     <message>
         <source>ST_SPLITVIEWPORTHORIZONTAL</source>
-        <translation type="unfinished">Split View Port Horizontal</translation>
+        <translation>Scinder la fenêtre d&apos;affichage horizontalement</translation>
     </message>
 </context>
 </TS>
index a9cc240cb0c8b516a85cb4871909c2223748bd37..78fa8bf36bd7be70da33067e105488c731aad83b 100644 (file)
       <translation>選択領域の表示</translation>
     </message>
     <message>
-        <source>MNU_FITSELECTION</source>
-        <translation type="unfinished">Fit Selection</translation>
+      <source>MNU_FITSELECTION</source>
+      <translation>選択をフィット</translation>
     </message>
     <message>
-        <source>DSC_FITSELECTION</source>
-        <translation type="unfinished">Fit all selected objects inside the view frame</translation>
+      <source>DSC_FITSELECTION</source>
+      <translation>ビューフレームの内側にある選択されたすべてのオブジェクトをフィット</translation>
     </message>
     <message>
       <source>DSC_BOTTOM_VIEW</source>
     </message>
     <message>
       <source>MNU_SVTK_STEREO_MODE</source>
-      <translation type="unfinished">Stereo Mode</translation>
+      <translation>ステレオモード</translation>
     </message>
     <message>
       <source>DSC_SVTK_STEREO_MODE</source>
-      <translation type="unfinished">Set the stereo projection type</translation>
+      <translation>ステレオ投影タイプを設定</translation>
     </message>
     <message>
       <source>DSC_SVTK_STYLE_SWITCH</source>
     </message>
     <message>
       <source>WRN_SUPPORT_QUAD_BUFFER</source>
-      <translation type="unfinished">Graphic driver not support quad-buffer</translation>
-    </message> 
+      <translation>グラフィックドライバは quad-buffer をサポートしていません</translation>
+    </message>
   </context>
   <context>
     <name>SVTK_FontWidget</name>
     </message>
     <message>
       <source>ST_CRYSTALEYES</source>
-      <translation type="unfinished">Crystal Eyes</translation>
+      <translation>水晶の目</translation>
     </message>
     <message>
       <source>ST_REDBLUE</source>
-      <translation type="unfinished">Red-Blue</translation>
+      <translation>赤-青投影</translation>
     </message>
     <message>
       <source>ST_INTERLACED</source>
-      <translation type="unfinished">Interlaced</translation>
+      <translation>インターレース</translation>
     </message>
     <message>
       <source>ST_LEFT</source>
-      <translation type="unfinished">Left</translation>
+      <translation>左</translation>
     </message>
     <message>
       <source>ST_RIGHT</source>
-      <translation type="unfinished">Right</translation>
+      <translation>右</translation>
     </message>
     <message>
       <source>ST_DRESDEN</source>
-      <translation type="unfinished">Dresden</translation>
+      <translation>Dresden</translation>
     </message>
     <message>
       <source>ST_ANAGLYPH</source>
-      <translation type="unfinished">Anaglyph</translation>
+      <translation>Anaglyph</translation>
     </message>
     <message>
       <source>ST_CHECKERBOARD</source>
-      <translation type="unfinished">Checkerboard</translation>
+      <translation>Checkerboard</translation>
     </message>
     <message>
       <source>ST_SPLITVIEWPORTHORIZONTAL</source>
-      <translation type="unfinished">Split View Port Horizontal</translation>
+      <translation>ビューポートを水平に分割</translation>
     </message>
   </context>
 </TS>
index 7575c3cadf0193a9dbbc82cbd2e24d1a2e2255e8..3211ad20a8938db4a3ebd1a140f714b70a0aad0e 100644 (file)
@@ -255,12 +255,13 @@ public:
               std::string::size_type debut = 0;
               std::string::size_type fin;
               SalomeApp_DataObject* anObj = dynamic_cast<SalomeApp_DataObject*>( myStudy->root() );
-              while ( 1 ) {
+              while ( anObj ) {
                 fin = obj_id.find_first_of( ':', debut );
                 if ( fin == std::string::npos ) {
                   //last id
                   anObj = dynamic_cast<SalomeApp_DataObject*>(anObj->childObject(atoi(obj_id.substr(debut).c_str())-1));
-                  entry2SuitObject[parent_id] = anObj;
+                  if ( anObj )
+                    entry2SuitObject[parent_id] = anObj;
                   break;
                 }
                 anID = root_id + obj_id.substr( 0, fin );
@@ -268,13 +269,15 @@ public:
                 if ( it2 == entry2SuitObject.end() ) {
                   //the ID is not known in entry2SuitObject
                   anObj = dynamic_cast<SalomeApp_DataObject*>(anObj->childObject(atoi(obj_id.substr(debut, fin-debut).c_str())-1));
-                  entry2SuitObject[anID] = anObj;
+                  if ( anObj )
+                    entry2SuitObject[anID] = anObj;
                 }
                 else
                   anObj = it2->second;
                 debut = fin+1;
               }
-              anObj->insertChildAtTag( suit_obj, tag );
+              if ( anObj )
+                anObj->insertChildAtTag( suit_obj, tag );
             }
           }
           entry2SuitObject[theID] = suit_obj;
index 6cfec99dad0b1c94bef10dfbf04e380b23faa94b..9d48f307baee5c4cf230c158daead4527988e306 100755 (executable)
@@ -63,7 +63,8 @@ SET(SalomeStyle_HEADERS ${_moc_HEADERS} ${_other_HEADERS})
 SET(_rcc_RESOURCES Style.qrc)
 
 # resource files / to be processed by lrelease
-SET(_ts_RESOURCES resources/Style_msg_fr.ts)
+SET(_ts_RESOURCES resources/Style_msg_fr.ts
+                  resources/Style_msg_ja.ts)
 
 # resource files / other (static)
 SET(_other_RESOURCES resources/SalomeStyle.xml)
diff --git a/src/Style/resources/Style_msg_ja.ts b/src/Style/resources/Style_msg_ja.ts
new file mode 100644 (file)
index 0000000..ff61359
--- /dev/null
@@ -0,0 +1,287 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ja" sourcelanguage="en">
+  <context>
+    <name>Style_PrefDlg</name>
+    <message>
+      <source>Quick</source>
+      <translation>クイック</translation>
+    </message>
+    <message>
+      <source>Auto</source>
+      <translation>自動</translation>
+    </message>
+    <message>
+      <source>Base colors</source>
+      <translation>基本色</translation>
+    </message>
+    <message>
+      <source>Additional colors</source>
+      <translation>追加の色</translation>
+    </message>
+    <message>
+      <source>Active</source>
+      <translation>アクティブ</translation>
+    </message>
+    <message>
+      <source>Inactive</source>
+      <translation>非アクティブ</translation>
+    </message>
+    <message>
+      <source>Disabled</source>
+      <translation>無効化</translation>
+    </message>
+    <message>
+      <source>Window text</source>
+      <translation>ウィンドウのテキスト</translation>
+    </message>
+    <message>
+      <source>Button</source>
+      <translation>ボタン</translation>
+    </message>
+    <message>
+      <source>Light</source>
+      <translation>光</translation>
+    </message>
+    <message>
+      <source>Midlight</source>
+      <translation>半分の光</translation>
+    </message>
+    <message>
+      <source>Dark</source>
+      <translation>暗い</translation>
+    </message>
+    <message>
+      <source>Mid</source>
+      <translation>中間</translation>
+    </message>
+    <message>
+      <source>Text</source>
+      <translation>テキスト</translation>
+    </message>
+    <message>
+      <source>Bright text</source>
+      <translation>明るいテキスト</translation>
+    </message>
+    <message>
+      <source>Button text</source>
+      <translation>ボタンのテキスト</translation>
+    </message>
+    <message>
+      <source>Base</source>
+      <translation>ベース</translation>
+    </message>
+    <message>
+      <source>Window</source>
+      <translation>ウィンドウ</translation>
+    </message>
+    <message>
+      <source>Shadow</source>
+      <translation>影</translation>
+    </message>
+    <message>
+      <source>Highlight</source>
+      <translation>ハイライト</translation>
+    </message>
+    <message>
+      <source>Highlighted text</source>
+      <translation>強調表示されたテキスト</translation>
+    </message>
+    <message>
+      <source>Link</source>
+      <translation>リンク</translation>
+    </message>
+    <message>
+      <source>Visited link</source>
+      <translation>訪問済みリンク</translation>
+    </message>
+    <message>
+      <source>Alternate base</source>
+      <translation>代替の基本</translation>
+    </message>
+    <message>
+      <source>Tooltip base</source>
+      <translation>ツールチップの基本</translation>
+    </message>
+    <message>
+      <source>Tooltip text</source>
+      <translation>ツールチップのテキスト</translation>
+    </message>
+    <message>
+      <source>Border top</source>
+      <translation>上枠線</translation>
+    </message>
+    <message>
+      <source>Border bottom</source>
+      <translation>下枠線</translation>
+    </message>
+    <message>
+      <source>Tab border top</source>
+      <translation>タブの上枠線</translation>
+    </message>
+    <message>
+      <source>Tab border bottom</source>
+      <translation>タブの下枠線</translation>
+    </message>
+    <message>
+      <source>Field light</source>
+      <translation>フィールドの明るさ</translation>
+    </message>
+    <message>
+      <source>Field dark</source>
+      <translation>フィールドの暗さ</translation>
+    </message>
+    <message>
+      <source>Slider</source>
+      <translation>スライダー</translation>
+    </message>
+    <message>
+      <source>Lines</source>
+      <translation>ライン</translation>
+    </message>
+    <message>
+      <source>Widget center</source>
+      <translation>ウィジェットセンター</translation>
+    </message>
+    <message>
+      <source>Widget border</source>
+      <translation>ウィジェット境界</translation>
+    </message>
+    <message>
+      <source>Header</source>
+      <translation>ヘッダ</translation>
+    </message>
+    <message>
+      <source>Progress bar</source>
+      <translation>プログレスバー</translation>
+    </message>
+    <message>
+      <source>Pointer</source>
+      <translation>ポインター</translation>
+    </message>
+    <message>
+      <source>Checked</source>
+      <translation>チェック</translation>
+    </message>
+    <message>
+      <source>Table grid</source>
+      <translation>テーブル グリッド</translation>
+    </message>
+    <message>
+      <source>SALOME style preferences</source>
+      <translation>SALOMEのスタイル設定</translation>
+    </message>
+    <message>
+      <source>Enable SALOME Style</source>
+      <translation>SALOMEのスタイル有効化</translation>
+    </message>
+    <message>
+      <source>Font</source>
+      <translation>フォント</translation>
+    </message>
+    <message>
+      <source>Type</source>
+      <translation>タイプ</translation>
+    </message>
+    <message>
+      <source>None</source>
+      <translation>なし</translation>
+    </message>
+    <message>
+      <source>Horizontal</source>
+      <translation>水平方向</translation>
+    </message>
+    <message>
+      <source>Inclined</source>
+      <translation>傾斜</translation>
+    </message>
+    <message>
+      <source>Transparency</source>
+      <translation>透明度</translation>
+    </message>
+    <message>
+      <source>Widgets rounding</source>
+      <translation>ウィジェットの丸め</translation>
+    </message>
+    <message>
+      <source>Buttons</source>
+      <translation>ボタン</translation>
+    </message>
+    <message>
+      <source>Edit boxes</source>
+      <translation>編集ボックス</translation>
+    </message>
+    <message>
+      <source>Frames</source>
+      <translation>フレーム</translation>
+    </message>
+    <message>
+      <source>Sliders</source>
+      <translation>スライダー</translation>
+    </message>
+    <message>
+      <source>Anti-aliased borders</source>
+      <translation>アンチ エイリアスの境界線</translation>
+    </message>
+    <message>
+      <source>Handle</source>
+      <translation>ハンドル</translation>
+    </message>
+    <message>
+      <source>Horizontal spacing</source>
+      <translation>水平方向の間隔</translation>
+    </message>
+    <message>
+      <source>Vertical spacing</source>
+      <translation>垂直方向の間隔</translation>
+    </message>
+    <message>
+      <source>Splitter handle size</source>
+      <translation>スプリッターのハンドル サイズ</translation>
+    </message>
+    <message>
+      <source>Slider handle size</source>
+      <translation>スライダーのハンドル サイズ</translation>
+    </message>
+    <message>
+      <source>Widget effect</source>
+      <translation>ウィジェットの効果</translation>
+    </message>
+    <message>
+      <source>Highlight widgets</source>
+      <translation>強調表示ウィジェット</translation>
+    </message>
+    <message>
+      <source>Auto raise widgets</source>
+      <translation>自動表示ウィジェット</translation>
+    </message>
+    <message>
+      <source>Colors</source>
+      <translation>色</translation>
+    </message>
+    <message>
+      <source>Properties</source>
+      <translation>属性</translation>
+    </message>
+    <message>
+      <source>[ Current ]</source>
+      <translation>[現在]</translation>
+    </message>
+    <message>
+      <source>[ Default ]</source>
+      <translation>[既定値]</translation>
+    </message>
+    <message>
+      <source>Delete user theme</source>
+      <translation>ユーザテーマの削除</translation>
+    </message>
+    <message>
+      <source>Remove theme %1?</source>
+      <translation>テーマ %1 を削除しますか?</translation>
+    </message>
+    <message>
+      <source>Custom schema</source>
+      <translation>カスタム スキーマ</translation>
+    </message>
+  </context>
+</TS>
index 1c000abbb1919e5c81b8521d1cc748f2cd7d4e04..52dd6dffcf4d748c5d8bab8841b0c3b2eb6f1069 100755 (executable)
     </message>
     <message>
         <source>MNU_FITSELECTION</source>
-        <translation type="unfinished">Fit Selection</translation>
+        <translation>Adapter la sélection</translation>
     </message>
     <message>
         <source>DSC_FITSELECTION</source>
-        <translation type="unfinished">Fit all selected objects inside the view frame</translation>
+        <translation>Adapter tous les objets sélectionnés dans la vue</translation>
     </message>
     <message>
         <source>DSC_BOTTOM_VIEW</source>
index eb9361ce5caa6919a2a145c86478110f69860fd0..4b932ed472a135cc7867a9bee313fcdd359801c1 100644 (file)
       <translation>選択範囲表示</translation>
     </message>
     <message>
-        <source>MNU_FITSELECTION</source>
-        <translation type="unfinished">Fit Selection</translation>
+      <source>MNU_FITSELECTION</source>
+      <translation>選択をフィット</translation>
     </message>
     <message>
-        <source>DSC_FITSELECTION</source>
-        <translation type="unfinished">Fit all selected objects inside the view frame</translation>
+      <source>DSC_FITSELECTION</source>
+      <translation>ビューフレームの内側にある選択されたすべてのオブジェクトをフィット</translation>
     </message>
     <message>
       <source>DSC_BOTTOM_VIEW</source>