diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-07 20:25:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-07 20:25:08 +0100 |
| commit | e6d4517817a1e59a63932109e39b888257fb72a1 (patch) | |
| tree | 46d290640fff74773a9d79191ff9221631324e77 /example/text_editor_example | |
| parent | b30b55c48fd9eb64f3555f19820279792f69703c (diff) | |
| parent | 5a7fe8a6eacd5f4caac4f3c3d625ba82e393f7e6 (diff) | |
Merge pull request #3 from ocl-foss-org/text-editor-example
[CHORE] Text Editor example (Part 1)
Diffstat (limited to 'example/text_editor_example')
| -rw-r--r-- | example/text_editor_example/Jamfile.v2 | 14 | ||||
| -rw-r--r-- | example/text_editor_example/example.cpp | 18 | ||||
| -rw-r--r-- | example/text_editor_example/texteditor.hpp | 54 |
3 files changed, 86 insertions, 0 deletions
diff --git a/example/text_editor_example/Jamfile.v2 b/example/text_editor_example/Jamfile.v2 new file mode 100644 index 0000000..4bfc827 --- /dev/null +++ b/example/text_editor_example/Jamfile.v2 @@ -0,0 +1,14 @@ +# +# File: Jamfile.v2 +# Author: Amlal El Mahrouss, +# Copyright 2026, Amlal El Mahrouss, Licensed under the Boost Software License +# + +project tests +: default-build debug +; + +exe example.o + : example.cpp + : <cxxstd>20 ; + diff --git a/example/text_editor_example/example.cpp b/example/text_editor_example/example.cpp new file mode 100644 index 0000000..d61f91f --- /dev/null +++ b/example/text_editor_example/example.cpp @@ -0,0 +1,18 @@ +/* + * File: example.cpp + * Purpose: Rope example. + * Author: Amlal El Mahrouss (amlal@nekernel.org) + * Copyright 2026, Amlal El Mahrouss, licensed under the Boost Software License. + */ + +#include "texteditor.hpp" + +int main(int argc, char** argv) +{ + QApplication app(argc, argv); + TTextEditor win; + + win.show(); + + return app.exec(); +} diff --git a/example/text_editor_example/texteditor.hpp b/example/text_editor_example/texteditor.hpp new file mode 100644 index 0000000..e83cf85 --- /dev/null +++ b/example/text_editor_example/texteditor.hpp @@ -0,0 +1,54 @@ +/* + * File: qt_widget.hpp + * Purpose: Minimal text editor widget example using tproc rope. + * Author: Amlal El Mahrouss (amlal@nekernel.org) + * Copyright 2026, Amlal El Mahrouss, licensed under the Boost Software License. + */ + +#ifndef TPROC_EXAMPLE_QT_WIDGET_HPP +#define TPROC_EXAMPLE_QT_WIDGET_HPP + +#include <ocl/tproc/rope.hpp> + +#include <iostream> +#include <string> +#include <string_view> +#include <QtWidgets> +#include <QApplication> + +#ifndef STANDALONE + +using namespace ocl; +using namespace boost; + +#else + +using namespace boost; + +#endif + +class TTextEditor; + +class TTextEditor : public QMainWindow +{ + Q_OBJECT + +public: + using rope_type = tproc::crope; + using size_type = rope_type::size_type; + using string_view = std::string_view; + + TTextEditorWidget() = delete; + + TTextEditor(string_view text, TTextEditorDelegate* del) + : buffer_(text), delegate_(del) + { + } + + virtual ~TTextEditor() = default; + +private: + rope_type buffer_; +}; + +#endif |
