├── LICENSE
├── README.md
├── examples
├── Lazarus
│ ├── .gitignore
│ ├── simple 1
│ │ ├── README.md
│ │ ├── example.lpi
│ │ ├── example.lpr
│ │ ├── index.html
│ │ └── screenshot.png
│ └── text editor
│ │ ├── README.md
│ │ ├── text_editor.lpi
│ │ ├── text_editor.lpr
│ │ └── ui
│ │ ├── css
│ │ ├── all.min.css
│ │ ├── codemirror.min.css
│ │ ├── lucario.css
│ │ └── style.css
│ │ ├── img
│ │ └── icon.png
│ │ ├── index.html
│ │ ├── js
│ │ ├── clike.min.js
│ │ ├── codemirror.min.js
│ │ ├── css.min.js
│ │ ├── javascript.min.js
│ │ ├── python.min.js
│ │ ├── ui.js
│ │ └── xml.min.js
│ │ └── webfonts
│ │ ├── fa-brands-400.eot
│ │ ├── fa-brands-400.svg
│ │ ├── fa-brands-400.ttf
│ │ ├── fa-brands-400.woff
│ │ ├── fa-brands-400.woff2
│ │ ├── fa-regular-400.eot
│ │ ├── fa-regular-400.svg
│ │ ├── fa-regular-400.ttf
│ │ ├── fa-regular-400.woff
│ │ ├── fa-regular-400.woff2
│ │ ├── fa-solid-900.eot
│ │ ├── fa-solid-900.svg
│ │ ├── fa-solid-900.ttf
│ │ ├── fa-solid-900.woff
│ │ └── fa-solid-900.woff2
└── using Qooxdoo JS framework
│ ├── README.md
│ ├── data_binding.png
│ ├── example.lpi
│ ├── example.lpr
│ ├── index.html
│ ├── myapp
│ ├── index.html
│ ├── index.js
│ └── nojs.html
│ ├── qxexample.pas
│ └── resource
│ ├── myapp
│ ├── app.png
│ ├── favicon.png
│ ├── js_256x256.png
│ └── test.png
│ └── qx
│ ├── decoration
│ └── Classic
│ │ ├── arrows-combined.gif
│ │ ├── arrows-combined.meta
│ │ ├── arrows
│ │ ├── down-invert.gif
│ │ ├── down-small-invert.gif
│ │ ├── down-small.gif
│ │ ├── down.gif
│ │ ├── forward-invert.gif
│ │ ├── forward.gif
│ │ ├── left-invert.gif
│ │ ├── left-small-invert.gif
│ │ ├── left-small.gif
│ │ ├── left.gif
│ │ ├── next-invert.gif
│ │ ├── next.gif
│ │ ├── previous-invert.gif
│ │ ├── previous.gif
│ │ ├── rewind-invert.gif
│ │ ├── rewind.gif
│ │ ├── right-invert.gif
│ │ ├── right-small-invert.gif
│ │ ├── right-small.gif
│ │ ├── right.gif
│ │ ├── up-invert.gif
│ │ ├── up-small-invert.gif
│ │ ├── up-small.gif
│ │ └── up.gif
│ │ ├── checkbox-radiobutton-combined.meta
│ │ ├── checkbox-radiobutton-combined.png
│ │ ├── colorselector-combined.gif
│ │ ├── colorselector-combined.meta
│ │ ├── colorselector
│ │ ├── brightness-field.png
│ │ ├── brightness-handle.gif
│ │ ├── huesaturation-field.jpg
│ │ └── huesaturation-handle.gif
│ │ ├── cursors-combined.gif
│ │ ├── cursors-combined.meta
│ │ ├── cursors
│ │ ├── alias.gif
│ │ ├── copy.gif
│ │ ├── move.gif
│ │ └── nodrop.gif
│ │ ├── datechooser
│ │ ├── last-month-invert.png
│ │ ├── last-month.png
│ │ ├── last-year-invert.png
│ │ ├── last-year.png
│ │ ├── next-month-invert.png
│ │ ├── next-month.png
│ │ ├── next-year-invert.png
│ │ └── next-year.png
│ │ ├── form
│ │ ├── checkbox-checked-disabled.png
│ │ ├── checkbox-checked-focused-invalid.png
│ │ ├── checkbox-checked-focused.png
│ │ ├── checkbox-checked-hovered-invalid.png
│ │ ├── checkbox-checked-hovered.png
│ │ ├── checkbox-checked-invalid.png
│ │ ├── checkbox-checked-pressed-invalid.png
│ │ ├── checkbox-checked-pressed.png
│ │ ├── checkbox-checked.png
│ │ ├── checkbox-disabled.png
│ │ ├── checkbox-focused-invalid.png
│ │ ├── checkbox-focused.png
│ │ ├── checkbox-hovered-invalid.png
│ │ ├── checkbox-hovered.png
│ │ ├── checkbox-invalid.png
│ │ ├── checkbox-pressed-invalid.png
│ │ ├── checkbox-pressed.png
│ │ ├── checkbox-undetermined-disabled.png
│ │ ├── checkbox-undetermined-focused-invalid.png
│ │ ├── checkbox-undetermined-focused.png
│ │ ├── checkbox-undetermined-hovered-invalid.png
│ │ ├── checkbox-undetermined-hovered.png
│ │ ├── checkbox-undetermined-invalid.png
│ │ ├── checkbox-undetermined.png
│ │ ├── checkbox.png
│ │ ├── radiobutton-checked-disabled.png
│ │ ├── radiobutton-checked-focused-invalid.png
│ │ ├── radiobutton-checked-focused.png
│ │ ├── radiobutton-checked-hovered-invalid.png
│ │ ├── radiobutton-checked-hovered.png
│ │ ├── radiobutton-checked-invalid.png
│ │ ├── radiobutton-checked-pressed-invalid.png
│ │ ├── radiobutton-checked-pressed.png
│ │ ├── radiobutton-checked.png
│ │ ├── radiobutton-disabled.png
│ │ ├── radiobutton-focused-invalid.png
│ │ ├── radiobutton-focused.png
│ │ ├── radiobutton-hovered-invalid.png
│ │ ├── radiobutton-hovered.png
│ │ ├── radiobutton-invalid.png
│ │ ├── radiobutton-pressed-invalid.png
│ │ ├── radiobutton-pressed.png
│ │ └── radiobutton.png
│ │ ├── menu-combined.gif
│ │ ├── menu-combined.meta
│ │ ├── menu
│ │ ├── checkbox-invert.gif
│ │ ├── checkbox.gif
│ │ ├── radiobutton-invert.gif
│ │ └── radiobutton.gif
│ │ ├── shadow-lr-combined.meta
│ │ ├── shadow-lr-combined.png
│ │ ├── shadow-small-lr-combined.meta
│ │ ├── shadow-small-lr-combined.png
│ │ ├── shadow-small-tb-combined.meta
│ │ ├── shadow-small-tb-combined.png
│ │ ├── shadow-tb-combined.meta
│ │ ├── shadow-tb-combined.png
│ │ ├── shadow
│ │ ├── shadow-b.png
│ │ ├── shadow-bl.png
│ │ ├── shadow-br.png
│ │ ├── shadow-c.png
│ │ ├── shadow-l.png
│ │ ├── shadow-r.png
│ │ ├── shadow-small-b.png
│ │ ├── shadow-small-bl.png
│ │ ├── shadow-small-br.png
│ │ ├── shadow-small-c.png
│ │ ├── shadow-small-l.png
│ │ ├── shadow-small-r.png
│ │ ├── shadow-small-t.png
│ │ ├── shadow-small-tl.png
│ │ ├── shadow-small-tr.png
│ │ ├── shadow-small.png
│ │ ├── shadow-t.png
│ │ ├── shadow-tl.png
│ │ ├── shadow-tr.png
│ │ └── shadow.png
│ │ ├── splitpane
│ │ ├── knob-horizontal.png
│ │ └── knob-vertical.png
│ │ ├── table-combined.meta
│ │ ├── table-combined.png
│ │ ├── table
│ │ ├── ascending-invert.png
│ │ ├── ascending.png
│ │ ├── boolean-false.png
│ │ ├── boolean-true.png
│ │ ├── descending-invert.png
│ │ ├── descending.png
│ │ └── select-column-order.png
│ │ ├── tree
│ │ ├── minus.gif
│ │ └── plus.gif
│ │ ├── treevirtual
│ │ ├── cross.gif
│ │ ├── cross_minus.gif
│ │ ├── cross_plus.gif
│ │ ├── end.gif
│ │ ├── end_minus.gif
│ │ ├── end_plus.gif
│ │ ├── line.gif
│ │ ├── only_minus.gif
│ │ ├── only_plus.gif
│ │ ├── start.gif
│ │ ├── start_minus.gif
│ │ └── start_plus.gif
│ │ ├── window-captionbar-buttons-combined.gif
│ │ ├── window-captionbar-buttons-combined.meta
│ │ └── window
│ │ ├── close.gif
│ │ ├── maximize.gif
│ │ ├── minimize.gif
│ │ └── restore.gif
│ ├── icon
│ └── Oxygen
│ │ └── 16
│ │ ├── actions
│ │ ├── dialog-cancel.png
│ │ ├── dialog-ok.png
│ │ ├── view-refresh.png
│ │ └── window-close.png
│ │ ├── apps
│ │ └── office-calendar.png
│ │ ├── mimetypes
│ │ └── text-plain.png
│ │ └── places
│ │ ├── folder-open.png
│ │ └── folder.png
│ └── static
│ └── blank.gif
├── src
└── webui.pas
└── staticlibs
├── README.md
├── libadvapi32.a
├── libgcc.a
├── libkernel32.a
├── libmincore.a
├── libmingwex.a
├── libmsvcrt.a
├── libshell32.a
├── libuser32.a
└── sha256.txt
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 WebUI
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | 
4 |
5 | # Pascal-WebUI v2.4.0
6 |
7 | [](https://github.com/webui-dev/webui/releases/tag/nightly)
8 | [](https://github.com/webui-dev/pascal-webui/commits/main)
9 | [](https://github.com/webui-dev/pascal-webui/issues)
10 | [](https://webui.me/)
11 |
12 | WebUI is not a web-server solution or a framework, but it allows you to use any web browser as a GUI, with Pascal in the backend and HTML5 in the frontend. All in a lightweight portable lib.
13 |
14 |
15 |
16 | 
17 |
18 |
19 |
20 |
21 |
22 | ## Features
23 |
24 | - Fully Independent (*No need for any third-party runtimes*)
25 | - Lightweight (~250 KB for minimal example, ~350 KB for basic app (no LCL) - including WebUI lib) & Small memory footprint
26 | - Fast binary communication protocol between WebUI and the browser (*Instead of JSON*)
27 | - Multi-platform & Multi-Browser
28 | - Using private profile for safety
29 | - Original library written in Pure C
30 |
31 | ## Minimal Example
32 |
33 | ```pas
34 | program minimal;
35 |
36 | {$mode objfpc}{$H+}
37 |
38 | uses
39 | webui;
40 |
41 | var
42 | window: size_t;
43 |
44 | begin
45 | window := webui_new_window;
46 |
47 | webui_show(window, 'Hello World');
48 | webui_wait;
49 | end.
50 | ```
51 |
52 | [More examples](https://github.com/webui-dev/pascal-webui/tree/main/examples)
53 |
54 | ## Text editor
55 |
56 | This [text editor](https://github.com/webui-dev/pascal-webui/tree/main/examples/Lazarus/text%20editor) is a lightweight and portable example written in Free Pascal and JavaScript using WebUI as the GUI.
57 |
58 | 
59 |
60 | ## Documentation
61 |
62 | [Online documentation](https://webui.me/docs/#/c_api)
63 |
64 | ## Runtime Dependencies Comparison
65 |
66 | | | WebView | Qt | WebUI |
67 | | ------ | ------ | ------ | ------ |
68 | | Runtime Dependencies on Windows | *WebView2* | *QtCore, QtGui, QtWidgets* | ***A Web Browser*** |
69 | | Runtime Dependencies on Linux | *GTK3, WebKitGTK* | *QtCore, QtGui, QtWidgets* | ***A Web Browser*** |
70 | | Runtime Dependencies on macOS | *Cocoa, WebKit* | *QtCore, QtGui, QtWidgets* | ***A Web Browser*** |
71 |
72 | ## Supported Web Browsers
73 |
74 | | Browser | Windows | macOS | Linux |
75 | | ------ | ------ | ------ | ------ |
76 | | Mozilla Firefox | ✔️ | ✔️ | ✔️ |
77 | | Google Chrome | ✔️ | ✔️ | ✔️ |
78 | | Microsoft Edge | ✔️ | ✔️ | ✔️ |
79 | | Chromium | ✔️ | ✔️ | ✔️ |
80 | | Yandex | ✔️ | ✔️ | ✔️ |
81 | | Brave | ✔️ | ✔️ | ✔️ |
82 | | Vivaldi | ✔️ | ✔️ | ✔️ |
83 | | Epic | ✔️ | ✔️ | *not available* |
84 | | Apple Safari | *not available* | *coming soon* | *not available* |
85 | | Opera | *coming soon* | *coming soon* | *coming soon* |
86 |
87 | ## UI & The Web Technologies
88 |
89 | [Borislav Stanimirov](https://ibob.bg/) discusses using HTML5 in the web browser as GUI at the [C++ Conference 2019 (*YouTube*)](https://www.youtube.com/watch?v=bbbcZd4cuxg).
90 |
91 |
92 |
93 | 
94 |
95 |
96 |
97 | Web application UI design is not just about how a product looks but how it works. Using web technologies in your UI makes your product modern and professional, And a well-designed web application will help you make a solid first impression on potential customers. Great web application design also assists you in nurturing leads and increasing conversions. In addition, it makes navigating and using your web app easier for your users.
98 |
99 | ### Why Use Web Browsers?
100 |
101 | Today's web browsers have everything a modern UI needs. Web browsers are very sophisticated and optimized. Therefore, using it as a GUI will be an excellent choice. While old legacy GUI lib is complex and outdated, a WebView-based app is still an option. However, a WebView needs a huge SDK to build and many dependencies to run, and it can only provide some features like a real web browser. That is why WebUI uses real web browsers to give you full features of comprehensive web technologies while keeping your software lightweight and portable.
102 |
103 | ### How Does it Work?
104 |
105 | 
106 |
107 | Think of WebUI like a WebView controller, but instead of embedding the WebView controller in your program, which makes the final program big in size, and non-portable as it needs the WebView runtimes. Instead, by using WebUI, you use a tiny static/dynamic library to run any installed web browser and use it as GUI, which makes your program small, fast, and portable. **All it needs is a web browser**.
108 |
109 | ## License
110 |
111 | Licensed under the MIT License.
112 |
--------------------------------------------------------------------------------
/examples/Lazarus/.gitignore:
--------------------------------------------------------------------------------
1 | *.exe
2 | *.dll
3 | *.lps
4 | *.compiled
5 | *.o
6 | *.a
7 | *.ppu
8 | *.s
9 |
--------------------------------------------------------------------------------
/examples/Lazarus/simple 1/README.md:
--------------------------------------------------------------------------------
1 | Simple example using only WebUI lib and SysUtils.
2 |
3 | 125 KB executable + ~200 KB WebUI library.
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/examples/Lazarus/simple 1/example.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 | -
67 |
68 |
69 | -
70 |
71 |
72 | -
73 |
74 |
75 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/examples/Lazarus/simple 1/example.lpr:
--------------------------------------------------------------------------------
1 | program example;
2 |
3 | uses webui, SysUtils;
4 |
5 | procedure js_log(window: size_t; message: string);
6 | var
7 | s: string;
8 | begin
9 | s := 'var div = document.createElement("div");';
10 | s += 'div.innerText = "'+message+'";';
11 | s += 'document.getElementById("log").append(div);';
12 |
13 | webui_run(window, pchar(s));
14 | end;
15 |
16 | procedure btn1click(e: PWebUIEvent);
17 | begin
18 | writeln(e^.element, ' clicked');
19 |
20 | js_log(e^.window, 'Button clicked at '+DateTimeToStr(Now));
21 | end;
22 |
23 | procedure func(e: PWebUIEvent);
24 | begin
25 | writeln(e^.element, ' called');
26 | writeln('arg 1 = ', webui_get_string_at(e, 0));
27 | writeln('arg 2 = ', webui_get_string_at(e, 1));
28 |
29 | js_log(e^.window, 'Pascal function called at '+DateTimeToStr(Now));
30 | end;
31 |
32 | var
33 | window: size_t;
34 |
35 | begin
36 | window := webui_new_window;
37 |
38 | webui_bind(window, 'btn1', @btn1click);
39 | webui_bind(window, 'func', @func);
40 |
41 | webui_set_size(window, 500, 500);
42 | webui_set_position(window, 500, 250);
43 |
44 | webui_show(window, 'index.html');
45 | webui_wait;
46 | end.
47 |
48 |
--------------------------------------------------------------------------------
/examples/Lazarus/simple 1/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello World
4 |
5 |
6 |
7 |
8 |
20 |
21 | Hello World!
22 |
23 |
24 | Click me
25 |
26 |
27 |
28 | Multi argument call
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/examples/Lazarus/simple 1/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/simple 1/screenshot.png
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/README.md:
--------------------------------------------------------------------------------
1 | ## Text editor
2 |
3 | ### Windows
4 |
5 | 1. [Download nightly build of WebUI library](https://github.com/webui-dev/webui/releases/tag/nightly) and put it next to the `text_editor.lpi` (`.dll` file needed)
6 | 2. Open the `text_editor.lpi` file in Lazarus
7 | 3. Compile, done!
8 |
9 | 
10 |
11 | ### Linux
12 | 1. [Download nightly build of WebUI library](https://github.com/webui-dev/webui/releases/tag/nightly) and put it next to the `text_editor.lpi` (`.a` file needed)
13 | 2. Open the `text_editor.lpi` file in Lazarus
14 | 3. Change target to `Linux` in Project Settings (default is `Win64`)
15 | 4. Compile, done!
16 |
17 | 
18 |
19 | ## x64 only
20 | Note that WebUI is x64 only, its already set up in the Lazarus Project Information file. You may want to change target OS between `Win64`, `Linux` or `MacOS`/`Darwin`.
21 |
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/text_editor.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 | -
73 |
74 |
75 | -
76 |
77 |
78 | -
79 |
80 |
81 |
82 |
83 |
84 |
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/text_editor.lpr:
--------------------------------------------------------------------------------
1 | program text_editor;
2 |
3 | uses webui;
4 |
5 | procedure btnclose(e: PWebUIEvent);
6 | begin
7 | webui_exit;
8 | end;
9 |
10 | var
11 | window: size_t;
12 |
13 | begin
14 | // Create a new window
15 | window := webui_new_window;
16 |
17 | // Set the root folder for the UI
18 | webui_set_root_folder(window, 'ui');
19 |
20 | // Bind HTML elements with the specified ID to Free Pascal functions
21 | webui_bind(window, '__close-btn', @btnclose);
22 |
23 | // Show the window, preferably in a Chromium based browser
24 | if not webui_show_browser(window, 'index.html', WEBUI_ChromiumBased) then
25 | webui_show(window, 'index.html');
26 |
27 | // Wait until all windows get closed
28 | webui_wait;
29 |
30 | // Free all memory resources (Optional)
31 | webui_clean;
32 | end.
33 |
34 |
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/css/codemirror.min.css:
--------------------------------------------------------------------------------
1 | .CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:0;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:0}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0}
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/css/lucario.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: lucario
3 | Author: Raphael Amorim
4 | Original Lucario color scheme (https://github.com/raphamorim/lucario)
5 | Modified for WebUI Text Editor.
6 | */
7 |
8 | .cm-s-lucario.CodeMirror, .cm-s-lucario .CodeMirror-gutters {
9 | /* background-color: #2b3e50 !important; */
10 | color: #f8f8f2 !important;
11 | border: none;
12 | background: #f8f9fa !important;
13 | background-color: rgba(0, 0, 0, .0) !important;
14 | }
15 | .cm-s-lucario .CodeMirror-gutters { color: #2b3e50; }
16 | .cm-s-lucario .CodeMirror-cursor { border-left: solid thin #E6C845; }
17 | .cm-s-lucario .CodeMirror-linenumber { color: #f8f8f2; background-color: rgba(0, 0, 0, .2) !important; }
18 | .cm-s-lucario .CodeMirror-selected { background: #243443; }
19 | .cm-s-lucario .CodeMirror-line::selection, .cm-s-lucario .CodeMirror-line > span::selection, .cm-s-lucario .CodeMirror-line > span > span::selection { background: #243443; }
20 | .cm-s-lucario .CodeMirror-line::-moz-selection, .cm-s-lucario .CodeMirror-line > span::-moz-selection, .cm-s-lucario .CodeMirror-line > span > span::-moz-selection { background: #243443; }
21 | .cm-s-lucario span.cm-comment { color: #5c98cd; }
22 | .cm-s-lucario span.cm-string, .cm-s-lucario span.cm-string-2 { color: #E6DB74; }
23 | .cm-s-lucario span.cm-number { color: #ca94ff; }
24 | .cm-s-lucario span.cm-variable { color: #f8f8f2; }
25 | .cm-s-lucario span.cm-variable-2 { color: #f8f8f2; }
26 | .cm-s-lucario span.cm-def { color: #72C05D; }
27 | .cm-s-lucario span.cm-operator { color: #66D9EF; }
28 | .cm-s-lucario span.cm-keyword { color: #ff6541; }
29 | .cm-s-lucario span.cm-atom { color: #bd93f9; }
30 | .cm-s-lucario span.cm-meta { color: #f8f8f2; }
31 | .cm-s-lucario span.cm-tag { color: #ff6541; }
32 | .cm-s-lucario span.cm-attribute { color: #66D9EF; }
33 | .cm-s-lucario span.cm-qualifier { color: #72C05D; }
34 | .cm-s-lucario span.cm-property { color: #f8f8f2; }
35 | .cm-s-lucario span.cm-builtin { color: #72C05D; }
36 | .cm-s-lucario span.cm-variable-3, .cm-s-lucario span.cm-type { color: #ffb86c; }
37 | .cm-s-lucario .CodeMirror-activeline-background { background: #243443; }
38 | .cm-s-lucario .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
39 | .cm-s-lucario .CodeMirror-scroll { overflow: hidden; }
40 |
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/css/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | padding: 0;
4 | height: 100vh;
5 | font-family: 'Courier New', Courier, monospace;
6 | background-image: linear-gradient(to right top, #8e44ad 0%, #3498db 100%);
7 | background-repeat: no-repeat;
8 | background-position: center center;
9 | background-size: cover;
10 | background-attachment : fixed;
11 | color: #ddecf9;
12 | }
13 |
14 | .topbar {
15 | width: 100%;
16 | height: 4px;
17 | background-image: linear-gradient(to right, #4ed2e7 0%, #db57eb 50%, #f98818 100%);
18 | }
19 |
20 | header {
21 | color: #fff;
22 | }
23 |
24 | /* Nav */
25 |
26 | nav {
27 | background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0) 100%);
28 | box-shadow: 0 0 25px rgba(0, 0, 0, 0.1), inset 0 0 1px rgba(255, 255, 255, 0.6);
29 | text-align: center;
30 | }
31 |
32 | nav button {
33 | background: none;
34 | border: none;
35 | text-shadow: 1px 1px 2px #000000;
36 | font-family: 'Font Awesome 5 Free';
37 | font-size: 18px;
38 | color: #ddecf9;
39 | cursor: pointer;
40 | margin: 0 auto;
41 | padding: 18px;
42 | }
43 |
44 | nav button:hover {
45 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.1), inset 0 0 1px rgba(255, 255, 255, 0.6);
46 | background: rgba(255, 255, 255, 0.1);
47 | }
48 |
49 | nav #save-btn:disabled {
50 | pointer-events: none;
51 | color: #7ca0df;
52 | }
53 |
54 | nav button i {
55 | /* Click through the icon in the button */
56 | pointer-events: none;
57 | }
58 |
59 | /* Code */
60 |
61 | .main {
62 | padding: 0px;
63 | }
64 |
65 | /* About */
66 |
67 | .about-box {
68 | display: none;
69 | position: fixed;
70 | z-index: 1;
71 | left: 0;
72 | top: 0;
73 | width: 100%;
74 | height: 100%;
75 | background-image: linear-gradient(to right top, #8e44ad 0%, #3498db 100%);
76 | }
77 |
78 | .about-box-content {
79 | background-image: linear-gradient(to right top, #8e44ad 0%, #3498db 100%);
80 | position: absolute;
81 | margin: 0;
82 | padding: 10px;
83 | width: 30%;
84 | border-radius: 5px;
85 | top: 50%;
86 | left: 50%;
87 | transform: translate(-50%, -50%);
88 | }
89 |
90 | .about-box-content h1 {
91 | text-align: center;
92 | }
93 |
94 | .about-box-content a {
95 | color: inherit;
96 | }
97 |
98 | .CodeMirror {
99 | height: 100%;
100 | font-family: 'Courier New', Courier, monospace;
101 | font-size: 16px;
102 | text-shadow: 1px 1px 2px #000000;
103 | }
104 |
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/img/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/img/icon.png
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Text Editor in Free Pascal using WebUI
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
WebUI Text Editor
28 | v1.1
29 |
Example of a text editor software in Free Pascal using WebUI library.
30 |
webui.me | (C)2023 Hassan Draga
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/js/clike.min.js:
--------------------------------------------------------------------------------
1 | !function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(M){"use strict";function L(e,t,n,r,o,a){this.indented=e,this.column=t,this.type=n,this.info=r,this.align=o,this.prev=a}function D(e,t,n,r){var o=e.indented;e.context&&"statement"==e.context.type&&"statement"!=n&&(o=e.context.indented),e.context=new L(o,t,n,r,null,e.context)}function P(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}function E(e,t,n){return"variable"==t.prevToken||"type"==t.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(e.string.slice(0,n))||(!(!t.typeAtEndOfLine||e.column()!=e.indentation())||void 0))}function z(e){for(;;){if(!e||"top"==e.type)return 1;if("}"==e.type&&"namespace"!=e.prev.info)return;e=e.prev}}function e(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/,S=a.isIdentifierChar||/[\w\$_\xa1-\uffff]/,T=a.isReservedIdentifier||!1;function C(e,t){var a,n=e.next();if(y[n]){var r=y[n](e,t);if(!1!==r)return r}if('"'==n||"'"==n)return t.tokenize=(a=n,function(e,t){for(var n,r=!1,o=!1;null!=(n=e.next());){if(n==a&&!r){o=!0;break}r=!r&&"\\"==n}return!o&&(r||g)||(t.tokenize=null),"string"}),t.tokenize(e,t);if(v.test(n)){if(e.backUp(1),e.match(w))return"number";e.next()}if(x.test(n))return i=n,null;if("/"==n){if(e.eat("*"))return(t.tokenize=I)(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(_.test(n)){for(;!e.match(/^\/[\/*]/,!1)&&e.eat(_););return"operator"}if(e.eatWhile(S),b)for(;e.match(b);)e.eatWhile(S);r=e.current();return F(o,r)?(F(p,r)&&(i="newstatement"),F(m,r)&&(l=!0),"keyword"):F(d,r)?"type":F(f,r)||T&&T(r)?(F(p,r)&&(i="newstatement"),"builtin"):F(h,r)?"atom":"variable"}function I(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function N(e,t){a.typeFirstDefinitions&&e.eol()&&z(t.context)&&(t.typeAtEndOfLine=E(e,t,e.pos))}return{startState:function(e){return{tokenize:null,context:new L((e||0)-s,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return N(e,t),null;i=l=null;var r,o=(t.tokenize||C)(e,t);if("comment"==o||"meta"==o)return o;if(null==n.align&&(n.align=!0),";"==i||":"==i||","==i&&e.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==t.context.type;)P(t);else if("{"==i)D(t,e.column(),"}");else if("["==i)D(t,e.column(),"]");else if("("==i)D(t,e.column(),")");else if("}"==i){for(;"statement"==n.type;)n=P(t);for("}"==n.type&&(n=P(t));"statement"==n.type;)n=P(t)}else i==n.type?P(t):k&&(("}"==n.type||"top"==n.type)&&";"!=i||"statement"==n.type&&"newstatement"==i)&&D(t,e.column(),"statement",e.current());return"variable"==o&&("def"==t.prevToken||a.typeFirstDefinitions&&E(e,t,e.start)&&z(t.context)&&e.match(/^\s*\(/,!1))&&(o="def"),"def"==(o=y.token&&void 0!==(r=y.token(e,t,o))?r:o)&&!1===a.styleDefs&&(o="variable"),t.startOfLine=!1,t.prevToken=l?"def":o||i,N(e,t),o},indent:function(e,t){if(e.tokenize!=C&&null!=e.tokenize||e.typeAtEndOfLine)return M.Pass;var n=e.context,r=t&&t.charAt(0),o=r==n.type;if("statement"==n.type&&"}"==r&&(n=n.prev),a.dontIndentStatements)for(;"statement"==n.type&&a.dontIndentStatements.test(n.info);)n=n.prev;if(y.indent){e=y.indent(e,n,t,s);if("number"==typeof e)return e}e=n.prev&&"switch"==n.prev.info;if(a.allmanIndentation&&/[{(]/.test(r)){for(;"top"!=n.type&&"}"!=n.type;)n=n.prev;return n.indented}return"statement"==n.type?n.indented+("{"==r?0:c):!n.align||u&&")"==n.type?")"!=n.type||o?n.indented+(o?0:s)+(o||!e||/^(?:case|default)\b/.test(t)?0:s):n.indented+c:n.column+(o?0:1)},electricInput:e?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});var t="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",n="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",r="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",o="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",a=e("int long char short double float unsigned signed void bool"),i=e("SEL instancetype id Class Protocol BOOL");function l(e){return F(a,e)||/.+_t$/.test(e)}function s(e){return l(e)||F(i,e)}var c="case do else for if switch while struct enum union",u="struct enum union";function d(e,t){if(!t.startOfLine)return!1;for(var n,r=null;n=e.peek();){if("\\"==n&&e.match(/^.$/)){r=d;break}if("/"==n&&e.match(/^\/[\/\*]/,!1))break;e.next()}return t.tokenize=r,"meta"}function f(e,t){return"type"==t.prevToken&&"type"}function p(e){return!(!e||e.length<2)&&("_"==e[0]&&("_"==e[1]||e[1]!==e[1].toLowerCase()))}function m(e){return e.eatWhile(/[\w\.']/),"number"}function h(e,t){var n;return e.backUp(1),e.match(/^(?:R|u8R|uR|UR|LR)/)?!!(n=e.match(/^"([^\s\\()]{0,16})\(/))&&(t.cpp11RawStringDelim=n[1],(t.tokenize=k)(e,t)):e.match(/^(?:u8|u|U|L)/)?!!e.match(/^["']/,!1)&&"string":(e.next(),!1)}function y(e){e=/(\w+)::~?(\w+)$/.exec(e);return e&&e[1]==e[2]}function g(e,t){for(var n;null!=(n=e.next());)if('"'==n&&!e.eat('"')){t.tokenize=null;break}return"string"}function k(e,t){var n=t.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&");return e.match(new RegExp(".*?\\)"+n+'"'))?t.tokenize=null:e.skipToEnd(),"string"}function b(e,t){"string"==typeof e&&(e=[e]);var n=[];function r(e){if(e)for(var t in e)e.hasOwnProperty(t)&&n.push(t)}r(t.keywords),r(t.types),r(t.builtin),r(t.atoms),n.length&&(t.helperType=e[0],M.registerHelper("hintWords",e[0],n));for(var o=0;o!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return!!e.match('""')&&(t.tokenize=x,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(e,t){var n=t.context;return!("}"!=n.type||!n.align||!e.eat(">"))&&(t.context=new L(n.indented,n.column,n.type,n.info,null,n.prev),"operator")},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=v(1),t.tokenize(e,t))}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}}),b("text/x-kotlin",{name:"clike",keywords:e("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:e("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:e("catch class do else finally for if where try while enum"),defKeywords:e("class val var object interface fun"),atoms:e("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,t){return"."==t.prevToken?"variable":"operator"},'"':function(e,t){var a;return t.tokenize=(a=e.match('""'),function(e,t){for(var n,r=!1,o=!1;!e.eol();){if(!a&&!r&&e.match('"')){o=!0;break}if(a&&e.match('"""')){o=!0;break}n=e.next(),!r&&"$"==n&&e.match("{")&&e.skipTo("}"),r=!r&&"\\"==n&&!a}return!o&&a||(t.tokenize=null),"string"}),t.tokenize(e,t)},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=v(1),t.tokenize(e,t))},indent:function(e,t,n,r){var o=n&&n.charAt(0);return"}"!=e.prevToken&&")"!=e.prevToken||""!=n?"operator"==e.prevToken&&"}"!=n&&"}"!=e.context.type||"variable"==e.prevToken&&"."==o||("}"==e.prevToken||")"==e.prevToken)&&"."==o?2*r+t.indented:t.align&&"}"==t.type?t.indented+(e.context.type==(n||"").charAt(0)?0:r):void 0:e.indented}},modeProps:{closeBrackets:{triples:'"'}}}),b(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:e("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:e("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:e("for while do if else struct"),builtin:e("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:e("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":d},modeProps:{fold:["brace","include"]}}),b("text/x-nesc",{name:"clike",keywords:e(t+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:l,blockKeywords:e(c),atoms:e("null true false"),hooks:{"#":d},modeProps:{fold:["brace","include"]}}),b("text/x-objectivec",{name:"clike",keywords:e(t+" "+r),types:s,builtin:e(o),blockKeywords:e(c+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:e(u+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:e("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:p,hooks:{"#":d,"*":f},modeProps:{fold:["brace","include"]}}),b("text/x-objectivec++",{name:"clike",keywords:e(t+" "+r+" "+n),types:s,builtin:e(o),blockKeywords:e(c+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:e(u+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:e("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:p,hooks:{"#":d,"*":f,u:h,U:h,L:h,R:h,0:m,1:m,2:m,3:m,4:m,5:m,6:m,7:m,8:m,9:m,token:function(e,t,n){if("variable"==n&&"("==e.peek()&&(";"==t.prevToken||null==t.prevToken||"}"==t.prevToken)&&y(e.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),b("text/x-squirrel",{name:"clike",keywords:e("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:l,blockKeywords:e("case catch class else for foreach if switch try while"),defKeywords:e("function local class"),typeFirstDefinitions:!0,atoms:e("true false null"),hooks:{"#":d},modeProps:{fold:["brace","include"]}});var w=null;b("text/x-ceylon",{name:"clike",keywords:e("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){e=e.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:e("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:e("class dynamic function interface module object package value"),builtin:e("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:e("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return t.tokenize=function a(i){return function(e,t){for(var n,r=!1,o=!1;!e.eol();){if(!r&&e.match('"')&&("single"==i||e.match('""'))){o=!0;break}if(!r&&e.match("``")){w=a(i),o=!0;break}n=e.next(),r="single"==i&&!r&&"\\"==n}return o&&(t.tokenize=null),"string"}}(e.match('""')?"triple":"single"),t.tokenize(e,t)},"`":function(e,t){return!(!w||!e.match("`"))&&(t.tokenize=w,w=null,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(e,t,n){if(("variable"==n||"type"==n)&&"."==t.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})});
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/js/css.min.js:
--------------------------------------------------------------------------------
1 | !function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(T){"use strict";function e(e){for(var t={},r=0;r*\/]/.test(r)?(a="select-op",null):"."==r&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?a="qualifier":/[:;{}\[\]\(\)]/.test(r)?v(null,r):e.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(e.current())&&(t.tokenize=z),a="variable","variable callee"):/[\w\\\-]/.test(r)?(e.eatWhile(/[\w\\\-]/),a="word","property"):a=null})(e,t);return r&&"object"==typeof r&&(a=r[1],r=r[0]),i=r,"comment"!=a&&(t.state=_[t.state](a,e,t)),i},indent:function(e,t){var e=e.context,t=t&&t.charAt(0),r=e.indent;return(e="prop"!=e.type||"}"!=t&&")"!=t?e:e.prev).prev&&("}"!=t||"block"!=e.type&&"top"!=e.type&&"interpolation"!=e.type&&"restricted_atBlock"!=e.type?(")"!=t||"parens"!=e.type&&"atBlock_parens"!=e.type)&&("{"!=t||"at"!=e.type&&"atBlock"!=e.type)||(r=Math.max(0,e.indent-n)):r=(e=e.prev).indent),r},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:k,fold:"brace"}});var t=["domain","regexp","url","url-prefix"],r=e(t),o=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],i=e(o),a=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],n=e(a),l=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],s=e(l),c=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],d=e(c),p=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],u=e(p),m=e(["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),g=e(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),b=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],h=e(b),f=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],k=e(f),t=t.concat(o).concat(a).concat(l).concat(c).concat(p).concat(b).concat(f);function y(e,t){for(var r,o=!1;null!=(r=e.next());){if(o&&"/"==r){t.tokenize=null;break}o="*"==r}return["comment","comment"]}T.registerHelper("hintWords","css",t),T.defineMIME("text/css",{documentTypes:r,mediaTypes:i,mediaFeatures:n,mediaValueKeywords:s,propertyKeywords:d,nonStandardPropertyKeywords:u,fontProperties:m,counterDescriptors:g,colorKeywords:h,valueKeywords:k,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=y)(e,t)}},name:"css"}),T.defineMIME("text/x-scss",{mediaTypes:i,mediaFeatures:n,mediaValueKeywords:s,propertyKeywords:d,nonStandardPropertyKeywords:u,colorKeywords:h,valueKeywords:k,fontProperties:m,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=y)(e,t):["operator","operator"]},":":function(e){return!!e.match(/^\s*\{/,!1)&&[null,null]},$:function(e){return e.match(/^[\w-]+/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(e){return!!e.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),T.defineMIME("text/x-less",{mediaTypes:i,mediaFeatures:n,mediaValueKeywords:s,propertyKeywords:d,nonStandardPropertyKeywords:u,colorKeywords:h,valueKeywords:k,fontProperties:m,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=y)(e,t):["operator","operator"]},"@":function(e){return e.eat("{")?[null,"interpolation"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),T.defineMIME("text/x-gss",{documentTypes:r,mediaTypes:i,mediaFeatures:n,propertyKeywords:d,nonStandardPropertyKeywords:u,fontProperties:m,counterDescriptors:g,colorKeywords:h,valueKeywords:k,supportsAtComponent:!0,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=y)(e,t)}},name:"css",helperType:"gss"})});
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/js/javascript.min.js:
--------------------------------------------------------------------------------
1 | !function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(rt){"use strict";rt.defineMode("javascript",function(e,l){var t,r,O,P,f=e.indentUnit,N=l.statementIndent,U=l.jsonld,o=l.json||U,W=!1!==l.trackScope,u=l.typescript,B=l.wordCharacters||/[\w$\xa1-\uffff]/,F=(e=n("keyword a"),t=n("keyword b"),r=n("keyword c"),O=n("keyword d"),P=n("operator"),{if:n("if"),while:e,with:e,else:t,do:t,try:t,finally:t,return:O,break:O,continue:O,new:n("new"),delete:r,void:r,throw:r,debugger:n("debugger"),var:n("var"),const:n("var"),let:n("var"),function:n("function"),catch:n("catch"),for:n("for"),switch:n("switch"),case:n("case"),default:n("default"),in:P,typeof:P,instanceof:P,true:e={type:"atom",style:"atom"},false:e,null:e,undefined:e,NaN:e,Infinity:e,this:n("this"),class:n("class"),super:n("atom"),yield:r,export:n("export"),import:n("import"),extends:r,await:r});function n(e){return{type:e,style:"keyword"}}var H,D,G=/[+\-*&%=<>!?|~^@]/,J=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function i(e,t,r){return H=e,D=r,t}function d(e,t){var a,r=e.next();if('"'==r||"'"==r)return t.tokenize=(a=r,function(e,t){var r,n=!1;if(U&&"@"==e.peek()&&e.match(J))return t.tokenize=d,i("jsonld-keyword","meta");for(;null!=(r=e.next())&&(r!=a||n);)n=!n&&"\\"==r;return n||(t.tokenize=d),i("string","string")}),t.tokenize(e,t);if("."==r&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return i("number","number");if("."==r&&e.match(".."))return i("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(r))return i(r);if("="==r&&e.eat(">"))return i("=>","operator");if("0"==r&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return i("number","number");if(/\d/.test(r))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),i("number","number");if("/"==r)return e.eat("*")?(t.tokenize=K)(e,t):e.eat("/")?(e.skipToEnd(),i("comment","comment")):tt(e,t,1)?(function(e){for(var t,r=!1,n=!1;null!=(t=e.next());){if(!r){if("/"==t&&!n)return;"["==t?n=!0:n&&"]"==t&&(n=!1)}r=!r&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),i("regexp","string-2")):(e.eat("="),i("operator","operator",e.current()));if("`"==r)return(t.tokenize=L)(e,t);if("#"==r&&"!"==e.peek())return e.skipToEnd(),i("meta","meta");if("#"==r&&e.eatWhile(B))return i("variable","property");if("<"==r&&e.match("!--")||"-"==r&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),i("comment","comment");if(G.test(r))return">"==r&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=r&&"="!=r||e.eat("="):/[<>*+\-|&?]/.test(r)&&(e.eat(r),">"==r&&e.eat(r))),"?"==r&&e.eat(".")?i("."):i("operator","operator",e.current());if(B.test(r)){e.eatWhile(B);r=e.current();if("."!=t.lastType){if(F.propertyIsEnumerable(r))return i((t=F[r]).type,t.style,r);if("async"==r&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return i("async","keyword",r)}return i("variable","variable",r)}}function K(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=d;break}n="*"==r}return i("comment","comment")}function L(e,t){for(var r,n=!1;null!=(r=e.next());){if(!n&&("`"==r||"$"==r&&e.eat("{"))){t.tokenize=d;break}n=!n&&"\\"==r}return i("quasi","string-2",e.current())}function Q(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var r=e.string.indexOf("=>",e.start);if(!(r<0)){!u||(n=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,r)))&&(r=n.index);for(var n,a=0,i=!1,o=r-1;0<=o;--o){var c=e.string.charAt(o),s="([{}])".indexOf(c);if(0<=s&&s<3){if(!a){++o;break}if(0==--a){"("==c&&(i=!0);break}}else if(3<=s&&s<6)++a;else if(B.test(c))i=!0;else if(/["'\/`]/.test(c))for(;;--o){if(0==o)return;if(e.string.charAt(o-1)==c&&"\\"!=e.string.charAt(o-2)){o--;break}}else if(i&&!a){++o;break}}i&&!a&&(t.fatArrowAt=o)}}var R={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function X(e,t,r,n,a,i){this.indented=e,this.column=t,this.type=r,this.prev=a,this.info=i,null!=n&&(this.align=n)}function Y(e,t,r,n,a){var i=e.cc;for(c.state=e,c.stream=a,c.marked=null,c.cc=i,c.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((i.length?i.pop():o?x:b)(r,n)){for(;i.length&&i[i.length-1].lex;)i.pop()();return c.marked?c.marked:"variable"==r&&function(e,t){if(W){for(var r=e.localVars;r;r=r.next)if(r.name==t)return 1;for(var n=e.context;n;n=n.prev)for(r=n.vars;r;r=r.next)if(r.name==t)return 1}}(e,n)?"variable-2":t}}var c={state:null,column:null,marked:null,cc:null};function s(){for(var e=arguments.length-1;0<=e;e--)c.cc.push(arguments[e])}function p(){return s.apply(null,arguments),!0}function Z(e,t){for(var r=t;r;r=r.next)if(r.name==e)return 1}function a(e){var t=c.state;if(c.marked="def",W){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var r=function e(t,r){{var n;return r?r.block?(n=e(t,r.prev))?n==r.prev?r:new te(n,r.vars,!0):null:Z(t,r.vars)?r:new te(r.prev,new re(t,r.vars),!1):null}}(e,t.context);if(null!=r)return void(t.context=r)}else if(!Z(e,t.localVars))return void(t.localVars=new re(e,t.localVars));l.globalVars&&!Z(e,t.globalVars)&&(t.globalVars=new re(e,t.globalVars))}}function ee(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function te(e,t,r){this.prev=e,this.vars=t,this.block=r}function re(e,t){this.name=e,this.next=t}var ne=new re("this",new re("arguments",null));function m(){c.state.context=new te(c.state.context,c.state.localVars,!1),c.state.localVars=ne}function ae(){c.state.context=new te(c.state.context,c.state.localVars,!0),c.state.localVars=null}function k(){c.state.localVars=c.state.context.vars,c.state.context=c.state.context.prev}function v(n,a){function e(){var e=c.state,t=e.indented;if("stat"==e.lexical.type)t=e.lexical.indented;else for(var r=e.lexical;r&&")"==r.type&&r.align;r=r.prev)t=r.indented;e.lexical=new X(t,c.stream.column(),n,null,e.lexical,a)}return e.lex=!0,e}function y(){var e=c.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function w(r){return function e(t){return t==r?p():";"==r||"}"==t||")"==t||"]"==t?s():p(e)}}function b(e,t){return"var"==e?p(v("vardef",t),qe,w(";"),y):"keyword a"==e?p(v("form"),oe,b,y):"keyword b"==e?p(v("form"),b,y):"keyword d"==e?c.stream.match(/^\s*$/,!1)?p():p(v("stat"),g,w(";"),y):"debugger"==e?p(w(";")):"{"==e?p(v("}"),ae,be,y,k):";"==e?p():"if"==e?("else"==c.state.lexical.info&&c.state.cc[c.state.cc.length-1]==y&&c.state.cc.pop()(),p(v("form"),oe,b,y,Oe)):"function"==e?p(q):"for"==e?p(v("form"),ae,Pe,b,k,y):"class"==e||u&&"interface"==t?(c.marked="keyword",p(v("form","class"==e?e:t),Fe,y)):"variable"==e?u&&"declare"==t?(c.marked="keyword",p(b)):u&&("module"==t||"enum"==t||"type"==t)&&c.stream.match(/^\s*\w/,!1)?(c.marked="keyword","enum"==t?p(Ze):"type"==t?p(We,w("operator"),z,w(";")):p(v("form"),T,w("{"),v("}"),be,y,y)):u&&"namespace"==t?(c.marked="keyword",p(v("form"),x,b,y)):u&&"abstract"==t?(c.marked="keyword",p(b)):p(v("stat"),me):"switch"==e?p(v("form"),oe,w("{"),v("}","switch"),ae,be,y,y,k):"case"==e?p(x,w(":")):"default"==e?p(w(":")):"catch"==e?p(v("form"),m,ie,b,y,k):"export"==e?p(v("stat"),Ge,y):"import"==e?p(v("stat"),Ke,y):"async"==e?p(b):"@"==t?p(x,b):s(v("stat"),x,w(";"),y)}function ie(e){if("("==e)return p(S,w(")"))}function x(e,t){return ce(e,t,!1)}function h(e,t){return ce(e,t,!0)}function oe(e){return"("!=e?s():p(v(")"),g,w(")"),y)}function ce(e,t,r){if(c.state.fatArrowAt==c.stream.start){var n=r?fe:le;if("("==e)return p(m,v(")"),V(S,")"),y,w("=>"),n,k);if("variable"==e)return s(m,T,w("=>"),n,k)}var a,n=r?M:j;return R.hasOwnProperty(e)?p(n):"function"==e?p(q,n):"class"==e||u&&"interface"==t?(c.marked="keyword",p(v("form"),Be,y)):"keyword c"==e||"async"==e?p(r?h:x):"("==e?p(v(")"),g,w(")"),y,n):"operator"==e||"spread"==e?p(r?h:x):"["==e?p(v("]"),Ye,y,n):"{"==e?we(ve,"}",null,n):"quasi"==e?s(se,n):"new"==e?p((a=r,function(e){return"."==e?p(a?pe:de):"variable"==e&&u?p(Ie,a?M:j):s(a?h:x)})):p()}function g(e){return e.match(/[;\}\)\],]/)?s():s(x)}function j(e,t){return","==e?p(g):M(e,t,!1)}function M(e,t,r){var n=0==r?j:M,a=0==r?x:h;return"=>"==e?p(m,r?fe:le,k):"operator"==e?/\+\+|--/.test(t)||u&&"!"==t?p(n):u&&"<"==t&&c.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?p(v(">"),V(z,">"),y,n):"?"==t?p(x,w(":"),a):p(a):"quasi"==e?s(se,n):";"!=e?"("==e?we(h,")","call",n):"."==e?p(ke,n):"["==e?p(v("]"),g,w("]"),y,n):u&&"as"==t?(c.marked="keyword",p(z,n)):"regexp"==e?(c.state.lastType=c.marked="operator",c.stream.backUp(c.stream.pos-c.stream.start-1),p(a)):void 0:void 0}function se(e,t){return"quasi"!=e?s():"${"!=t.slice(t.length-2)?p(se):p(g,ue)}function ue(e){if("}"==e)return c.marked="string-2",c.state.tokenize=L,p(se)}function le(e){return Q(c.stream,c.state),s("{"==e?b:x)}function fe(e){return Q(c.stream,c.state),s("{"==e?b:h)}function de(e,t){if("target"==t)return c.marked="keyword",p(j)}function pe(e,t){if("target"==t)return c.marked="keyword",p(M)}function me(e){return":"==e?p(y,b):s(j,w(";"),y)}function ke(e){if("variable"==e)return c.marked="property",p()}function ve(e,t){return"async"==e?(c.marked="property",p(ve)):"variable"!=e&&"keyword"!=c.style?"number"==e||"string"==e?(c.marked=U?"property":c.style+" property",p(A)):"jsonld-keyword"==e?p(A):u&&ee(t)?(c.marked="keyword",p(ve)):"["==e?p(x,E,w("]"),A):"spread"==e?p(h,A):"*"==t?(c.marked="keyword",p(ve)):":"==e?s(A):void 0:(c.marked="property","get"==t||"set"==t?p(ye):(u&&c.state.fatArrowAt==c.stream.start&&(e=c.stream.match(/^\s*:\s*/,!1))&&(c.state.fatArrowAt=c.stream.pos+e[0].length),p(A)))}function ye(e){return"variable"!=e?s(A):(c.marked="property",p(q))}function A(e){return":"==e?p(h):"("==e?s(q):void 0}function V(n,a,i){function o(e,t){var r;return(i?-1"),z):"quasi"==e?s(Ve,I):void 0}function je(e){if("=>"==e)return p(z)}function Me(e){return e.match(/[\}\)\]]/)?p():","==e||";"==e?p(Me):s(Ae,Me)}function Ae(e,t){return"variable"==e||"keyword"==c.style?(c.marked="property",p(Ae)):"?"==t||"number"==e||"string"==e?p(Ae):":"==e?p(z):"["==e?p(w("variable"),xe,w("]"),Ae):"("==e?s(C,Ae):e.match(/[;\}\)\],]/)?void 0:p()}function Ve(e,t){return"quasi"!=e?s():"${"!=t.slice(t.length-2)?p(Ve):p(z,Ee)}function Ee(e){if("}"==e)return c.marked="string-2",c.state.tokenize=L,p(Ve)}function ze(e,t){return"variable"==e&&c.stream.match(/^\s*[?:]/,!1)||"?"==t?p(ze):":"==e?p(z):"spread"==e?p(ze):s(z)}function I(e,t){return"<"==t?p(v(">"),V(z,">"),y,I):"|"==t||"."==e||"&"==t?p(z):"["==e?p(z,w("]"),I):"extends"==t||"implements"==t?(c.marked="keyword",p(z)):"?"==t?p(z,w(":"),z):void 0}function Ie(e,t){if("<"==t)return p(v(">"),V(z,">"),y,I)}function Te(){return s(z,$e)}function $e(e,t){if("="==t)return p(z)}function qe(e,t){return"enum"==t?(c.marked="keyword",p(Ze)):s(T,E,$,_e)}function T(e,t){return u&&ee(t)?(c.marked="keyword",p(T)):"variable"==e?(a(t),p()):"spread"==e?p(T):"["==e?we(Se,"]"):"{"==e?we(Ce,"}"):void 0}function Ce(e,t){return"variable"!=e||c.stream.match(/^\s*:/,!1)?("variable"==e&&(c.marked="property"),"spread"==e?p(T):"}"==e?s():"["==e?p(x,w("]"),w(":"),Ce):p(w(":"),T,$)):(a(t),p($))}function Se(){return s(T,$)}function $(e,t){if("="==t)return p(h)}function _e(e){if(","==e)return p(qe)}function Oe(e,t){if("keyword b"==e&&"else"==t)return p(v("form","else"),b,y)}function Pe(e,t){return"await"==t?p(Pe):"("==e?p(v(")"),Ne,y):void 0}function Ne(e){return"var"==e?p(qe,Ue):("variable"==e?p:s)(Ue)}function Ue(e,t){return")"==e?p():";"==e?p(Ue):"in"==t||"of"==t?(c.marked="keyword",p(x,Ue)):s(x,Ue)}function q(e,t){return"*"==t?(c.marked="keyword",p(q)):"variable"==e?(a(t),p(q)):"("==e?p(m,v(")"),V(S,")"),y,he,b,k):u&&"<"==t?p(v(">"),V(Te,">"),y,q):void 0}function C(e,t){return"*"==t?(c.marked="keyword",p(C)):"variable"==e?(a(t),p(C)):"("==e?p(m,v(")"),V(S,")"),y,he,k):u&&"<"==t?p(v(">"),V(Te,">"),y,C):void 0}function We(e,t){return"keyword"==e||"variable"==e?(c.marked="type",p(We)):"<"==t?p(v(">"),V(Te,">"),y):void 0}function S(e,t){return"@"==t&&p(x,S),"spread"==e?p(S):u&&ee(t)?(c.marked="keyword",p(S)):u&&"this"==e?p(E,$):s(T,E,$)}function Be(e,t){return("variable"==e?Fe:He)(e,t)}function Fe(e,t){if("variable"==e)return a(t),p(He)}function He(e,t){return"<"==t?p(v(">"),V(Te,">"),y,He):"extends"==t||"implements"==t||u&&","==e?("implements"==t&&(c.marked="keyword"),p(u?z:x,He)):"{"==e?p(v("}"),_,y):void 0}function _(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||u&&ee(t))&&c.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(c.marked="keyword",p(_)):"variable"==e||"keyword"==c.style?(c.marked="property",p(De,_)):"number"==e||"string"==e?p(De,_):"["==e?p(x,E,w("]"),De,_):"*"==t?(c.marked="keyword",p(_)):u&&"("==e?s(C,_):";"==e||","==e?p(_):"}"==e?p():"@"==t?p(x,_):void 0}function De(e,t){if("!"==t)return p(De);if("?"==t)return p(De);if(":"==e)return p(z,$);if("="==t)return p(h);e=c.state.lexical.prev;return s(e&&"interface"==e.info?C:q)}function Ge(e,t){return"*"==t?(c.marked="keyword",p(Xe,w(";"))):"default"==t?(c.marked="keyword",p(x,w(";"))):"{"==e?p(V(Je,"}"),Xe,w(";")):s(b)}function Je(e,t){return"as"==t?(c.marked="keyword",p(w("variable"))):"variable"==e?s(h,Je):void 0}function Ke(e){return"string"==e?p():"("==e?s(x):"."==e?s(j):s(Le,Qe,Xe)}function Le(e,t){return"{"==e?we(Le,"}"):("variable"==e&&a(t),"*"==t&&(c.marked="keyword"),p(Re))}function Qe(e){if(","==e)return p(Le,Qe)}function Re(e,t){if("as"==t)return c.marked="keyword",p(Le)}function Xe(e,t){if("from"==t)return c.marked="keyword",p(x)}function Ye(e){return"]"==e?p():s(V(h,"]"))}function Ze(){return s(v("form"),T,w("{"),v("}"),V(et,"}"),y,y)}function et(){return s(T,$)}function tt(e,t,r){return t.tokenize==d&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(r||0)))}return m.lex=ae.lex=!0,y.lex=k.lex=!0,{startState:function(e){e={tokenize:d,lastType:"sof",cc:[],lexical:new X((e||0)-f,0,"block",!1),localVars:l.localVars,context:l.localVars&&new te(null,null,!1),indented:e||0};return l.globalVars&&"object"==typeof l.globalVars&&(e.globalVars=l.globalVars),e},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),Q(e,t)),t.tokenize!=K&&e.eatSpace())return null;var r=t.tokenize(e,t);return"comment"==H?r:(t.lastType="operator"!=H||"++"!=D&&"--"!=D?H:"incdec",Y(t,r,H,D,e))},indent:function(e,t){if(e.tokenize==K||e.tokenize==L)return rt.Pass;if(e.tokenize!=d)return 0;var r,n=t&&t.charAt(0),a=e.lexical;if(!/^\s*else\b/.test(t))for(var i=e.cc.length-1;0<=i;--i){var o=e.cc[i];if(o==y)a=a.prev;else if(o!=Oe&&o!=k)break}for(;("stat"==a.type||"form"==a.type)&&("}"==n||(r=e.cc[e.cc.length-1])&&(r==j||r==M)&&!/^[,\.=+\-*:?[\(]/.test(t));)a=a.prev;var c,s=(a=N&&")"==a.type&&"stat"==a.prev.type?a.prev:a).type,u=n==s;return"vardef"==s?a.indented+("operator"==e.lastType||","==e.lastType?a.info.length+1:0):"form"==s&&"{"==n?a.indented:"form"==s?a.indented+f:"stat"==s?a.indented+(s=t,"operator"==(c=e).lastType||","==c.lastType||G.test(s.charAt(0))||/[,.]/.test(s.charAt(0))?N||f:0):"switch"!=a.info||u||0==l.doubleIndentSwitch?a.align?a.column+(u?0:1):a.indented+(u?0:f):a.indented+(/^(?:case|default)\b/.test(t)?f:2*f)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:o?null:"/*",blockCommentEnd:o?null:"*/",blockCommentContinue:o?null:" * ",lineComment:o?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:o?"json":"javascript",jsonldMode:U,jsonMode:o,expressionAllowed:tt,skipExpression:function(e){Y(e,"atom","atom","true",new rt.StringStream("",2,null))}}}),rt.registerHelper("wordChars","javascript",/[\w$]/),rt.defineMIME("text/javascript","javascript"),rt.defineMIME("text/ecmascript","javascript"),rt.defineMIME("application/javascript","javascript"),rt.defineMIME("application/x-javascript","javascript"),rt.defineMIME("application/ecmascript","javascript"),rt.defineMIME("application/json",{name:"javascript",json:!0}),rt.defineMIME("application/x-json",{name:"javascript",json:!0}),rt.defineMIME("application/manifest+json",{name:"javascript",json:!0}),rt.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),rt.defineMIME("text/typescript",{name:"javascript",typescript:!0}),rt.defineMIME("application/typescript",{name:"javascript",typescript:!0})});
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/js/python.min.js:
--------------------------------------------------------------------------------
1 | !function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(x){"use strict";function k(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var _=k(["and","or","not","is"]),v=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in"],z=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];function w(e){return e.scopes[e.scopes.length-1]}x.registerHelper("hintWords","python",v.concat(z)),x.defineMode("python",function(t,l){for(var s="error",o=l.delimiters||l.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,a=[l.singleOperators,l.doubleOperators,l.doubleDelimiters,l.tripleDelimiters,l.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],e=0;en;){if("py"!=w(t).type)return 1;t.scopes.pop()}return w(t).offset!=n}function g(e,t){e.sol()&&(t.beginningOfLine=!0,t.dedent=!1);var n,r,i,o=t.tokenize(e,t),a=e.current();if(t.beginningOfLine&&"@"==a)return e.match(c,!1)?"meta":p?"operator":s;if(/\S/.test(a)&&(t.beginningOfLine=!1),"variable"!=o&&"builtin"!=o||"meta"!=t.lastToken||(o="meta"),"pass"!=a&&"return"!=a||(t.dedent=!0),"lambda"==a&&(t.lambda=!0),":"==a&&!t.lambda&&"py"==w(t).type&&e.match(/^\s*(?:#|$)/,!1)&&b(t),1==a.length&&!/string|comment/.test(o)){var l="[({".indexOf(a);if(-1!=l&&(n=e,r=t,i="])}".slice(l,l+1),n=n.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:n.column()+1,r.scopes.push({offset:r.indent+f,type:i,align:n})),-1!=(l="])}".indexOf(a))){if(w(t).type!=a)return s;t.indent=t.scopes.pop().offset-f}}return t.dedent&&e.eol()&&"py"==w(t).type&&1 codeMirrorInstance.setValue(e.target.result);
60 | reader.readAsText(file);
61 | }
62 |
63 | async function openFile() {
64 | if (supportsFilePicker) {
65 | [fileHandle] = await showOpenFilePicker({ multiple: false });
66 | fileData = await fileHandle.getFile();
67 | readFile(fileData);
68 | setFile(fileData);
69 | } else {
70 | let input = document.createElement('input');
71 | input.type = 'file';
72 | input.onchange = (e) => {
73 | readFile(e.target.files[0]);
74 | setFile(e.target.files[0]);
75 | };
76 | input.click();
77 | input.remove();
78 | }
79 | }
80 |
81 | async function saveFile() {
82 | const content = codeMirrorInstance.getValue();
83 | if (supportsFilePicker) {
84 | if (fileHandle) {
85 | // Create a FileSystemWritableFileStream to write to
86 | const writableStream = await fileHandle.createWritable();
87 | await writableStream.write(content);
88 | // Write to disk
89 | await writableStream.close();
90 | } else {
91 | fileHandle = await showSaveFilePicker();
92 | saveFile();
93 | setFile(await fileHandle.getFile());
94 | }
95 | } else {
96 | // Download the file if using filePicker with a fileHandle for saving
97 | // is not supported by the browser. E.g., in Firefox.
98 | const blobData = new Blob([content], { type: 'text/${currentFile.ext}' });
99 | const urlToBlob = window.URL.createObjectURL(blobData);
100 | const a = document.createElement('a');
101 | a.style.setProperty('display', 'none');
102 | a.href = urlToBlob;
103 | a.download = document.title;
104 | a.click();
105 | window.URL.revokeObjectURL(urlToBlob);
106 | a.remove();
107 | }
108 | saveBtn.disabled = true;
109 | }
110 |
111 | // Navigation Events
112 | // open
113 | document.getElementById('open-btn').onclick = openFile;
114 | // save
115 | saveBtn.onclick = saveFile;
116 | // about
117 | document.getElementById('about-btn').onclick = () =>
118 | (aboutBox.style.display = 'block'); // show
119 | aboutBox.onclick = () => (aboutBox.style.display = 'none'); // hide
120 |
121 | // Editor Events
122 | // enable save on change
123 | codeMirrorInstance.on('change', () => {
124 | saveBtn.disabled = false;
125 | });
126 | window.addEventListener('DOMContentLoaded', () => {
127 | codeMirrorInstance.setSize('100%', '99%');
128 | });
129 |
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/js/xml.min.js:
--------------------------------------------------------------------------------
1 | !function(t){"object"==typeof exports&&"object"==typeof module?t(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],t):t(CodeMirror)}(function(y){"use strict";var C={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},z={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};y.defineMode("xml",function(t,e){var n,i,a,l=t.indentUnit,u={},r=e.htmlMode?C:z;for(n in r)u[n]=r[n];for(n in e)u[n]=e[n];function c(e,n){function t(t){return(n.tokenize=t)(e,n)}var r=e.next();return"<"==r?e.eat("!")?e.eat("[")?e.match("CDATA[")?t(o("atom","]]>")):null:e.match("--")?t(o("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),t(function r(o){return function(t,e){for(var n;null!=(n=t.next());){if("<"==n)return e.tokenize=r(o+1),e.tokenize(t,e);if(">"==n){if(1!=o)return e.tokenize=r(o-1),e.tokenize(t,e);e.tokenize=c;break}}return"meta"}}(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),n.tokenize=o("meta","?>"),"meta"):(i=e.eat("/")?"closeTag":"openTag",n.tokenize=d,"tag bracket"):"&"==r?(e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"))?"atom":"error":(e.eatWhile(/[^&<]/),null)}function d(t,e){var n,r,o=t.next();return">"==o||"/"==o&&t.eat(">")?(e.tokenize=c,i=">"==o?"endTag":"selfcloseTag","tag bracket"):"="==o?(i="equals",null):"<"==o?(e.tokenize=c,e.state=p,e.tagName=e.tagStart=null,(n=e.tokenize(t,e))?n+" tag error":"tag error"):/[\'\"]/.test(o)?(e.tokenize=(r=o,a.isInAttribute=!0,a),e.stringStartCol=t.column(),e.tokenize(t,e)):(t.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word");function a(t,e){for(;!t.eol();)if(t.next()==r){e.tokenize=d;break}return"string"}}function o(n,r){return function(t,e){for(;!t.eol();){if(t.match(r)){e.tokenize=c;break}t.next()}return n}}function s(t){return t&&t.toLowerCase()}function f(t,e,n){this.prev=t.context,this.tagName=e||"",this.indent=t.indented,this.startOfLine=n,(u.doNotIndent.hasOwnProperty(e)||t.context&&t.context.noIndent)&&(this.noIndent=!0)}function m(t){t.context&&(t.context=t.context.prev)}function g(t,e){for(var n;;){if(!t.context)return;if(n=t.context.tagName,!u.contextGrabbers.hasOwnProperty(s(n))||!u.contextGrabbers[s(n)].hasOwnProperty(s(e)))return;m(t)}}function p(t,e,n){return"openTag"==t?(n.tagStart=e.column(),h):"closeTag"==t?x:p}function h(t,e,n){return"word"==t?(n.tagName=e.current(),a="tag",w):u.allowMissingTagName&&"endTag"==t?(a="tag bracket",w(t,0,n)):(a="error",h)}function x(t,e,n){var r;return"word"==t?(r=e.current(),n.context&&n.context.tagName!=r&&u.implicitlyClosed.hasOwnProperty(s(n.context.tagName))&&m(n),n.context&&n.context.tagName==r||!1===u.matchClosing?(a="tag",b):(a="tag error",k)):u.allowMissingTagName&&"endTag"==t?(a="tag bracket",b(t,0,n)):(a="error",k)}function b(t,e,n){return"endTag"!=t?(a="error",b):(m(n),p)}function k(t,e,n){return a="error",b(t,0,n)}function w(t,e,n){return"word"==t?(a="attribute",T):"endTag"==t||"selfcloseTag"==t?(r=n.tagName,o=n.tagStart,n.tagName=n.tagStart=null,"selfcloseTag"==t||u.autoSelfClosers.hasOwnProperty(s(r))?g(n,r):(g(n,r),n.context=new f(n,r,o==n.indented)),p):(a="error",w);var r,o}function T(t,e,n){return"equals"==t?v:(u.allowMissing||(a="error"),w(t,0,n))}function v(t,e,n){return"string"==t?N:"word"==t&&u.allowUnquoted?(a="string",w):(a="error",w(t,0,n))}function N(t,e,n){return"string"==t?N:w(t,0,n)}return c.isInText=!0,{startState:function(t){var e={tokenize:c,state:p,indented:t||0,tagName:null,tagStart:null,context:null};return null!=t&&(e.baseIndent=t),e},token:function(t,e){if(!e.tagName&&t.sol()&&(e.indented=t.indentation()),t.eatSpace())return null;i=null;var n=e.tokenize(t,e);return(n||i)&&"comment"!=n&&(a=null,e.state=e.state(i||n,t,e),a&&(n="error"==a?n+" error":a)),n},indent:function(t,e,n){var r=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+l;if(r&&r.noIndent)return y.Pass;if(t.tokenize!=d&&t.tokenize!=c)return n?n.match(/^(\s*)/)[0].length:0;if(t.tagName)return!1!==u.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+l*(u.multilineTagIndentFactor||1);if(u.alignCDATA&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:u.htmlMode?"html":"xml",helperType:u.htmlMode?"html":"xml",skipAttribute:function(t){t.state==v&&(t.state=w)},xmlCurrentTag:function(t){return t.tagName?{name:t.tagName,close:"closeTag"==t.type}:null},xmlCurrentContext:function(t){for(var e=[],n=t.context;n;n=n.prev)e.push(n.tagName);return e.reverse()}}}),y.defineMIME("text/xml","xml"),y.defineMIME("application/xml","xml"),y.mimeModes.hasOwnProperty("text/html")||y.defineMIME("text/html",{name:"xml",htmlMode:!0})});
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-brands-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-brands-400.eot
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-brands-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-brands-400.woff
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-regular-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-regular-400.eot
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-regular-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-regular-400.woff
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-solid-900.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-solid-900.eot
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-solid-900.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-solid-900.woff
--------------------------------------------------------------------------------
/examples/Lazarus/text editor/ui/webfonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/Lazarus/text editor/ui/webfonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/README.md:
--------------------------------------------------------------------------------
1 | **qxexample** is an example of a simple console application with two-way binding.
2 |
3 | if compiled with `-WG` flag, no console is shown, but `writeln` and `readln` are not possible, you will get `File not open` errors, so comment `writeln` line before compilation.
4 |
5 | [WebUI dynamically loadable library](https://github.com/webui-dev/webui/releases/) and [Free Pascal wraper unit](https://github.com/webui-dev/pascal-webui/tree/main/src) must be in its properly places.
6 |
7 | Don’t forget that the library is x64, so your application must be compiled as a 64-bit one.
8 |
9 | [Qooxdoo](https://github.com/qooxdoo/qooxdoo) universal JavaScript framework is used to generate the interface in the browser.
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/data_binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/data_binding.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/example.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | -
66 |
67 |
68 | -
69 |
70 |
71 | -
72 |
73 |
74 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/example.lpr:
--------------------------------------------------------------------------------
1 | program example;
2 |
3 | uses
4 | webui, SysUtils;
5 |
6 | var
7 | window: size_t;
8 | content: PChar;
9 | counter: Integer;
10 |
11 | procedure EventHandler(e: PWebUIEvent);
12 | begin
13 | writeln('Received callback: ', webui_get_string(e));
14 | inc(counter);
15 | webui_return_string(e, PChar('{"label1": "Message from Free Pascal", "label2": "' + IntToStr(counter) + '"}'));
16 | end;
17 |
18 | begin
19 | counter := 0;
20 | window := webui_new_window;
21 | webui_bind(window, 'Button1Click', @EventHandler);
22 | content := '';
23 | webui_show(window, content);
24 | webui_wait;
25 | end.
26 |
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
38 |
39 | myapp
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/myapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
38 |
39 | myapp
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/myapp/nojs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | myapp - JavaScript is disabled
6 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | This application requires JavaScript. Please enable it and reload this page.
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/qxexample.pas:
--------------------------------------------------------------------------------
1 | program qxexample;
2 |
3 | {$mode objfpc}{$H+}
4 |
5 | uses
6 | webui, sysutils;
7 |
8 | var
9 | window: size_t;
10 | content: PChar;
11 | counter: Integer;
12 |
13 | procedure EventHandler(e: PWebUIEvent);
14 | begin
15 | writeln('Received callback: ', webui_get_string(e));
16 | inc(counter);
17 | webui_return_string(e, PChar('{"label1": "Message from Free Pascal", "label2": "' + IntToStr(counter) + '"}'));
18 | end;
19 |
20 | begin
21 | counter := 0;
22 | window := webui_new_window;
23 | webui_bind(window, 'Button1Click', @EventHandler);
24 | content := '';
25 | webui_show(window, content);
26 | webui_wait;
27 | end.
28 |
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/myapp/app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/myapp/app.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/myapp/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/myapp/favicon.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/myapp/js_256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/myapp/js_256x256.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/myapp/test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/myapp/test.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows-combined.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows-combined.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/arrows/down-invert.gif": [7, 4, "gif", "qx/decoration/Classic/arrows-combined.gif", -38, 0], "qx/decoration/Classic/arrows/down-small-invert.gif": [5, 3, "gif", "qx/decoration/Classic/arrows-combined.gif", -87, 0], "qx/decoration/Classic/arrows/down-small.gif": [5, 3, "gif", "qx/decoration/Classic/arrows-combined.gif", -53, 0], "qx/decoration/Classic/arrows/down.gif": [7, 4, "gif", "qx/decoration/Classic/arrows-combined.gif", -113, 0], "qx/decoration/Classic/arrows/forward-invert.gif": [8, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -30, 0], "qx/decoration/Classic/arrows/forward.gif": [8, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -18, 0], "qx/decoration/Classic/arrows/left-invert.gif": [4, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -92, 0], "qx/decoration/Classic/arrows/left-small-invert.gif": [3, 5, "gif", "qx/decoration/Classic/arrows-combined.gif", -58, 0], "qx/decoration/Classic/arrows/left-small.gif": [3, 5, "gif", "qx/decoration/Classic/arrows-combined.gif", -15, 0], "qx/decoration/Classic/arrows/left.gif": [4, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -120, 0], "qx/decoration/Classic/arrows/next-invert.gif": [4, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -80, 0], "qx/decoration/Classic/arrows/next.gif": [4, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -109, 0], "qx/decoration/Classic/arrows/previous-invert.gif": [4, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -69, 0], "qx/decoration/Classic/arrows/previous.gif": [4, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -65, 0], "qx/decoration/Classic/arrows/rewind-invert.gif": [8, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -45, 0], "qx/decoration/Classic/arrows/rewind.gif": [8, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -101, 0], "qx/decoration/Classic/arrows/right-invert.gif": [4, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -61, 0], "qx/decoration/Classic/arrows/right-small-invert.gif": [3, 5, "gif", "qx/decoration/Classic/arrows-combined.gif", 0, 0], "qx/decoration/Classic/arrows/right-small.gif": [3, 5, "gif", "qx/decoration/Classic/arrows-combined.gif", -84, 0], "qx/decoration/Classic/arrows/right.gif": [4, 7, "gif", "qx/decoration/Classic/arrows-combined.gif", -26, 0], "qx/decoration/Classic/arrows/up-invert.gif": [7, 4, "gif", "qx/decoration/Classic/arrows-combined.gif", -73, 0], "qx/decoration/Classic/arrows/up-small-invert.gif": [5, 3, "gif", "qx/decoration/Classic/arrows-combined.gif", -96, 0], "qx/decoration/Classic/arrows/up-small.gif": [5, 3, "gif", "qx/decoration/Classic/arrows-combined.gif", -3, 0], "qx/decoration/Classic/arrows/up.gif": [7, 4, "gif", "qx/decoration/Classic/arrows-combined.gif", -8, 0]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/down-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/down-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/down-small-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/down-small-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/down-small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/down-small.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/down.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/down.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/forward-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/forward-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/forward.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/forward.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/left-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/left-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/left-small-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/left-small-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/left-small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/left-small.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/left.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/left.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/next-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/next-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/next.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/next.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/previous-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/previous-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/previous.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/previous.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/rewind-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/rewind-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/rewind.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/rewind.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/right-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/right-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/right-small-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/right-small-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/right-small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/right-small.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/right.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/right.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/up-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/up-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/up-small-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/up-small-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/up-small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/up-small.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/up.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/arrows/up.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/checkbox-radiobutton-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/form/checkbox-checked-disabled.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -336, 0], "qx/decoration/Classic/form/checkbox-checked-focused-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -28, 0], "qx/decoration/Classic/form/checkbox-checked-focused.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -462, 0], "qx/decoration/Classic/form/checkbox-checked-hovered-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -112, 0], "qx/decoration/Classic/form/checkbox-checked-hovered.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -140, 0], "qx/decoration/Classic/form/checkbox-checked-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -98, 0], "qx/decoration/Classic/form/checkbox-checked-pressed-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -308, 0], "qx/decoration/Classic/form/checkbox-checked-pressed.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", 0, 0], "qx/decoration/Classic/form/checkbox-checked.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -266, 0], "qx/decoration/Classic/form/checkbox-disabled.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -84, 0], "qx/decoration/Classic/form/checkbox-focused-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -476, 0], "qx/decoration/Classic/form/checkbox-focused.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -392, 0], "qx/decoration/Classic/form/checkbox-hovered-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -196, 0], "qx/decoration/Classic/form/checkbox-hovered.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -154, 0], "qx/decoration/Classic/form/checkbox-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -350, 0], "qx/decoration/Classic/form/checkbox-pressed-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -448, 0], "qx/decoration/Classic/form/checkbox-pressed.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -70, 0], "qx/decoration/Classic/form/checkbox.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -490, 0], "qx/decoration/Classic/form/radiobutton-checked-disabled.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -210, 0], "qx/decoration/Classic/form/radiobutton-checked-focused-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -406, 0], "qx/decoration/Classic/form/radiobutton-checked-focused.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -378, 0], "qx/decoration/Classic/form/radiobutton-checked-hovered-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -252, 0], "qx/decoration/Classic/form/radiobutton-checked-hovered.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -182, 0], "qx/decoration/Classic/form/radiobutton-checked-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -294, 0], "qx/decoration/Classic/form/radiobutton-checked-pressed-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -420, 0], "qx/decoration/Classic/form/radiobutton-checked-pressed.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -56, 0], "qx/decoration/Classic/form/radiobutton-checked.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -322, 0], "qx/decoration/Classic/form/radiobutton-disabled.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -364, 0], "qx/decoration/Classic/form/radiobutton-focused-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -434, 0], "qx/decoration/Classic/form/radiobutton-focused.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -168, 0], "qx/decoration/Classic/form/radiobutton-hovered-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -126, 0], "qx/decoration/Classic/form/radiobutton-hovered.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -42, 0], "qx/decoration/Classic/form/radiobutton-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -280, 0], "qx/decoration/Classic/form/radiobutton-pressed-invalid.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -238, 0], "qx/decoration/Classic/form/radiobutton-pressed.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -14, 0], "qx/decoration/Classic/form/radiobutton.png": [14, 14, "png", "qx/decoration/Classic/checkbox-radiobutton-combined.png", -224, 0]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/checkbox-radiobutton-combined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/checkbox-radiobutton-combined.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector-combined.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector-combined.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/colorselector/brightness-handle.gif": [35, 11, "gif", "qx/decoration/Classic/colorselector-combined.gif", -11, 0], "qx/decoration/Classic/colorselector/huesaturation-handle.gif": [11, 11, "gif", "qx/decoration/Classic/colorselector-combined.gif", 0, 0]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector/brightness-field.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector/brightness-field.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector/brightness-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector/brightness-handle.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector/huesaturation-field.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector/huesaturation-field.jpg
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector/huesaturation-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/colorselector/huesaturation-handle.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors-combined.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors-combined.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/cursors/alias.gif": [19, 15, "gif", "qx/decoration/Classic/cursors-combined.gif", -52, 0], "qx/decoration/Classic/cursors/copy.gif": [19, 15, "gif", "qx/decoration/Classic/cursors-combined.gif", -20, 0], "qx/decoration/Classic/cursors/move.gif": [13, 9, "gif", "qx/decoration/Classic/cursors-combined.gif", -39, 0], "qx/decoration/Classic/cursors/nodrop.gif": [20, 20, "gif", "qx/decoration/Classic/cursors-combined.gif", 0, 0]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors/alias.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors/alias.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors/copy.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors/copy.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors/move.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors/move.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors/nodrop.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/cursors/nodrop.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/last-month-invert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/last-month-invert.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/last-month.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/last-month.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/last-year-invert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/last-year-invert.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/last-year.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/last-year.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/next-month-invert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/next-month-invert.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/next-month.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/next-month.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/next-year-invert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/next-year-invert.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/next-year.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/datechooser/next-year.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-disabled.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-focused-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-focused-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-focused.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-focused.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-hovered-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-hovered-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-hovered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-hovered.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-pressed-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-pressed-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked-pressed.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-checked.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-disabled.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-focused-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-focused-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-focused.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-focused.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-hovered-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-hovered-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-hovered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-hovered.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-pressed-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-pressed-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-pressed.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-disabled.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-focused-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-focused-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-focused.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-focused.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-hovered-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-hovered-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-hovered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-hovered.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox-undetermined.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/checkbox.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-disabled.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-focused-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-focused-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-focused.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-focused.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-hovered-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-hovered-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-hovered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-hovered.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-pressed-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-pressed-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked-pressed.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-checked.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-disabled.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-focused-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-focused-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-focused.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-focused.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-hovered-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-hovered-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-hovered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-hovered.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-pressed-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-pressed-invalid.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton-pressed.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/form/radiobutton.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu-combined.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu-combined.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/menu/checkbox-invert.gif": [16, 7, "gif", "qx/decoration/Classic/menu-combined.gif", -16, 0], "qx/decoration/Classic/menu/checkbox.gif": [16, 7, "gif", "qx/decoration/Classic/menu-combined.gif", -32, 0], "qx/decoration/Classic/menu/radiobutton-invert.gif": [16, 5, "gif", "qx/decoration/Classic/menu-combined.gif", 0, 0], "qx/decoration/Classic/menu/radiobutton.gif": [16, 5, "gif", "qx/decoration/Classic/menu-combined.gif", -48, 0]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu/checkbox-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu/checkbox-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu/checkbox.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu/checkbox.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu/radiobutton-invert.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu/radiobutton-invert.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu/radiobutton.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/menu/radiobutton.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-lr-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/shadow/shadow-l.png": [15, 382, "png", "qx/decoration/Classic/shadow-lr-combined.png", -15, 0], "qx/decoration/Classic/shadow/shadow-r.png": [15, 382, "png", "qx/decoration/Classic/shadow-lr-combined.png", 0, 0]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-lr-combined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-lr-combined.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-small-lr-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/shadow/shadow-small-l.png": [5, 136, "png", "qx/decoration/Classic/shadow-small-lr-combined.png", 0, 0], "qx/decoration/Classic/shadow/shadow-small-r.png": [5, 136, "png", "qx/decoration/Classic/shadow-small-lr-combined.png", -5, 0]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-small-lr-combined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-small-lr-combined.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-small-tb-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/shadow/shadow-small-b.png": [5, 5, "png", "qx/decoration/Classic/shadow-small-tb-combined.png", 0, -25], "qx/decoration/Classic/shadow/shadow-small-bl.png": [5, 5, "png", "qx/decoration/Classic/shadow-small-tb-combined.png", 0, -20], "qx/decoration/Classic/shadow/shadow-small-br.png": [5, 5, "png", "qx/decoration/Classic/shadow-small-tb-combined.png", 0, 0], "qx/decoration/Classic/shadow/shadow-small-t.png": [5, 5, "png", "qx/decoration/Classic/shadow-small-tb-combined.png", 0, -5], "qx/decoration/Classic/shadow/shadow-small-tl.png": [5, 5, "png", "qx/decoration/Classic/shadow-small-tb-combined.png", 0, -15], "qx/decoration/Classic/shadow/shadow-small-tr.png": [5, 5, "png", "qx/decoration/Classic/shadow-small-tb-combined.png", 0, -10]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-small-tb-combined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-small-tb-combined.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-tb-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/shadow/shadow-b.png": [15, 15, "png", "qx/decoration/Classic/shadow-tb-combined.png", 0, -30], "qx/decoration/Classic/shadow/shadow-bl.png": [15, 15, "png", "qx/decoration/Classic/shadow-tb-combined.png", 0, 0], "qx/decoration/Classic/shadow/shadow-br.png": [15, 15, "png", "qx/decoration/Classic/shadow-tb-combined.png", 0, -60], "qx/decoration/Classic/shadow/shadow-t.png": [15, 15, "png", "qx/decoration/Classic/shadow-tb-combined.png", 0, -75], "qx/decoration/Classic/shadow/shadow-tl.png": [15, 15, "png", "qx/decoration/Classic/shadow-tb-combined.png", 0, -45], "qx/decoration/Classic/shadow/shadow-tr.png": [15, 15, "png", "qx/decoration/Classic/shadow-tb-combined.png", 0, -15]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-tb-combined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow-tb-combined.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-b.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-bl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-bl.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-br.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-br.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-c.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-l.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-r.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-b.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-bl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-bl.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-br.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-br.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-c.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-l.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-r.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-t.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-t.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-tl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-tl.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-tr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small-tr.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-small.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-t.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-t.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-tl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-tl.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-tr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow-tr.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/shadow/shadow.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/splitpane/knob-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/splitpane/knob-horizontal.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/splitpane/knob-vertical.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/splitpane/knob-vertical.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/table/ascending-invert.png": [10, 10, "png", "qx/decoration/Classic/table-combined.png", -62, 0], "qx/decoration/Classic/table/ascending.png": [10, 10, "png", "qx/decoration/Classic/table-combined.png", -52, 0], "qx/decoration/Classic/table/boolean-false.png": [11, 11, "png", "qx/decoration/Classic/table-combined.png", -31, 0], "qx/decoration/Classic/table/boolean-true.png": [11, 11, "png", "qx/decoration/Classic/table-combined.png", -10, 0], "qx/decoration/Classic/table/descending-invert.png": [10, 10, "png", "qx/decoration/Classic/table-combined.png", -42, 0], "qx/decoration/Classic/table/descending.png": [10, 10, "png", "qx/decoration/Classic/table-combined.png", 0, 0], "qx/decoration/Classic/table/select-column-order.png": [10, 9, "png", "qx/decoration/Classic/table-combined.png", -21, 0]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table-combined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table-combined.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/ascending-invert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/ascending-invert.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/ascending.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/ascending.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/boolean-false.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/boolean-false.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/boolean-true.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/boolean-true.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/descending-invert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/descending-invert.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/descending.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/descending.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/select-column-order.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/table/select-column-order.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/tree/minus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/tree/minus.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/tree/plus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/tree/plus.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/cross.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/cross.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/cross_minus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/cross_minus.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/cross_plus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/cross_plus.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/end.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/end.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/end_minus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/end_minus.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/end_plus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/end_plus.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/line.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/line.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/only_minus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/only_minus.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/only_plus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/only_plus.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/start.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/start.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/start_minus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/start_minus.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/start_plus.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/treevirtual/start_plus.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window-captionbar-buttons-combined.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window-captionbar-buttons-combined.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window-captionbar-buttons-combined.meta:
--------------------------------------------------------------------------------
1 | {"qx/decoration/Classic/window/close.gif": [10, 9, "gif", "qx/decoration/Classic/window-captionbar-buttons-combined.gif", 0, 0], "qx/decoration/Classic/window/maximize.gif": [9, 9, "gif", "qx/decoration/Classic/window-captionbar-buttons-combined.gif", -10, 0], "qx/decoration/Classic/window/minimize.gif": [9, 9, "gif", "qx/decoration/Classic/window-captionbar-buttons-combined.gif", -19, 0], "qx/decoration/Classic/window/restore.gif": [8, 9, "gif", "qx/decoration/Classic/window-captionbar-buttons-combined.gif", -28, 0]}
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window/close.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window/close.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window/maximize.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window/maximize.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window/minimize.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window/minimize.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window/restore.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/decoration/Classic/window/restore.gif
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/actions/dialog-cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/actions/dialog-cancel.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/actions/dialog-ok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/actions/dialog-ok.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/actions/view-refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/actions/view-refresh.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/actions/window-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/actions/window-close.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/apps/office-calendar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/apps/office-calendar.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/mimetypes/text-plain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/mimetypes/text-plain.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/places/folder-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/places/folder-open.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/places/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/icon/Oxygen/16/places/folder.png
--------------------------------------------------------------------------------
/examples/using Qooxdoo JS framework/resource/qx/static/blank.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/examples/using Qooxdoo JS framework/resource/qx/static/blank.gif
--------------------------------------------------------------------------------
/src/webui.pas:
--------------------------------------------------------------------------------
1 | unit WebUI;
2 |
3 | interface
4 |
5 | {$ifdef UNIX}
6 | uses cthreads;
7 | {$endif}
8 |
9 | const
10 | {$if defined(MSWINDOWS)} // Windows (FPC: shared + static; Delphi: shared (DLL) only)
11 | webuilib = 'webui-2.dll';
12 |
13 | // FPC only: uncomment this line if you want to static link WebUI (no .dll dependency)
14 | //{$define STATICLINK}
15 | {$elseif defined(UNIX)} // Linux (FPC: static only; Delphi: untested)
16 | {$define STATICLINK}
17 | {$elseif defined(DARWIN)} // MacOS (untested)
18 | webuilib = 'webui-2.dyn';
19 | {$endif}
20 |
21 | WEBUI_VERSION = '2.5.0-beta.1';
22 |
23 | {$ifdef STATICLINK}
24 | {$linklib webui-2-static.a}
25 |
26 | {$ifdef MSWINDOWS}
27 | {$linklib libmingwex.a}
28 | {$linklib libgcc.a}
29 | {$linklib libkernel32.a}
30 | {$linklib libadvapi32.a}
31 | {$linklib libuser32.a}
32 | {$linklib libmincore.a}
33 | {$linklib libmsvcrt.a}
34 | {$linklib libshell32.a}
35 | {$endif}
36 | {$endif}
37 |
38 | // -- Enums/Consts --------------------
39 |
40 | const
41 | // Browsers
42 | WEBUI_NoBrowser = 0; // No web browser
43 | WEBUI_AnyBrowser = 1; // Default recommended web browser
44 | WEBUI_Chrome = 2; // Google Chrome
45 | WEBUI_Firefox = 3; // Mozilla Firefox
46 | WEBUI_Edge = 4; // Microsoft Edge
47 | WEBUI_Safari = 5; // Apple Safari
48 | WEBUI_Chromium = 6; // The Chromium Project
49 | WEBUI_Opera = 7; // Opera Browser
50 | WEBUI_Brave = 8; // The Brave Browser
51 | WEBUI_Vivaldi = 9; // The Vivaldi Browser
52 | WEBUI_Epic = 10; // The Epic Browser
53 | WEBUI_Yandex = 11; // The Yandex Browser
54 | WEBUI_ChromiumBased = 12; // Any Chromium based browser
55 |
56 | // Runtimes
57 | WEBUI_RUNTIME_None = 0; // Prevent WebUI from using any runtime for .js and .ts files
58 | WEBUI_RUNTIME_Deno = 1; // Use Deno runtime for .js and .ts files
59 | WEBUI_RUNTIME_NodeJS = 2; // Use Nodejs runtime for .js files
60 |
61 | // Events
62 | WEBUI_EVENT_DISCONNECTED = 0; // Window disconnection event
63 | WEBUI_EVENT_CONNECTED = 1; // Window connection event
64 | WEBUI_EVENT_MOUSE_CLICK = 2; // Mouse click event
65 | WEBUI_EVENT_NAVIGATION = 3; // Window navigation event
66 | WEBUI_EVENT_CALLBACK = 4; // Function call event
67 |
68 | // Configs
69 | // Control if `webui_show()`, `webui_show_browser()`, and `webui_show_wv()` wait for window to connect before returning. Default: True
70 | WEBUI_CONFIG_SHOW_WAIT_CONNECTION = 0;
71 | // Control if WebUI processes events in a single thread (`True`) or non-blocking threads (`False`). Default: False
72 | WEBUI_CONFIG_UI_EVENT_BLOCKING = 1;
73 |
74 | // -- Structs -------------------------
75 |
76 | type
77 | size_t = NativeUInt;
78 |
79 | TWebUIEvent = packed record
80 | window: size_t; // The window object number
81 | event_type: size_t; // Event type
82 | element: PAnsiChar; // HTML element ID
83 | event_number: size_t; // Internal WebUI
84 | bind_id: size_t; // Bind ID
85 | end;
86 | PWebUIEvent = ^TWebUIEvent;
87 |
88 | TWebUIEventProc = procedure(e: PWebUIEvent);
89 | TWebUIFileHandlerProc = function(filename: PAnsiChar; len: PInteger): PAnsiChar;
90 | TWebUIInterfaceEventProc = procedure(window, event_type: size_t; element: PAnsiChar; event_number, bind_id: size_t);
91 |
92 | // -- Definitions ---------------------
93 |
94 | // Create a new webui window object.
95 | function webui_new_window: size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
96 | // Create a new webui window object.
97 | procedure webui_new_window_id(window_number: size_t); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
98 | // Get a free window ID that can be used with `webui_new_window_id()`
99 | function webui_get_new_window_id: size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
100 | // Bind a specific html element click event with a function. Empty element means all events.
101 | function webui_bind(window: size_t; const element: PAnsiChar; func: TWebuiEventProc): size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
102 | // Get the recommended web browser ID to use. If you are already using one, this function will return the same ID.
103 | function webui_get_best_browser(window: size_t): size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
104 | // Show a window using a embedded HTML, or a file. If the window is already opened then it will be refreshed.
105 | function webui_show(window: size_t; const content: PAnsiChar): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
106 | // Same as webui_show(). But with a specific web browser.
107 | function webui_show_browser(window: size_t; const content: PAnsiChar; browser: size_t): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
108 | // Show a WebView window using embedded HTML, or a file. If the window is already
109 | function webui_show_wv(window: size_t; const content: PAnsiChar): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
110 | // Set the window in Kiosk mode (Full screen)
111 | procedure webui_set_kiosk(window: size_t; status: Boolean); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
112 | // Wait until all opened windows get closed.
113 | procedure webui_wait; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
114 | // Close a specific window only. The window object will still exist.
115 | procedure webui_close(window: size_t); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
116 | // Close a specific window and free all memory resources.
117 | procedure webui_destroy(window: size_t); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
118 | // Close all opened windows. webui_wait() will break.
119 | procedure webui_exit; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
120 | // Set the web-server root folder path.
121 | function webui_set_root_folder(window: size_t; const path: PAnsiChar): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
122 | // Set the web-server root folder path for all windows. Should be used before `webui_show()`.
123 | function webui_set_default_root_folder(const path: PAnsiChar): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
124 | // Set a custom handler to serve files
125 | procedure webui_set_file_handler(window: size_t; handler: TWebUIFileHandlerProc); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
126 | // Check a specific window if it's still running
127 | function webui_is_shown(window: size_t): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
128 | // Set the maximum time in seconds to wait for the browser to start
129 | procedure webui_set_timeout(second: size_t); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
130 | // Set the default embedded HTML favicon
131 | procedure webui_set_icon(window: size_t; const icon, icon_type: PAnsiChar); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
132 | // Base64 encoding. Use this to safely send text based data to the UI.
133 | function webui_encode(const str: PAnsiChar): PAnsiChar; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
134 | // Base64 decoding. Use this to safely decode received Base64 text from the UI.
135 | function webui_decode(const str: PAnsiChar): PAnsiChar; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
136 | // Safely free a buffer allocated by WebUI, for example when using webui_encode().
137 | procedure webui_free(ptr: Pointer); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
138 | // Safely allocate memory using the WebUI memory management system.
139 | function webui_malloc(size: size_t): Pointer; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
140 | // Safely send raw data to the UI.
141 | procedure webui_send_raw(window: size_t; const func: PAnsiChar; raw: Pointer; size: size_t); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
142 | // Run the window in hidden mode.
143 | procedure webui_set_hide(window: size_t; status: Boolean); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
144 | // Set the window size.
145 | procedure webui_set_size(window: size_t; width, height: UInt32); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
146 | // Set the window position.
147 | procedure webui_set_position(window: size_t; x, y: UInt32); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
148 | // Set the web browser profile to use. An empty `name` and `path` means the default user profile. Need to be called before `webui_show()`.
149 | procedure webui_set_profile(window: size_t; const name, path: PAnsiChar); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
150 | // Set the web browser proxy_server to use. Need to be called before `webui_show()`
151 | procedure webui_set_proxy(window: size_t; const proxy_server: PAnsiChar); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
152 | // Get the full current URL
153 | function webui_get_url(window: size_t): PAnsiChar; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
154 | // Allow a specific window address to be accessible from a public network
155 | procedure webui_set_public(window: size_t; status: boolean); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
156 | // Navigate to a specific URL
157 | procedure webui_navigate(window: size_t; url: PAnsiChar); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
158 | // Free all memory resources. Should be called only at the end.
159 | procedure webui_clean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
160 | // Delete all local web-browser profiles folder. It should be called at the end.
161 | procedure webui_delete_all_profiles; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
162 | // Delete a specific window web-browser local folder profile.
163 | procedure webui_delete_profile(window: size_t); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
164 | // Get the ID of the parent process (The web browser may re-create another new process).
165 | function webui_get_parent_process_id(window: size_t): size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
166 | // Get the ID of the last child process.
167 | function webui_get_child_process_id(window: size_t): size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
168 | // Set a custom web-server network port to be used by WebUI.
169 | // This can be useful to determine the HTTP link of `webui.js` in case
170 | // you are trying to use WebUI with an external web-server like NGNIX
171 | function webui_set_port(window, port: size_t): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
172 | // Control the WebUI behaviour. It's better to call at the beginning.
173 | procedure webui_set_config(option: Integer; status: Boolean); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
174 | // Control if UI events comming from this window should be processed
175 | // one a time in a single blocking thread `True`, or process every event in
176 | // a new non-blocking thread `False`. This update single window. You can use
177 | // `webui_set_config(ui_event_blocking, ...)` to update all windows.
178 | procedure webui_set_event_blocking(window: size_t; status: Boolean); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
179 |
180 | // -- SSL/TLS -------------------------
181 |
182 | // Set the SSL/TLS certificate and the private key content, both in PEM
183 | // format. This works only with `webui-2-secure` library. If set empty WebUI
184 | // will generate a self-signed certificate.
185 | function webui_set_tls_certificate(const certificate_pem, private_key_pem: PAnsiChar): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
186 |
187 | // -- JavaScript ----------------------
188 |
189 | // Run JavaScript quickly with no waiting for the response.
190 | procedure webui_run(window: size_t; const script: PAnsiChar); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
191 | // Run a JavaScript, and get the response back (Make sure your local buffer can hold the response).
192 | function webui_script(window: size_t; const script: PAnsiChar; timeout: size_t; buffer: PAnsiChar; buffer_length: size_t): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
193 | // Chose between Deno and Nodejs runtime for .js and .ts files.
194 | procedure webui_set_runtime(window: size_t; runtime: size_t); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
195 | // Get how many arguments there are in an event.
196 | function webui_get_count(e: PWebUIEvent): size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
197 | // Get an argument as integer at a specific index
198 | function webui_get_int_at(e: PWebUIEvent; index: size_t): Int64; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
199 | // Get the first argument as integer
200 | function webui_get_int(e: PWebUIEvent): Int64; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
201 | // Get an argument as float at a specific index
202 | function webui_get_float_at(e: PWebUIEvent; index: size_t): Double; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
203 | // Get the first argument as float
204 | function webui_get_float(e: PWebUIEvent): Double; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
205 | // Get an argument as string at a specific index
206 | function webui_get_string_at(e: PWebUIEvent; index: size_t): PAnsiChar; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
207 | // Get the first argument as string
208 | function webui_get_string(e: PWebUIEvent): PAnsiChar; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
209 | // Get an argument as boolean at a specific index
210 | function webui_get_bool_at(e: PWebUIEvent; index: size_t): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
211 | // Get the first argument as boolean
212 | function webui_get_bool(e: PWebUIEvent): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
213 | // Get the size in bytes of an argument at a specific index
214 | function webui_get_size_at(e: PWebUIEvent; index: size_t): size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
215 | // Get size in bytes of the first argument
216 | function webui_get_size(e: PWebUIEvent): size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
217 | // Return the response to JavaScript as integer.
218 | procedure webui_return_int(e: PWebUIEvent; n: Int64); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
219 | // Return the response to JavaScript as float.
220 | procedure webui_return_float(e: PWebUIEvent; f: Double); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
221 | // Return the response to JavaScript as string.
222 | procedure webui_return_string(e: PWebUIEvent; const s: PAnsiChar); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
223 | // Return the response to JavaScript as boolean.
224 | procedure webui_return_bool(e: PWebUIEvent; b: Boolean); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
225 |
226 | // -- Wrapper's Interface -------------
227 |
228 | // Bind a specific html element click event with a function. Empty element means all events.
229 | function webui_interface_bind(window: size_t; const element: PAnsiChar; func: TWebUIInterfaceEventProc): size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
230 | // When using `webui_interface_bind()` you may need this function to easily set your callback response.
231 | procedure webui_interface_set_response(window, event_number: size_t; const response: PAnsiChar); stdcall; external {$ifndef STATICLINK}webuilib{$endif};
232 | // Check if the app is still running or not.
233 | function webui_interface_is_app_running: Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
234 | // Get window unique ID
235 | function webui_interface_get_window_id(window: size_t): size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
236 | // Get an argument as string at a specific index
237 | function webui_interface_get_string_at(window, event_number, index: size_t): PAnsiChar; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
238 | // Get an argument as integer at a specific index
239 | function webui_interface_get_int_at(window, event_number, index: size_t): Int64; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
240 | // Get an argument as boolean at a specific index
241 | function webui_interface_get_bool_at(window, event_number, index: size_t): Boolean; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
242 | // Get the size in bytes of an argument at a specific index
243 | function webui_interface_get_size_at(window, event_number, index: size_t): size_t; stdcall; external {$ifndef STATICLINK}webuilib{$endif};
244 |
245 | implementation
246 |
247 | end.
248 |
249 |
--------------------------------------------------------------------------------
/staticlibs/README.md:
--------------------------------------------------------------------------------
1 | These libs are required to static link WebUI on Windows
2 |
3 | All libraries are available to download at https://www.mingw-w64.org/downloads/
4 |
--------------------------------------------------------------------------------
/staticlibs/libadvapi32.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/staticlibs/libadvapi32.a
--------------------------------------------------------------------------------
/staticlibs/libgcc.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/staticlibs/libgcc.a
--------------------------------------------------------------------------------
/staticlibs/libkernel32.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/staticlibs/libkernel32.a
--------------------------------------------------------------------------------
/staticlibs/libmincore.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/staticlibs/libmincore.a
--------------------------------------------------------------------------------
/staticlibs/libmingwex.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/staticlibs/libmingwex.a
--------------------------------------------------------------------------------
/staticlibs/libmsvcrt.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/staticlibs/libmsvcrt.a
--------------------------------------------------------------------------------
/staticlibs/libshell32.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/staticlibs/libshell32.a
--------------------------------------------------------------------------------
/staticlibs/libuser32.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webui-dev/pascal-webui/735a7a0434a58d04c01e339d4bb320bb6317a7e4/staticlibs/libuser32.a
--------------------------------------------------------------------------------
/staticlibs/sha256.txt:
--------------------------------------------------------------------------------
1 | dcef94b0caad08b77a673013dd8a51cbaa465226b87890ca2bc23c873c4d4969 *libadvapi32.a
2 | f555f47c786dab22732a402cb02c11bb55288b043a57adf29e4503f15bae5b41 *libgcc.a
3 | c9d33a231e313773b0910335807f6bbe01e60d87f2ede0c173b4bfbcd19c24ab *libkernel32.a
4 | 4742036558846d9a9fcc221f1f0518e7e90626a96f06fedf59a888dc4bc0710c *libmincore.a
5 | e51bdc059697a717b70e86d581bf2ea77aea52d48480f24c936839c6c9efcafd *libmingwex.a
6 | 63fe9b0261e50d1ccae4c4c01c45511b2ef3598690cb6d2f294f36f7bd7001e1 *libmsvcrt.a
7 | a2e2179a22681a5417df151caf223727288473e6b2921ebac0b6585e7bfeee65 *libshell32.a
8 | 14b899c80e004d56c598058f2e0ace468813fc7a0559c284b5fdbeb52aaebeb7 *libuser32.a
9 |
--------------------------------------------------------------------------------