Skip to content

Commit d656ecb

Browse files
committed
Add docs
1 parent 8ad7df1 commit d656ecb

File tree

13 files changed

+3058
-10
lines changed

13 files changed

+3058
-10
lines changed

.github/workflows/docs.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Build Docs
2+
on:
3+
push:
4+
branches: [ main ]
5+
6+
jobs:
7+
build-docs:
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- uses: actions/checkout@v4
12+
with:
13+
submodules: true
14+
15+
- name: Set up Python
16+
uses: actions/setup-python@v5
17+
with:
18+
python-version: 3.13
19+
20+
- name: Install dependencies
21+
run: |
22+
python -m pip install --upgrade pip
23+
pip install mkdocs mkdocs-material
24+
25+
- name: Install Doxygen
26+
run: sudo apt-get install doxygen -y
27+
28+
- name: Generate Doxygen Docs
29+
run: doxygen Doxyfile
30+
31+
- name: Build MkDocs Site
32+
run: mkdocs build --site-dir site
33+
34+
- name: Deploy to GitHub Pages
35+
uses: peaceiris/actions-gh-pages@v4
36+
with:
37+
personal_token: ${{ secrets.PERSONAL_TOKEN }}
38+
publish_dir: ./site
39+
publish_branch: gh-pages

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "doxygen-awesome-css"]
2+
path = doxygen-awesome-css
3+
url = https://github.com/jothepro/doxygen-awesome-css.git

Doxyfile

Lines changed: 2987 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
[![Build](https://img.shields.io/github/actions/workflow/status/dhruvan2006/QTradingView/build.yml?branch=main)]()
44
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)]()
5-
[![Demo](https://img.shields.io/badge/demo-online-brightgreen)](https://dhruvan2006.github.io/QTradingView/)
5+
[![Demo](https://img.shields.io/badge/demo-online-brightgreen)](https://dhruvan2006.github.io/QTradingView/demo)
66
[![C++](https://img.shields.io/badge/C++-17-blue)]()
77
[![Qt](https://img.shields.io/badge/Qt-6-green)]()
88

99
A **lightweight, high-performance charting library** built with **C++ and Qt**. Inspired by [TradingView's lightweight-charts](https://github.com/tradingview/lightweight-charts).
1010

1111
Built from scratch to deliver **interactive and scalable visualization** for financial data.
1212

13-
Try it live in your browser: [QTradingView Demo](https://dhruvan2006.github.io/QTradingView/)
13+
Try it live in your browser: [QTradingView Demo](https://dhruvan2006.github.io/QTradingView/demo)
1414

1515
<p align="center">
1616
<img src="screenshot.png" alt="QTradingView Demo" width="600"/>
@@ -74,19 +74,22 @@ More detailed examples can be found in the `examples/` directory.
7474
## Demo
7575
7676
Check out the live demo built with **WebAssembly + Qt**:
77-
[https://dhruvan2006.github.io/QTradingView/](https://dhruvan2006.github.io/QTradingView/)
77+
[https://dhruvan2006.github.io/QTradingView/demo](https://dhruvan2006.github.io/QTradingView/demo)
7878
7979
Interact with multi-pane candlestick charts directly in your browser.
8080
81-
## Architecture Overview
81+
# Architecture Overview
8282
83-
QTradingView follows a **pane centered architecture**, where the `Chart` acts as the root container that manages the `Viewport` and multiple `Pane` objects.
84-
Each pane encapsulates its own **series** and **scale**, allowing independent rendering and data transformations.
83+
QTradingView uses a pane-based architecture inspired by TradingView.
84+
Each Chart owns multiple Pane objects, each rendering independent series (candlestick, line, etc.).
85+
86+
- **Chart** — top-level container managing layout and input.
87+
- **Pane** — isolated rendering unit with its own Y-scale.
88+
- **Series** — modular data renderer (e.g., CandleStickSeries, LineSeries).
89+
- **Viewport** — tracks zoom/pan state and coordinates.
90+
91+
This modular design allows partial redraws and efficient updates even with 10k+ data points.
8592
86-
This modular design enables:
87-
- Efficient rendering of large datasets by updating only affected panes
88-
- Independent control of scales (e.g., linear or logarithmic per pane)
89-
- Easy extension with custom series or scale types
9093
```mermaid
9194
classDiagram
9295
%% =========================
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)