Added graphwindow

This commit is contained in:
arcan1s
2013-08-10 04:06:51 +04:00
parent 1c238fcc81
commit 063e74a472
19 changed files with 572 additions and 70 deletions

View File

@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: mathmech
# Generated by qmake (2.01a) (Qt 4.8.5) on: ?? ??? 9 20:52:33 2013
# Generated by qmake (2.01a) (Qt 4.8.5) on: ?? ??? 10 04:06:18 2013
# Project: mathmech.pro
# Template: app
# Command: /usr/lib/qt4/bin/qmake -o Makefile mathmech.pro
@ -10,13 +10,13 @@
CC = gcc
CXX = g++
DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
DEFINES = -DQWT_DLL -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS = -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS = -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -Wall -W -D_REENTRANT $(DEFINES)
INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I.
INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I. -I/usr/include/qwt -I. -I.
LINK = g++
LFLAGS = -Wl,-O1,--sort-common,--as-needed,-z,relro -Wl,-O1
LIBS = $(SUBLIBS) -L/usr/lib -lQtGui -lQtCore -lpthread
LFLAGS = -Wl,-O1,--sort-common,--as-needed,-z,relro -Wl,-O1 -lrt
LIBS = $(SUBLIBS) -L/usr/lib -L/usr/lib -lqwt -lQtSvg -lQtGui -lQtCore -lpthread
AR = ar cqs
RANLIB =
QMAKE = /usr/lib/qt4/bin/qmake
@ -53,7 +53,8 @@ SOURCES = main.cpp \
agglwindow.cpp \
aboutwindow.cpp \
statgengraphwindow.cpp \
settingswindow.cpp moc_mainwindow.cpp \
settingswindow.cpp \
aglallwindow.cpp moc_mainwindow.cpp \
moc_errorwindow.cpp \
moc_clear_items.cpp \
moc_start_events.cpp \
@ -62,7 +63,8 @@ SOURCES = main.cpp \
moc_agglwindow.cpp \
moc_aboutwindow.cpp \
moc_statgengraphwindow.cpp \
moc_settingswindow.cpp
moc_settingswindow.cpp \
moc_aglallwindow.cpp
OBJECTS = main.o \
mainwindow.o \
errorwindow.o \
@ -74,6 +76,7 @@ OBJECTS = main.o \
aboutwindow.o \
statgengraphwindow.o \
settingswindow.o \
aglallwindow.o \
moc_mainwindow.o \
moc_errorwindow.o \
moc_clear_items.o \
@ -83,7 +86,8 @@ OBJECTS = main.o \
moc_agglwindow.o \
moc_aboutwindow.o \
moc_statgengraphwindow.o \
moc_settingswindow.o
moc_settingswindow.o \
moc_aglallwindow.o
DIST = /usr/share/qt4/mkspecs/common/unix.conf \
/usr/share/qt4/mkspecs/common/linux.conf \
/usr/share/qt4/mkspecs/common/gcc-base.conf \
@ -99,6 +103,9 @@ DIST = /usr/share/qt4/mkspecs/common/unix.conf \
/usr/share/qt4/mkspecs/features/default_pre.prf \
/usr/share/qt4/mkspecs/features/release.prf \
/usr/share/qt4/mkspecs/features/default_post.prf \
/usr/share/qt4/mkspecs/features/qwtconfig.pri \
/usr/share/qt4/mkspecs/features/qwtfunctions.pri \
/usr/share/qt4/mkspecs/features/qwt.prf \
/usr/share/qt4/mkspecs/features/shared.prf \
/usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
/usr/share/qt4/mkspecs/features/warn_on.prf \
@ -139,7 +146,7 @@ first: all
all: Makefile $(TARGET)
$(TARGET): ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h $(OBJECTS)
$(TARGET): ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h ui_aglallwindow.h $(OBJECTS)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
Makefile: mathmech.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/unix.conf \
@ -157,6 +164,9 @@ Makefile: mathmech.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/q
/usr/share/qt4/mkspecs/features/default_pre.prf \
/usr/share/qt4/mkspecs/features/release.prf \
/usr/share/qt4/mkspecs/features/default_post.prf \
/usr/share/qt4/mkspecs/features/qwtconfig.pri \
/usr/share/qt4/mkspecs/features/qwtfunctions.pri \
/usr/share/qt4/mkspecs/features/qwt.prf \
/usr/share/qt4/mkspecs/features/shared.prf \
/usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
/usr/share/qt4/mkspecs/features/warn_on.prf \
@ -168,6 +178,7 @@ Makefile: mathmech.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/q
/usr/share/qt4/mkspecs/features/yacc.prf \
/usr/share/qt4/mkspecs/features/lex.prf \
/usr/share/qt4/mkspecs/features/include_source_dir.prf \
/usr/lib/libQtSvg.prl \
/usr/lib/libQtGui.prl \
/usr/lib/libQtCore.prl
$(QMAKE) -o Makefile mathmech.pro
@ -186,6 +197,9 @@ Makefile: mathmech.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/q
/usr/share/qt4/mkspecs/features/default_pre.prf:
/usr/share/qt4/mkspecs/features/release.prf:
/usr/share/qt4/mkspecs/features/default_post.prf:
/usr/share/qt4/mkspecs/features/qwtconfig.pri:
/usr/share/qt4/mkspecs/features/qwtfunctions.pri:
/usr/share/qt4/mkspecs/features/qwt.prf:
/usr/share/qt4/mkspecs/features/shared.prf:
/usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf:
/usr/share/qt4/mkspecs/features/warn_on.prf:
@ -197,6 +211,7 @@ Makefile: mathmech.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/q
/usr/share/qt4/mkspecs/features/yacc.prf:
/usr/share/qt4/mkspecs/features/lex.prf:
/usr/share/qt4/mkspecs/features/include_source_dir.prf:
/usr/lib/libQtSvg.prl:
/usr/lib/libQtGui.prl:
/usr/lib/libQtCore.prl:
qmake: FORCE
@ -204,7 +219,7 @@ qmake: FORCE
dist:
@$(CHK_DIR_EXISTS) .tmp/mathmech1.0.0 || $(MKDIR) .tmp/mathmech1.0.0
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents mainwindow.h errorwindow.h clear_items.h start_events.h update_fields.h atomtypeswindow.h agglwindow.h aboutwindow.h statgengraphwindow.h settingswindow.h .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp errorwindow.cpp clear_items.cpp start_events.cpp update_fields.cpp atomtypeswindow.cpp agglwindow.cpp aboutwindow.cpp statgengraphwindow.cpp settingswindow.cpp .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents mainwindow.ui errorwindow.ui atomtypeswindow.ui agglwindow.ui aboutwindow.ui statgengraphwindow.ui settingswindow.ui .tmp/mathmech1.0.0/ && (cd `dirname .tmp/mathmech1.0.0` && $(TAR) mathmech1.0.0.tar mathmech1.0.0 && $(COMPRESS) mathmech1.0.0.tar) && $(MOVE) `dirname .tmp/mathmech1.0.0`/mathmech1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/mathmech1.0.0
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents mainwindow.h errorwindow.h clear_items.h start_events.h update_fields.h atomtypeswindow.h agglwindow.h aboutwindow.h statgengraphwindow.h settingswindow.h aglallwindow.h .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp errorwindow.cpp clear_items.cpp start_events.cpp update_fields.cpp atomtypeswindow.cpp agglwindow.cpp aboutwindow.cpp statgengraphwindow.cpp settingswindow.cpp aglallwindow.cpp .tmp/mathmech1.0.0/ && $(COPY_FILE) --parents mainwindow.ui errorwindow.ui atomtypeswindow.ui agglwindow.ui aboutwindow.ui statgengraphwindow.ui settingswindow.ui aglallwindow.ui .tmp/mathmech1.0.0/ && (cd `dirname .tmp/mathmech1.0.0` && $(TAR) mathmech1.0.0.tar mathmech1.0.0 && $(COMPRESS) mathmech1.0.0.tar) && $(MOVE) `dirname .tmp/mathmech1.0.0`/mathmech1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/mathmech1.0.0
clean:compiler_clean
@ -225,9 +240,9 @@ mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
compiler_moc_header_make_all: moc_mainwindow.cpp moc_errorwindow.cpp moc_clear_items.cpp moc_start_events.cpp moc_update_fields.cpp moc_atomtypeswindow.cpp moc_agglwindow.cpp moc_aboutwindow.cpp moc_statgengraphwindow.cpp moc_settingswindow.cpp
compiler_moc_header_make_all: moc_mainwindow.cpp moc_errorwindow.cpp moc_clear_items.cpp moc_start_events.cpp moc_update_fields.cpp moc_atomtypeswindow.cpp moc_agglwindow.cpp moc_aboutwindow.cpp moc_statgengraphwindow.cpp moc_settingswindow.cpp moc_aglallwindow.cpp
compiler_moc_header_clean:
-$(DEL_FILE) moc_mainwindow.cpp moc_errorwindow.cpp moc_clear_items.cpp moc_start_events.cpp moc_update_fields.cpp moc_atomtypeswindow.cpp moc_agglwindow.cpp moc_aboutwindow.cpp moc_statgengraphwindow.cpp moc_settingswindow.cpp
-$(DEL_FILE) moc_mainwindow.cpp moc_errorwindow.cpp moc_clear_items.cpp moc_start_events.cpp moc_update_fields.cpp moc_atomtypeswindow.cpp moc_agglwindow.cpp moc_aboutwindow.cpp moc_statgengraphwindow.cpp moc_settingswindow.cpp moc_aglallwindow.cpp
moc_mainwindow.cpp: mainwindow.h
/usr/lib/qt4/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
@ -258,6 +273,9 @@ moc_statgengraphwindow.cpp: statgengraphwindow.h
moc_settingswindow.cpp: settingswindow.h
/usr/lib/qt4/bin/moc $(DEFINES) $(INCPATH) settingswindow.h -o moc_settingswindow.cpp
moc_aglallwindow.cpp: aglallwindow.h
/usr/lib/qt4/bin/moc $(DEFINES) $(INCPATH) aglallwindow.h -o moc_aglallwindow.cpp
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
@ -265,9 +283,9 @@ compiler_image_collection_clean:
-$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all: ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h
compiler_uic_make_all: ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h ui_aglallwindow.h
compiler_uic_clean:
-$(DEL_FILE) ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h
-$(DEL_FILE) ui_mainwindow.h ui_errorwindow.h ui_atomtypeswindow.h ui_agglwindow.h ui_aboutwindow.h ui_statgengraphwindow.h ui_settingswindow.h ui_aglallwindow.h
ui_mainwindow.h: mainwindow.ui
/usr/lib/qt4/bin/uic mainwindow.ui -o ui_mainwindow.h
@ -289,6 +307,9 @@ ui_statgengraphwindow.h: statgengraphwindow.ui
ui_settingswindow.h: settingswindow.ui
/usr/lib/qt4/bin/uic settingswindow.ui -o ui_settingswindow.h
ui_aglallwindow.h: aglallwindow.ui
/usr/lib/qt4/bin/uic aglallwindow.ui -o ui_aglallwindow.h
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
@ -326,7 +347,8 @@ start_events.o: start_events.cpp start_events.h \
mainwindow.h \
ui_mainwindow.h \
errorwindow.h \
ui_errorwindow.h
ui_errorwindow.h \
statgengraphwindow.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o start_events.o start_events.cpp
update_fields.o: update_fields.cpp update_fields.h \
@ -355,9 +377,17 @@ statgengraphwindow.o: statgengraphwindow.cpp statgengraphwindow.h \
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o statgengraphwindow.o statgengraphwindow.cpp
settingswindow.o: settingswindow.cpp settingswindow.h \
ui_settingswindow.h
ui_settingswindow.h \
errorwindow.h \
ui_errorwindow.h \
mainwindow.h \
ui_mainwindow.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o settingswindow.o settingswindow.cpp
aglallwindow.o: aglallwindow.cpp aglallwindow.h \
ui_aglallwindow.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o aglallwindow.o aglallwindow.cpp
moc_mainwindow.o: moc_mainwindow.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
@ -388,6 +418,9 @@ moc_statgengraphwindow.o: moc_statgengraphwindow.cpp
moc_settingswindow.o: moc_settingswindow.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_settingswindow.o moc_settingswindow.cpp
moc_aglallwindow.o: moc_aglallwindow.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_aglallwindow.o moc_aglallwindow.cpp
####### Install
install: FORCE

