Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

FileOfv.hh

Blame
  • FileOfv.hh 4.83 KiB
    /*===========================================================================*\
    *                                                                            *
    *                              OpenFlipper                                   *
     *           Copyright (c) 2001-2015, RWTH-Aachen University                 *
     *           Department of Computer Graphics and Multimedia                  *
     *                          All rights reserved.                             *
     *                            www.openflipper.org                            *
     *                                                                           *
     *---------------------------------------------------------------------------*
     * This file is part of OpenFlipper.                                         *
     *---------------------------------------------------------------------------*
     *                                                                           *
     * Redistribution and use in source and binary forms, with or without        *
     * modification, are permitted provided that the following conditions        *
     * are met:                                                                  *
     *                                                                           *
     * 1. Redistributions of source code must retain the above copyright notice, *
     *    this list of conditions and the following disclaimer.                  *
     *                                                                           *
     * 2. Redistributions in binary form must reproduce the above copyright      *
     *    notice, this list of conditions and the following disclaimer in the    *
     *    documentation and/or other materials provided with the distribution.   *
     *                                                                           *
     * 3. Neither the name of the copyright holder nor the names of its          *
     *    contributors may be used to endorse or promote products derived from   *
     *    this software without specific prior written permission.               *
     *                                                                           *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS       *
     * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
     * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A           *
     * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
     * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,  *
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,       *
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR        *
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF    *
     * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING      *
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS        *
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.              *
    *                                                                            *
    \*===========================================================================*/
    
    
    
    #ifndef FILEVIEWPLUGIN_HH
    #define FILEVIEWPLUGIN_HH
    
    #include <QObject>
    
    #include <OpenFlipper/common/Types.hh>
    #include <OpenFlipper/BasePlugin/BaseInterface.hh>
    #include <OpenFlipper/BasePlugin/FileInterface.hh>
    #include <OpenFlipper/BasePlugin/LoadSaveInterface.hh>
    #include <OpenFlipper/BasePlugin/LoggingInterface.hh>
    #include <OpenFlipper/BasePlugin/ScriptInterface.hh>
    
    class FileViewPlugin : public QObject, BaseInterface, FileInterface, LoadSaveInterface, LoggingInterface, ScriptInterface
    {
       Q_OBJECT
       Q_INTERFACES(FileInterface)
       Q_INTERFACES(LoadSaveInterface)
       Q_INTERFACES(LoggingInterface)
       Q_INTERFACES(BaseInterface)
       Q_INTERFACES(ScriptInterface)
      Q_PLUGIN_METADATA(IID "org.OpenFlipper.Plugins.Plugin-FileOfv")
      signals:
        void openedFile( int _id );
        void addEmptyObject( DataType _type, int& _id);
        void load(QString _filename, DataType _type, int& _id);
        void save(int _id , QString _filename );
        void log(Logtype _type, QString _message);
        void log(QString _message);
        
        void updateView();
    
      private slots:
    
        void fileOpened( int /*_id*/ ){};
    
        void noguiSupported( ) {} ;
    
        void initializePlugin();
        
      public :
    
         ~FileViewPlugin() {};
    
         QString name() { return (QString("FileView")); };
         QString description( ) { return (QString(tr("Load/Save Views"))); };
    
         DataType supportedType();
    
         QString getSaveFilters();
         QString getLoadFilters();
    
         QWidget* saveOptionsWidget(QString /*_currentFilter*/) { return 0; };
         QWidget* loadOptionsWidget(QString /*_currentFilter*/) { return 0; };
    
      public slots:
    
        int loadObject(QString _filename);
    
        bool saveObject(int _id, QString _filename);
    
        QString version() { return QString("1.0"); };
    };
    
    #endif //FILEVIEWPLUGIN_HH