]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
*** empty log message ***
authorvsr <vsr@opencascade.com>
Tue, 31 Jul 2007 09:58:30 +0000 (09:58 +0000)
committervsr <vsr@opencascade.com>
Tue, 31 Jul 2007 09:58:30 +0000 (09:58 +0000)
12 files changed:
src/CAM/CAM_Application.cxx
src/CAM/CAM_Application.h
src/CAM/CAM_DataObject.cxx
src/CAM/CAM_DataObject.h
src/CAM/CAM_Module.cxx
src/CAM/CAM_Module.h
src/CAM/resources/CAM_msg_en.ts
src/LightApp/LightApp_Application.cxx
src/LightApp/LightApp_DataObject.cxx
src/LightApp/LightApp_DataObject.h
src/SalomeApp/SalomeApp_DataObject.cxx
src/SalomeApp/SalomeApp_DataObject.h

index 6d285ad5d911e2934d4d6785fc8612a8228597aa..2089441d54122c68b37b3e872bc3bc6a7ccb3d56 100755 (executable)
@@ -485,6 +485,22 @@ QString CAM_Application::moduleTitle( const QString& name ) const
   return res;
 }
 
+/*!
+  \brief Get module icon name.
+  \param name module name
+  \return module icon or null QString if module is not found
+*/
+QString CAM_Application::moduleIcon( const QString& name ) const
+{
+  QString res;
+  for ( ModuleInfoList::const_iterator it = myInfoList.begin(); it != myInfoList.end() && res.isNull(); ++it )
+  {
+    if ( (*it).name == name )
+      res = (*it).icon;
+  }
+  return res;
+}
+
 /*!
   \brief Get module library name by its title (user name).
   \param title module title (user name)
@@ -566,6 +582,8 @@ void CAM_Application::readModuleList()
        continue;
       }
 
+    QString modIcon = resMgr->stringValue( *it, "icon", QString::null );
+
     QString modLibrary = resMgr->stringValue( *it, "library", QString::null ).trimmed();
     if ( !modLibrary.isEmpty() )
     {
@@ -590,6 +608,7 @@ void CAM_Application::readModuleList()
     inf.name = modName;
     inf.title = modTitle;
     inf.internal = modLibrary;
+    inf.icon = modIcon;
     myInfoList.append( inf );
   }
 
index c7b545877263935dcb15b220c884987f0a8a2787..b79be8c38fb5ff6dff70c0d476959824f87e4a60 100755 (executable)
@@ -62,6 +62,7 @@ public:
 
   QString             moduleName( const QString& ) const;
   QString             moduleTitle( const QString& ) const;
+  QString             moduleIcon( const QString& ) const;
 
   virtual void        createEmptyStudy();
 
@@ -81,8 +82,8 @@ private:
   void                readModuleList();
 
 private:
-  typedef struct { QString name, title, internal; } ModuleInfo;
-  typedef QList<ModuleInfo>                         ModuleInfoList;
+  typedef struct { QString name, title, internal, icon; } ModuleInfo;
+  typedef QList<ModuleInfo> ModuleInfoList;
 
 private:
   CAM_Module*         myModule;        //!< active module
index ebb433eaea441c4429069968b55c84cc4c163772..26ce74555c7bd1ed63ec01b155c661496b27e08d 100755 (executable)
@@ -21,6 +21,8 @@
 #include "CAM_Module.h"
 #include "CAM_DataModel.h"
 
+#include <Qtx.h>
+
 /*!
   \class CAM_DataObject
   \brief CAM-based implementation of the data object.
@@ -123,6 +125,44 @@ QString CAM_ModuleObject::name() const
   return myDataModel ? myDataModel->module()->moduleName() : QString();
 }
 
+/*!
+  \brief Get data object icon for the specified column.
+
+  The parameter \a index specifies the column number
+  (to display, for example, in the tree view widget).
+
+  \param index column index
+  \return object icon for the specified column
+*/
+QPixmap CAM_ModuleObject::icon( const int index ) const
+{
+  QPixmap p;
+  // show icon only for the "Name" column
+  if ( index == NameIdx && dataModel() && dataModel()->module() )
+    p = dataModel()->module()->moduleIcon();
+  if ( !p.isNull() )
+    p = Qtx::scaleIcon( p, 16 );
+  return p;
+}
+
+/*!
+  \brief Get data object tooltip for the specified column.
+
+  The parameter \a index specifies the column number
+  (to display, for example, in the tree view widget).
+
+  \param index column index
+  \return object tooltip for the specified column
+*/
+QString CAM_ModuleObject::toolTip( const int /*index*/ ) const
+{
+  // show the same tooltip for all columns
+  QString tip;
+  if ( dataModel() && dataModel()->module() )
+    tip = QObject::tr( "MODULE_ROOT_OBJECT_TOOLTIP" ).arg( dataModel()->module()->moduleName() );
+  return tip;
+}
+
 /*!
   \brief Get data model.
   \return data model pointer or 0 if it is not set
index e2e7febc736be2b2764ab12b5bd53806eba74940..11bac528e3d99e0c7695ecaa2bee901c6fed0115 100755 (executable)
@@ -44,6 +44,8 @@ public:
   virtual ~CAM_ModuleObject();
 
   virtual QString        name() const;
+  QPixmap                icon( const int = NameIdx ) const;
+  QString                toolTip( const int = NameIdx ) const;
 
   virtual CAM_DataModel* dataModel() const;
   virtual void           setDataModel( CAM_DataModel* );
index a53c7e1cb99f14a0ea416e8031dcc83a911cbb2a..6d76b6097425a0b0ccbe23ee22ddfaf5b6947267 100755 (executable)
 
 #include <SUIT_Desktop.h>
 #include <SUIT_Session.h>
-
-/*! Default module icon data set */
-static const char* ModuleIcon[] = {
-"20 20 2 1",
-"      c None",
-".     c #000000",
-"                    ",
-"                    ",
-"                    ",
-" .................. ",
-" .                . ",
-" .                . ",
-" .                . ",
-" .                . ",
-" .                . ",
-" .                . ",
-" .                . ",
-" .                . ",
-" .................. ",
-"    .     .     .   ",
-"    .     .     .   ",
-"   ...   ...   ...  ",
-"  .. .. .. .. .. .. ",
-"  .   . .   . .   . ",
-"  .. .. .. .. .. .. ",
-"   ...   ...   ...  "};
-
-/*! Default module icon pixmap */
-QPixmap MYPixmap( ModuleIcon );
+#include <SUIT_ResourceMgr.h>
 
 /*! 
   \class CAM_Module
@@ -73,7 +45,6 @@ QPixmap MYPixmap( ModuleIcon );
 CAM_Module::CAM_Module()
 : QObject(),
   myApp( 0 ),
-  myIcon( MYPixmap ),
   myDataModel( 0 )
 {
 }
@@ -89,7 +60,6 @@ CAM_Module::CAM_Module( const QString& name )
 : QObject(),
   myApp( 0 ),
   myName( name ),
-  myIcon( MYPixmap ),
   myDataModel( 0 )
 {
 }
@@ -132,10 +102,17 @@ void CAM_Module::initialize( CAM_Application* app )
 /*!
   \brief Get module icon.
   \return module icon pixmap
-  \sa setModuleIcon(), iconName()
+  \sa iconName()
 */
 QPixmap CAM_Module::moduleIcon() const
 {
+  if ( myIcon.isNull() ) {
+    QString iname = iconName();
+    if ( !iname.isEmpty() ) {
+      CAM_Module* that = (CAM_Module*)this;
+      that->myIcon = application()->resourceMgr()->loadPixmap( name(), iname, false );
+    }
+  }
   return myIcon;
 }
 