View File

@ -1,3 +1,5 @@
#include <QKeyEvent>
#include "aboutwindow.h"
#include "ui_aboutwindow.h"
@ -12,3 +14,10 @@ AboutWindow::~AboutWindow()
{
delete ui;
}
// ESC press event
void AboutWindow::keyPressEvent(QKeyEvent *pressedKey)
{
if (pressedKey->key() == Qt::Key_Escape)
close();
}

View File

@ -17,6 +17,9 @@ public:
private:
Ui::AboutWindow *ui;
// ESC pressed event
void keyPressEvent(QKeyEvent *pressedKey);
};
#endif /* ABOUTWINDOW_H */

14
mathmech/aglallwindow.cpp Normal file
View File

@ -0,0 +1,14 @@
#include "aglallwindow.h"
#include "ui_aglallwindow.h"
AglAllWindow::AglAllWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::AglAllWindow)
{
ui->setupUi(this);
}
AglAllWindow::~AglAllWindow()
{
delete ui;
}

22
mathmech/aglallwindow.h Normal file
View File

@ -0,0 +1,22 @@
#ifndef AGLALLWINDOW_H
#define AGLALLWINDOW_H
#include <QMainWindow>
namespace Ui {
class AglAllWindow;
}
class AglAllWindow : public QMainWindow
{
Q_OBJECT
public:
explicit AglAllWindow(QWidget *parent = 0);
~AglAllWindow();
private:
Ui::AglAllWindow *ui;
};
#endif // AGLALLWINDOW_H

