diff --git a/README.md b/README.md index 25a9d7c..3dc8be8 100644 --- a/README.md +++ b/README.md @@ -4,16 +4,16 @@ This unofficial project is a migration of [D Forms Library (DFL)](http://wiki.dp DFL is a Win32 windowing library for the D language. ## Recent major features -- **Module "dfl.chart" is now comming.** - - TableRenderer (with example) - - LineGraphRenderer (with example) - - **TimeChartRenderer (with example)** -- Add simple clock "Dclock" as an example of DFL application. +- **Registered DFL to DUB.** +- **Support multiple screens.** +- Module "dfl.chart" is now comming. + - TableRenderer (with example) + - LineGraphRenderer (with example) + - TimeChartRenderer (with example) - Module "dfl.printing" is now comming. - - PrintDialog - - PrintSetupDialog - - PrintPreviewDialog -- DUB is available for DFL. + - PrintDialog + - PrintSetupDialog + - PrintPreviewDialog - Remove dflexe. - Remove GTK-based DFL. - Remove some bundled libraries such as user32_dfl.lib etc... (From now on, use dmd-bundled libraries such as the MinGW platform library and so on.) @@ -44,7 +44,29 @@ DFL is a Win32 windowing library for the D language. ![screen shot](./examples/linegraphrenderer/image/screenshot.png "screen shot") ![screen shot](./examples/timechartrenderer/image/screenshot.png "screen shot") -## Build and Install (dfl.lib and dfl_debug.lib) +## Usage +First, you make new DUB project: +```bat +> cd examples\new_project +> dub init +``` +Add DFL to local DUB registry: +```bat +> dub add dfl +> dub list +Packages present in the system and known to dub: + dfl 0.10.0: c:\your\path\dfl\0.10.0\dfl\ + silly 1.2.0-dev.2: c:\your\path\silly\1.2.0-dev.2\silly\ + undead 1.1.8: c:\your\path\undead\1.1.8\undead\ +``` +Build and run your GUI applications with DUB as below: +```bat +> dub build -a=x86_64 +> dub run +``` +**IMPORTANT**: DUB is building **dfl_dub.lib** that is **not** containing **undead.lib** and WINSDK libraries. + +## APPENDIX: Build and Install dfl.lib and dfl_debug.lib ### 1. Set environment variables Fix the paths below: ```bat @@ -93,25 +115,6 @@ In order to make and move *.lib to paths below: - **go.bat 32mscoff** (MSVC required) : ditto - **go64.bat** (MSVC required) : Make and move *.lib to %dmd_path%\lib64 -## With DUB **(RECOMMENDED)** -First, add DFL to local DUB registry: -```bat -> cd dfl -> dub add-local . -> dub list -Packages present in the system and known to dub: - dfl ~master: c:\your\path\dfl\ -``` -Build and run your GUI applications with DUB as below: -```bat -> cd examples\hello_dfl -> dub build -a=x86_omf -> dub run -``` -See also **./examples/hello_dfl/dub.json**. - -**IMPORTANT**: DUB is building **dfl_dub.lib** that is **not** containing **undead.lib** and WINSDK libraries. - ## License DFL is under the boost and/or zlib/libpng license. diff --git a/examples/buttons/.vscode/tasks.json b/examples/buttons/.vscode/tasks.json index 04e8d9f..5fa78bb 100644 --- a/examples/buttons/.vscode/tasks.json +++ b/examples/buttons/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build buttons_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/clipboard/.vscode/tasks.json b/examples/clipboard/.vscode/tasks.json index 082d299..14f265f 100644 --- a/examples/clipboard/.vscode/tasks.json +++ b/examples/clipboard/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build clipboard_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/clippingform/.vscode/tasks.json b/examples/clippingform/.vscode/tasks.json index b7eda52..e7927ed 100644 --- a/examples/clippingform/.vscode/tasks.json +++ b/examples/clippingform/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build clippingform_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/contextmenu/.vscode/tasks.json b/examples/contextmenu/.vscode/tasks.json index c2ac92a..d40db86 100644 --- a/examples/contextmenu/.vscode/tasks.json +++ b/examples/contextmenu/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build contextmenu_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/dclock/.vscode/tasks.json b/examples/dclock/.vscode/tasks.json index c7dcc9b..1d991f7 100644 --- a/examples/dclock/.vscode/tasks.json +++ b/examples/dclock/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build dclock", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/draganddrop/.vscode/tasks.json b/examples/draganddrop/.vscode/tasks.json index 1963e1e..affb3d3 100644 --- a/examples/draganddrop/.vscode/tasks.json +++ b/examples/draganddrop/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build draganddrop_sample", "presentation": { "clear": true diff --git a/examples/dragdroplistbox/.vscode/tasks.json b/examples/dragdroplistbox/.vscode/tasks.json index 2f7bd15..bb08ebe 100644 --- a/examples/dragdroplistbox/.vscode/tasks.json +++ b/examples/dragdroplistbox/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build dragdroplistbox_sample", "presentation": { "clear": true diff --git a/examples/hello_dfl/.vscode/tasks.json b/examples/hello_dfl/.vscode/tasks.json index ed2b6ca..7a8be92 100644 --- a/examples/hello_dfl/.vscode/tasks.json +++ b/examples/hello_dfl/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build hello_dfl", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/imagelist/.vscode/tasks.json b/examples/imagelist/.vscode/tasks.json index 096f796..a536327 100644 --- a/examples/imagelist/.vscode/tasks.json +++ b/examples/imagelist/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build imagelist_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/label/.vscode/launch.json b/examples/label/.vscode/launch.json new file mode 100644 index 0000000..af9a3ab --- /dev/null +++ b/examples/label/.vscode/launch.json @@ -0,0 +1,13 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C++ Launch (Windows) label", + "type": "cppvsdbg", + "request": "launch", + "cwd": "${workspaceRoot}", + "program": "./bin/label_sample.exe", + "console": "internalConsole" + } + ] +} \ No newline at end of file diff --git a/examples/label/.vscode/tasks.json b/examples/label/.vscode/tasks.json new file mode 100644 index 0000000..82352d0 --- /dev/null +++ b/examples/label/.vscode/tasks.json @@ -0,0 +1,23 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "dub", + "run": false, + "cwd": ".", + "compiler": "$current", + "archType": "$current", + "buildType": "$current", + "configuration": "$current", + "problemMatcher": [ + "$dmd" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "label": "dub: Build label_sample", + "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" + } + ] +} \ No newline at end of file diff --git a/examples/label/label.code-workspace b/examples/label/label.code-workspace new file mode 100644 index 0000000..7e696bc --- /dev/null +++ b/examples/label/label.code-workspace @@ -0,0 +1,12 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": { + "d.projectImportPaths": [ + "..\\..\\..\\dfl\\source" + ] + } +} \ No newline at end of file diff --git a/examples/linegraphrenderer/.vscode/tasks.json b/examples/linegraphrenderer/.vscode/tasks.json index d571fe2..355329b 100644 --- a/examples/linegraphrenderer/.vscode/tasks.json +++ b/examples/linegraphrenderer/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build linegraphrenderer_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/listview/.vscode/tasks.json b/examples/listview/.vscode/tasks.json index 993cb76..f8f097a 100644 --- a/examples/listview/.vscode/tasks.json +++ b/examples/listview/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build listview_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/notifyicon/.vscode/tasks.json b/examples/notifyicon/.vscode/tasks.json index 6326af4..e3412a2 100644 --- a/examples/notifyicon/.vscode/tasks.json +++ b/examples/notifyicon/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build notifyicon_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/picturebox/.vscode/tasks.json b/examples/picturebox/.vscode/tasks.json index fffac9e..6f9c656 100644 --- a/examples/picturebox/.vscode/tasks.json +++ b/examples/picturebox/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build picturebox_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/progressbar/.vscode/tasks.json b/examples/progressbar/.vscode/tasks.json index 6c43dd8..f1719bf 100644 --- a/examples/progressbar/.vscode/tasks.json +++ b/examples/progressbar/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build progressbar_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/richtextbox/.vscode/tasks.json b/examples/richtextbox/.vscode/tasks.json index ba5b899..ff3093b 100644 --- a/examples/richtextbox/.vscode/tasks.json +++ b/examples/richtextbox/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build richtextbox_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application", "presentation": { diff --git a/examples/scrollbar/.vscode/tasks.json b/examples/scrollbar/.vscode/tasks.json index 8395106..5b471da 100644 --- a/examples/scrollbar/.vscode/tasks.json +++ b/examples/scrollbar/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build scrollbar_example", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/splitter/.vscode/tasks.json b/examples/splitter/.vscode/tasks.json index 5a75fc2..41477b8 100644 --- a/examples/splitter/.vscode/tasks.json +++ b/examples/splitter/.vscode/tasks.json @@ -3,7 +3,7 @@ "tasks": [ { "type": "dub", - "run": true, + "run": false, "cwd": ".", "compiler": "$current", "archType": "$current", @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build splitter_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/statusbar/.vscode/tasks.json b/examples/statusbar/.vscode/tasks.json index a472fc9..dfaad1f 100644 --- a/examples/statusbar/.vscode/tasks.json +++ b/examples/statusbar/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build statusbar_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/tabcontrol/.vscode/tasks.json b/examples/tabcontrol/.vscode/tasks.json index 6a7d45c..e292bd4 100644 --- a/examples/tabcontrol/.vscode/tasks.json +++ b/examples/tabcontrol/.vscode/tasks.json @@ -3,7 +3,7 @@ "tasks": [ { "type": "dub", - "run": true, + "run": false, "cwd": ".", "compiler": "$current", "archType": "$current", @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build tabcontrol_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/tablerenderer/.vscode/tasks.json b/examples/tablerenderer/.vscode/tasks.json index 0bc5912..0e5b3c7 100644 --- a/examples/tablerenderer/.vscode/tasks.json +++ b/examples/tablerenderer/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build tablerenderer_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/textbox/.vscode/tasks.json b/examples/textbox/.vscode/tasks.json index c1d0256..dcc583d 100644 --- a/examples/textbox/.vscode/tasks.json +++ b/examples/textbox/.vscode/tasks.json @@ -3,7 +3,7 @@ "tasks": [ { "type": "dub", - "run": true, + "run": false, "cwd": ".", "compiler": "$current", "archType": "$current", @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build textbox_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/timechartrenderer/.vscode/tasks.json b/examples/timechartrenderer/.vscode/tasks.json index 0b836af..0494771 100644 --- a/examples/timechartrenderer/.vscode/tasks.json +++ b/examples/timechartrenderer/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build timechartrenderer_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/timer/.vscode/tasks.json b/examples/timer/.vscode/tasks.json index 8232b04..aadea52 100644 --- a/examples/timer/.vscode/tasks.json +++ b/examples/timer/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build timer_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/toolbar/.vscode/tasks.json b/examples/toolbar/.vscode/tasks.json index d1adf4e..84087d6 100644 --- a/examples/toolbar/.vscode/tasks.json +++ b/examples/toolbar/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build toolbar_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/tooltip/.vscode/tasks.json b/examples/tooltip/.vscode/tasks.json index 8fbf9de..7de2700 100644 --- a/examples/tooltip/.vscode/tasks.json +++ b/examples/tooltip/.vscode/tasks.json @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build tooltip_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" } diff --git a/examples/trackbar/.vscode/tasks.json b/examples/trackbar/.vscode/tasks.json index 4b8b4a4..4c0f0af 100644 --- a/examples/trackbar/.vscode/tasks.json +++ b/examples/trackbar/.vscode/tasks.json @@ -3,7 +3,7 @@ "tasks": [ { "type": "dub", - "run": true, + "run": false, "cwd": ".", "compiler": "$current", "archType": "$current", @@ -12,7 +12,10 @@ "problemMatcher": [ "$dmd" ], - "group": "build", + "group": { + "kind": "build", + "isDefault": true + }, "label": "dub: Build trackbar_sample", "detail": "dub build --compiler=dmd.EXE -a=x86_64 -b=debug -c=application" }