]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Default pixmap for non existing pixmap files.
authorstv <stv@opencascade.com>
Mon, 27 Jun 2005 11:22:33 +0000 (11:22 +0000)
committerstv <stv@opencascade.com>
Mon, 27 Jun 2005 11:22:33 +0000 (11:22 +0000)
src/Qtx/QtxResourceMgr.cxx
src/Qtx/QtxResourceMgr.h

index 7b791d5bcc22a043ae0647a7569a5dda87c625c2..3257154fc36edeb9d67cae88b912499d1e6a6911 100644 (file)
 
 #include <stdlib.h>
 
-/* XPM */
-static const char* pixmap_not_found_xpm[] = {
-"16 16 3 1",
-"       c None",
-".      c #000000",
-"+      c #A80000",
-"                ",
-"                ",
-"    .     .     ",
-"   .+.   .+.    ",
-"  .+++. .+++.   ",
-"   .+++.+++.    ",
-"    .+++++.     ",
-"     .+++.      ",
-"    .+++++.     ",
-"   .+++.+++.    ",
-"  .+++. .+++.   ",
-"   .+.   .+.    ",
-"    .     .     ",
-"                ",
-"                ",
-"                "};
-
 /*!
-       Class: QtxResourceMgr::Resources
-       Level: Internal
+  Class: QtxResourceMgr::Resources
+  Level: Internal
 */
 
 QtxResourceMgr::Resources::Resources( const QString& fileName )
@@ -431,7 +408,7 @@ bool QtxResourceMgr::XmlFormat::load( const QString& fname, QMap<QString, Sectio
             else
               res = false;
           }
-         else 
+         else
            res = paramNode.isComment();
 
           paramNode = paramNode.nextSibling();
@@ -1116,16 +1093,35 @@ QString QtxResourceMgr::langSection() const
   return res;
 }
 
-QPixmap QtxResourceMgr::loadPixmap( const QString& prefix, const QString& name, const bool useDefault ) const
+QPixmap QtxResourceMgr::defaultPixmap() const
+{
+  return myDefaultPix;
+}
+
+void QtxResourceMgr::setDefaultPixmap( const QPixmap& pix )
+{
+  myDefaultPix = pix;
+}
+
+QPixmap QtxResourceMgr::loadPixmap( const QString& prefix, const QString& name ) const
+{
+  return loadPixmap( prefix, name, true );
+}
+
+QPixmap QtxResourceMgr::loadPixmap( const QString& prefix, const QString& name, const bool useDef ) const
+{
+  return loadPixmap( prefix, name, useDef ? defaultPixmap() : QPixmap() );
+}
+
+QPixmap QtxResourceMgr::loadPixmap( const QString& prefix, const QString& name, const QPixmap& defPix ) const
 {
   initialize();
 
-  static QPixmap defaultPixmap( pixmap_not_found_xpm );
   QPixmap pix;
   for ( ResListIterator it( myResources ); it.current() && pix.isNull(); ++it )
     pix = it.current()->loadPixmap( resSection(), prefix, name );
-  if ( pix.isNull() && useDefault )
-     return defaultPixmap;
+  if ( pix.isNull() )
+    pix = defPix;
   return pix;
 }
 
index 4c657e73c84a4247d0b07bd22966cd8d4c8ff0d2..6b0262bc81fcf4e052c1505c2f5dcb3b2f4b6aa8 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <qmap.h>
 #include <qcolor.h>
+#include <qpixmap.h>
 #include <qstringlist.h>
 #include <qtranslator.h>
 
@@ -93,10 +94,15 @@ public:
   QString         option( const QString& ) const;
   void            setOption( const QString&, const QString& );
 
+  QPixmap         defaultPixmap() const;
+  virtual void    setDefaultPixmap( const QPixmap& );
+
   QString         resSection() const;
   QString         langSection() const;
 
-  QPixmap         loadPixmap( const QString&, const QString&, const bool = true ) const;
+  QPixmap         loadPixmap( const QString&, const QString& ) const;
+  QPixmap         loadPixmap( const QString&, const QString&, const bool ) const;
+  QPixmap         loadPixmap( const QString&, const QString&, const QPixmap& ) const;
   void            loadLanguage( const QString& = QString::null, const QString& = QString::null );
 
   void            raiseTranslators( const QString& );
@@ -142,6 +148,7 @@ private:
   ResList         myResources;
   TransListMap    myTranslator;
   QString         myCurSection;
+  QPixmap         myDefaultPix;
 };
 
 class QTX_EXPORT QtxResourceMgr::Format