diff --git a/PAULs_LPPMON_PLUGINS.pro.user b/PAULs_LPPMON_PLUGINS.pro.user --- a/PAULs_LPPMON_PLUGINS.pro.user +++ b/PAULs_LPPMON_PLUGINS.pro.user @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget diff --git a/gse_lesia/Makefile b/gse_lesia/Makefile --- a/gse_lesia/Makefile +++ b/gse_lesia/Makefile @@ -1,21 +1,21 @@ ############################################################################# # Makefile for building: lfrsgse -# Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jun 28 15:45:35 2013 +# Generated by qmake (2.01a) (Qt 4.8.4) on: Thu Jul 4 10:56:56 2013 # Project: gselesia.pro # Template: app -# Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro +# Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ CONFIG+=debug CONFIG+=declarative_debug -o Makefile gselesia.pro ############################################################################# ####### Compiler, tools and options CC = gcc CXX = g++ -DEFINES = -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES) -CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT $(DEFINES) +DEFINES = -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I../common_PLE -I../rmapplugin -I../../DEV_PLE/header -I/usr/include/lppmon/common -I/usr/include/lppmon/wfdisplay -I. LINK = g++ -LFLAGS = -Wl,-O1 -Wl,-z,relro +LFLAGS = LIBS = $(SUBLIBS) -L/usr/lib64 -llppmoncommon -lwfdisplay -lqwt5-qt4 -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread AR = ar cqs RANLIB = @@ -100,8 +100,9 @@ DIST = /usr/lib64/qt4/mkspecs/c /usr/lib64/qt4/mkspecs/features/qt_config.prf \ /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \ /usr/lib64/qt4/mkspecs/features/default_pre.prf \ - /usr/lib64/qt4/mkspecs/features/release.prf \ + /usr/lib64/qt4/mkspecs/features/debug.prf \ /usr/lib64/qt4/mkspecs/features/default_post.prf \ + /usr/lib64/qt4/mkspecs/features/declarative_debug.prf \ /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ /usr/lib64/qt4/mkspecs/features/warn_on.prf \ /usr/lib64/qt4/mkspecs/features/qt.prf \ @@ -143,6 +144,7 @@ all: Makefile $(TARGET) $(TARGET): $(OBJECTS) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + { test -n "$(DESTDIR)" && DESTDIR="$(DESTDIR)" || DESTDIR=.; } && test $$(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $$DESTDIR" -ex quit '$(TARGET)' && test -f $(TARGET).gdb-index && objcopy --add-section '.gdb_index=$(TARGET).gdb-index' --set-section-flags '.gdb_index=readonly' '$(TARGET)' '$(TARGET)' && rm -f $(TARGET).gdb-index || true Makefile: gselesia.pro /usr/lib64/qt4/mkspecs/linux-g++/qmake.conf /usr/lib64/qt4/mkspecs/common/unix.conf \ /usr/lib64/qt4/mkspecs/common/linux.conf \ @@ -156,8 +158,9 @@ Makefile: gselesia.pro /usr/lib64/qt4/m /usr/lib64/qt4/mkspecs/features/qt_config.prf \ /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf \ /usr/lib64/qt4/mkspecs/features/default_pre.prf \ - /usr/lib64/qt4/mkspecs/features/release.prf \ + /usr/lib64/qt4/mkspecs/features/debug.prf \ /usr/lib64/qt4/mkspecs/features/default_post.prf \ + /usr/lib64/qt4/mkspecs/features/declarative_debug.prf \ /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ /usr/lib64/qt4/mkspecs/features/warn_on.prf \ /usr/lib64/qt4/mkspecs/features/qt.prf \ @@ -172,7 +175,7 @@ Makefile: gselesia.pro /usr/lib64/qt4/m /usr/lib64/libQtCore.prl \ /usr/lib64/libQtGui.prl \ /usr/lib64/libQtNetwork.prl - $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro + $(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ CONFIG+=debug CONFIG+=declarative_debug -o Makefile gselesia.pro /usr/lib64/qt4/mkspecs/common/unix.conf: /usr/lib64/qt4/mkspecs/common/linux.conf: /usr/lib64/qt4/mkspecs/common/gcc-base.conf: @@ -185,8 +188,9 @@ Makefile: gselesia.pro /usr/lib64/qt4/m /usr/lib64/qt4/mkspecs/features/qt_config.prf: /usr/lib64/qt4/mkspecs/features/exclusive_builds.prf: /usr/lib64/qt4/mkspecs/features/default_pre.prf: -/usr/lib64/qt4/mkspecs/features/release.prf: +/usr/lib64/qt4/mkspecs/features/debug.prf: /usr/lib64/qt4/mkspecs/features/default_post.prf: +/usr/lib64/qt4/mkspecs/features/declarative_debug.prf: /usr/lib64/qt4/mkspecs/features/unix/gdb_dwarf_index.prf: /usr/lib64/qt4/mkspecs/features/warn_on.prf: /usr/lib64/qt4/mkspecs/features/qt.prf: @@ -202,7 +206,7 @@ Makefile: gselesia.pro /usr/lib64/qt4/m /usr/lib64/libQtGui.prl: /usr/lib64/libQtNetwork.prl: qmake: FORCE - @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile gselesia.pro + @$(QMAKE) -spec /usr/lib64/qt4/mkspecs/linux-g++ CONFIG+=debug CONFIG+=declarative_debug -o Makefile gselesia.pro dist: @$(CHK_DIR_EXISTS) .tmp/lfrsgse1.0.0 || $(MKDIR) .tmp/lfrsgse1.0.0 diff --git a/gse_lesia/gselesia.pro.user b/gse_lesia/gselesia.pro.user --- a/gse_lesia/gselesia.pro.user +++ b/gse_lesia/gselesia.pro.user @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget @@ -52,7 +52,7 @@ Desktop Desktop Qt4ProjectManager.Target.DesktopTarget - 0 + 1 0 0 @@ -63,7 +63,7 @@ QtProjectManager.QMakeBuildStep false - true + false false @@ -97,11 +97,11 @@ 2 false - Qt 4.8.2 in PATH (System) Release + Qt 4.8.3 in PATH (System) Release Qt4ProjectManager.Qt4BuildConfiguration 0 - /opt/GSE_LESIA/gselesia + /home/admin/opt/LPPMON_PLUGINS_PLE/gse_lesia 1 false @@ -147,11 +147,11 @@ 2 false - Qt 4.8.2 in PATH (System) Debug + Qt 4.8.3 in PATH (System) Debug Qt4ProjectManager.Qt4BuildConfiguration 2 - /opt/GSE_LESIA/gselesia + /home/admin/opt/LPPMON_PLUGINS_PLE/gselesia-build-desktop-Qt_4_8_3_in_PATH__System__Debug 1 false diff --git a/gse_lesia/mainwindow.cpp b/gse_lesia/mainwindow.cpp --- a/gse_lesia/mainwindow.cpp +++ b/gse_lesia/mainwindow.cpp @@ -9,13 +9,6 @@ MainWindow::MainWindow(QWidget *parent) totalOfBytes = 0; totalOfPackets = 0; - analyserSGSEServerTC = new QTcpServer(); - analyserSGSEServerTM = new QTcpServer(); - - socketTC = NULL; - socketTM = NULL; - socketEchoServer = new QTcpSocket(); - //**** // XML // xml handlers @@ -37,6 +30,13 @@ MainWindow::MainWindow(QWidget *parent) this->setLayout(UI->layout()); + analyserSGSEServerTC = new QTcpServer(); + analyserSGSEServerTM = new QTcpServer(); + + socketTC = NULL; + socketTM = NULL; + socketEchoServer = new QTcpSocket(); + connect(this->UI->button_openServerTCTM, SIGNAL(clicked()), this, SLOT(listenOnTCTMPorts())); connect(this->UI->button_testServerTCTM, SIGNAL(clicked()), this, SLOT(testTCTMPorts())); connect(this->UI->button_openSocketEchoServer, SIGNAL(clicked()), this, SLOT(openEchoServer())); diff --git a/gse_lesia/mainwindow.h b/gse_lesia/mainwindow.h --- a/gse_lesia/mainwindow.h +++ b/gse_lesia/mainwindow.h @@ -1,7 +1,6 @@ #ifndef MAINWINDOW_H #define MAINWINDOW_H -#include #include #include #include diff --git a/gse_lesia/mainwindowui.cpp b/gse_lesia/mainwindowui.cpp --- a/gse_lesia/mainwindowui.cpp +++ b/gse_lesia/mainwindowui.cpp @@ -14,15 +14,15 @@ MainWindowUI::MainWindowUI(QWidget *pare console = new QTextEdit(); - spwTabWidget = new QTabWidget; - spwTabWidgetPage0 = new QWidget; - spwTabWidgetPage1 = new QWidget; - spwTabWidgetPage2 = new QWidget; - spwTabWidgetPage3 = new QWidget; - spwTabWidgetPage4 = new QWidget; - spwTabWidgetPage5 = new QWidget; // WFRM BURST - spwTabWidgetPage6 = new QWidget; // WFRM SBM1 - spwTabWidgetPage7 = new QWidget; // WFRM SBM2 + spwTabWidget = new QTabWidget(); + spwTabWidgetPage0 = new QWidget(); + spwTabWidgetPage1 = new QWidget(); + spwTabWidgetPage2 = new QWidget(); + spwTabWidgetPage3 = new QWidget(); + spwTabWidgetPage4 = new QWidget(); + spwTabWidgetPage5 = new QWidget(); // WFRM BURST + spwTabWidgetPage6 = new QWidget(); // WFRM SBM1 + spwTabWidgetPage7 = new QWidget(); // WFRM SBM2 tmStatistics = new TMStatistics; @@ -95,9 +95,9 @@ MainWindowUI::MainWindowUI(QWidget *pare spwTabWidget->addTab(spwTabWidgetPage1, tr("TM Statistics")); spwTabWidget->addTab(spwTabWidgetPage3, tr("HK")); spwTabWidget->addTab(spwTabWidgetPage2, tr("WFRM NORM")); - spwTabWidget->addTab(spwTabWidgetPage5, tr("WFRM BURST")); - spwTabWidget->addTab(spwTabWidgetPage6, tr("WFRM SBM1")); - spwTabWidget->addTab(spwTabWidgetPage7, tr("WFRM SBM2")); + spwTabWidget->addTab((QWidget *) wfPageBurst, tr("WFRM BURST")); + spwTabWidget->addTab((QWidget *) wfPageSBM1, tr("WFRM SBM1")); + spwTabWidget->addTab((QWidget *) wfPageSBM2, tr("WFRM SBM2")); spwTabWidget->addTab(spwTabWidgetPage4, tr("Spectrograms")); spwTabWidgetPage0->setLayout(mainLayout); @@ -105,9 +105,9 @@ MainWindowUI::MainWindowUI(QWidget *pare spwTabWidgetPage2->setLayout(wfDisplay->layout()); spwTabWidgetPage3->setLayout(hkDisplay->layout()); spwTabWidgetPage4->setLayout(lfrSpectrogam->layout()); - spwTabWidgetPage5->setLayout(wfPageBurst->layout()); - spwTabWidgetPage6->setLayout(wfPageSBM1->layout()); - spwTabWidgetPage7->setLayout(wfPageSBM2->layout()); + //spwTabWidgetPage5->setLayout(wfPageBurst->layout()); + //spwTabWidgetPage6->setLayout(wfPageSBM1->layout()); + //spwTabWidgetPage7->setLayout(wfPageSBM2->layout()); layout_overallLayout->addWidget(spwTabWidget); diff --git a/gse_lesia/mainwindowui.h b/gse_lesia/mainwindowui.h --- a/gse_lesia/mainwindowui.h +++ b/gse_lesia/mainwindowui.h @@ -12,8 +12,9 @@ #include #include +#include + #include "tmstatistics.h" -#include "wfdisplay.h" #include "hkdisplay.h" #include "lfrspectrogram.h" diff --git a/rmapplugin/tmstatistics.cpp b/rmapplugin/tmstatistics.cpp --- a/rmapplugin/tmstatistics.cpp +++ b/rmapplugin/tmstatistics.cpp @@ -7,7 +7,7 @@ TMStatistics::TMStatistics(QWidget *pare { // Create Fonts QFont font; - //font = QFont(this->fontInfo().family(), STATISTICS_FONT_SIZE, QFont::Light); + font = QFont(this->fontInfo().family(), STATISTICS_FONT_SIZE, QFont::Light); label_UNKNOWN = new QLabel("UNKNOWN"); label_UNKNOWN_nb = new QLabel("-"); diff --git a/wfdisplay/wfdisplay/Makefile b/wfdisplay/wfdisplay/Makefile --- a/wfdisplay/wfdisplay/Makefile +++ b/wfdisplay/wfdisplay/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: libwfdisplay.so.1.0.0 -# Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jun 28 15:43:38 2013 +# Generated by qmake (2.01a) (Qt 4.8.4) on: Thu Jul 4 10:42:53 2013 # Project: wfdisplay.pro # Template: lib # Command: /usr/bin/qmake-qt4 -o Makefile wfdisplay.pro @@ -185,7 +185,7 @@ qmake: FORCE dist: @$(CHK_DIR_EXISTS) .tmp/wfdisplay1.0.0 || $(MKDIR) .tmp/wfdisplay1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/wfdisplay1.0.0/ && $(COPY_FILE) --parents wfdisplay.h wfdisplay_global.h wfplot.h wfpage.h params.h .tmp/wfdisplay1.0.0/ && $(COPY_FILE) --parents wfdisplay.cpp wfplot.cpp wfpage.cpp .tmp/wfdisplay1.0.0/ && (cd `dirname .tmp/wfdisplay1.0.0` && $(TAR) wfdisplay1.0.0.tar wfdisplay1.0.0 && $(COMPRESS) wfdisplay1.0.0.tar) && $(MOVE) `dirname .tmp/wfdisplay1.0.0`/wfdisplay1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/wfdisplay1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/wfdisplay1.0.0/ && $(COPY_FILE) --parents wfdisplay.h wfdisplay_global.h wfplot.h wfpage.h wfdisplay_params.h .tmp/wfdisplay1.0.0/ && $(COPY_FILE) --parents wfdisplay.cpp wfplot.cpp wfpage.cpp .tmp/wfdisplay1.0.0/ && (cd `dirname .tmp/wfdisplay1.0.0` && $(TAR) wfdisplay1.0.0.tar wfdisplay1.0.0 && $(COMPRESS) wfdisplay1.0.0.tar) && $(MOVE) `dirname .tmp/wfdisplay1.0.0`/wfdisplay1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/wfdisplay1.0.0 clean:compiler_clean @@ -213,15 +213,16 @@ compiler_moc_header_clean: moc_wfdisplay.cpp: wfdisplay_global.h \ wfpage.h \ wfplot.h \ - params.h \ + wfdisplay_params.h \ wfdisplay.h /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfdisplay.h -o moc_wfdisplay.cpp moc_wfplot.cpp: wfplot.h /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfplot.h -o moc_wfplot.cpp -moc_wfpage.cpp: wfplot.h \ - params.h \ +moc_wfpage.cpp: wfdisplay_global.h \ + wfplot.h \ + wfdisplay_params.h \ wfpage.h /usr/lib64/qt4/bin/moc $(DEFINES) $(INCPATH) wfpage.h -o moc_wfpage.cpp @@ -248,16 +249,17 @@ wfdisplay.o: wfdisplay.cpp wfdisplay.h \ wfdisplay_global.h \ wfpage.h \ wfplot.h \ - params.h + wfdisplay_params.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfdisplay.o wfdisplay.cpp wfplot.o: wfplot.cpp wfplot.h \ - params.h + wfdisplay_params.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfplot.o wfplot.cpp wfpage.o: wfpage.cpp wfpage.h \ + wfdisplay_global.h \ wfplot.h \ - params.h + wfdisplay_params.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o wfpage.o wfpage.cpp moc_wfdisplay.o: moc_wfdisplay.cpp @@ -276,12 +278,16 @@ install_header: first FORCE -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfdisplay.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfdisplay_global.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfpage.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ + -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfplot.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ + -$(INSTALL_FILE) /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay/wfdisplay_params.h $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ uninstall_header: FORCE -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfdisplay.h -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfdisplay_global.h - -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfpage.h + -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfpage.h + -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfplot.h + -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/wfdisplay_params.h -$(DEL_DIR) $(INSTALL_ROOT)/usr/include/lppmon/wfdisplay/ diff --git a/wfdisplay/wfdisplay/wfdisplay.cpp b/wfdisplay/wfdisplay/wfdisplay.cpp --- a/wfdisplay/wfdisplay/wfdisplay.cpp +++ b/wfdisplay/wfdisplay/wfdisplay.cpp @@ -8,10 +8,10 @@ WFDisplay::WFDisplay(QWidget *parent) : spwTabWidget = new QTabWidget; - page_f0 = new WFPage; - page_f1 = new WFPage; - page_f2 = new WFPage; - page_f3 = new WFPage; + page_f0 = new WFPage(); + page_f1 = new WFPage(); + page_f2 = new WFPage(); + page_f3 = new WFPage(); spwTabWidget->addTab(page_f0, tr("f0 (24576 Hz)")); spwTabWidget->addTab(page_f1, tr("f1 (4096 Hz")); diff --git a/wfdisplay/wfdisplay/wfdisplay.h b/wfdisplay/wfdisplay/wfdisplay.h --- a/wfdisplay/wfdisplay/wfdisplay.h +++ b/wfdisplay/wfdisplay/wfdisplay.h @@ -6,8 +6,8 @@ #include #include #include +#include #include -#include #define XMAX 2048 diff --git a/wfdisplay/wfdisplay/wfdisplay.pro b/wfdisplay/wfdisplay/wfdisplay.pro --- a/wfdisplay/wfdisplay/wfdisplay.pro +++ b/wfdisplay/wfdisplay/wfdisplay.pro @@ -24,14 +24,16 @@ HEADERS += wfdisplay.h\ wfdisplay_global.h \ wfplot.h \ wfpage.h \ - params.h + wfdisplay_params.h header.path = $$[QT_INSTALL_HEADERS]/lppmon/wfdisplay header.files = \ wfdisplay.h \ wfdisplay_global.h \ - wfpage.h + wfpage.h \ + wfplot.h \ + wfdisplay_params.h target.path = $$[QT_INSTALL_LIBS] isEmpty(target.path) { diff --git a/wfdisplay/wfdisplay/wfdisplay.pro.user b/wfdisplay/wfdisplay/wfdisplay.pro.user --- a/wfdisplay/wfdisplay/wfdisplay.pro.user +++ b/wfdisplay/wfdisplay/wfdisplay.pro.user @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget @@ -97,11 +97,11 @@ 2 false - Qt 4.8.2 in PATH (System) Release + Qt 4.8.3 in PATH (System) Debug Qt4ProjectManager.Qt4BuildConfiguration - 0 - /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay + 2 + /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay-build-desktop-Qt_4_8_3_in_PATH__System__Debug 1 false @@ -147,11 +147,11 @@ 2 false - Qt 4.8.2 in PATH (System) Debug + Qt 4.8.3 in PATH (System) Release Qt4ProjectManager.Qt4BuildConfiguration - 2 - /opt/LPPMON_PLUGINS_PAUL/wfdisplay/wfdisplay + 0 + /home/admin/opt/LPPMON_PLUGINS_PLE/wfdisplay/wfdisplay-build-desktop-Qt_4_8_3_in_PATH__System__Release 1 false @@ -232,15 +232,16 @@ 13 14 - - 2 - - false - - %{buildDir} - Custom Executable + wfdisplay - ProjectExplorer.CustomExecutableRunConfiguration + Qt4ProjectManager.Qt4RunConfiguration + 2 + + wfdisplay.pro + false + false + + 3768 true false @@ -255,7 +256,7 @@ ProjectExplorer.Project.Updater.EnvironmentId - {2e58a81f-9962-4bba-ae6b-760177f0656c} + {cdbf9cdc-1e84-406e-889b-c4feef49e75c} ProjectExplorer.Project.Updater.FileVersion diff --git a/wfdisplay/wfdisplay/wfpage.cpp b/wfdisplay/wfdisplay/wfpage.cpp --- a/wfdisplay/wfdisplay/wfpage.cpp +++ b/wfdisplay/wfdisplay/wfpage.cpp @@ -1,7 +1,7 @@ #include "wfpage.h" WFPage::WFPage(QWidget *parent) : - QWidget(parent) + QMainWindow(parent) { wfPlot_v = new WFPlot(); wfPlot_e1 = new WFPlot(); @@ -17,15 +17,24 @@ WFPage::WFPage(QWidget *parent) : wfPlot_b2->customPlot->setTitle("b2"); wfPlot_b3->customPlot->setTitle("b3"); // - mainLayout = new QGridLayout; + /*mainLayout = new QGridLayout; mainLayout->addWidget(wfPlot_v, 0, 0, 1, 1); mainLayout->addWidget(wfPlot_e1, 0, 1, 1, 1); mainLayout->addWidget(wfPlot_e2, 0, 2, 1, 1); mainLayout->addWidget(wfPlot_b1, 1, 0, 1, 1); mainLayout->addWidget(wfPlot_b2, 1, 1, 1, 1); - mainLayout->addWidget(wfPlot_b3, 1, 2, 1, 1); + mainLayout->addWidget(wfPlot_b3, 1, 2, 1, 1);*/ // - this->setLayout(mainLayout); + dockV = NULL; + dockE1 = NULL; + dockE2 = NULL; + dockB1 = NULL; + dockB2 = NULL; + dockB3 = NULL; + + createToolBar(); + // + //this->setLayout(mainLayout); } void WFPage::displayOnPlot(short *data, unsigned char num) @@ -51,3 +60,352 @@ void WFPage::displayOnPlot(short *data, break; } } + +void WFPage::createDockWindows() + { + dockV = new QDockWidget(tr("V"), this); + dockE1 = new QDockWidget(tr("E1"), this); + dockE2 = new QDockWidget(tr("E2"), this); + dockB1 = new QDockWidget(tr("B1"), this); + dockB2 = new QDockWidget(tr("B2"), this); + dockB3 = new QDockWidget(tr("B3"), this); + } + +void WFPage::createToolBar() +{ + radio_v = new QRadioButton(tr("v")); + radio_e1 = new QRadioButton(tr("e1")); + radio_e2 = new QRadioButton(tr("e2")); + radio_b1 = new QRadioButton(tr("b1")); + radio_b2 = new QRadioButton(tr("b2")); + radio_b3 = new QRadioButton(tr("b3")); + radio_tabify = new QRadioButton(tr("tabify")); + + radio_v->setAutoExclusive(false); + radio_e1->setAutoExclusive(false); + radio_e2->setAutoExclusive(false); + radio_b1->setAutoExclusive(false); + radio_b2->setAutoExclusive(false); + radio_b3->setAutoExclusive(false); + radio_tabify->setAutoExclusive(false); + + myToolBar = new QToolBar("select"); + + myToolBar->addWidget(radio_v); + myToolBar->addWidget(radio_e1); + myToolBar->addWidget(radio_e2); + myToolBar->addWidget(radio_b1); + myToolBar->addWidget(radio_b2); + myToolBar->addWidget(radio_b3); + myToolBar->addSeparator(); + myToolBar->addWidget(radio_tabify); + + addToolBar(Qt::LeftToolBarArea, myToolBar); + + radio_tabify->setChecked(true); + + connect(this->radio_v, SIGNAL(clicked(bool)), this, SLOT(actionRadioV(bool))); + connect(this->radio_e1, SIGNAL(clicked(bool)), this, SLOT(actionRadioE1(bool))); + connect(this->radio_e2, SIGNAL(clicked(bool)), this, SLOT(actionRadioE2(bool))); + connect(this->radio_b1, SIGNAL(clicked(bool)), this, SLOT(actionRadioB1(bool))); + connect(this->radio_b2, SIGNAL(clicked(bool)), this, SLOT(actionRadioB2(bool))); + connect(this->radio_b3, SIGNAL(clicked(bool)), this, SLOT(actionRadioB3(bool))); + connect(this->radio_tabify, SIGNAL(clicked(bool)), this, SLOT(organizeDocks())); +} + +void WFPage::actionRadioV(bool state) +{ + if (state == true) + { + if (dockV == NULL) + { + dockV = new QDockWidget("V", this); + dockV->setWidget(wfPlot_v); + } + } + else + { + this->removeDockWidget(dockV); + } + organizeDocks(); +} + +void WFPage::actionRadioE1(bool state) +{ + if (state == true) + { + if (dockE1 == NULL) + { + dockE1 = new QDockWidget("E1", this); + dockE1->setWidget(wfPlot_e1); + } + addDockWidget(Qt::TopDockWidgetArea, dockE1); + dockE1->show(); + } + else + { + this->removeDockWidget(dockE1); + } + organizeDocks(); +} + +void WFPage::actionRadioE2(bool state) +{ + if (state == true) + { + if (dockE2 == NULL) + { + dockE2 = new QDockWidget("E2", this); + dockE2->setWidget(wfPlot_e2); + } + addDockWidget(Qt::TopDockWidgetArea, dockE2); + dockE2->show(); + } + else + { + this->removeDockWidget(dockE2); + } + organizeDocks(); +} + +void WFPage::actionRadioB1(bool state) +{ + if (state == true) + { + if (dockB1 == NULL) + { + dockB1 = new QDockWidget("B1", this); + dockB1->setWidget(wfPlot_b1); + } + } + else + { + this->removeDockWidget(dockB1); + } + organizeDocks(); +} + +void WFPage::actionRadioB2(bool state) +{ + if (state == true) + { + if (dockB2 == NULL) + { + dockB2 = new QDockWidget("B2", this); + dockB2->setWidget(wfPlot_b2); + } + } + else + { + this->removeDockWidget(dockB2); + } + organizeDocks(); +} + +void WFPage::actionRadioB3(bool state) +{ + if (state == true) + { + if (dockB3 == NULL) + { + dockB3 = new QDockWidget("B3", this); + dockB3->setWidget(wfPlot_b3); + } + } + else + { + this->removeDockWidget(dockB3); + } + organizeDocks(); +} + +void WFPage::buildDockList() +{ + dockList.clear(); + + if (radio_v->isChecked()) + { + dockList.append(dockV); + removeDockWidget(dockV); + } + if (radio_e1->isChecked()) + { + dockList.append(dockE1); + removeDockWidget(dockE1); + } + if (radio_e2->isChecked()) + { + dockList.append(dockE2); + removeDockWidget(dockE2); + } + if (radio_b1->isChecked()) + { + dockList.append(dockB1); + removeDockWidget(dockB1); + } + if (radio_b2->isChecked()) + { + dockList.append(dockB2); + removeDockWidget(dockB2); + } + if (radio_b3->isChecked()) + { + dockList.append(dockB3); + removeDockWidget(dockB3); + } +} + +void WFPage::organizeDocks() +{ + if (radio_tabify->isChecked()) + { + tabify(); + this->resize(1.2*this->minimumSizeHint()); + } + else + { + unTabify(); + wfPlot_v->resize(wfPlot_v->minimumSizeHint()); + wfPlot_e1->resize(wfPlot_e1->minimumSizeHint()); + wfPlot_e2->resize(wfPlot_e2->minimumSizeHint()); + wfPlot_b1->resize(wfPlot_b1->minimumSizeHint()); + wfPlot_b2->resize(wfPlot_b2->minimumSizeHint()); + wfPlot_b3->resize(wfPlot_b3->minimumSizeHint()); + this->resize(this->minimumSizeHint()); + } +} + +void WFPage::unTabify() +{ + buildDockList(); + + switch(dockList.size()) + { + case 0: + break; + case 1: + addDockWidget(Qt::TopDockWidgetArea, dockList.at(0)); + dockList.at(0)->show(); + break; + case 2: + addDockWidget(Qt::TopDockWidgetArea, dockList.at(0)); + addDockWidget(Qt::TopDockWidgetArea, dockList.at(1)); + dockList.at(0)->show(); + dockList.at(1)->show(); + break; + case 3: + addDockWidget(Qt::TopDockWidgetArea, dockList.at(0)); + addDockWidget(Qt::TopDockWidgetArea, dockList.at(1)); + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(2)); + dockList.at(0)->show(); + dockList.at(1)->show(); + dockList.at(2)->show(); + break; + case 4: + addDockWidget(Qt::TopDockWidgetArea, dockList.at(0)); + addDockWidget(Qt::TopDockWidgetArea, dockList.at(1)); + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(2)); + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(3)); + dockList.at(0)->show(); + dockList.at(1)->show(); + dockList.at(2)->show(); + dockList.at(3)->show(); + break; + case 5: + addDockWidget(Qt::TopDockWidgetArea, dockList.at(0)); + addDockWidget(Qt::TopDockWidgetArea, dockList.at(1)); + addDockWidget(Qt::TopDockWidgetArea, dockList.at(2)); + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(3)); + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(4)); + dockList.at(0)->show(); + dockList.at(1)->show(); + dockList.at(2)->show(); + dockList.at(3)->show(); + dockList.at(4)->show(); + break; + case 6: + addDockWidget(Qt::TopDockWidgetArea, dockList.at(0)); + addDockWidget(Qt::TopDockWidgetArea, dockList.at(1)); + addDockWidget(Qt::TopDockWidgetArea, dockList.at(2)); + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(3)); + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(4)); + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(5)); + dockList.at(0)->show(); + dockList.at(1)->show(); + dockList.at(2)->show(); + dockList.at(3)->show(); + dockList.at(4)->show(); + dockList.at(5)->show(); + break; + default: + break; + } +} + +void WFPage::tabify() +{ + buildDockList(); + + switch(dockList.size()) + { + case 0: + break; + case 1: + addDockWidget(Qt::TopDockWidgetArea, dockList.at(0)); + dockList.at(0)->show(); + break; + case 2: + addDockWidget(Qt::TopDockWidgetArea, dockList.at(0)); + tabifyDockWidget(dockList.at(0), dockList.at(1)); + dockList.at(0)->show(); + dockList.at(1)->show(); + break; + case 3: + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0)); + tabifyDockWidget(dockList.at(0), dockList.at(1)); + tabifyDockWidget(dockList.at(1), dockList.at(2)); + dockList.at(0)->show(); + dockList.at(1)->show(); + dockList.at(2)->show(); + break; + case 4: + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0)); + tabifyDockWidget(dockList.at(0), dockList.at(1)); + tabifyDockWidget(dockList.at(1), dockList.at(2)); + tabifyDockWidget(dockList.at(2), dockList.at(3)); + dockList.at(0)->show(); + dockList.at(1)->show(); + dockList.at(2)->show(); + dockList.at(3)->show(); + break; + case 5: + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0)); + tabifyDockWidget(dockList.at(0), dockList.at(1)); + tabifyDockWidget(dockList.at(1), dockList.at(2)); + tabifyDockWidget(dockList.at(2), dockList.at(3)); + tabifyDockWidget(dockList.at(3), dockList.at(4)); + dockList.at(0)->show(); + dockList.at(1)->show(); + dockList.at(2)->show(); + dockList.at(3)->show(); + dockList.at(4)->show(); + break; + case 6: + addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0)); + tabifyDockWidget(dockList.at(0), dockList.at(1)); + tabifyDockWidget(dockList.at(1), dockList.at(2)); + tabifyDockWidget(dockList.at(2), dockList.at(3)); + tabifyDockWidget(dockList.at(3), dockList.at(4)); + tabifyDockWidget(dockList.at(4), dockList.at(5)); + dockList.at(0)->show(); + dockList.at(1)->show(); + dockList.at(2)->show(); + dockList.at(3)->show(); + dockList.at(4)->show(); + dockList.at(5)->show(); + break; + default: + break; + } +} + diff --git a/wfdisplay/wfdisplay/wfpage.h b/wfdisplay/wfdisplay/wfpage.h --- a/wfdisplay/wfdisplay/wfpage.h +++ b/wfdisplay/wfdisplay/wfpage.h @@ -1,16 +1,47 @@ #ifndef WFPAGE_H #define WFPAGE_H -#include +#include "wfdisplay_global.h" + +#include +#include +#include +#include + #include -#include +#include -class WFPage : public QWidget +class WFDISPLAYSHARED_EXPORT WFPage : public QMainWindow { Q_OBJECT public: explicit WFPage(QWidget *parent = 0); + void createDockWindows(); + void createToolBar(); + void buildDockList(); + void unTabify(); + void tabify(); + + QList dockList; + + QDockWidget *dockV; + QDockWidget *dockE1; + QDockWidget *dockE2; + QDockWidget *dockB1; + QDockWidget *dockB2; + QDockWidget *dockB3; + + QRadioButton *radio_v; + QRadioButton *radio_e1; + QRadioButton *radio_e2; + QRadioButton *radio_b1; + QRadioButton *radio_b2; + QRadioButton *radio_b3; + QRadioButton *radio_tabify; + + QToolBar *myToolBar; + WFPlot *wfPlot_v; WFPlot *wfPlot_e1; WFPlot *wfPlot_e2; @@ -18,13 +49,20 @@ public: WFPlot *wfPlot_b2; WFPlot *wfPlot_b3; - QGridLayout *mainLayout; + //QGridLayout *mainLayout; void displayOnPlot(short *data, unsigned char num); signals: public slots: + void actionRadioV(bool state); + void actionRadioE1(bool state); + void actionRadioE2(bool state); + void actionRadioB1(bool state); + void actionRadioB2(bool state); + void actionRadioB3(bool state); + void organizeDocks(); }; diff --git a/wfdisplay/wfdisplay/wfplot.cpp b/wfdisplay/wfdisplay/wfplot.cpp --- a/wfdisplay/wfdisplay/wfplot.cpp +++ b/wfdisplay/wfdisplay/wfplot.cpp @@ -1,6 +1,6 @@ #include "wfplot.h" #include -#include +#include WFPlot::WFPlot(QWidget *parent) : QWidget(parent)