assignBondOrderResultsDialog.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 
00005 #ifndef BALL_VIEW_DIALOGS_ASSIGNBONDORDERRESULTSDIALOG_H
00006 #define BALL_VIEW_DIALOGS_ASSIGNBONDORDERRESULTSDIALOG_H
00007 
00008 #ifndef BALL_VIEW_KERNEL_MODULARWIDGET_H
00009 # include <BALL/VIEW/KERNEL/modularWidget.h>
00010 #endif
00011 
00012 #ifndef BALL_VIEW_WIDGETS_SDWIDGET_H
00013 # include <BALL/VIEW/WIDGETS/SDWidget.h>
00014 #endif
00015 
00016 #ifndef BALL_STRUCTURE_ASSIGNBONDORDERPROCESSOR_H
00017 # include <BALL/STRUCTURE/assignBondOrderProcessor.h>
00018 #endif
00019 
00020 #include <BALL/VIEW/UIC/ui_assignBondOrderResultsDialog.h>
00021 
00022 #include <QtGui/qdialog.h>
00023 #include <map>
00024 
00025 namespace BALL
00026 {
00027   namespace VIEW
00028   {
00031       class BALL_VIEW_EXPORT AssignBondOrderResultsDialog :
00032         public QDialog,
00033         public Ui_AssignBondOrderResultsDialogData,
00034         public ModularWidget
00035       {
00036         Q_OBJECT
00037 
00038         public:
00039 
00040           BALL_EMBEDDABLE(AssignBondOrderResultsDialog, ModularWidget)
00041 
00042           
00043           AssignBondOrderResultsDialog(QWidget *parent = NULL,  const char *name = "AssignBondOrderResultsDialog");
00044 
00046           virtual ~AssignBondOrderResultsDialog();
00047 
00049           virtual void initializeWidget(MainControl& main_control);
00050 
00052           void setProcessor(AssignBondOrderProcessor* abop);
00053 
00054         public slots:
00055           
00057           void show();
00058           
00060           void addSolutionToStructures();
00061 
00063           void computeNextSolution();
00064           
00066           void switchView(QTreeWidgetItem* item, int column);
00067         
00069           void createEntries();
00070 
00072           void clearEntries();
00073           
00075           void finished();
00076         
00077         protected:
00078 
00079           SDWidget                                    sdwidget_;
00080 
00081           // systems, which have already been mapped to 2D  
00082           std::map<QTreeWidgetItem*, System*>         sd_systems_;
00083           
00084           // system copies with applied solutions 
00085           std::map<QTreeWidgetItem*, System*>         solution_systems_;
00086           
00087           // the solution number 
00088           std::map<QTreeWidgetItem*, Position>        solution_number_;
00089           
00090           // the solution description
00091           std::map<QTreeWidgetItem*, String>          descriptions_;
00092             
00093           AssignBondOrderProcessor*                   bond_order_processor_;
00094           
00095           QTreeWidgetItem *                           root_;
00096           
00097           QTreeWidgetItem *                           activated_item_;  
00098       };
00099   }
00100 }
00101 #endif