@@ -146,11 +123,11 @@ QPixmap CAM_Module::moduleIcon() const
   Default implementation returns empty string.
 
   \return module icon's name.
-  \sa moduleIcon(), setModuleIcon()
+  \sa moduleIcon()
 */
 QString CAM_Module::iconName() const
 {
-  return "";
+  return application()->moduleIcon( name() );
 }
 
 /*!
@@ -350,16 +327,6 @@ void CAM_Module::setModuleName( const QString& name )
   myName = name;
 }
 
-/*!
-  \brief Set module icon.
-  \param icon new module icon
-  \sa moduleIcon(), iconName()
-*/
-void CAM_Module::setModuleIcon( const QPixmap& icon )
-{
-  myIcon = icon;
-}
-
 /*! 
   \brief Get menu manager.
   \return menu manager pointer
index 2b62f768a9d05ce745a8a3372614d464d591b6db..df358c9e6c942ff79f77a9b03ae9b8913ba523ad 100755 (executable)
@@ -55,13 +55,12 @@ public:
 
   QString                name() const;
   QString                moduleName() const;
-  QPixmap                moduleIcon() const;
+  virtual QPixmap        moduleIcon() const;
+  virtual QString        iconName() const;
 
   CAM_DataModel*         dataModel() const;
   CAM_Application*       application() const;
 
-  virtual QString        iconName() const;
-
   virtual void           contextMenuPopup( const QString&, QMenu*, QString& ) {};
   virtual void           updateCommandsStatus() {};
 
@@ -96,7 +95,6 @@ protected:
 
   void                   setName( const QString& );
   virtual void           setModuleName( const QString& );
-  virtual void           setModuleIcon( const QPixmap& );
 
   QtxActionMenuMgr*      menuMgr() const;
   QtxActionToolMgr*      toolMgr() const;
index cb18f6673ecc119d85d27a98d0c70d238b373e4d..e3ffa260827de2873fe438ecb49c5e320a346553 100644 (file)
@@ -9,5 +9,9 @@
         <source>ERROR_ACTIVATE_MODULE_MSG</source>
         <translation>Failed to activate module %1</translation>
     </message>
+    <message>
+        <source>MODULE_ROOT_OBJECT_TOOLTIP</source>
+        <translation>%1 module root object</translation>
+    </message>
 </context>
 </TS>
index 08fd32ca8496f7f3af02d7e645760b2022498b0b..b8b50f21113d704830cdce170fe654528b109540 100644 (file)
@@ -59,6 +59,7 @@
 #include <SUIT_Accel.h>
 #include <SUIT_MessageBox.h>
 
+#include <Qtx.h>
 #include <QtxMRUAction.h>
 #include <QtxDockAction.h>
 #include <QtxToolBar.h>
@@ -555,7 +556,7 @@ void LightApp_Application::createActions()
        printf( "****************************************************************\n" );
       }
 
-      icon.fromImage( icon.toImage().scaled( iconSize, iconSize, Qt::KeepAspectRatio, Qt::SmoothTransformation ) );
+      icon = Qtx::scaleIcon( icon, iconSize );
       
       moduleAction->insertModule( *it, icon );
     }
index 692dca449756e544b55b16708f65d47ac9d96984..75b250e74e788809395b19f7e058d0fde5092710 100644 (file)
@@ -270,6 +270,26 @@ QString LightApp_ModuleObject::name() const
   return CAM_ModuleObject::name();
 }
 
+/*!
+  \brief Get data object icon for the specified column.
+  \param index column index
+  \return object icon for the specified column
+*/
+QPixmap LightApp_ModuleObject::icon( const int index ) const
+{
+  return CAM_ModuleObject::icon( index );
+}
+
+/*!
+  \brief Get data object tooltip for the specified column.
+  \param index column index
+  \return object tooltip for the specified column
+*/
+QString LightApp_ModuleObject::toolTip( const int index ) const
+{
+  return CAM_ModuleObject::toolTip( index );
+}
+
 /*!
   \brief Insert new child object to the children list at specified position.
   
index da41a7d0764503d85378dc0a85894f7bf127c8b1..0d6ade400cf8f7aa15df75c37bb9dec8d97e6fcf 100644 (file)
@@ -70,6 +70,9 @@ public:
   virtual ~LightApp_ModuleObject();
 
   virtual QString        name() const;
+  QPixmap                icon( const int = NameIdx ) const;
+  QString                toolTip( const int = NameIdx ) const;
+
   virtual void           insertChild( SUIT_DataObject*, int );
 };
 
index 9fd27dc919de46b488adfd1c0ae1fced49dc5159..8bdc3502fff9cba048f387aa2168705ce51e91ed 100644 (file)
@@ -574,6 +574,26 @@ QString SalomeApp_ModuleObject::name() const
   return SalomeApp_DataObject::name();
 }
 
+/*!
+  \brief Get data object icon for the specified column.
+  \param index column index
+  \return object icon for the specified column
+*/
+QPixmap SalomeApp_ModuleObject::icon( const int index ) const
+{
+  return CAM_ModuleObject::icon( index );
+}
+
+/*!
+  \brief Get data object tooltip for the specified column.
+  \param index column index
+  \return object tooltip for the specified column
+*/
+QString SalomeApp_ModuleObject::toolTip( const int index ) const
+{
+  return CAM_ModuleObject::toolTip( index );
+}
+
 /*!
   \class SalomeApp_RootObject
   \brief Root data object for the CORBA-based SALOME application.
index 5d9cb3217961add4e7bfd9858a4da256ecf9e0e4..dbf8267e7956abfed86f850f41b26a1d3e380fe4 100644 (file)
@@ -1,17 +1,17 @@
 // Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
-// 
+//
 // 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 
+// 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 
+//
+// 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 
+// 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
@@ -34,7 +34,7 @@ class SALOMEAPP_EXPORT SalomeApp_DataObject : public virtual LightApp_DataObject
 
 public:
   //! Column index
-  enum { 
+  enum {
     ValueIdx = EntryIdx + 1,    //!< value column
     IORIdx,                     //!< IOR column
     RefEntryIdx                 //!< reference entry column
@@ -44,36 +44,36 @@ public:
   SalomeApp_DataObject( SUIT_DataObject* = 0 );
   SalomeApp_DataObject( const _PTR(SObject)&, SUIT_DataObject* = 0 );
   virtual ~SalomeApp_DataObject();
-    
-  virtual int                     columnCount() const;
-  virtual QString                 columnTitle( const int = NameIdx ) const;
-  virtual bool                    appropriate( const int = NameIdx ) const;
 
-  virtual QString                 name() const;
-  virtual QString                 entry() const;
+  virtual int            columnCount() const;
+  virtual QString        columnTitle( const int = NameIdx ) const;
+  virtual bool           appropriate( const int = NameIdx ) const;
+
+  virtual QString        name() const;
+  virtual QString        entry() const;
 
-  virtual QString                 text( const int = NameIdx ) const;
-  virtual QPixmap                 icon( const int = NameIdx ) const;
-  virtual QColor                  color( const ColorRole, const int = NameIdx ) const;
-  virtual QString                 toolTip( const int = NameIdx ) const;
+  virtual QString        text( const int = NameIdx ) const;
+  virtual QPixmap        icon( const int = NameIdx ) const;
+  virtual QColor         color( const ColorRole, const int = NameIdx ) const;
+  virtual QString        toolTip( const int = NameIdx ) const;
 
-  virtual _PTR(SObject)           object() const;
+  virtual _PTR(SObject)  object() const;
 
-  bool                            isReference() const;
-  _PTR(SObject)                   referencedObject() const;
+  bool                   isReference() const;
+  _PTR(SObject)          referencedObject() const;
 
-  virtual QString                 componentDataType() const;
+  virtual QString        componentDataType() const;
 
-  virtual bool                    customSorting( const int = NameIdx ) const;
-  virtual bool                    compare( const QVariant&, const QVariant&, 
-                                          const int = NameIdx ) const;
+  virtual bool           customSorting( const int = NameIdx ) const;
+  virtual bool           compare( const QVariant&, const QVariant&,
+                                 const int = NameIdx ) const;
 private:
-  QString                         ior( const _PTR(SObject)& ) const;
-  QString                         entry( const _PTR(SObject)& ) const;
-  QString                         value( const _PTR(SObject)& ) const;
+  QString                ior( const _PTR(SObject)& ) const;
+  QString                entry( const _PTR(SObject)& ) const;
+  QString                value( const _PTR(SObject)& ) const;
 
 private:
-  _PTR(SObject)                   myObject;
+  _PTR(SObject)          myObject;
 };
 
 class SALOMEAPP_EXPORT SalomeApp_ModuleObject : public SalomeApp_DataObject,
@@ -85,7 +85,9 @@ public:
   SalomeApp_ModuleObject( CAM_DataModel*, const _PTR(SObject)&, SUIT_DataObject* = 0 );
   virtual ~SalomeApp_ModuleObject();
 
-  virtual QString                 name() const;
+  virtual QString        name() const;
+  QPixmap                icon( const int = NameIdx ) const;
+  QString                toolTip( const int = NameIdx ) const;
 };
 
 class SALOMEAPP_EXPORT SalomeApp_RootObject : public SalomeApp_DataObject,
@@ -95,12 +97,12 @@ public:
   SalomeApp_RootObject( LightApp_Study* );
   virtual ~SalomeApp_RootObject();
 
-  QString                         name() const;
-  QString                         entry() const;
-  QString                         text( const int = NameIdx ) const;
-  QPixmap                         icon( const int = NameIdx ) const;
-  QColor                          color( const ColorRole, const int = NameIdx ) const;
-  QString                         toolTip( const int = NameIdx ) const;
+  QString                name() const;
+  QString                entry() const;
+  QString                text( const int = NameIdx ) const;
+  QPixmap                icon( const int = NameIdx ) const;
+  QColor                 color( const ColorRole, const int = NameIdx ) const;
+  QString                toolTip( const int = NameIdx ) const;
 };
 
 class SALOMEAPP_EXPORT SalomeApp_SavePointObject : public virtual LightApp_DataObject
@@ -108,27 +110,27 @@ class SALOMEAPP_EXPORT SalomeApp_SavePointObject : public virtual LightApp_DataO
 public:
   SalomeApp_SavePointObject( SUIT_DataObject*, const int, SalomeApp_Study* );
   virtual ~SalomeApp_SavePointObject();
-  
-  virtual QString                 name() const;
-  virtual QString                 entry() const;
 
-  virtual QPixmap                 icon( const int = NameIdx ) const;
-  virtual QString                 toolTip( const int = NameIdx ) const;
+  virtual QString        name() const;
+  virtual QString        entry() const;
 
-  int                             getId() const;
+  virtual QPixmap        icon( const int = NameIdx ) const;
+  virtual QString        toolTip( const int = NameIdx ) const;
+
+  int                    getId() const;
 
 private:
-  int                             myId;
-  SalomeApp_Study*                myStudy;
+  int                    myId;
+  SalomeApp_Study*       myStudy;
 };
 
 class SALOMEAPP_EXPORT SalomeApp_SavePointRootObject : public SUIT_DataObject
 {
 public:
   SalomeApp_SavePointRootObject( SUIT_DataObject* );
-  
-  virtual QString                 name() const;
-  virtual QString                 toolTip( const int = NameIdx ) const;
+
+  virtual QString        name() const;
+  virtual QString        toolTip( const int = NameIdx ) const;
 };
 
 #endif