21
mathmech/aglallwindow.ui Normal file
View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AglAllWindow</class>
<widget class="QMainWindow" name="AglAllWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>240</width>
<height>320</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget"/>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -153,15 +153,19 @@ void MainWindow::on_radf_checkBox_ang_stateChanged(int arg1)
{
if (arg1 == 0)
{
ui->radf_checkBox_graph->setCheckState(Qt::Checked);
ui->radf_doubleSpinBox_angMax->setDisabled(true);
ui->radf_doubleSpinBox_angMin->setDisabled(true);
ui->radf_doubleSpinBox_angStep->setDisabled(true);
ui->radf_checkBox_graph->setEnabled(true);
}
else if (arg1 == 2)
{
ui->radf_checkBox_graph->setCheckState(Qt::Unchecked);
ui->radf_doubleSpinBox_angMax->setEnabled(true);
ui->radf_doubleSpinBox_angMin->setEnabled(true);
ui->radf_doubleSpinBox_angStep->setEnabled(true);
ui->radf_checkBox_graph->setDisabled(true);
}
}
@ -246,6 +250,17 @@ void MainWindow::on_trj_pushButton_atoms_clicked()
ui->trj_lineEdit_atoms->setText(filename);
}
void MainWindow::on_trj_pushButton_output_clicked()
{
QString filename = QFileDialog::getSaveFileName(
this,
tr("Save files as"),
QDir(ui->trj_lineEdit_workDir->text()).absolutePath(),
tr("Mask of trajectory files"));
if (!filename.isEmpty())
ui->trj_lineEdit_output->setText(filename);
}
void MainWindow::on_trj_pushButton_log_clicked()
{
QString filename = QFileDialog::getSaveFileName(
@ -267,6 +282,17 @@ void MainWindow::on_statgen_pushButton_workDir_clicked()
ui->statgen_lineEdit_workDir->setText(dirname);
}
void MainWindow::on_statgen_pushButton_input_clicked()
{
QString filename = QFileDialog::getOpenFileName(
this,
tr("Select trajectory files"),
QDir(ui->statgen_lineEdit_workDir->text()).absolutePath(),
tr("Trajectory files (*.*[0-9])"));
if (!filename.isEmpty())
ui->statgen_lineEdit_input->setText(filename.split(QString("."))[0]);
}
void MainWindow::on_statgen_pushButton_output_clicked()
{
QString filename = QFileDialog::getSaveFileName(
@ -342,6 +368,17 @@ void MainWindow::on_radf_pushButton_workDir_clicked()
ui->radf_lineEdit_workDir->setText(dirname);
}
void MainWindow::on_radf_pushButton_input_clicked()
{
QString filename = QFileDialog::getOpenFileName(
this,
tr("Select trajectory files"),
QDir(ui->radf_lineEdit_workDir->text()).absolutePath(),
tr("Trajectory files (*.*[0-9])"));
if (!filename.isEmpty())
ui->radf_lineEdit_input->setText(filename.split(QString("."))[0]);
}
void MainWindow::on_radf_pushButton_output_clicked()
{
QString filename = QFileDialog::getSaveFileName(
@ -350,7 +387,7 @@ void MainWindow::on_radf_pushButton_output_clicked()
QDir(ui->radf_lineEdit_workDir->text()).absolutePath(),
tr("Output files (*.dat)"));
if (!filename.isEmpty())
ui->envir_lineEdit_output->setText(filename);
ui->radf_lineEdit_output->setText(filename);
}
void MainWindow::on_radf_pushButton_log_clicked()

View File

@ -45,8 +45,10 @@ private slots:
void on_trj_pushButton_workDir_clicked();
void on_trj_pushButton_input_clicked();
void on_trj_pushButton_atoms_clicked();
void on_trj_pushButton_output_clicked();
void on_trj_pushButton_log_clicked();
void on_statgen_pushButton_workDir_clicked();
void on_statgen_pushButton_input_clicked();
void on_statgen_pushButton_output_clicked();
void on_statgen_pushButton_log_clicked();
void on_envir_pushButton_workDir_clicked();
@ -54,6 +56,7 @@ private slots:
void on_envir_pushButton_output_clicked();
void on_envir_pushButton_log_clicked();
void on_radf_pushButton_workDir_clicked();
void on_radf_pushButton_input_clicked();
void on_radf_pushButton_output_clicked();
void on_radf_pushButton_log_clicked();
void on_pdb_pushButton_workDir_clicked();

View File

@ -268,12 +268,28 @@
<widget class="QLineEdit" name="trj_lineEdit_output">
<property name="minimumSize">
<size>
<width>365</width>
<width>320</width>
<height>23</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="trj_pushButton_output">
<property name="minimumSize">
<size>
<width>80</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Browse</string>
</property>
<property name="autoDefault">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
@ -500,6 +516,22 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="statgen_pushButton_input">
<property name="minimumSize">
<size>
<width>80</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Browse</string>
</property>
<property name="autoDefault">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
@ -1204,6 +1236,22 @@
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="statgen_checkBox_graph">
<property name="minimumSize">
<size>
<width>80</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Graph</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="statgen_pushButton_start">
<property name="minimumSize">
@ -1784,6 +1832,22 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="radf_pushButton_input">
<property name="minimumSize">
<size>
<width>80</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Browse</string>
</property>
<property name="autoDefault">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
@ -2782,6 +2846,22 @@
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="radf_checkBox_graph">
<property name="minimumSize">
<size>
<width>80</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Graph</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="radf_pushButton_start">
<property name="minimumSize">
@ -3274,12 +3354,20 @@
</property>
<widget class="QMenu" name="menuFile_creator">
<property name="title">
<string>File creator</string>
<string>File &amp;creator</string>
</property>
<addaction name="actionAtom_types_file"/>
<addaction name="actionAgglomerate_file"/>
</widget>
<widget class="QMenu" name="menu_Tools">
<property name="title">
<string>&amp;Tools</string>
</property>
<addaction name="actionAgl_all"/>
<addaction name="actionStatgen_all"/>
</widget>
<addaction name="menuFile_creator"/>
<addaction name="menu_Tools"/>
<addaction name="actionSettings"/>
<addaction name="actionExit"/>
</widget>
@ -3337,7 +3425,17 @@
</action>
<action name="actionSettings">
<property name="text">
<string>Settings</string>
<string>&amp;Settings</string>
</property>
</action>
<action name="actionAgl_all">
<property name="text">
<string>agl_all</string>
</property>
</action>
<action name="actionStatgen_all">
<property name="text">
<string>statgen_all</string>
</property>
</action>
</widget>
@ -3353,6 +3451,7 @@
<tabstop>trj_lineEdit_atoms</tabstop>
<tabstop>trj_pushButton_atoms</tabstop>
<tabstop>trj_lineEdit_output</tabstop>
<tabstop>trj_pushButton_output</tabstop>
<tabstop>trj_spinBox_totalTypes</tabstop>
<tabstop>trj_checkBox_log</tabstop>
<tabstop>trj_lineEdit_log</tabstop>
@ -3362,6 +3461,7 @@
<tabstop>statgen_lineEdit_workDir</tabstop>
<tabstop>statgen_pushButton_workDir</tabstop>
<tabstop>statgen_lineEdit_input</tabstop>
<tabstop>statgen_pushButton_input</tabstop>
<tabstop>statgen_spinBox_stepsFirst</tabstop>
<tabstop>statgen_spinBox_stepsLast</tabstop>
<tabstop>statgen_doubleSpinBox_cellX</tabstop>
@ -3388,6 +3488,7 @@
<tabstop>statgen_lineEdit_log</tabstop>
<tabstop>statgen_pushButton_log</tabstop>
<tabstop>statgen_pushButton_clear</tabstop>
<tabstop>statgen_checkBox_graph</tabstop>
<tabstop>statgen_pushButton_start</tabstop>
<tabstop>envir_lineEdit_workDir</tabstop>
<tabstop>envir_pushButton_workDir</tabstop>
@ -3408,6 +3509,7 @@
<tabstop>radf_lineEdit_workDir</tabstop>
<tabstop>radf_pushButton_workDir</tabstop>
<tabstop>radf_lineEdit_input</tabstop>
<tabstop>radf_pushButton_input</tabstop>
<tabstop>radf_spinBox_stepsFirst</tabstop>
<tabstop>radf_spinBox_stepsLast</tabstop>
<tabstop>radf_doubleSpinBox_cellX</tabstop>
@ -3434,6 +3536,7 @@
<tabstop>radf_lineEdit_log</tabstop>
<tabstop>radf_pushButton_log</tabstop>
<tabstop>radf_pushButton_clear</tabstop>
<tabstop>radf_checkBox_graph</tabstop>
<tabstop>radf_pushButton_start</tabstop>
<tabstop>pdb_comboBox_mode</tabstop>
<tabstop>pdb_lineEdit_workDir</tabstop>

Binary file not shown.

View File

@ -6,6 +6,7 @@ TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
CONFIG += qwt
# Input
HEADERS += mainwindow.h \
@ -17,14 +18,16 @@ HEADERS += mainwindow.h \
agglwindow.h \
aboutwindow.h \
statgengraphwindow.h \
settingswindow.h
settingswindow.h \
aglallwindow.h
FORMS += mainwindow.ui \
errorwindow.ui \
atomtypeswindow.ui \
agglwindow.ui \
aboutwindow.ui \
statgengraphwindow.ui \
settingswindow.ui
settingswindow.ui \
aglallwindow.ui
SOURCES += main.cpp mainwindow.cpp \
errorwindow.cpp \
clear_items.cpp \
@ -34,4 +37,5 @@ SOURCES += main.cpp mainwindow.cpp \
agglwindow.cpp \
aboutwindow.cpp \
statgengraphwindow.cpp \
settingswindow.cpp
settingswindow.cpp \
aglallwindow.cpp

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 2.8.0, 2013-08-09T18:20:07. -->
<!-- Written by QtCreator 2.8.0, 2013-08-10T03:52:23. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>

View File

@ -347,10 +347,8 @@
<tabstop>settings_lineEdit_agl</tabstop>
<tabstop>settings_pushButton_agl</tabstop>
<tabstop>settings_comboBox_lang</tabstop>
<tabstop>pushButton_6</tabstop>
<tabstop>settings_pushButton_close</tabstop>
<tabstop>settings_pushButton_save</tabstop>
<tabstop>lineEdit_6</tabstop>
</tabstops>
<resources/>
<connections>

View File

@ -6,6 +6,7 @@
#include "ui_mainwindow.h"
#include "errorwindow.h"
#include "ui_errorwindow.h"
#include "statgengraphwindow.h"
Start_events::Start_events(MainWindow *wid) :
parent(wid)
@ -218,6 +219,15 @@ void Start_events::start_statgen(QString mm_statgen_path)
parent->ui->tabWidget->setEnabled(true);
parent->ui->statusBar->showMessage(QApplication::translate("Start_events", "Done"));
delete errorwin;
if (parent->ui->statgen_checkBox_graph->checkState() == 2)
{
QString filename = output;
if (!filename.contains(QDir::separator()))
filename = QFileInfo(QDir(workDir), filename).absoluteFilePath();
StatgenGraphWindow *graphwin;
graphwin = new StatgenGraphWindow(parent, filename);
graphwin->show();
}
}
void Start_events::start_envir(QString mm_envir_path)
@ -423,6 +433,15 @@ void Start_events::start_radf(QString mm_radf_path)
parent->ui->tabWidget->setEnabled(true);
parent->ui->statusBar->showMessage(QApplication::translate("Start_events", "Done"));
delete errorwin;
if (parent->ui->radf_checkBox_graph->checkState() == 2)
{
QString filename = output;
if (!filename.contains(QDir::separator()))
filename = QFileInfo(QDir(workDir), filename).absoluteFilePath();
StatgenGraphWindow *graphwin;
graphwin = new StatgenGraphWindow(parent, filename);
graphwin->show();
}
}
void Start_events::start_pdb(QString mm_pdb_path)

