00001
00002
00003
00004
00005 #ifndef BALL_VIEW_DIALOGS_DOCKRESULTDIALOG_H
00006 #define BALL_VIEW_DIALOGS_DOCKRESULTDIALOG_H
00007
00008 #ifndef BALL_COMMON_GLOBAL_H
00009 # include <BALL/COMMON/global.h>
00010 #endif
00011
00012 #ifdef BALL_COMPILER_MSVC
00013 # include <BALL/VIEW/UIC/ui_dockResultDialog.h>
00014 #else
00015 # include <BALL/VIEW/UIC/dockResultDialogData.h>
00016 #endif
00017
00018
00019 #ifndef BALL_WIDGETS_DOCKINGCONTROLLER_H
00020 # include <BALL/VIEW/WIDGETS/dockingController.h>
00021 #endif
00022
00023 namespace BALL
00024 {
00025 class DockResult;
00026
00027 namespace VIEW
00028 {
00032 class BALL_VIEW_EXPORT DockResultDialog :
00033 public QDialog,
00034 public Ui_DockResultDialogData
00035 {
00036 Q_OBJECT
00037
00038 public:
00039
00043
00050 DockResultDialog(QWidget* parent = 0, const char* name = "DockResultDialog");
00051
00054 virtual ~DockResultDialog();
00056
00060
00063 const DockResultDialog& operator =(const DockResultDialog& res_dialog);
00065
00069
00073 void setDockResult(DockResult* dock_res);
00074
00078 void setDockedSystem(System* system);
00079
00085 void addScoringFunction(const QString& name, DockingController::ScoringFunction score_func, QDialog* dialog=0);
00087
00088 public slots:
00089
00093 void show();
00094
00098 void showSnapshot();
00099
00104 void sortTable(int column);
00105
00109 void showDockingOptions();
00110
00114 void upwardClicked();
00115
00119 void downwardClicked();
00120
00125 void scoringFuncChosen();
00126
00130 void advancedClicked();
00131
00136 void scoringClicked();
00137
00141 void closeClicked();
00142
00143
00144 protected slots:
00145
00146 void selectionChanged_();
00147
00151 void deleteColumn_();
00152
00157 void showScoringOptions_();
00158
00163 void redock_();
00164
00165
00166 protected:
00167
00173 class Compare_
00174 {
00175 public:
00176
00179 Compare_();
00180
00183 Compare_(Position index);
00184
00187 ~Compare_();
00188
00191 bool operator() (const vector<float>& a, const vector<float>& b) const;
00192
00195 Position index_;
00196 };
00197
00198 private:
00199
00204 DockResultDialog(const DockResultDialog& dock_res_dialog);
00205
00209 DockResult* dock_res_;
00210
00213 System* docked_system_;
00214
00217 System* redock_partner1_, * redock_partner2_;
00218
00221 HashMap<int, QDialog*> scoring_dialogs_;
00222 };
00223
00224 } }
00225 #endif