Warning, file /education/kalzium/src/kalzium.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2003, 2004, 2005, 2006, 2007 Carsten Niehaus <cniehaus@kde.org> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef KALZIUM_H 0007 #define KALZIUM_H 0008 0009 #include "calculator/calculator.h" 0010 #include "elementdataviewer.h" 0011 #include "isotopetabledialog.h" 0012 #include "periodictableview.h" 0013 #include "rsdialog.h" 0014 #include "settings/kalziumconfigdialog.h" 0015 #include "tablesdialog.h" 0016 #include <kxmlguiwindow.h> 0017 0018 class KAction; 0019 class KSelectAction; 0020 class QToolBox; 0021 class QDockWidget; 0022 class DetailedInfoDlg; 0023 class PeriodicTableView; 0024 class DetailedGraphicalOverview; 0025 class GradientWidgetImpl; 0026 class GlossaryDialog; 0027 class IsotopeTable; 0028 class LegendWidget; 0029 class TableInfoWidget; 0030 class ExportDialog; 0031 class MoleculeDialog; 0032 0033 /** 0034 * @brief Application Main Window 0035 * @author Carsten Niehaus <cniehaus@kde.org> 0036 * @version 1.2 0037 * 0038 * This class connects the parts of kalzium. All actions will 0039 * be set, the menu generated and so on. 0040 */ 0041 class Kalzium : public KXmlGuiWindow 0042 { 0043 Q_OBJECT 0044 public: 0045 /** 0046 * Default Constructor 0047 */ 0048 Kalzium(); 0049 0050 /** 0051 * Default Destructor 0052 */ 0053 ~Kalzium() override; 0054 0055 void loadMolecule(const QString &moleculeFile); 0056 0057 private: 0058 DetailedInfoDlg *m_infoDialog; 0059 0060 LegendWidget *m_legendWidget; 0061 0062 TableInfoWidget *m_TableInfoWidget; 0063 0064 PeriodicTableView *m_periodicTable; 0065 0066 IsotopeTableDialog *m_isotopeDialog; 0067 0068 ElementDataViewer *m_elementDataPlotter; 0069 0070 TablesDialog *m_tablesDialog; 0071 0072 RSDialog *m_rsDialog; 0073 0074 calculator *m_calculator; 0075 0076 /** 0077 *initialize actions 0078 */ 0079 void setupActions(); 0080 0081 /** 0082 *initialize the sidebars 0083 */ 0084 void setupSidebars(); 0085 0086 void extractIconicInformationAboutElement(int elementNumber); 0087 0088 /** 0089 * all KActions Kalzium uses 0090 */ 0091 KSelectAction *look_action_schemes; 0092 KSelectAction *look_action_gradients; 0093 0094 KSelectAction *table_action; 0095 KSelectAction *table_action_schemes; 0096 KSelectAction *numeration_action; 0097 // settings 0098 QAction *m_pLegendAction; 0099 QAction *m_SidebarAction; 0100 // tools 0101 QAction *m_pPlotAction; 0102 QAction *m_pcalculator; 0103 QAction *m_pIsotopeTableAction; 0104 QAction *m_pGlossaryAction; 0105 QAction *m_pRSAction; 0106 QAction *m_pTables; 0107 QAction *m_pMoleculesviewer; 0108 QAction *m_pOBConverterAction; 0109 QAction *export_action; 0110 0111 QAction *m_legendAction; 0112 0113 GradientWidgetImpl *m_gradientWidget; 0114 0115 DetailedGraphicalOverview *m_detailWidget; 0116 0117 /** 0118 * the dock of the central pse Widget 0119 */ 0120 QDockWidget *m_dockWin; 0121 QDockWidget *m_legendDock; 0122 QDockWidget *m_tableDock; 0123 0124 QToolBox *m_toolbox; 0125 0126 GlossaryDialog *m_glossarydlg; 0127 0128 ExportDialog *m_exportDialog; 0129 0130 KalziumConfigDialog *m_configDialog; 0131 0132 QLabel *m_elementInfo; 0133 0134 Q_SIGNALS: 0135 void numerationChanged(int); 0136 0137 private Q_SLOTS: 0138 /** 0139 * opens the information dialog for the element @p number 0140 */ 0141 void openInformationDialog(int number); 0142 0143 void elementHover(int num); 0144 void setupStatusBar(); 0145 0146 /** 0147 * switched to the table with the index @p index 0148 */ 0149 void slotSwitchtoTable(int index); 0150 0151 /** 0152 * start the glossary 0153 */ 0154 void slotGlossary(); 0155 0156 /** 0157 * show the R/S-phrases 0158 */ 0159 void slotRS(); 0160 0161 MoleculeDialog *slotMoleculeviewer(); 0162 0163 void slotOBConverter(); 0164 0165 void slotTables(); 0166 0167 void slotSwitchtoLookGradient(int); 0168 void slotSwitchtoLookScheme(int); 0169 void slotSwitchtoNumeration(int); 0170 0171 /** 0172 *start the isotopetable 0173 */ 0174 void slotIsotopeTable(); 0175 0176 void slotPlotData(); 0177 /** 0178 * Start the calculator 0179 */ 0180 void showCalculator(); 0181 0182 void slotExportTable(); 0183 0184 void slotShowExportDialog(); 0185 0186 /** 0187 * These slots are for the standard actions 0188 */ 0189 void showSettingsDialog(); 0190 0191 void slotUpdateSettings(); 0192 0193 protected: 0194 QSize sizeHint() const override; 0195 }; 0196 0197 #endif // KALZIUM_H