View File

@ -1,14 +1,159 @@
#include <QDir>
#include <QFileDialog>
#include <QKeyEvent>
#include <QTextStream>
#include <qwt/qwt_plot.h>
#include <qwt/qwt_plot_curve.h>
#include <qwt/qwt_series_data.h>
#include "statgengraphwindow.h"
#include "ui_statgengraphwindow.h"
StatgenGraphWindow::StatgenGraphWindow(QWidget *parent) :
StatgenGraphWindow::StatgenGraphWindow(QWidget *parent, QString inputfile) :
QMainWindow(parent),
ui(new Ui::StatgenGraphWindow)
{
ui->setupUi(this);
_inputfile = inputfile;
readData();
paintGraph();
}
StatgenGraphWindow::~StatgenGraphWindow()
{
delete ui;
}
// ESC press event
void StatgenGraphWindow::keyPressEvent(QKeyEvent *pressedKey)
{
if (pressedKey->key() == Qt::Key_Escape)
close();
}
void StatgenGraphWindow::paintGraph()
{
plot = new QwtPlot(ui->centralwidget);
plot->setMinimumSize(QSize(322, 280));
ui->verticalLayout->addWidget(plot);
plot->setFont(QFont("Times New Roman", 8, QFont::Bold));
plot->setAxisFont(QwtPlot::xBottom, QFont("Times New Roman", 8, QFont::Bold));
plot->setAxisFont(QwtPlot::yLeft, QFont("Times New Roman", 8, QFont::Bold));
plot->setAxisAutoScale(QwtPlot::xBottom, true);
plot->setAxisAutoScale(QwtPlot::yLeft, true);
plot->setAutoReplot(true);
QPen pen;
switch (type)
{
case 0:
plot->setAxisTitle(QwtPlot::xBottom, trUtf8("N"));
plot->setAxisTitle(QwtPlot::yLeft, trUtf8("p"));
pen = QPen(QColor(0,0,0));
QwtPlotCurve *p_curve;
p_curve = new QwtPlotCurve(QString("p"));
p_curve->setPen(pen);
p_curve->attach(plot);
p_curve->setSamples(x_axis, p_points);
QwtPlotCurve *pn_curve;
pen = QPen(QColor(255,0,0));
pn_curve = new QwtPlotCurve(QString("pn"));
pn_curve->setPen(pen);
pn_curve->attach(plot);
pn_curve->setSamples(x_axis, pn_points);
break;
case 1:
plot->setAxisTitle(QwtPlot::xBottom, trUtf8("N"));
plot->setAxisTitle(QwtPlot::yLeft, trUtf8("p"));
pen = QPen(QColor(0,0,0));
QwtPlotCurve *radf_curve;
radf_curve = new QwtPlotCurve(QString("RDF"));
radf_curve->setPen(pen);
radf_curve->attach(plot);
radf_curve->setSamples(x_axis, p_points);
break;
}
plot->replot();
}
void StatgenGraphWindow::readData()
{
QString tmp_str;
QFile inp_file(_inputfile);
inp_file.open(QIODevice::ReadOnly);
tmp_str = QString(inp_file.readLine());
int matrix=0;
if (tmp_str.contains(QString("statgen")))
type = 0;
else if (tmp_str.contains(QString("radf")))
type = 1;
while (!tmp_str.contains(QString("SUMMARY STATISTIC")))
{
tmp_str = QString(inp_file.readLine());
if ((type == 1) && (tmp_str.contains(QString("MATRIX="))))
matrix = tmp_str.split(QString("MATRIX="), QString::SkipEmptyParts)[0].toInt();
}
if (matrix == 0)
{
tmp_str = QString(inp_file.readLine());
tmp_str = QString(inp_file.readLine());
}
switch(type)
{
case 0:
tmp_str = QString(inp_file.readLine());
while (!tmp_str.contains(QString("---")))
{
x_axis.append(tmp_str.split(QString(" "), QString::SkipEmptyParts)[0].toDouble());
p_points.append(tmp_str.split(QString(" "), QString::SkipEmptyParts)[3].toDouble());
pn_points.append(tmp_str.split(QString(" "), QString::SkipEmptyParts)[4].toDouble());
tmp_str = QString(inp_file.readLine());
}
break;
case 1:
tmp_str = QString(inp_file.readLine());
while (!tmp_str.contains(QString("---")))
{
x_axis.append(tmp_str.split(QString(" "), QString::SkipEmptyParts)[0].toDouble());
switch(matrix)
{
case 0:
p_points.append(tmp_str.split(QString(" "), QString::SkipEmptyParts)[3].toDouble());
break;
case 1:
p_points.append(tmp_str.split(QString(" "), QString::SkipEmptyParts)[1].toDouble());
break;
}
tmp_str = QString(inp_file.readLine());
}
break;
}
inp_file.close();
}
void StatgenGraphWindow::on_graph_pushButton_save_clicked()
{
QPixmap qPix = QPixmap::grabWidget(plot);
QString filename = QFileDialog::getSaveFileName(
this,
tr("Save image as..."),
QDir::currentPath(),
tr("JPEG file (*.jpeg);;Portable Network Graphics file (*.png);;Bitmap file (*.bmp)"));
if (!filename.isEmpty())
{
if (filename.contains(QRegExp("jpeg")))
qPix.save(filename, "JPEG");
else if (filename.contains(QRegExp("png")))
qPix.save(filename, "PNG");
else if (filename.contains(QRegExp("bmp")))
qPix.save(filename, "BMP");
}
}

