00001
00002
00003
00004
00005
00006 #ifndef BALL_VIEW_DIALOGS_ASSIGNBONDORDERRESULTSDIALOG_H
00007 #define BALL_VIEW_DIALOGS_ASSIGNBONDORDERRESULTSDIALOG_H
00008
00009 #ifndef BALL_VIEW_KERNEL_MODULARWIDGET_H
00010 # include <BALL/VIEW/KERNEL/modularWidget.h>
00011 #endif
00012
00013 #ifndef BALL_VIEW_WIDGETS_SDWIDGET_H
00014 # include <BALL/VIEW/WIDGETS/SDWidget.h>
00015 #endif
00016
00017 #ifndef BALL_STRUCTURE_ASSIGNBONDORDERPROCESSOR_H
00018 # include <BALL/STRUCTURE/assignBondOrderProcessor.h>
00019 #endif
00020
00021 #ifdef BALL_COMPILER_MSVC
00022 # include <BALL/VIEW/UIC/ui_assignBondOrderResultsDialog.h>
00023 #else
00024 # include <BALL/VIEW/UIC/assignBondOrderResultsDialogData.h>
00025 #endif
00026
00027 #include <QtGui/qdialog.h>
00028 #include <map>
00029
00030 namespace BALL
00031 {
00032 namespace VIEW
00033 {
00036 class BALL_VIEW_EXPORT AssignBondOrderResultsDialog :
00037 public QDialog,
00038 public Ui_AssignBondOrderResultsDialogData,
00039 public ModularWidget
00040 {
00041 Q_OBJECT
00042
00043 public:
00044
00045 BALL_EMBEDDABLE(AssignBondOrderResultsDialog, ModularWidget)
00046
00047
00048 AssignBondOrderResultsDialog(QWidget *parent = NULL, const char *name = "AssignBondOrderResultsDialog");
00049
00051 virtual ~AssignBondOrderResultsDialog();
00052
00054 virtual void initializeWidget(MainControl& main_control);
00055
00057 void setProcessor(AssignBondOrderProcessor* abop);
00058
00059 public slots:
00060
00062 void show();
00063
00065 void addSolutionToStructures();
00066
00068 void computeNextSolution();
00069
00071 void switchView(QTreeWidgetItem* item, int column);
00072
00074 void createEntries();
00075
00077 void clearEntries();
00078
00080 void finished();
00081
00082 protected:
00083
00084 SDWidget sdwidget_;
00085
00086
00087 std::map<QTreeWidgetItem*, System*> sd_systems_;
00088
00089
00090 std::map<QTreeWidgetItem*, System*> solution_systems_;
00091
00092
00093 std::map<QTreeWidgetItem*, Position> solution_number_;
00094
00095
00096 std::map<QTreeWidgetItem*, String> descriptions_;
00097
00098 AssignBondOrderProcessor* bond_order_processor_;
00099
00100 QTreeWidgetItem * root_;
00101
00102 QTreeWidgetItem * activated_item_;
00103 };
00104 }
00105 }
00106 #endif