First implementation

This commit is contained in:
Yury Shuvakin
2024-07-03 19:11:29 +09:00
parent 25a3a8ac11
commit d708fc3499
153 changed files with 17687 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
/*
Copyright (c) 2015, 2016 Hubert Denkmair <hubert@denkmair.de>
This file is part of cangaroo.
cangaroo 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 2 of the License, or
(at your option) any later version.
cangaroo 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 cangaroo. If not, see <http://www.gnu.org/licenses/>.
*/
#include "LogWindow.h"
#include "ui_LogWindow.h"
#include <QDomDocument>
#include <core/Backend.h>
#include <core/LogModel.h>
LogWindow::LogWindow(QWidget *parent, Backend &backend) :
ConfigurableWidget(parent),
ui(new Ui::LogWindow)
{
connect(&backend.getLogModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(rowsInserted(QModelIndex,int,int)));
ui->setupUi(this);
ui->treeView->setModel(&backend.getLogModel());
}
LogWindow::~LogWindow()
{
delete ui;
}
bool LogWindow::saveXML(Backend &backend, QDomDocument &xml, QDomElement &root)
{
if (!ConfigurableWidget::saveXML(backend, xml, root)) { return false; }
root.setAttribute("type", "LogWindow");
return true;
}
bool LogWindow::loadXML(Backend &backend, QDomElement &el)
{
return ConfigurableWidget::loadXML(backend, el);
}
void LogWindow::rowsInserted(const QModelIndex &parent, int first, int last)
{
(void) parent;
(void) first;
(void) last;
ui->treeView->scrollToBottom();
}

View File

@@ -0,0 +1,51 @@
/*
Copyright (c) 2015, 2016 Hubert Denkmair <hubert@denkmair.de>
This file is part of cangaroo.
cangaroo 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 2 of the License, or
(at your option) any later version.
cangaroo 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 cangaroo. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include <core/ConfigurableWidget.h>
#include <core/Backend.h>
namespace Ui {
class LogWindow;
}
class QDomDocument;
class QDomElement;
class LogModel;
class LogWindow : public ConfigurableWidget
{
Q_OBJECT
public:
explicit LogWindow(QWidget *parent, Backend &backend);
~LogWindow();
virtual bool saveXML(Backend &backend, QDomDocument &xml, QDomElement &root);
virtual bool loadXML(Backend &backend, QDomElement &el);
private slots:
void rowsInserted(const QModelIndex & parent, int first, int last);
private:
Ui::LogWindow *ui;
};

View File

@@ -0,0 +1,10 @@
SOURCES += \
$$PWD/LogWindow.cpp \
HEADERS += \
$$PWD/LogWindow.h \
FORMS += \
$$PWD/LogWindow.ui \

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>LogWindow</class>
<widget class="QWidget" name="LogWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Log</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QTreeView" name="treeView"/>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>