View File

@ -2,6 +2,7 @@
#define STATGENGRAPHWINDOW_H
#include <QMainWindow>
#include <qwt/qwt_plot.h>
namespace Ui {
class StatgenGraphWindow;
@ -12,11 +13,24 @@ class StatgenGraphWindow : public QMainWindow
Q_OBJECT
public:
explicit StatgenGraphWindow(QWidget *parent = 0);
explicit StatgenGraphWindow(QWidget *parent = 0, QString inputfile = "");
~StatgenGraphWindow();
void paintGraph();
void readData();
private slots:
void on_graph_pushButton_save_clicked();
private:
Ui::StatgenGraphWindow *ui;
QwtPlot *plot;
QVector<double> x_axis;
QVector<double> p_points;
QVector<double> pn_points;
int type;
QString _inputfile;
void keyPressEvent(QKeyEvent *pressedKey);
};
#endif /* STATGENGRAPHWINDOW_H */

View File

@ -6,15 +6,88 @@
<rect>
<x>0</x>
<y>0</y>
<width>240</width>
<height>320</height>
<width>418</width>
<height>299</height>
</rect>
</property>
<property name="windowTitle">
<string>Graph</string>
</property>
<widget class="QWidget" name="centralwidget"/>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="graph_layout_buttons">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="graph_pushButton_save">
<property name="minimumSize">
<size>
<width>80</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Save</string>
</property>
<property name="autoDefault">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="graph_pushButton_close">
<property name="minimumSize">
<size>
<width>80</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Close</string>
</property>
<property name="autoDefault">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<tabstops>
<tabstop>graph_pushButton_save</tabstop>
<tabstop>graph_pushButton_close</tabstop>
</tabstops>
<resources/>
<connections/>
<connections>
<connection>
<sender>graph_pushButton_close</sender>
<signal>clicked()</signal>
<receiver>StatgenGraphWindow</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>400</x>
<y>322</y>
</hint>
<hint type="destinationlabel">
<x>400</x>
<y>342</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -24,13 +24,7 @@ void Update_fields::setup_def_statgen()
float cellX, cellY, cellZ;
QStringList tmp_str;
QString input = parent->ui->trj_lineEdit_input->text();
#ifdef _WIN32
if (input.contains("\\"))
#elif __linux
if (input.contains("/"))
#else
return;
#endif
if (input.contains(QDir::separator()))
input = QFileInfo(input).absoluteFilePath();
else
input = QFileInfo(QDir(parent->ui->trj_lineEdit_workDir->text()), input).absoluteFilePath();
@ -40,7 +34,10 @@ void Update_fields::setup_def_statgen()
return;
if (parent->ui->trj_comboBox_type->currentIndex() == 0)
{
for (int i=0; i<3; i++)
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
if (tmp_str[1] != QString("frame"))
return;
for (int i=0; i<2; i++)
inp_trj.readLine();
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
cellX = 10 * tmp_str[2].remove(tmp_str[2].count()-1, 1).toFloat();
@ -51,7 +48,11 @@ void Update_fields::setup_def_statgen()
}
else if (parent->ui->trj_comboBox_type->currentIndex() == 1)
{
inp_trj.readLine();
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
bool ok = false;
cellX = tmp_str[0].toInt(&ok, 10);
if (!ok)
return;
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
cellX = tmp_str[0].toFloat();
cellY = tmp_str[1].toFloat();
@ -73,13 +74,7 @@ void Update_fields::setup_def_envir()
float cellX, cellY, cellZ;
QStringList tmp_str;
QString input = parent->ui->trj_lineEdit_input->text();
#ifdef _WIN32
if (input.contains("\\"))
#elif __linux
if (input.contains("/"))
#else
return;
#endif
if (input.contains(QDir::separator()))
input = QFileInfo(input).absoluteFilePath();
else
input = QFileInfo(QDir(parent->ui->trj_lineEdit_workDir->text()), input).absoluteFilePath();
@ -89,7 +84,10 @@ void Update_fields::setup_def_envir()
return;
if (parent->ui->trj_comboBox_type->currentIndex() == 0)
{
for (int i=0; i<3; i++)
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
if (tmp_str[1] != QString("frame"))
return;
for (int i=0; i<2; i++)
inp_trj.readLine();
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
cellX = 10 * tmp_str[2].remove(tmp_str[2].count()-1, 1).toFloat();
@ -100,7 +98,11 @@ void Update_fields::setup_def_envir()
}
else if (parent->ui->trj_comboBox_type->currentIndex() == 1)
{
inp_trj.readLine();
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
bool ok = false;
cellX = tmp_str[0].toInt(&ok, 10);
if (!ok)
return;
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
cellX = tmp_str[0].toFloat();
cellY = tmp_str[1].toFloat();
@ -126,13 +128,7 @@ void Update_fields::setup_def_radf()
float cellX, cellY, cellZ;
QStringList tmp_str;
QString input = parent->ui->trj_lineEdit_input->text();
#ifdef _WIN32
if (input.contains("\\"))
#elif __linux
if (input.contains("/"))
#else
return;
#endif
if (input.contains(QDir::separator()))
input = QFileInfo(input).absoluteFilePath();
else
input = QFileInfo(QDir(parent->ui->trj_lineEdit_workDir->text()), input).absoluteFilePath();
@ -142,7 +138,10 @@ void Update_fields::setup_def_radf()
return;
if (parent->ui->trj_comboBox_type->currentIndex() == 0)
{
for (int i=0; i<3; i++)
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
if (tmp_str[1] != QString("frame"))
return;
for (int i=0; i<2; i++)
inp_trj.readLine();
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
cellX = 10 * tmp_str[2].remove(tmp_str[2].count()-1, 1).toFloat();
@ -153,7 +152,11 @@ void Update_fields::setup_def_radf()
}
else if (parent->ui->trj_comboBox_type->currentIndex() == 1)
{
inp_trj.readLine();
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
bool ok = false;
cellX = tmp_str[0].toInt(&ok, 10);
if (!ok)
return;
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
cellX = tmp_str[0].toFloat();
cellY = tmp_str[1].toFloat();
@ -175,13 +178,7 @@ void Update_fields::setup_def_pdb()
float cellX, cellY, cellZ;
QStringList tmp_str;
QString input = parent->ui->trj_lineEdit_input->text();
#ifdef _WIN32
if (input.contains("\\"))
#elif __linux
if (input.contains("/"))
#else
return;
#endif
if (input.contains(QDir::separator()))
input = QFileInfo(input).absoluteFilePath();
else
input = QFileInfo(QDir(parent->ui->trj_lineEdit_workDir->text()), input).absoluteFilePath();
@ -191,7 +188,10 @@ void Update_fields::setup_def_pdb()
return;
if (parent->ui->trj_comboBox_type->currentIndex() == 0)
{
for (int i=0; i<3; i++)
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
if (tmp_str[1] != QString("frame"))
return;
for (int i=0; i<2; i++)
inp_trj.readLine();
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
cellX = 10 * tmp_str[2].remove(tmp_str[2].count()-1, 1).toFloat();
@ -202,7 +202,11 @@ void Update_fields::setup_def_pdb()
}
else if (parent->ui->trj_comboBox_type->currentIndex() == 1)
{
inp_trj.readLine();
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
bool ok = false;
cellX = tmp_str[0].toInt(&ok, 10);
if (!ok)
return;
tmp_str = QString(inp_trj.readLine()).split(' ', QString::SkipEmptyParts);
cellX = tmp_str[0].toFloat();
cellY = tmp_str[1].toFloat();