rtVTK  0.6.0
PipelineDialog.h
00001 
00002 /******************************************************************************
00003  * Copyright (c) 2012, Grove City College
00004  * All rights reserved.
00005  *
00006  * Redistribution and use in source and binary forms, with or without
00007  * modification, are permitted provided that the following conditions are
00008  * met:
00009  * 
00010  *  * Redistributions of source code must retain the above copyright
00011  *    notice, this list of conditions and the following disclaimer.
00012  *
00013  *  * Redistributions in binary form must reproduce the above copyright
00014  *    notice, this list of conditions and the following disclaimer in
00015  *    the documentation and/or other materials provided with the
00016  *    distribution.
00017  *
00018  *  * Neither the name of Grove City College nor the names of its
00019  *    contributors may be used to endorse or promote products derived
00020  *    from this software without specific prior written permission.
00021  *
00022  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00023  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00024  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
00025  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
00026  * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00027  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00028  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00029  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00030  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00031  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00032  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00033  *
00034  */
00035 
00036 
00044 #ifndef StandAlone_PipelineDialog_h
00045 #define StandAlone_PipelineDialog_h
00046 
00047 #include <string>
00048 using std::string;
00049 
00050 #include <vector>
00051 using std::vector;
00052 
00053 #include <QDialog>
00054 
00055 #include <Core/Types.h>
00056 
00057 namespace Ui
00058 {
00059 
00060   class PipelineDialog;
00061 
00062 } // namespace Ui
00063 
00064 namespace rtVTK
00065 {
00066 
00067   class PipelineDialog : public QDialog
00068   {
00069     Q_OBJECT
00070 
00071   public:
00072     explicit PipelineDialog(QWidget *parent = 0);
00073     ~PipelineDialog();
00074 
00075     void populate(const vector<string>&, const vector<string>&);
00076     
00077   private:
00078     Ui::PipelineDialog *ui;
00079 
00080     void showEvent(QShowEvent*);
00081     void closeEvent(QCloseEvent*);
00082     
00083   signals:
00084     void sgnlGetOrder(const vector<string>&);
00085     void sgnlDisableIdle();
00086     void sgnlRestoreIdle();
00087     void sgnlPauseTimers();
00088     void sgnlUnpauseTimers();
00089                                             
00090   private slots:
00091     void slotReturnOrder();
00092     void slotOnCancel();
00093     /*
00094       @name Manipulation Buttons
00095       List1 is Available Plugins. List2 is Active Plugins in the pipeline.
00096       @author ClaudyAJ1
00097     */
00099     void slotMoveSelectedPluginUpList1();
00100     void slotMoveSelectedPluginDownList1();
00101     void slotMoveSelectedPluginUpList2();
00102     void slotMoveSelectedPluginDownList2();
00103     void slotMovePluginIntoList2();
00104     void slotMovePluginOutOfList2();
00106   }; // class PipelineDialog
00107 
00108 } // namespace rtVTK
00109 
00110 #endif // StandAlone_PipelineDialog_h
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends