[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kalzium/frameworks] src/tools: Adapt molecule view UI for better Avogadro integration
From:       Andreas Cord-Landwehr <cordlandwehr () kde ! org>
Date:       2016-10-30 22:38:16
Message-ID: E1c0yk4-0002vd-PW () code ! kde ! org
[Download RAW message or body]

Git commit a8995abf114f7bf6958cf953829d4ef882e68e35 by Andreas Cord-Landwehr.
Committed on 30/10/2016 at 22:02.
Pushed by cordlandwehr into branch 'frameworks'.

Adapt molecule view UI for better Avogadro integration

Editor controls are now provided directly by the Avogadro
library.

M  +15   -144  src/tools/moleculeview.cpp
M  +0    -31   src/tools/moleculeview.h
M  +240  -309  src/tools/moleculeviewerwidget.ui

http://commits.kde.org/kalzium/a8995abf114f7bf6958cf953829d4ef882e68e35

diff --git a/src/tools/moleculeview.cpp b/src/tools/moleculeview.cpp
index bc65476..8f862e2 100644
--- a/src/tools/moleculeview.cpp
+++ b/src/tools/moleculeview.cpp
@@ -19,15 +19,15 @@
 #include <avogadro/qtgui/periodictableview.h>
 #include <avogadro/qtgui/molecule.h>
 #include <avogadro/qtgui/scenepluginmodel.h>
+#include <avogadro/qtgui/toolplugin.h>
 // #include <avogadro/qtplugins/openbabel/openbabel.h>FIXME:Avogadro2
 
 #include <QFileInfo>
 #include <QGLFormat>
-#include <QSettings>
 #include <QDebug>
-#include <kfiledialog.h>
-#include <kjob.h>
-#include <kmessagebox.h>
+#include <KFileDialog>
+#include <KJob>
+#include <KMessageBox>
 #include <KLocale>
 #include <QUrl>
 #include <knewstuff3/downloaddialog.h>
@@ -51,7 +51,6 @@ MoleculeDialog::MoleculeDialog(QWidget * parent)
     : KDialog(parent)
     , m_path(QString())
     , m_periodicTable(nullptr)
-    , m_addHydrogens(false)
 {
     // use multi-sample (anti-aliased) OpenGL if available
     QGLFormat defFormat = QGLFormat::defaultFormat();
@@ -77,34 +76,15 @@ MoleculeDialog::MoleculeDialog(QWidget * parent)
         ui.optimizeButton->setEnabled(false);
     }
 
-    // Set up the elements combo and bond order combo
-    elementCombo();
-    ui.bondCombo->addItem(i18n("Single"));
-    ui.bondCombo->addItem(i18n("Double"));
-    ui.bondCombo->addItem(i18n("Triple"));
-    // Initialise the draw settings
-    m_drawSettings = new QSettings;
-    m_drawSettings->setValue("currentElement", 6);
-    m_drawSettings->setValue("bondOrder", 1);
-    m_drawSettings->setValue("addHydrogens", 0);
-
-    ui.styleCombo->addItems({"Wireframe", "Ball and Stick", "Van der Waals"});
-    slotUpdateScenePlugin();
+    ui.styleCombo->addItems({"Ball and Stick", "Van der Waals", "Wireframe"});
     connect(ui.styleCombo, static_cast<void (QComboBox::*)(const \
QString&)>(&QComboBox::currentIndexChanged),  this, \
&MoleculeDialog::slotUpdateScenePlugin); +    slotUpdateScenePlugin();
 
     connect(ui.tabWidget, &QTabWidget::currentChanged,
             this, &MoleculeDialog::setViewEdit);
 
     // Editing parameters
-    connect(ui.elementCombo, static_cast<void \
                (QComboBox::*)(int)>(&KComboBox::currentIndexChanged),
-            this, &MoleculeDialog::slotElementChanged);
-    connect(ui.bondCombo, static_cast<void \
                (QComboBox::*)(int)>(&KComboBox::currentIndexChanged),
-            this, &MoleculeDialog::slotBondOrderChanged);
-    connect(ui.hydrogenBox, &QCheckBox::stateChanged,
-            this, &MoleculeDialog::slotAddHydrogensChanged);
-    connect(ui.hydrogensButton, &QPushButton::clicked,
-            this, &MoleculeDialog::slotAdjustHydrogens);
     connect(ui.optimizeButton, &QPushButton::clicked,
             this, &MoleculeDialog::slotGeometryOptimize);
     connect(ui.clearDrawingButton, &QPushButton::clicked,
@@ -126,6 +106,14 @@ MoleculeDialog::MoleculeDialog(QWidget * parent)
         QString error = i18n("No tools loaded - it is likely that the Avogadro \
plugins could not be located.");  KMessageBox::error(this, error, i18n("Kalzium"));
     }
+
+    // objectName is also used in Avogadro2 for identifying tools
+    foreach (auto *tool, ui.glWidget->tools()) {
+        if (tool->objectName() == "Editor") {
+            ui.editTabLayout->insertWidget(0, tool->toolWidget());
+            break;
+        }
+    }
 }
 
 void MoleculeDialog::slotLoadMolecule()
@@ -203,7 +191,7 @@ void MoleculeDialog::clearAllElementsInEditor()
 {
     ui.glWidget->molecule()->clearBonds();
     ui.glWidget->molecule()->clearAtoms();
-    ui.glWidget->update();
+    ui.glWidget->updateScene();
 }
 
 void MoleculeDialog::slotSaveMolecule()
@@ -233,9 +221,6 @@ void MoleculeDialog::setViewEdit(int mode)
         ui.glWidget->setActiveTool("Navigator");
     } else if (mode == 1) {
         ui.glWidget->setActiveTool("Editor");
-        if (ui.glWidget->activeTool()) {
-//             ui.glWidget->activeTool()->readSettings(*m_drawSettings);//FIXME \
                Avogadro2: settings
-        }
     } else if (mode == 2) {
         ui.glWidget->setActiveTool("MeasureTool");
     }
@@ -243,7 +228,6 @@ void MoleculeDialog::setViewEdit(int mode)
 
 MoleculeDialog::~MoleculeDialog()
 {
-    delete m_drawSettings;
 }
 
 void MoleculeDialog::slotUpdateStatistics()
@@ -309,119 +293,6 @@ void MoleculeDialog::slotDownloadNewStuff()
     }
 }
 
-void MoleculeDialog::elementCombo()
-{
-    ui.elementCombo->addItem(ElementTranslator::name(1) + " (1)");
-    m_elementsIndex.append(1);
-    ui.elementCombo->addItem(ElementTranslator::name(5) + " (5)");
-    m_elementsIndex.append(5);
-    ui.elementCombo->addItem(ElementTranslator::name(6) + " (6)");
-    m_elementsIndex.append(6);
-    ui.elementCombo->addItem(ElementTranslator::name(7) + " (7)");
-    m_elementsIndex.append(7);
-    ui.elementCombo->addItem(ElementTranslator::name(8) + " (8)");
-    m_elementsIndex.append(8);
-    ui.elementCombo->addItem(ElementTranslator::name(9) + " (9)");
-    m_elementsIndex.append(9);
-    ui.elementCombo->addItem(ElementTranslator::name(15) + " (15)");
-    m_elementsIndex.append(15);
-    ui.elementCombo->addItem(ElementTranslator::name(16) + " (16)");
-    m_elementsIndex.append(16);
-    ui.elementCombo->addItem(ElementTranslator::name(17) + " (17)");
-    m_elementsIndex.append(17);
-    ui.elementCombo->addItem(ElementTranslator::name(35) + " (35)");
-    m_elementsIndex.append(35);
-    ui.elementCombo->addItem(i18nc("Other element", "Other..."));
-    m_elementsIndex.append(0);
-    ui.elementCombo->setCurrentIndex(2);
-}
-
-void MoleculeDialog::slotElementChanged(int element)
-{
-    // Check if other was chosen
-    if (m_elementsIndex[element] == 0) {
-        if (!m_periodicTable) {
-            m_periodicTable = new PeriodicTableView(this);
-            connect(m_periodicTable, SIGNAL(elementChanged(int)),
-                    this, SLOT(slotCustomElementChanged(int)));
-        }
-        m_periodicTable->show();
-        return;
-    }
-
-    m_drawSettings->setValue("currentElement", m_elementsIndex[element]);
-//     ui.glWidget->toolGroup()->activeTool()->readSettings(*m_drawSettings);//FIXME:Avogadro2
                
-}
-
-void MoleculeDialog::slotCustomElementChanged(int element)
-{
-    // Set the element so we can draw with it
-    m_drawSettings->setValue("currentElement", element);
-    if (ui.glWidget->activeTool()) {
-//         ui.glWidget->toolGroup()->activeTool()->readSettings(*m_drawSettings);//FIXME:Avogadro2
                
-    }
-
-    // Check to see if we already have this in the comboBox list
-    // If not, we get back -1 and need to create a new item
-    int comboItem = m_elementsIndex.indexOf(element);
-    if (comboItem != -1) {
-        ui.elementCombo->setCurrentIndex(comboItem);
-        return; // we found it in the list, so we're done
-    }
-
-    // Find where we should put the new entry
-    // (i.e., in order by atomic number)
-    int position = 0;
-    foreach (int entry, m_elementsIndex) {
-        // Two cases: entry > index -- insert the new element before this one
-        // Or... we hit the "Other" menu choice -- also insert here
-        if (entry > element || entry == 0) {
-            break;
-        }
-
-        ++position;
-    }
-
-    // And now we set up a new entry into the combo list
-    QString entryName(ElementTranslator::name(element)); // (e.g., "Hydrogen")
-    entryName += " (" + QString::number(element) + ')';
-
-    m_elementsIndex.insert(position, element);
-    ui.elementCombo->insertItem(position, entryName);
-    ui.elementCombo->setCurrentIndex(position);
-}
-
-void MoleculeDialog::slotBondOrderChanged(int bond)
-{
-    m_drawSettings->setValue("bondOrder", bond+1);
-    if (ui.glWidget->activeTool()) {
-//         ui.glWidget->toolGroup()->activeTool()->readSettings(*m_drawSettings);//FIXME:Avogadro2
                
-    }
-}
-
-void MoleculeDialog::slotAddHydrogensChanged(int hydrogens)
-{
-    m_drawSettings->setValue("addHydrogens", hydrogens);
-    if (ui.glWidget->activeTool()) {
-//         ui.glWidget->toolGroup()->activeTool()->readSettings(*m_drawSettings);//FIXME:Avogadro2
                
-    }
-}
-
-void MoleculeDialog::slotAdjustHydrogens()
-{
-    // Add/remove hydrogens from the molecule
-    if (!m_addHydrogens) {
-        ui.hydrogensButton->setText(i18n("Remove hydrogens"));
-//         ui.glWidget->molecule()->addHydrogens();//FIXME:Avogadro2
-        m_addHydrogens = true;
-    } else {
-        ui.hydrogensButton->setText(i18n("Add hydrogens"));
-//         ui.glWidget->molecule()->removeHydrogens();//FIXME:Avogadro2
-        m_addHydrogens = false;
-    }
-//     ui.glWidget->molecule()->update();//FIXME:Avogadro2
-}
-
 void MoleculeDialog::slotGeometryOptimize()
 {
     // Perform a geometry optimization
diff --git a/src/tools/moleculeview.h b/src/tools/moleculeview.h
index fd36469..2a9909a 100644
--- a/src/tools/moleculeview.h
+++ b/src/tools/moleculeview.h
@@ -51,15 +51,9 @@ private:
     Avogadro::QtGui::PeriodicTableView *m_periodicTable;
     OpenBabel::OBForceField* m_forceField;
     QSettings *m_drawSettings;
-    bool m_addHydrogens;
 
     Ui::moleculeViewerForm ui;
 
-    /**
-    * Set up the element combo box
-    */
-    void elementCombo();
-
 private slots:
     /**
      * Load a molecule
@@ -87,36 +81,11 @@ private slots:
     void setViewEdit(int mode);
 
     /**
-    * Current element has changed
-    */
-    void slotElementChanged(int element);
-
-    /**
-    * Custom element has been selected
-    */
-    void slotCustomElementChanged(int);
-
-    /**
-    * Bond order has been changed
-    */
-    void slotBondOrderChanged(int);
-
-    /**
-    * Automatic hydrogen addition on drawing
-    */
-    void slotAddHydrogensChanged(int);
-
-    /**
     * Update the statistical information about the current molecule
     */
     void slotUpdateStatistics();
 
     /**
-    * Add/remove hydrogens
-    */
-    void slotAdjustHydrogens();
-
-    /**
     * Geometry optimization
     */
     void slotGeometryOptimize();
diff --git a/src/tools/moleculeviewerwidget.ui b/src/tools/moleculeviewerwidget.ui
index 347d393..9b84f4d 100644
--- a/src/tools/moleculeviewerwidget.ui
+++ b/src/tools/moleculeviewerwidget.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>800</width>
-    <height>520</height>
+    <width>760</width>
+    <height>523</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -17,334 +17,269 @@
    </sizepolicy>
   </property>
   <layout class="QGridLayout" name="gridLayout">
+   <item row="0" column="1">
+    <widget class="QWidget" name="widget_2" native="true">
+     <layout class="QVBoxLayout" name="verticalLayout_6">
+      <item>
+       <layout class="QGridLayout" name="gridLayout_3">
+        <item row="0" column="0">
+         <widget class="QLabel" name="labelStyle">
+          <property name="text">
+           <string>Style:</string>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+          </property>
+          <property name="buddy">
+           <cstring>styleCombo</cstring>
+          </property>
+         </widget>
+        </item>
+        <item row="0" column="1">
+         <layout class="QHBoxLayout" name="horizontalLayout_5">
+          <item>
+           <widget class="QComboBox" name="styleCombo">
+            <property name="minimumSize">
+             <size>
+              <width>160</width>
+              <height>0</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+       </layout>
+      </item>
+      <item>
+       <widget class="KalziumGLWidget" name="glWidget" native="true">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+          <horstretch>10</horstretch>
+          <verstretch>10</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="minimumSize">
+         <size>
+          <width>240</width>
+          <height>240</height>
+         </size>
+        </property>
+        <property name="sizeIncrement">
+         <size>
+          <width>10</width>
+          <height>10</height>
+         </size>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
    <item row="0" column="0">
-    <widget class="QTabWidget" name="tabWidget">
-     <property name="currentIndex">
-      <number>0</number>
+    <widget class="QWidget" name="widget" native="true">
+     <property name="maximumSize">
+      <size>
+       <width>300</width>
+       <height>16777215</height>
+      </size>
      </property>
-     <widget class="QWidget" name="display">
-      <attribute name="title">
-       <string>Display</string>
-      </attribute>
-      <layout class="QVBoxLayout" name="verticalLayout">
-       <item>
-        <layout class="QGridLayout" name="gridLayout_3">
-         <item row="0" column="0">
-          <widget class="QLabel" name="label_2">
-           <property name="text">
-            <string>Style:</string>
-           </property>
-           <property name="alignment">
-            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-           </property>
-           <property name="buddy">
-            <cstring>styleCombo</cstring>
-           </property>
+     <layout class="QVBoxLayout" name="verticalLayout_4">
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_3">
+        <item>
+         <widget class="QTabWidget" name="tabWidget">
+          <property name="currentIndex">
+           <number>0</number>
+          </property>
+          <widget class="QWidget" name="display">
+           <attribute name="title">
+            <string>Display</string>
+           </attribute>
+           <layout class="QVBoxLayout" name="verticalLayout">
+            <item>
+             <widget class="QLabel" name="label">
+              <property name="enabled">
+               <bool>true</bool>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>266</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="text">
+               <string>Load a molecule and use the mouse pointer and scroll wheel to \
change the view point.</string> +              </property>
+              <property name="wordWrap">
+               <bool>true</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="spacer">
+              <property name="orientation">
+               <enum>Qt::Vertical</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>148</width>
+                <height>43</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
           </widget>
-         </item>
-         <item row="0" column="1">
-          <layout class="QHBoxLayout" name="horizontalLayout_5">
-           <item>
-            <widget class="QComboBox" name="styleCombo">
-             <property name="minimumSize">
-              <size>
-               <width>160</width>
-               <height>0</height>
-              </size>
+          <widget class="QWidget" name="edit">
+           <attribute name="title">
+            <string>Edit</string>
+           </attribute>
+           <layout class="QVBoxLayout" name="verticalLayout_2">
+            <item>
+             <layout class="QVBoxLayout" name="editTabLayout">
+              <item>
+               <widget class="QPushButton" name="optimizeButton">
+                <property name="text">
+                 <string>Optimize</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="spacer_2">
+                <property name="orientation">
+                 <enum>Qt::Vertical</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>88</width>
+                  <height>43</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item>
+               <widget class="QPushButton" name="clearDrawingButton">
+                <property name="text">
+                 <string>Clear drawing</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+           </layout>
+          </widget>
+          <widget class="QWidget" name="measure">
+           <attribute name="title">
+            <string>Measure</string>
+           </attribute>
+           <widget class="QLabel" name="label_10">
+            <property name="geometry">
+             <rect>
+              <x>20</x>
+              <y>20</y>
+              <width>221</width>
+              <height>141</height>
+             </rect>
+            </property>
+            <property name="text">
+             <string>Click on 2 atoms to measure a distance, on 3 atoms to measure \
an angle, on 4 atoms to measure a dihedral angle.</string> +            </property>
+            <property name="alignment">
+             <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+            </property>
+            <property name="wordWrap">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </widget>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item>
+       <widget class="QGroupBox" name="groupBox">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="minimumSize">
+         <size>
+          <width>240</width>
+          <height>110</height>
+         </size>
+        </property>
+        <property name="title">
+         <string>Statistics</string>
+        </property>
+        <layout class="QGridLayout">
+         <item row="0" column="0">
+          <layout class="QGridLayout">
+           <item row="0" column="0">
+            <widget class="QLabel" name="label_3">
+             <property name="text">
+              <string>Name:</string>
+             </property>
+             <property name="alignment">
+              <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
              </property>
             </widget>
            </item>
-          </layout>
-         </item>
-         <item row="1" column="1">
-          <layout class="QHBoxLayout" name="horizontalLayout_4"/>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <spacer name="spacer">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>148</width>
-           <height>43</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="edit">
-      <attribute name="title">
-       <string>Edit</string>
-      </attribute>
-      <layout class="QVBoxLayout" name="verticalLayout_2">
-       <item>
-        <layout class="QGridLayout" name="gridLayout_2">
-         <item row="0" column="0">
-          <widget class="QLabel" name="label_6">
-           <property name="text">
-            <string>Element:</string>
-           </property>
-           <property name="alignment">
-            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-           </property>
-          </widget>
-         </item>
-         <item row="0" column="1">
-          <layout class="QHBoxLayout" name="horizontalLayout_2">
-           <item>
-            <widget class="KComboBox" name="elementCombo"/>
+           <item row="0" column="1">
+            <widget class="QLabel" name="nameLabel">
+             <property name="text">
+              <string/>
+             </property>
+            </widget>
            </item>
-           <item>
-            <spacer name="horizontalSpacer_4">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
+           <item row="1" column="0">
+            <widget class="QLabel" name="label_7">
+             <property name="text">
+              <string>Formula:</string>
              </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>40</width>
-               <height>20</height>
-              </size>
+             <property name="alignment">
+              <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
              </property>
-            </spacer>
+            </widget>
            </item>
-          </layout>
-         </item>
-         <item row="1" column="0">
-          <widget class="QLabel" name="label_8">
-           <property name="text">
-            <string>Bond Order:</string>
-           </property>
-           <property name="alignment">
-            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-           </property>
-          </widget>
-         </item>
-         <item row="1" column="1">
-          <layout class="QHBoxLayout" name="horizontalLayout_3">
-           <item>
-            <widget class="KComboBox" name="bondCombo"/>
+           <item row="1" column="1">
+            <widget class="QLabel" name="formulaLabel">
+             <property name="text">
+              <string/>
+             </property>
+            </widget>
            </item>
-           <item>
-            <spacer name="horizontalSpacer_3">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
+           <item row="2" column="0">
+            <widget class="QLabel" name="label_4">
+             <property name="text">
+              <string>Weight:</string>
              </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>40</width>
-               <height>20</height>
-              </size>
+             <property name="alignment">
+              <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
              </property>
-            </spacer>
+            </widget>
+           </item>
+           <item row="2" column="1">
+            <widget class="QLabel" name="weightLabel">
+             <property name="text">
+              <string/>
+             </property>
+            </widget>
            </item>
           </layout>
          </item>
         </layout>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="hydrogenBox">
-         <property name="text">
-          <string>Adjust Hydrogens Automatically</string>
-         </property>
-         <property name="checked">
-          <bool>false</bool>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" name="horizontalLayout_8">
-         <item>
-          <widget class="QPushButton" name="hydrogensButton">
-           <property name="text">
-            <string>Add Hydrogens</string>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" name="horizontalLayout">
-         <item>
-          <widget class="QPushButton" name="optimizeButton">
-           <property name="text">
-            <string>Optimize</string>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <spacer name="spacer_2">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>88</width>
-           <height>43</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item>
-        <widget class="QPushButton" name="clearDrawingButton">
-         <property name="text">
-          <string>Clear drawing</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="measure">
-      <attribute name="title">
-       <string>Measure</string>
-      </attribute>
-      <widget class="QLabel" name="label_10">
-       <property name="geometry">
-        <rect>
-         <x>20</x>
-         <y>20</y>
-         <width>221</width>
-         <height>141</height>
-        </rect>
-       </property>
-       <property name="text">
-        <string>Click on 2 atoms to measure a distance, on 3 atoms to measure an \
                angle, on 4 atoms to measure a dihedral angle.</string>
-       </property>
-       <property name="alignment">
-        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
-       </property>
-       <property name="wordWrap">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </widget>
-    </widget>
-   </item>
-   <item row="0" column="1" rowspan="3">
-    <widget class="KalziumGLWidget" name="glWidget" native="true">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-       <horstretch>10</horstretch>
-       <verstretch>10</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>240</width>
-       <height>240</height>
-      </size>
-     </property>
-     <property name="sizeIncrement">
-      <size>
-       <width>10</width>
-       <height>10</height>
-      </size>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0">
-    <widget class="QGroupBox" name="groupBox">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>240</width>
-       <height>110</height>
-      </size>
-     </property>
-     <property name="title">
-      <string>Statistics</string>
-     </property>
-     <layout class="QGridLayout">
-      <item row="0" column="0">
-       <layout class="QGridLayout">
-        <item row="0" column="0">
-         <widget class="QLabel" name="label_3">
-          <property name="text">
-           <string>Name:</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item row="0" column="1">
-         <widget class="QLabel" name="nameLabel">
-          <property name="text">
-           <string/>
-          </property>
-         </widget>
-        </item>
-        <item row="1" column="0">
-         <widget class="QLabel" name="label_7">
-          <property name="text">
-           <string>Formula:</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item row="1" column="1">
-         <widget class="QLabel" name="formulaLabel">
-          <property name="text">
-           <string/>
-          </property>
-         </widget>
-        </item>
-        <item row="2" column="0">
-         <widget class="QLabel" name="label_4">
-          <property name="text">
-           <string>Weight:</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item row="2" column="1">
-         <widget class="QLabel" name="weightLabel">
-          <property name="text">
-           <string/>
-          </property>
-         </widget>
-        </item>
-       </layout>
+       </widget>
       </item>
      </layout>
     </widget>
    </item>
-   <item row="2" column="0">
-    <spacer>
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>237</width>
-       <height>194</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
   </layout>
  </widget>
  <customwidgets>
   <customwidget>
-   <class>KComboBox</class>
-   <extends>QComboBox</extends>
-   <header>kcombobox.h</header>
-  </customwidget>
-  <customwidget>
    <class>KalziumGLWidget</class>
    <extends>QWidget</extends>
    <header>../../compoundviewer/kalziumglwidget.h</header>
@@ -352,11 +287,7 @@
   </customwidget>
  </customwidgets>
  <tabstops>
-  <tabstop>tabWidget</tabstop>
   <tabstop>styleCombo</tabstop>
-  <tabstop>elementCombo</tabstop>
-  <tabstop>bondCombo</tabstop>
-  <tabstop>hydrogenBox</tabstop>
   <tabstop>optimizeButton</tabstop>
  </tabstops>
  <resources/>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic