Skip to content

Commit e85bb37

Browse files
committed
Add period from DataView list to DataView item for client
1 parent 844b58e commit e85bb37

18 files changed

+129
-85
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.5) # 2.2 - case insensitive syntax
22

3-
project(ModbusTools VERSION 0.3.8 LANGUAGES CXX)
3+
project(ModbusTools VERSION 0.3.9 LANGUAGES CXX)
44

55
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
66
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")

src/client/gui/client_ui.cpp

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -170,16 +170,6 @@ void mbClientUi::setCachedSettings(const MBSETTINGS &settings)
170170
m_scannerUi->setCachedSettings(settings);
171171
}
172172

173-
void mbClientUi::menuSlotViewProject()
174-
{
175-
ui->dockProject->show();
176-
}
177-
178-
void mbClientUi::menuSlotViewLogView()
179-
{
180-
ui->dockLogView->show();
181-
}
182-
183173
void mbClientUi::menuSlotEditPaste()
184174
{
185175
if (core()->isRunning())
@@ -611,3 +601,11 @@ void mbClientUi::editDevice(mbClientDevice *device)
611601
m_project->setModifiedFlag(true);
612602
}
613603
}
604+
605+
MBSETTINGS mbClientUi::getDataViewItemCreateSettings()
606+
{
607+
MBSETTINGS res;
608+
if (mbClientDataView *wl = dataViewManager()->activeDataView())
609+
res[mbClientDataViewItem::Strings::instance().period] = wl->period();
610+
return res;
611+
}

src/client/gui/client_ui.h

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,13 @@ class mbClientUi : public mbCoreUi
7171
void setCachedSettings(const MBSETTINGS &settings) override;
7272

7373
private Q_SLOTS:
74-
// ----------------------------
75-
// ------------VIEW------------
76-
// ----------------------------
77-
void menuSlotViewProject() override;
78-
void menuSlotViewLogView() override;
7974
// ----------------------------
8075
// ------------EDIT------------
8176
// ----------------------------
82-
void menuSlotEditPaste () override;
83-
void menuSlotEditInsert () override;
84-
void menuSlotEditEdit () override;
85-
void menuSlotEditDelete () override;
77+
void menuSlotEditPaste () override;
78+
void menuSlotEditInsert() override;
79+
void menuSlotEditEdit () override;
80+
void menuSlotEditDelete() override;
8681
// ----------------------------
8782
// ------------PORT------------
8883
// ----------------------------
@@ -127,6 +122,9 @@ private Q_SLOTS:
127122
void editPort(mbCorePort *port);
128123
void editDevice(mbClientDevice *device);
129124

125+
private:
126+
MBSETTINGS getDataViewItemCreateSettings() override;
127+
130128
private:
131129
Ui::mbClientUi *ui;
132130
// status bar labels

src/client/gui/dialogs/client_dialogdataviewitem.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,13 +101,22 @@ void mbClientDialogDataViewItem::setCachedSettings(const MBSETTINGS &settings)
101101
it = settings.find(prefix+sItem.period); if (it != end) ui->spPeriod->setValue(it.value().toInt());
102102
}
103103

104-
void mbClientDialogDataViewItem::fillFormInner(const MBSETTINGS &settings)
104+
void mbClientDialogDataViewItem::fillFormEditInner(const MBSETTINGS &settings)
105105
{
106106
const mbClientDataViewItem::Strings &sItem = mbClientDataViewItem::Strings::instance();
107107
int period = settings.value(sItem.period).toInt();
108108
ui->spPeriod->setValue(period);
109109
}
110110

111+
void mbClientDialogDataViewItem::fillFormNewInner(const MBSETTINGS &settings)
112+
{
113+
const mbClientDataViewItem::Strings &sItem = mbClientDataViewItem::Strings::instance();
114+
MBSETTINGS::const_iterator it;
115+
MBSETTINGS::const_iterator end = settings.end();
116+
117+
it = settings.find(sItem.period); if (it != end) ui->spPeriod->setValue(settings.value(sItem.period).toInt());
118+
}
119+
111120
void mbClientDialogDataViewItem::fillDataInner(MBSETTINGS &settings) const
112121
{
113122
const mbClientDataViewItem::Strings &sItem = mbClientDataViewItem::Strings::instance();

src/client/gui/dialogs/client_dialogdataviewitem.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ class mbClientDialogDataViewItem : public mbCoreDialogDataViewItem
5050
void setCachedSettings(const MBSETTINGS &settings) override;
5151

5252
private:
53-
void fillFormInner(const MBSETTINGS &settings) override;
53+
void fillFormEditInner(const MBSETTINGS &settings) override;
54+
void fillFormNewInner(const MBSETTINGS &settings) override;
5455
void fillDataInner(MBSETTINGS &settings) const override;
5556

5657
private:

src/client/win_resource.rc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
IDI_ICON1 ICON DISCARDABLE "gui\\icons\\client.ico"
44

55
VS_VERSION_INFO VERSIONINFO
6-
FILEVERSION 0,3,8,0
7-
PRODUCTVERSION 0,3,8,0
6+
FILEVERSION 0,3,9,0
7+
PRODUCTVERSION 0,3,9,0
88
FILEFLAGSMASK 0x3fL
99
#ifdef _DEBUG
1010
FILEFLAGS VS_FF_DEBUG
@@ -21,11 +21,11 @@ VS_VERSION_INFO VERSIONINFO
2121
BEGIN
2222
VALUE "CompanyName", "\0"
2323
VALUE "FileDescription", "\0"
24-
VALUE "FileVersion", "0.3.8.0\0"
24+
VALUE "FileVersion", "0.3.9.0\0"
2525
VALUE "LegalCopyright", "\0"
2626
VALUE "OriginalFilename", "client.exe\0"
2727
VALUE "ProductName", "client\0"
28-
VALUE "ProductVersion", "0.3.8.0\0"
28+
VALUE "ProductVersion", "0.3.9.0\0"
2929
END
3030
END
3131
BLOCK "VarFileInfo"

src/core/core/core.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ void mbCore::logMessageThreadUnsafe(mb::LogFlag /*flag*/, const QString &source,
414414
if (m_settings.useTimestamp)
415415
msg = QString("%1 %2").arg(QDateTime::currentDateTime().toString(m_settings.formatDateTime), msg);
416416
if (m_ui)
417-
m_ui->showMessage(msg);
417+
m_ui->logMessage(msg);
418418
else
419419
std::cout << msg.toStdString();
420420
}

src/core/gui/core_logview.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ void mbCoreLogView::exportLog()
7676
file.close();
7777
}
7878

79-
void mbCoreLogView::showMessage(const QString &message)
79+
void mbCoreLogView::logMessage(const QString &message)
8080
{
8181
m_text->appendPlainText(message);
8282
}

src/core/gui/core_logview.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class mbCoreLogView : public QWidget
3737
public Q_SLOTS:
3838
void clear();
3939
void exportLog();
40-
void showMessage(const QString& message);
40+
void logMessage(const QString& message);
4141

4242
Q_SIGNALS:
4343

src/core/gui/core_ui.cpp

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,13 @@ void mbCoreUi::initialize()
126126

127127
this->setCentralWidget(m_windowManager->centralWidget());
128128

129+
// Output
130+
m_dockOutput = new QDockWidget("Output", this);
131+
m_dockOutput->setObjectName(QStringLiteral("dockOutput"));
132+
//m_outputView = new mbCoreOutputView(m_dockOutput);
133+
this->addDockWidget(Qt::BottomDockWidgetArea, m_dockOutput);
134+
this->tabifyDockWidget(m_dockOutput, m_ui.dockLogView);
135+
129136
// Menu File
130137
m_ui.actionFileRecent->setMenu(m_menuRecent);
131138
m_ui.actionFileNew ->setShortcuts(QKeySequence::New );
@@ -279,7 +286,6 @@ void mbCoreUi::initialize()
279286
m_tray->show();
280287
qApp->setQuitOnLastWindowClosed(false);
281288
}
282-
283289
}
284290

285291
bool mbCoreUi::useNameWithSettings() const
@@ -344,9 +350,9 @@ void mbCoreUi::setCachedSettings(const MBSETTINGS &settings)
344350
m_help->setCachedSettings(settings);
345351
}
346352

347-
void mbCoreUi::showMessage(const QString &message)
353+
void mbCoreUi::logMessage(const QString &message)
348354
{
349-
m_logView->showMessage(message);
355+
m_logView->logMessage(message);
350356
}
351357

352358
void mbCoreUi::menuSlotFileNew()
@@ -399,6 +405,7 @@ void mbCoreUi::menuSlotFileSave()
399405
menuSlotFileSaveAs();
400406
return;
401407
}
408+
saveProjectInner();
402409
m_project->setWindowsData(m_windowManager->saveWindowsState());
403410
m_project->resetVersion();
404411
if (m_core->builderCore()->saveCore(m_project))
@@ -500,12 +507,17 @@ void mbCoreUi::menuSlotEditSelectAll()
500507

501508
void mbCoreUi::menuSlotViewProject()
502509
{
503-
510+
m_ui.dockProject->show();
504511
}
505512

506513
void mbCoreUi::menuSlotViewLogView()
507514
{
508-
515+
m_ui.dockLogView->show();
516+
}
517+
518+
void mbCoreUi::menuSlotViewOutput()
519+
{
520+
m_dockOutput->show();
509521
}
510522

511523
void mbCoreUi::menuSlotPortNew()
@@ -575,7 +587,8 @@ void mbCoreUi::menuSlotDeviceExport()
575587

576588
void mbCoreUi::menuSlotDataViewItemNew()
577589
{
578-
MBSETTINGS p = dialogsCore()->getDataViewItem(MBSETTINGS(), "New Item(s)");
590+
MBSETTINGS ns = getDataViewItemCreateSettings();
591+
MBSETTINGS p = dialogsCore()->getDataViewItem(ns, "New Item(s)");
579592
if (p.count())
580593
{
581594
const mbCoreDataViewItem::Strings &sItem = mbCoreDataViewItem::Strings::instance();
@@ -1231,3 +1244,13 @@ void mbCoreUi::closeEvent(QCloseEvent *e)
12311244
}
12321245
}
12331246

1247+
void mbCoreUi::saveProjectInner()
1248+
{
1249+
// Note: base implementation do nothing
1250+
}
1251+
1252+
MBSETTINGS mbCoreUi::getDataViewItemCreateSettings()
1253+
{
1254+
return MBSETTINGS();
1255+
}
1256+

src/core/gui/core_ui.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ class mbCoreDataView;
4242
class mbCoreDataViewUi;
4343
class mbCoreProjectUi;
4444
class mbCoreLogView;
45+
class mbCoreOutputView;
4546
class mbCoreHelpUi;
4647

4748
namespace Ui {
@@ -84,6 +85,7 @@ class MB_EXPORT mbCoreUi : public QMainWindow
8485
inline mbCoreProjectUi *projectUiCore() const { return m_projectUi; }
8586
inline mbCoreWindowManager *windowManagerCore() const { return m_windowManager; }
8687
inline mbCoreDataViewManager *dataViewManagerCore() const { return m_dataViewManager; }
88+
inline mbCoreProject *projectCore() const { return m_project; }
8789

8890
public:
8991
virtual void initialize();
@@ -96,7 +98,7 @@ class MB_EXPORT mbCoreUi : public QMainWindow
9698
virtual void setCachedSettings(const MBSETTINGS &settings);
9799

98100
public Q_SLOTS:
99-
void showMessage(const QString& message);
101+
void logMessage(const QString& message);
100102

101103
protected Q_SLOTS:
102104
// ----------------------------
@@ -127,6 +129,7 @@ protected Q_SLOTS:
127129
// ----------------------------
128130
virtual void menuSlotViewProject();
129131
virtual void menuSlotViewLogView();
132+
virtual void menuSlotViewOutput();
130133
// ----------------------------
131134
// ------------PORT------------
132135
// ----------------------------
@@ -222,6 +225,8 @@ protected Q_SLOTS:
222225

223226
protected:
224227
void closeEvent(QCloseEvent *e) override;
228+
virtual void saveProjectInner();
229+
virtual MBSETTINGS getDataViewItemCreateSettings();
225230

226231
protected:
227232
mbCore *m_core;
@@ -310,6 +315,9 @@ protected Q_SLOTS:
310315

311316
QMenu *m_menuRecent;
312317
QAction *m_actionFileRecentClear;
318+
// Output
319+
QDockWidget *m_dockOutput;
320+
mbCoreOutputView *m_outputView;
313321

314322
QLabel *m_lbSystemName;
315323
QLabel *m_lbSystemStatus;

src/core/gui/dialogs/core_dialogdataviewitem.cpp

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -230,16 +230,6 @@ MBSETTINGS mbCoreDialogDataViewItem::getSettings(const MBSETTINGS &settings, con
230230
return r;
231231
}
232232

233-
void mbCoreDialogDataViewItem::fillFormInner(const MBSETTINGS &/*settings*/)
234-
{
235-
// base implementation do nothing
236-
}
237-
238-
void mbCoreDialogDataViewItem::fillDataInner(MBSETTINGS &/*settings*/) const
239-
{
240-
// base implementation do nothing
241-
}
242-
243233
void mbCoreDialogDataViewItem::fillForm(const MBSETTINGS &settings)
244234
{
245235
const Strings &s = Strings::instance();
@@ -283,12 +273,13 @@ void mbCoreDialogDataViewItem::fillForm(const MBSETTINGS &settings)
283273
it = settings.find(sItem.stringLengthType ); if (it != end) fillFormStringLengthType (it.value());
284274
it = settings.find(sItem.stringEncoding ); if (it != end) fillFormStringEncoding (it.value());
285275

286-
fillFormInner(settings);
276+
fillFormEditInner(settings);
287277
m_ui.spCount->setValue(count);
288278
m_ui.spCount->setDisabled(true);
289279
}
290280
else // new data
291281
{
282+
fillFormNewInner(settings);
292283
deviceChanged(m_ui.cmbDevice->currentIndex());
293284
m_ui.spCount->setDisabled(false);
294285
}
@@ -538,6 +529,26 @@ void mbCoreDialogDataViewItem::fillDataStringEncoding(MBSETTINGS &settings, cons
538529
settings[key] = cmb->currentText();
539530
}
540531

532+
void mbCoreDialogDataViewItem::setNonDefaultByteArraySeparator(const QString &s) const
533+
{
534+
m_nonDefaultByteArraySeparator = mb::makeEscapeSequnces(s);
535+
}
536+
537+
void mbCoreDialogDataViewItem::fillFormEditInner(const MBSETTINGS &/*settings*/)
538+
{
539+
// base implementation do nothing
540+
}
541+
542+
void mbCoreDialogDataViewItem::fillFormNewInner(const MBSETTINGS &settings)
543+
{
544+
// base implementation do nothing
545+
}
546+
547+
void mbCoreDialogDataViewItem::fillDataInner(MBSETTINGS &/*settings*/) const
548+
{
549+
// base implementation do nothing
550+
}
551+
541552
void mbCoreDialogDataViewItem::deviceChanged(int i)
542553
{
543554
mbCoreProject *project = mbCore::globalCore()->projectCore();
@@ -642,8 +653,3 @@ bool mbCoreDialogDataViewItem::isDefaultByteArraySeparator() const
642653
return !m_ui.lnByteArraySeparator->isEnabled();
643654
}
644655

645-
void mbCoreDialogDataViewItem::setNonDefaultByteArraySeparator(const QString &s) const
646-
{
647-
m_nonDefaultByteArraySeparator = mb::makeEscapeSequnces(s);
648-
}
649-

src/core/gui/dialogs/core_dialogdataviewitem.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,6 @@ class MB_EXPORT mbCoreDialogDataViewItem : public mbCoreDialogSettings
6060
public:
6161
MBSETTINGS getSettings(const MBSETTINGS &settings = MBSETTINGS(), const QString &title = QString()) override;
6262

63-
protected:
64-
virtual void fillFormInner(const MBSETTINGS &settings);
65-
virtual void fillDataInner(MBSETTINGS &settings) const;
66-
6763
protected:
6864
void fillForm(const MBSETTINGS &settings);
6965
void fillFormFormat(const QVariant &v);
@@ -83,6 +79,11 @@ class MB_EXPORT mbCoreDialogDataViewItem : public mbCoreDialogSettings
8379
void fillDataStringLengthType(MBSETTINGS &settings, const QString &key) const;
8480
void fillDataStringEncoding(MBSETTINGS &settings, const QString &key) const;
8581

82+
protected:
83+
virtual void fillFormEditInner(const MBSETTINGS &settings);
84+
virtual void fillFormNewInner(const MBSETTINGS &settings);
85+
virtual void fillDataInner(MBSETTINGS &settings) const;
86+
8687
protected Q_SLOTS:
8788
void deviceChanged(int i);
8889
void adrTypeChanged(int i);

0 commit comments

Comments
 (0)