]> Softwares of Agnibho - ddstorm.git/blobdiff - __main__.py
Major code rearrangement
[ddstorm.git] / __main__.py
index 1b430c221ab74992c142930a43b151b77ccebbe1..2d7ca4691ba380055c2bf56aed10a910735370fd 100644 (file)
 #! /usr/bin/python3
 
-# DDStorm
-# -------
-# Copyright (c) 2015 Agnibho Mondal
-# All rights reserved
+'''
+Start the application
+'''
+'''
+Copyright (c) 2015 Agnibho Mondal
+All rights reserved
 
-This file is part of DDStorm.
+This file is part of DDStorm.
 
-DDStorm 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 3 of the License, or
-(at your option) any later version.
+DDStorm 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 3 of the License, or
+(at your option) any later version.
 
-DDStorm is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+DDStorm is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-# You should have received a copy of the GNU General Public License
-# along with DDStorm.  If not, see <http://www.gnu.org/licenses/>.
+You should have received a copy of the GNU General Public License
+along with DDStorm.  If not, see <http://www.gnu.org/licenses/>.
+'''
 
-import sys, time, subprocess
-from PyQt4 import QtGui, QtCore
-from _symptoms import Symptoms
-from _differentials import Differentials
-from ddstorm import DDStorm
-from conf import Conf
-from _extras import *
-from const import *
-
-conf=False
-
-class Content(QtGui.QWidget):
-    change=QtCore.pyqtSignal()
-    def __init__(self):
-        super(Content, self).__init__()
-        self.dd=DDStorm(True,conf)
-        if(not self.dd.compiler.clean):
-            ret=QtGui.QMessageBox.warning(self, "Compilation Error", "Error was encountered while compiling the Knowledgebase.", "Ignore", "View Log")
-            if(ret==1):
-                x_logfile()
-        self.initUI()
-    def initUI(self):
-        global conf
-
-        grid=QtGui.QGridLayout()
-        self.setLayout(grid)
-
-        self.symp=Symptoms(self.dd.symptoms())
-        self.symp.setFrameShape(QtGui.QFrame.StyledPanel)
-        self.symp.changed.connect(self.update)
-
-        self.diff=Differentials()
-        self.diff.setFrameShape(QtGui.QFrame.StyledPanel)
-
-        grid.addWidget(self.symp, 0, 0)
-        grid.addWidget(self.diff, 0, 1)
-        grid.setColumnStretch(0, 1)
-        grid.setColumnStretch(1, 1)
-        QtGui.QApplication.setStyle(QtGui.QStyleFactory.create("Cleanlooks"))
-    def update(self, data):
-        self.diff.update(self.dd.dd(data))
-        self.change.emit()
-
-class Window(QtGui.QMainWindow):
-    def __init__(self):
-        super(Window, self).__init__()
-        self.initUI()
-    def initUI(self):
-        global conf
-        self.con=Content()
-        self.sett=SettingsDialog(conf)
-        if(conf.get("status_message")=="on"):
-            self.con.change.connect(self.showStatus)
-
-        menu=self.menuBar()
-        menuFile=menu.addMenu("&File")
-        menuFile.addAction("&Save").triggered.connect(self.savefile)
-        menuFile.addAction("E&xit").triggered.connect(self.close)
-        menuEdit=menu.addMenu("&Edit")
-        menuEdit.addAction("&Add").triggered.connect(self.con.symp.addItem)
-        menuEdit.addAction("&Browse Symptoms").triggered.connect(self.con.symp.browseSymptoms)
-        rmAction=QtGui.QAction("&Remove", self)
-        rmAction.setShortcut("Delete")
-        rmAction.triggered.connect(self.con.symp.remove)
-        menuEdit.addAction(rmAction)
-        menuEdit.addAction("&Clear All").triggered.connect(self.con.symp.removeAll)
-        menuTool=menu.addMenu("&Tools")
-        menuTool.addAction("&Library").triggered.connect(x_lib)
-        menuTool.addAction("&Settings").triggered.connect(self.settings)
-        menuTool.addAction("&View Log").triggered.connect(x_logfile)
-        menuHelp=menu.addMenu("&Help")
-        menuHelp.addAction("&Help").triggered.connect(x_help)
-        menuHelp.addAction("&About").triggered.connect(self.about)
-
-        self.setCentralWidget(self.con)
-        self.status=self.statusBar()
-        self.setGeometry(200, 200, 600, 400)
-        self.setWindowTitle("D/D Storm")
-        self.setWindowIcon(QtGui.QIcon("icons/icon.png"))
-        self.showMaximized()
-        self.con.symp.new.setFocus()
-    def showStatus(self):
-        if(self.con.symp.getList() and self.con.diff.getList()):
-            self.status.showMessage(str(len(self.con.diff.getList()))+" differential diagnosis for "+str(len(self.con.symp.getList()))+" symptom(s).")
-        else:
-            self.status.showMessage("")
-    def savefile(self):
-        x_save(self, self.con.symp.getList(), self.con.diff.getList())
-    def settings(self):
-        self.sett.exec_()
-    def about(self):
-        QtGui.QMessageBox.about(self, "About", "<h1>DDStorm</h1>\nBrainstorm Medicine")
-
-def main():
-    app=QtGui.QApplication(sys.argv)
-    
-    global conf
-    conf=Conf()
-    if(conf.get("clean_log")=="yes"):
-        open(LOG_FILE, "w").close()
-    if(conf.get("splash_screen")=="yes"):
-        ss=True
-    else:
-        ss=False
-    if(ss):
-        splash=QtGui.QSplashScreen(QtGui.QPixmap("icons/splash.png"))
-        splash.show()
-        time.sleep(0.1)
-        app.processEvents()
-        splash.showMessage("Loading...")
-
-    w=Window()
-    if(ss):
-        splash.finish(w)
-    
-    sys.exit(app.exec_())
+import gui
 
 if(__name__=="__main__"):
-    main()
+    gui.main()