X-Git-Url: https://code.agnibho.com/repo?p=ddstorm.git;a=blobdiff_plain;f=__main__.py;fp=__main__.py;h=2d7ca4691ba380055c2bf56aed10a910735370fd;hp=1b430c221ab74992c142930a43b151b77ccebbe1;hb=717bb15e56a14b4d814054c5bd5d15a9b4c9e20f;hpb=ad3c926d180f5d843b77db44c2b2449cdffeec34 diff --git a/__main__.py b/__main__.py index 1b430c2..2d7ca46 100644 --- a/__main__.py +++ b/__main__.py @@ -1,141 +1,29 @@ #! /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 . +You should have received a copy of the GNU General Public License +along with DDStorm. If not, see . +''' -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", "

DDStorm

\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()