summaryrefslogtreecommitdiffstats
path: root/kalzium/src/kalzium.h
diff options
context:
space:
mode:
Diffstat (limited to 'kalzium/src/kalzium.h')
-rw-r--r--kalzium/src/kalzium.h189
1 files changed, 189 insertions, 0 deletions
diff --git a/kalzium/src/kalzium.h b/kalzium/src/kalzium.h
new file mode 100644
index 00000000..5837607b
--- /dev/null
+++ b/kalzium/src/kalzium.h
@@ -0,0 +1,189 @@
+/***************************************************************************
+ copyright : (C) 2003, 2004, 2005 by Carsten Niehaus
+ email : cniehaus@kde.org
+ ***************************************************************************/
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+#ifndef _KALZIUM_H_
+#define _KALZIUM_H_
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <kmainwindow.h>
+
+class KSelectAction;
+class KToggleAction;
+class QuizsettingsDlg;
+class SliderWidget;
+class QToolBox;
+class QVBoxLayout;
+class QDockWindow;
+class TempSlider;
+class DetailedInfoDlg;
+class PerodicTableView;
+class MolcalcWidget;
+class DetailedGraphicalOverview;
+class TimeWidgetIMPL;
+class SOMWidgetIMPL;
+class GlossaryDialog;
+
+/**
+ * @short Application Main Window
+ * @author Carsten Niehaus <cniehaus@kde.org>
+ * @version 1.2
+ *
+ * This class connects the parts of kalzium. All actions will
+ * be set, the menu generated and so on.
+ */
+class Kalzium : public KMainWindow
+{
+ Q_OBJECT
+ public:
+ /**
+ * Default Constructor
+ */
+ Kalzium();
+
+ /**
+ * Default Destructor
+ */
+ virtual ~Kalzium();
+
+ private:
+ class privatedata;
+ friend class privatedata;
+ privatedata* pd;
+
+ DetailedInfoDlg *m_infoDialog;
+
+ /**
+ * this pointer points to the PerodicTableView.
+ */
+ PerodicTableView *m_PerodicTableView;
+
+ /**
+ *initialize actions
+ */
+ void setupActions();
+
+ /**
+ *initialize the sidebars
+ */
+ void setupSidebars();
+
+ /**
+ * Signal the PerodicTableView that it should do a full draw operation
+ */
+ void setFullDraw();
+
+ /**
+ * all KActions Kalzium uses
+ */
+ KSelectAction *gradient_action;
+ KSelectAction *numeration_action;
+ KAction *m_pPlotAction,
+ *m_pGlossaryAction;
+
+ KAction *m_pTooltipAction;
+ KAction *m_pLegendAction;
+ KAction *m_SidebarAction;
+ KAction *m_EQSolverAction;
+
+ KToggleAction *m_actionNoScheme;
+ KToggleAction *m_actionGroups;
+ KToggleAction *m_actionBlocks;
+ KToggleAction *m_actionAcid;
+ KToggleAction *m_actionFamily;
+ KToggleAction *m_actionCrystal;
+
+ /**
+ * the layout of the central Widget ( CentralWidget )
+ */
+ QVBoxLayout *m_pCentralLayout;
+
+ MolcalcWidget *m_calcWidget;
+
+ TimeWidgetIMPL *m_timeWidget;
+
+ SOMWidgetIMPL *m_somWidget;
+
+ DetailedGraphicalOverview *m_detailWidget;
+
+ QDockWindow *m_dockWin;
+ QToolBox *m_toolbox;
+ int m_toolboxCurrent;
+
+ GlossaryDialog *m_glossarydlg;
+
+ private slots:
+ /**
+ * opens the information dialog for the element @p number
+ */
+ void openInformationDialog( int number );
+
+ void slotStatusbar( int num );
+ void setupStatusBar();
+
+
+ /**
+ * this slot switches Kalzium to the selected color scheme
+ */
+ void slotShowScheme(int);
+
+ void slotShowEQSolver();
+
+ void slotShowLegend();
+
+ /**
+ * Hide or show the tooltips
+ */
+ void slotEnableTooltips();
+
+ /**
+ * start the glossary
+ */
+ void slotGlossary();
+
+ void slotSwitchtoNumeration(int);
+
+ /**
+ * this will make the periodic table display the gradient
+ * defined by @p int gradient
+ */
+ void slotSwitchtoGradient(int gradient);
+
+ void slotPlotData();
+
+ void slotUpdateSettings();
+
+ void slotNoLook();
+
+ void slotLookGroups();
+ void slotLookBlocks();
+ void slotLookAcidBehavior();
+ void slotLookFamily();
+ void slotLookCrystal();
+
+ /**
+ * These slots are for the standard actions
+ */
+ void showSettingsDialog();
+
+ void slotToolboxCurrentChanged(int);
+
+ void slotSelectedNumber(int);
+
+ void slotShowHideSidebar();
+
+ void slotSidebarVisibilityChanged(bool);
+};
+
+#endif // _KALZIUM_H_