add more boilerplate code
This commit is contained in:
parent
a8ffb45ac0
commit
5d8cc368fc
|
@ -1,2 +1,3 @@
|
||||||
*.pro.user
|
*.pro.user
|
||||||
*.pro.user.*
|
*.pro.user.*
|
||||||
|
*.svg
|
||||||
|
|
|
@ -1 +1,31 @@
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QPainter>
|
||||||
#include "checkbox.h"
|
#include "checkbox.h"
|
||||||
|
|
||||||
|
Checkbox::Checkbox(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
Checkbox::~Checkbox()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void Checkbox::mousePressEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::mousePressEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Checkbox::mouseReleaseEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::mouseReleaseEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Checkbox::paintEvent(QPaintEvent *event)
|
||||||
|
{
|
||||||
|
QPainter painter(this);
|
||||||
|
|
||||||
|
painter.drawRect(0, 0, 50, 50);
|
||||||
|
|
||||||
|
QWidget::paintEvent(event);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef CHECKBOX_H
|
||||||
|
#define CHECKBOX_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
class Checkbox : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit Checkbox(QWidget *parent = 0);
|
||||||
|
~Checkbox();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // CHECKBOX_H
|
|
@ -1 +1,31 @@
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QPainter>
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
|
|
||||||
|
List::List(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
List::~List()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void List::mousePressEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::mousePressEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void List::mouseReleaseEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::mouseReleaseEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void List::paintEvent(QPaintEvent *event)
|
||||||
|
{
|
||||||
|
QPainter painter(this);
|
||||||
|
|
||||||
|
painter.drawRect(50, 250, 50, 50);
|
||||||
|
|
||||||
|
QWidget::paintEvent(event);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef LIST_H
|
||||||
|
#define LIST_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
class List : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit List(QWidget *parent = 0);
|
||||||
|
~List();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // LIST_H
|
|
@ -1 +1,31 @@
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QPainter>
|
||||||
#include "radiobutton.h"
|
#include "radiobutton.h"
|
||||||
|
|
||||||
|
RadioButton::RadioButton(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
RadioButton::~RadioButton()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void RadioButton::mousePressEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::mousePressEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void RadioButton::mouseReleaseEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::mouseReleaseEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void RadioButton::paintEvent(QPaintEvent *event)
|
||||||
|
{
|
||||||
|
QPainter painter(this);
|
||||||
|
|
||||||
|
painter.drawRect(0, 50, 50, 50);
|
||||||
|
|
||||||
|
QWidget::paintEvent(event);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef RADIOBUTTON_H
|
||||||
|
#define RADIOBUTTON_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
class RadioButton : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit RadioButton(QWidget *parent = 0);
|
||||||
|
~RadioButton();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // RADIOBUTTON_H
|
|
@ -1 +1,31 @@
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QPainter>
|
||||||
#include "textfield.h"
|
#include "textfield.h"
|
||||||
|
|
||||||
|
TextField::TextField(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
TextField::~TextField()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void TextField::mousePressEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::mousePressEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TextField::mouseReleaseEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::mouseReleaseEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TextField::paintEvent(QPaintEvent *event)
|
||||||
|
{
|
||||||
|
QPainter painter(this);
|
||||||
|
|
||||||
|
painter.drawRect(40, 0, 50, 50);
|
||||||
|
|
||||||
|
QWidget::paintEvent(event);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef TEXTFIELD_H
|
||||||
|
#define TEXTFIELD_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
class TextField : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit TextField(QWidget *parent = 0);
|
||||||
|
~TextField();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // TEXTFIELD_H
|
|
@ -0,0 +1,31 @@
|
||||||
|
#include <QLayout>
|
||||||
|
#include <QEvent>
|
||||||
|
#include "checkboxexamples.h"
|
||||||
|
#include "components/checkbox.h"
|
||||||
|
#include "exampleview.h"
|
||||||
|
#include "frame.h"
|
||||||
|
|
||||||
|
CheckboxExamples::CheckboxExamples(QWidget *parent)
|
||||||
|
: ExampleList(parent)
|
||||||
|
{
|
||||||
|
QLayout *layout = widget()->layout();
|
||||||
|
|
||||||
|
{
|
||||||
|
Checkbox *checkbox = new Checkbox;
|
||||||
|
|
||||||
|
ExampleView *view = new ExampleView;
|
||||||
|
view->setWidget(checkbox);
|
||||||
|
|
||||||
|
Frame *frame = new Frame;
|
||||||
|
frame->setCodeSnippet(
|
||||||
|
"hello"
|
||||||
|
);
|
||||||
|
frame->setWidget(view);
|
||||||
|
|
||||||
|
layout->addWidget(frame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CheckboxExamples::~CheckboxExamples()
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
#ifndef CHECKBOXEXAMPLES_H
|
||||||
|
#define CHECKBOXEXAMPLES_H
|
||||||
|
|
||||||
|
#include "examplelist.h"
|
||||||
|
|
||||||
|
class CheckboxExamples : public ExampleList
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit CheckboxExamples(QWidget *parent = 0);
|
||||||
|
~CheckboxExamples();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // CHECKBOXEXAMPLES_H
|
|
@ -0,0 +1,31 @@
|
||||||
|
#include <QLayout>
|
||||||
|
#include <QEvent>
|
||||||
|
#include "listexamples.h"
|
||||||
|
#include "components/list.h"
|
||||||
|
#include "exampleview.h"
|
||||||
|
#include "frame.h"
|
||||||
|
|
||||||
|
ListExamples::ListExamples(QWidget *parent)
|
||||||
|
: ExampleList(parent)
|
||||||
|
{
|
||||||
|
QLayout *layout = widget()->layout();
|
||||||
|
|
||||||
|
{
|
||||||
|
List *list = new List;
|
||||||
|
|
||||||
|
ExampleView *view = new ExampleView;
|
||||||
|
view->setWidget(list);
|
||||||
|
|
||||||
|
Frame *frame = new Frame;
|
||||||
|
frame->setCodeSnippet(
|
||||||
|
"hello"
|
||||||
|
);
|
||||||
|
frame->setWidget(view);
|
||||||
|
|
||||||
|
layout->addWidget(frame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ListExamples::~ListExamples()
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
#ifndef LISTEXAMPLES_H
|
||||||
|
#define LISTEXAMPLES_H
|
||||||
|
|
||||||
|
#include "examplelist.h"
|
||||||
|
|
||||||
|
class ListExamples : public ExampleList
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit ListExamples(QWidget *parent = 0);
|
||||||
|
~ListExamples();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // LISTEXAMPLES_H
|
|
@ -0,0 +1,31 @@
|
||||||
|
#include <QLayout>
|
||||||
|
#include <QEvent>
|
||||||
|
#include "radiobuttonexamples.h"
|
||||||
|
#include "components/radiobutton.h"
|
||||||
|
#include "exampleview.h"
|
||||||
|
#include "frame.h"
|
||||||
|
|
||||||
|
RadioButtonExamples::RadioButtonExamples(QWidget *parent)
|
||||||
|
: ExampleList(parent)
|
||||||
|
{
|
||||||
|
QLayout *layout = widget()->layout();
|
||||||
|
|
||||||
|
{
|
||||||
|
RadioButton *radioButton = new RadioButton;
|
||||||
|
|
||||||
|
ExampleView *view = new ExampleView;
|
||||||
|
view->setWidget(radioButton);
|
||||||
|
|
||||||
|
Frame *frame = new Frame;
|
||||||
|
frame->setCodeSnippet(
|
||||||
|
"hello"
|
||||||
|
);
|
||||||
|
frame->setWidget(view);
|
||||||
|
|
||||||
|
layout->addWidget(frame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RadioButtonExamples::~RadioButtonExamples()
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
#ifndef RADIOBUTTONEXAMPLES_H
|
||||||
|
#define RADIOBUTTONEXAMPLES_H
|
||||||
|
|
||||||
|
#include "examplelist.h"
|
||||||
|
|
||||||
|
class RadioButtonExamples : public ExampleList
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit RadioButtonExamples(QWidget *parent = 0);
|
||||||
|
~RadioButtonExamples();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // RADIOBUTTONEXAMPLES_H
|
|
@ -0,0 +1,31 @@
|
||||||
|
#include <QLayout>
|
||||||
|
#include <QEvent>
|
||||||
|
#include "textfieldexamples.h"
|
||||||
|
#include "components/textfield.h"
|
||||||
|
#include "exampleview.h"
|
||||||
|
#include "frame.h"
|
||||||
|
|
||||||
|
TextFieldExamples::TextFieldExamples(QWidget *parent)
|
||||||
|
: ExampleList(parent)
|
||||||
|
{
|
||||||
|
QLayout *layout = widget()->layout();
|
||||||
|
|
||||||
|
{
|
||||||
|
TextField *textField = new TextField;
|
||||||
|
|
||||||
|
ExampleView *view = new ExampleView;
|
||||||
|
view->setWidget(textField);
|
||||||
|
|
||||||
|
Frame *frame = new Frame;
|
||||||
|
frame->setCodeSnippet(
|
||||||
|
"hello"
|
||||||
|
);
|
||||||
|
frame->setWidget(view);
|
||||||
|
|
||||||
|
layout->addWidget(frame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TextFieldExamples::~TextFieldExamples()
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
#ifndef TEXTFIELDEXAMPLES_H
|
||||||
|
#define TEXTFIELDEXAMPLES_H
|
||||||
|
|
||||||
|
#include "examplelist.h"
|
||||||
|
|
||||||
|
class TextFieldExamples : public ExampleList
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit TextFieldExamples(QWidget *parent = 0);
|
||||||
|
~TextFieldExamples();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // TEXTFIELDEXAMPLES_H
|
|
@ -1,3 +1,4 @@
|
||||||
|
#include <QApplication>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QMenuBar>
|
#include <QMenuBar>
|
||||||
#include <QStackedLayout>
|
#include <QStackedLayout>
|
||||||
|
@ -12,6 +13,10 @@
|
||||||
#include "examples/tableexamples.h"
|
#include "examples/tableexamples.h"
|
||||||
#include "examples/sliderexamples.h"
|
#include "examples/sliderexamples.h"
|
||||||
#include "examples/toggleexamples.h"
|
#include "examples/toggleexamples.h"
|
||||||
|
#include "examples/radiobuttonexamples.h"
|
||||||
|
#include "examples/checkboxexamples.h"
|
||||||
|
#include "examples/textfieldexamples.h"
|
||||||
|
#include "examples/listexamples.h"
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent)
|
MainWindow::MainWindow(QWidget *parent)
|
||||||
: QMainWindow(parent),
|
: QMainWindow(parent),
|
||||||
|
@ -24,6 +29,10 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
_tableExamples(new TableExamples),
|
_tableExamples(new TableExamples),
|
||||||
_sliderExamples(new SliderExamples),
|
_sliderExamples(new SliderExamples),
|
||||||
_toggleExamples(new ToggleExamples),
|
_toggleExamples(new ToggleExamples),
|
||||||
|
_radioButtonExamples(new RadioButtonExamples),
|
||||||
|
_checkboxExamples(new CheckboxExamples),
|
||||||
|
_textFieldExamples(new TextFieldExamples),
|
||||||
|
_listExamples(new ListExamples),
|
||||||
_about(new About)
|
_about(new About)
|
||||||
{
|
{
|
||||||
_initWidget();
|
_initWidget();
|
||||||
|
@ -53,6 +62,14 @@ void MainWindow::showWidget(QAction *action)
|
||||||
_layout->setCurrentWidget(_sliderExamples);
|
_layout->setCurrentWidget(_sliderExamples);
|
||||||
} else if ("Toggle" == text) {
|
} else if ("Toggle" == text) {
|
||||||
_layout->setCurrentWidget(_toggleExamples);
|
_layout->setCurrentWidget(_toggleExamples);
|
||||||
|
} else if ("Radio Button" == text) {
|
||||||
|
_layout->setCurrentWidget(_radioButtonExamples);
|
||||||
|
} else if ("Checkbox" == text) {
|
||||||
|
_layout->setCurrentWidget(_checkboxExamples);
|
||||||
|
} else if ("Text Field" == text) {
|
||||||
|
_layout->setCurrentWidget(_textFieldExamples);
|
||||||
|
} else if ("List" == text) {
|
||||||
|
_layout->setCurrentWidget(_listExamples);
|
||||||
} else {
|
} else {
|
||||||
_layout->setCurrentWidget(_about);
|
_layout->setCurrentWidget(_about);
|
||||||
}
|
}
|
||||||
|
@ -72,6 +89,10 @@ void MainWindow::_initWidget()
|
||||||
_layout->addWidget(_tableExamples);
|
_layout->addWidget(_tableExamples);
|
||||||
_layout->addWidget(_sliderExamples);
|
_layout->addWidget(_sliderExamples);
|
||||||
_layout->addWidget(_toggleExamples);
|
_layout->addWidget(_toggleExamples);
|
||||||
|
_layout->addWidget(_radioButtonExamples);
|
||||||
|
_layout->addWidget(_checkboxExamples);
|
||||||
|
_layout->addWidget(_textFieldExamples);
|
||||||
|
_layout->addWidget(_listExamples);
|
||||||
|
|
||||||
setCentralWidget(widget);
|
setCentralWidget(widget);
|
||||||
}
|
}
|
||||||
|
@ -79,6 +100,9 @@ void MainWindow::_initWidget()
|
||||||
void MainWindow::_initMenu() const
|
void MainWindow::_initMenu() const
|
||||||
{
|
{
|
||||||
QMenu *file = new QMenu("&File");
|
QMenu *file = new QMenu("&File");
|
||||||
|
|
||||||
|
QAction *exitAction = file->addAction("E&xit");
|
||||||
|
|
||||||
QMenu *components = new QMenu("&Components");
|
QMenu *components = new QMenu("&Components");
|
||||||
QMenu *settings = new QMenu("&Settings");
|
QMenu *settings = new QMenu("&Settings");
|
||||||
QMenu *examples = new QMenu("&Examples");
|
QMenu *examples = new QMenu("&Examples");
|
||||||
|
@ -116,4 +140,5 @@ void MainWindow::_initMenu() const
|
||||||
menuBar()->addMenu(help);
|
menuBar()->addMenu(help);
|
||||||
|
|
||||||
connect(components, SIGNAL(triggered(QAction *)), this, SLOT(showWidget(QAction *)));
|
connect(components, SIGNAL(triggered(QAction *)), this, SLOT(showWidget(QAction *)));
|
||||||
|
connect(exitAction, SIGNAL(triggered(bool)), qApp, SLOT(quit()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,10 @@ class TabsExamples;
|
||||||
class TableExamples;
|
class TableExamples;
|
||||||
class SliderExamples;
|
class SliderExamples;
|
||||||
class ToggleExamples;
|
class ToggleExamples;
|
||||||
|
class RadioButtonExamples;
|
||||||
|
class CheckboxExamples;
|
||||||
|
class TextFieldExamples;
|
||||||
|
class ListExamples;
|
||||||
class QStackedLayout;
|
class QStackedLayout;
|
||||||
|
|
||||||
class MainWindow : public QMainWindow
|
class MainWindow : public QMainWindow
|
||||||
|
@ -38,6 +42,10 @@ private:
|
||||||
TableExamples *const _tableExamples;
|
TableExamples *const _tableExamples;
|
||||||
SliderExamples *const _sliderExamples;
|
SliderExamples *const _sliderExamples;
|
||||||
ToggleExamples *const _toggleExamples;
|
ToggleExamples *const _toggleExamples;
|
||||||
|
RadioButtonExamples *const _radioButtonExamples;
|
||||||
|
CheckboxExamples *const _checkboxExamples;
|
||||||
|
TextFieldExamples *const _textFieldExamples;
|
||||||
|
ListExamples *const _listExamples;
|
||||||
About *const _about;
|
About *const _about;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,11 @@ SOURCES += main.cpp\
|
||||||
examples/raisedbuttonexamples.cpp \
|
examples/raisedbuttonexamples.cpp \
|
||||||
examples/sliderexamples.cpp \
|
examples/sliderexamples.cpp \
|
||||||
components/toggle.cpp \
|
components/toggle.cpp \
|
||||||
examples/toggleexamples.cpp
|
examples/toggleexamples.cpp \
|
||||||
|
examples/radiobuttonexamples.cpp \
|
||||||
|
examples/checkboxexamples.cpp \
|
||||||
|
examples/textfieldexamples.cpp \
|
||||||
|
examples/listexamples.cpp
|
||||||
|
|
||||||
HEADERS += mainwindow.h \
|
HEADERS += mainwindow.h \
|
||||||
style.h \
|
style.h \
|
||||||
|
@ -72,4 +76,8 @@ HEADERS += mainwindow.h \
|
||||||
examples/raisedbuttonexamples.h \
|
examples/raisedbuttonexamples.h \
|
||||||
examples/sliderexamples.h \
|
examples/sliderexamples.h \
|
||||||
components/toggle.h \
|
components/toggle.h \
|
||||||
examples/toggleexamples.h
|
examples/toggleexamples.h \
|
||||||
|
examples/radiobuttonexamples.h \
|
||||||
|
examples/checkboxexamples.h \
|
||||||
|
examples/textfieldexamples.h \
|
||||||
|
examples/listexamples.h
|
||||||
|
|
Loading…
Reference in New Issue