Skip to content
Commits on Source (3)
......@@ -60,7 +60,8 @@ else ()
# Generate command line args (always add -c to output compressed file to stdout)
if (${COMPRESS_PROGRAM} STREQUAL "gzip")
# -n for no timestamp in files (reproducible builds)
set (COMPRESS_ARGS -c -n)
# -9 for maximal compression (lintian warning)
set (COMPRESS_ARGS -c -9 -n)
else ()
set (COMPRESS_ARGS -c)
endif ()
......@@ -73,13 +74,15 @@ if (CMAKE_INSTALL_PREFIX)
endif (CMAKE_INSTALL_PREFIX)
include (GNUInstallDirs)
find_package (bpp-qt 1.0.1 REQUIRED)
find_package (bpp-qt 2.0.0 REQUIRED)
# Find the Qt installation
set (QT_USE_IMPORTED_TARGETS TRUE)
find_package (Qt4 4.4.0 COMPONENTS QtCore QtGui REQUIRED)
include (${QT_USE_FILE})
set (qt-libs ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
set(CMAKE_AUTOMOC ON)
find_package (Qt5Widgets)
find_package (Qt5Core)
find_package (Qt5Gui)
find_package (Qt5PrintSupport)
set (qt-libs Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport)
# Subdirectories
add_subdirectory (bppPhyView)
......@@ -90,10 +93,10 @@ ENDIF(NO_DEP_CHECK)
# Packager
SET(CPACK_PACKAGE_NAME "bppphyview")
SET(CPACK_PACKAGE_VENDOR "Bio++ Development Team")
SET(CPACK_PACKAGE_VERSION "0.5.1")
SET(CPACK_PACKAGE_VERSION "0.6.0")
SET(CPACK_PACKAGE_VERSION_MAJOR "0")
SET(CPACK_PACKAGE_VERSION_MINOR "5")
SET(CPACK_PACKAGE_VERSION_PATCH "1")
SET(CPACK_PACKAGE_VERSION_MINOR "6")
SET(CPACK_PACKAGE_VERSION_PATCH "0")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The Bio++ Phylogenetic Viewer")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING.txt")
SET(CPACK_RESOURCE_FILE_AUTHORS "${CMAKE_SOURCE_DIR}/AUTHORS.txt")
......
25/02/18 -*- Version 0.6.0 -*-
27/12/17 Julien Dutheil
* Added "removeAllLengths" command.
13/09/17 Julien Dutheil
* Ported to Qt5.
10/05/17 -*- Version 0.5.0 -*-
* Compatibility update with Bio++ 2.3.0.
......
......@@ -13,10 +13,9 @@ set (H_MOC_FILES
PhyView.h
TreeSubWindow.h
)
qt4_wrap_cpp (CPP_MOC_FILES ${H_MOC_FILES})
# Phyview
add_executable (phyview ${CPP_FILES} ${CPP_MOC_FILES})
add_executable (phyview ${CPP_FILES} ${CPP_FILES})
if (BUILD_STATIC)
target_link_libraries (phyview ${BPP_LIBS_STATIC} ${qt-libs})
else (BUILD_STATIC)
......
......@@ -43,6 +43,18 @@ knowledge of the CeCILL license and that you accept its terms.
#include <QApplication>
#include <QtGui>
#include <QVBoxLayout>
#include <QFormLayout>
#include <QPushButton>
#include <QMessageBox>
#include <QButtonGroup>
#include <QDockWidget>
#include <QUndoView>
#include <QLineEdit>
#include <QAction>
#include <QMenuBar>
#include <QInputDialog>
#include <QGraphicsTextItem>
#include <Bpp/Qt/QtGraphicDevice.h>
......@@ -79,8 +91,9 @@ TranslateNameChooser::TranslateNameChooser(PhyView* phyview) :
fileFilters_ << "Coma separated columns (*.txt *.csv)"
<< "Tab separated columns (*.txt *.csv)";
fileDialog_->setNameFilters(fileFilters_);
fileDialog_->setOptions(QFileDialog::DontUseNativeDialog);
hasHeader_ = new QCheckBox(tr("File has header line"));
QGridLayout *dlayout = dynamic_cast<QGridLayout*>(fileDialog_->layout());
QGridLayout *dlayout = dynamic_cast<QGridLayout*>(fileDialog_->layout()); //Check that here!!
dlayout->addWidget(hasHeader_, 4, 0);
QFormLayout* layout = new QFormLayout;
fromList_ = new QComboBox;
......@@ -555,6 +568,11 @@ void PhyView::createBrlenPanel_()
brlenLayout->addWidget(brlenSetLengthsBox);
//Remove all branch lengths:
QPushButton* brlenRemoveAll = new QPushButton(tr("Remove all lengths"));
connect(brlenRemoveAll, SIGNAL(clicked(bool)), this, SLOT(deleteAllLengths()));
brlenLayout->addWidget(brlenRemoveAll);
//Grafen method:
QPushButton* brlenInitGrafen = new QPushButton(tr("Init"));
connect(brlenInitGrafen, SIGNAL(clicked(bool)), this, SLOT(initLengthsGrafen()));
......@@ -1020,15 +1038,15 @@ void PhyView::exit()
void PhyView::aboutBpp()
{
QMessageBox msgBox;
msgBox.setText("Bio++ 2.3.0.");
msgBox.setInformativeText("bpp-core 2.3.0\nbpp-seq 2.3.0.\nbpp-phyl 2.3.0.\nbpp-qt 2.3.0");
msgBox.setText("Bio++ 2.4.0.");
msgBox.setInformativeText("bpp-core 2.4.0\nbpp-seq 2.4.0.\nbpp-phyl 2.4.0.\nbpp-qt 2.4.0");
msgBox.exec();
}
void PhyView::about()
{
QMessageBox msgBox;
msgBox.setText("This is Bio++ Phylogenetic Viewer version 0.5.0.");
msgBox.setText("This is Bio++ Phylogenetic Viewer version 0.6.0.");
msgBox.setInformativeText("Julien Dutheil <dutheil@evolbio.mpg.de>.");
msgBox.exec();
}
......@@ -1071,6 +1089,13 @@ void PhyView::midpointRooting()
}
}
void PhyView::deleteAllLengths()
{
if (hasActiveDocument())
submitCommand(new DeleteLengthCommand(getActiveDocument()));
}
void PhyView::unresolveUncertainNodes()
{
if (hasActiveDocument()) {
......@@ -1302,7 +1327,7 @@ int main(int argc, char *argv[])
//Parse command line arguments:
QStringList args = app.arguments();
string format = IOTreeFactory::NEWICK_FORMAT;
QTextCodec* codec = QTextCodec::codecForLocale();
//QTextCodec* codec = QTextCodec::codecForLocale(); Not supported in Qt5...
for (int i = 1; i < args.size(); ++i) {
if (args[i] == "--nhx") {
format = IOTreeFactory::NHX_FORMAT;
......@@ -1310,18 +1335,17 @@ int main(int argc, char *argv[])
format = IOTreeFactory::NEWICK_FORMAT;
} else if (args[i] == "--newick") {
format = IOTreeFactory::NEWICK_FORMAT;
} else if (args[i] == "--enc") {
if (i == args.size() - 1) {
cerr << "You must specify a text encoding after --enc tag." << endl;
exit(1);
}
++i;
codec = QTextCodec::codecForName(args[i].toStdString().c_str());
//} else if (args[i] == "--enc") {
// if (i == args.size() - 1) {
// cerr << "You must specify a text encoding after --enc tag." << endl;
// exit(1);
// }
// ++i;
// codec = QTextCodec::codecForName(args[i].toStdString().c_str());
} else {
phyview->readTree(args[i], format);
}
}
QTextCodec::setCodecForCStrings(codec);
return app.exec();
}
......
......@@ -369,6 +369,7 @@ class PhyView :
void computeLengthsGrafen();
void convertToClockTree();
void midpointRooting();
void deleteAllLengths();
void unresolveUncertainNodes();
void translateNames();
......
......@@ -45,7 +45,7 @@ knowledge of the CeCILL license and that you accept its terms.
#include <Bpp/Text/TextTools.h>
#include <Bpp/Numeric/DataTable.h>
//From PhylLib:
//From bpp-phyl:
#include <Bpp/Phyl/TreeTools.h>
//From Qt:
......@@ -105,6 +105,17 @@ class SetLengthCommand: public AbstractCommand
}
};
class DeleteLengthCommand: public AbstractCommand
{
public:
DeleteLengthCommand(TreeDocument* doc):
AbstractCommand(QtTools::toQt("Delete all branch length."), doc)
{
new_ = new TreeTemplate<Node>(*old_);
TreeTemplateTools::deleteBranchLengths(*new_->getRootNode());
}
};
class InitGrafenCommand: public AbstractCommand
{
public:
......
%define _basename bppphyview
%define _version 0.5.1
%define _release 1
%define _prefix /usr
URL: http://biopp.univ-montp2.fr/forge/bppphyview
URL: https://github.com/BioPP/bppphyview
Name: %{_basename}
Version: %{_version}
Release: %{_release}
Name: bppphyview
Version: 0.6.0
Release: 1%{?dist}
License: CECILL-2.0
Vendor: The Bio++ Project
Source: http://biopp.univ-montp2.fr/repos/sources/%{_basename}-%{_version}.tar.gz
Source: %{name}-%{version}.tar.gz
Summary: Bio++ Phylogenetic Viewer
Group: Productivity/Scientific/Other
Requires: libbpp-phyl11 = 2.3.1
Requires: libbpp-core3 = 2.3.1
Requires: libbpp-qt1 = 2.3.1
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
Requires: qt >= 4.6.0
Requires: libbpp-phyl12 = 2.4.0
Requires: libbpp-core4 = 2.4.0
Requires: libbpp-qt2 = 2.4.0
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?scientificlinux_version}
Requires: libqt5core5 >= 5.0.0
Requires: libqt5gui5 >= 5.0.0
Requires: libqt5widgets5 >= 5.0.0
%endif
%if 0%{?suse_version}
Requires: libqt4 >= 4.6.0
Requires: libQt5Core5 >= 5.0.0
Requires: libQt5Gui5 >= 5.0.0
Requires: libQt5Widgets5 >= 5.0.0
%endif
%if 0%{?mdkversion}
%if 0%{?mageia} || 0%{?mdkversion}
%ifarch x86_64
Requires: lib64qtgui4 >= 4.6.0
Requires: lib64proxy-webkit >= 0.4.14
Requires: lib64qt5core5 >= 5.0.0
Requires: lib64qt5gui5 >= 5.0.0
Requires: lib64qt5widgets5 >= 5.0.0
Requires: qt5-qtdeclarative >= 5.0.0
Requires: qt5-qtbase >= 5.0.0
%else
Requires: libqtgui4 >= 4.6.0
Requires: libproxy-webkit >= 0.4.14
Requires: libqt5core5 >= 5.0.0
Requires: libqt5gui5 >= 5.0.0
Requires: libqt5widgets5 >= 5.0.0
Requires: qt5-qtdeclarative >= 5.0.0
Requires: qt5-qtbase >= 5.0.0
%endif
%endif
BuildRoot: %{_builddir}/%{_basename}-root
BuildRoot: %{_builddir}/%{name}-root
BuildRequires: cmake >= 2.8.11
BuildRequires: gcc-c++ >= 4.7.0
BuildRequires: groff
BuildRequires: libbpp-core3 = 2.3.1
BuildRequires: libbpp-core-devel = 2.3.1
BuildRequires: libbpp-phyl11 = 2.3.1
BuildRequires: libbpp-phyl-devel = 2.3.1
BuildRequires: libbpp-qt1 = 2.3.1
BuildRequires: libbpp-qt-devel = 2.3.1
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
BuildRequires: qt >= 4.6.0
BuildRequires: qt-devel >= 4.6.0
BuildRequires: libbpp-core4 = 2.4.0
BuildRequires: libbpp-core-devel = 2.4.0
BuildRequires: libbpp-phyl12 = 2.4.0
BuildRequires: libbpp-phyl-devel = 2.4.0
BuildRequires: libbpp-qt2 = 2.4.0
BuildRequires: libbpp-qt-devel = 2.4.0
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?scientificlinux_version}
BuildRequires: qt >= 5.0.0
BuildRequires: qt-devel >= 5.0.0
%endif
%if 0%{?suse_version}
BuildRequires: libqt4 >= 4.6.0
BuildRequires: libqt4-devel >= 4.6.0
BuildRequires: libQt5Core5 >= 5.0.0
BuildRequires: libQt5Gui5 >= 5.0.0
BuildRequires: libQt5Widgets5 >= 5.0.0
BuildRequires: libqt5-qtdeclarative-devel >= 5.0.0
BuildRequires: libqt5-qtbase-devel >= 5.0.0
%endif
%if 0%{?mdkversion}
%if 0%{?mageia} || 0%{?mdkversion}
%ifarch x86_64
BuildRequires: lib64qtgui4 >= 4.6.0
BuildRequires: lib64qt4-devel >= 4.6.0
BuildRequires: lib64proxy-webkit >= 0.4.14
BuildRequires: lib64qt5core5 >= 5.0.0
BuildRequires: lib64qt5gui5 >= 5.0.0
BuildRequires: lib64qt5widgets5 >= 5.0.0
BuildRequires: lib64qt5base5-devel >= 5.0.0
%else
BuildRequires: libqtgui4 >= 4.6.0
BuildRequires: libqt4-devel >= 4.6.0
BuildRequires: libproxy-webkit >= 0.4.14
BuildRequires: libqt5core5 >= 5.0.0
BuildRequires: libqt5gui5 >= 5.0.0
BuildRequires: libqt5widgets5 >= 5.0.0
BuildRequires: libqt5base5-devel >= 5.0.0
%endif
%endif
......@@ -72,7 +93,7 @@ BuildRequires: lzma
%define compress_program lzma
%endif
%else
%if 0%{?distribution:1} && "%{distribution}" == "Mageia"
%if 0%{?mageia}
BuildRequires: xz
%define compress_program xz
%else
......@@ -111,6 +132,9 @@ rm -rf $RPM_BUILD_ROOT
%{_prefix}/share/man/man1/phyview.1*
%changelog
* Mon Mar 12 2018 Julien Dutheil <julien.dutheil@univ-montp2.fr> 0.6.0-1
- Compatibility update with Bio++ 2.4.0.
- More options in branch lengths panel.
* Thu Jun 8 2017 Julien Dutheil <julien.dutheil@univ-montp2.fr> 0.5.1-1
- Compatibility update with Bio++ 2.3.1.
* Wed May 10 2017 Julien Dutheil <julien.dutheil@univ-montp2.fr> 0.5.0-1
......
bppphyview (0.6.0-1) UNRELEASED; urgency=medium
* New upstream version
* Added full text of CeCILL license.
* Compiles with -DCMAKE_BUILD_TYPE=RelWithDebInfo to generate debug info
* Point Vcs-fields to salsa.debian.org
* Standards-Version: 4.1.4
* debhelper 11
-- Julien Dutheil <julien.dutheil@univ-montp2.fr> Wed, 18 Apr 2018 21:03:35 +0200
bppphyview (0.5.1-1) unstable; urgency=medium
* New upstream version
......
......@@ -4,14 +4,14 @@ Uploaders: Julien Dutheil <julien.dutheil@univ-montp2.fr>,
Andreas Tille <tille@debian.org>
Section: science
Priority: optional
Build-Depends: debhelper (>= 10),
Build-Depends: debhelper (>= 11~),
cmake,
qt4-qmake,
libqt4-dev,
libbpp-qt-dev (>= 2.3.1)
Standards-Version: 4.1.0
Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/bppphyview.git
Vcs-Git: https://anonscm.debian.org/git/debian-med/bppphyview.git
qt5-qmake,
qtdeclarative5-dev,
libbpp-qt-dev (>= 2.4.0)
Standards-Version: 4.1.4
Vcs-Browser: https://salsa.debian.org/med-team/bppphyview.git
Vcs-Git: https://salsa.debian.org/med-team/bppphyview.git
Homepage: http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
Package: bppphyview
......
This diff is collapsed.
......@@ -6,3 +6,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@
override_dh_auto_configure:
dh_auto_configure -- -DCMAKE_BUILD_TYPE=RelWithDebInfo