From 90015b93cd8d06f35d211ce65e2c9000e5fb4336 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Tue, 28 Jan 2020 07:24:29 +0100 Subject: [PATCH] unit test with iFace updates (layouting/clipping/drawing), chmod clean --- .gitignore | 1 + Crow.ControlsLib/Templates/AnalogMeter0.goml | 0 Crow.ControlsLib/Templates/Checkbox2.goml | 0 .../Templates/DockingView.template | 0 Crow.ControlsLib/Templates/ListBox.template | 0 Crow.ControlsLib/Templates/Popper.template | 0 .../Templates/RadioButton.template | 0 Crow.ControlsLib/Templates/ScrollBar.template | 0 Crow.ControlsLib/Templates/Slider.template | 0 .../Templates/Spinner (copier).goml | 0 Crow.ControlsLib/Templates/Spinner.template | 0 .../Templates/ToolWindow.template | 0 Crow.ControlsLib/Templates/Window.template | 0 .../Templates/imgItemTemplate.goml | 0 Crow.ControlsLib/Templates/tmpDirItem.goml | 0 Crow.ControlsLib/Templates/treeList.crow | 0 Crow.sln | 8 + Crow/Crow.csproj | 11 +- Crow/Icons/IconAlerte.svg | 0 Crow/Images/Icons/buttonB.svg | 0 Crow/Images/meter.svg | 0 Crow/Templates/ArrowBut.template | 0 Crow/Templates/Button.template | 0 Crow/Templates/CheckBox.template | 0 Crow/Templates/ColorPicker.template | 0 Crow/Templates/ColorPicker2.template | 0 Crow/Templates/ComboBox.template | 0 Crow/Templates/DefaultItem.template | 0 Crow/Templates/DirectoryView.template | 0 Crow/Templates/DockWindow.template | 0 Crow/Templates/EnumSelector.template | 0 Crow/Templates/Expandable.template | 0 Crow/Templates/GroupBox.template | 0 Crow/Templates/HScrollBar.template | 0 Crow/Templates/ListBox.template | 0 Crow/Templates/Popper.template | 0 Crow/Templates/RadioButton.template | 0 Crow/Templates/ScrollBar.template | 0 Crow/Templates/Slider.template | 0 Crow/Templates/Spinner.template | 0 Crow/Templates/ToolWindow.template | 0 Crow/Templates/Window.template | 0 Crow/Templates/imgItem.template | 0 Crow/Templates/treeList.template | 0 Crow/src/Enums.cs | 8 + Crow/src/Interface.cs | 59 +- Crow/src/LayoutingQueueItem.cs | 34 +- Crow/src/Widgets/PrivateContainer.cs | 2 +- Crow/src/Widgets/Slider.cs | 49 +- Crow/src/Widgets/TemplatedControl.cs | 2 +- Crow/src/Widgets/Widget.cs | 2 +- Crow/src/backends/xlib/X11Keyboard.cs | 27 +- Crow/src/backends/xlib/XLibBackend.cs | 27 +- Crow/src/debug/DbgEventTypeColors.cs | 2 +- Crow/src/debug/DebugLogger.cs | 22 +- Properties/AssemblyInfo.cs | 0 Samples/BasicTests/BasicTests.cs | 220 +++ Samples/BasicTests/BasicTests.csproj | 29 + Samples/ControlLib/ControlLib.csproj | 2 +- Samples/CrowIDE/ui/CategoryExp.template | 0 .../ui/DockWindows/WinSchemaItem.template | 0 .../CrowIDE/ui/ItemTemplates/Enum.template | 0 .../CrowIDE/ui/ItemTemplates/Fill.template | 0 Samples/CrowIDE/ui/MembersItem.template | 0 Samples/CrowIDE/ui/MembersView.template | 0 Samples/ShowCase/ShowCase.csproj | 64 +- Samples/ShowCase/main.cs | 10 +- .../ShowCase/ui/Interfaces/Container/0.crow | 0 .../ShowCase/ui/Interfaces/Container/1.crow | 0 .../ShowCase/ui/Interfaces/Container/2.crow | 0 .../ShowCase/ui/Interfaces/Container/3.crow | 0 .../ShowCase/ui/Interfaces/DragAndDrop/0.crow | 0 .../Experimental/DockWindow.template | 0 .../Experimental/testTypeViewer.goml | 0 .../ui/Interfaces/GraphicObject/0.crow | 0 .../ui/Interfaces/GraphicObject/1.crow | 0 .../ui/Interfaces/GraphicObject/2.crow | 0 .../ui/Interfaces/GraphicObject/4.crow | 0 .../ui/Interfaces/GraphicObject/5.crow | 0 .../ui/Interfaces/GraphicObject/6.crow | 0 .../ui/Interfaces/GraphicObject/7.crow | 0 Samples/ShowCase/ui/Interfaces/Group/0.crow | 0 Samples/ShowCase/ui/Interfaces/Group/1.crow | 0 Samples/ShowCase/ui/Interfaces/Group/2.crow | 0 Samples/ShowCase/ui/Interfaces/Group/3.crow | 0 Samples/ShowCase/ui/Interfaces/Group/4.crow | 0 .../ShowCase/ui/Interfaces/Splitter/1.crow | 0 .../ShowCase/ui/Interfaces/Splitter/3.crow | 0 Samples/ShowCase/ui/Interfaces/Stack/0.crow | 0 Samples/ShowCase/ui/Interfaces/Stack/0h.crow | 0 Samples/ShowCase/ui/Interfaces/Stack/1.crow | 0 Samples/ShowCase/ui/Interfaces/Stack/1h.crow | 0 Samples/ShowCase/ui/Interfaces/Stack/2.crow | 0 Samples/ShowCase/ui/Interfaces/Stack/2h.crow | 0 Samples/ShowCase/ui/Interfaces/Stack/3.crow | 0 Samples/ShowCase/ui/Interfaces/Stack/3h.crow | 0 Samples/ShowCase/ui/Interfaces/Stack/4.crow | 0 .../ui/Interfaces/TemplatedContainer/0.crow | 0 .../ui/Interfaces/TemplatedContainer/6.crow | 0 .../ui/Interfaces/TemplatedContainer/7.crow | 0 .../TemplatedContainer/testGroupBox.crow | 0 .../TemplatedContainer/testMsgBox.crow | 0 .../TemplatedContainer/testPopper.crow | 0 .../TemplatedContainer/testTreeView.crow | 0 .../TemplatedContainer/testWindow.goml | 0 .../TemplatedContainer/testWindow2.goml | 0 .../TemplatedContainer/testWindow3.goml | 0 .../TemplatedContainer/test_Listbox.crow | 0 .../TemplatedControl/testButton.crow | 0 .../TemplatedControl/testCheckbox.crow | 0 .../TemplatedControl/testCombobox.crow | 0 .../TemplatedControl/testItemTemplateTag.crow | 0 .../TemplatedControl/testRadioButton.crow | 0 .../TemplatedControl/testScrollbar.crow | 0 .../TemplatedControl/testSpinner.crow | 0 .../ui/Interfaces/TemplatedGroup/0.crow | 0 .../ui/Interfaces/TemplatedGroup/1.crow | 0 .../ui/Interfaces/TemplatedGroup/2.crow | 0 .../ShowCase/ui/Interfaces/TmpExpandable.goml | 0 .../ShowCase/ui/Interfaces/Wrapper/1.1.crow | 0 Samples/ShowCase/ui/Interfaces/Wrapper/1.crow | 0 .../ShowCase/ui/Interfaces/Wrapper/2.1.crow | 0 .../ShowCase/ui/Interfaces/Wrapper/2.2.crow | 0 Samples/ShowCase/ui/Interfaces/Wrapper/2.crow | 0 .../ShowCase/ui/Interfaces/basicTests/7.crow | 0 Samples/ShowCase/ui/Interfaces/colorItem.crow | 0 .../ShowCase/ui/Interfaces/colorItem2.crow | 0 Samples/ShowCase/ui/Interfaces/itemTmp.goml | 0 Samples/ShowCase/ui/Interfaces/log.xml | 0 Samples/ShowCase/ui/Interfaces/perfMsr.crow | 0 Samples/ShowCase/ui/Interfaces/testMeter.goml | 0 .../ui/Interfaces/testWindow.goml.sav | 0 .../ShowCase/ui/Interfaces/tmpDirItem.goml | 0 .../ShowCase/ui/Interfaces/tmpMembers.goml | 0 Samples/ShowCase/ui/Interfaces/treeList.crow | 0 Samples/ShowCase/ui/divers/0.crow | 0 Samples/ShowCase/ui/divers/2.crow | 0 Samples/ShowCase/ui/divers/3.crow | 0 Samples/ShowCase/ui/divers/4.crow | 0 Samples/ShowCase/ui/divers/5.crow | 0 Samples/ShowCase/ui/divers/6.crow | 0 Samples/ShowCase/ui/divers/clip0.crow | 0 Samples/ShowCase/ui/divers/clip1.crow | 0 Samples/ShowCase/ui/divers/clip2.crow | 0 Samples/ShowCase/ui/divers/clip3.crow | 0 Samples/ShowCase/ui/divers/clip4.crow | 0 Samples/ShowCase/ui/divers/colorPicker.crow | 0 Samples/ShowCase/ui/divers/fps.crow | 0 Samples/ShowCase/ui/divers/perfMeasures.crow | 0 Samples/ShowCase/ui/divers/test1.1.crow | 0 Samples/ShowCase/ui/divers/test1.2.crow | 0 Samples/ShowCase/ui/divers/test1.crow | 0 .../ShowCase/ui/divers/test2WayBinding.crow | 0 Samples/ShowCase/ui/divers/testBind0.crow | 0 Samples/ShowCase/ui/divers/testCtxMenu.crow | 0 Samples/ShowCase/ui/divers/testFocus.crow | 0 Samples/ShowCase/ui/divers/testImage.crow | 0 Samples/ShowCase/ui/divers/testMenu.crow | 0 .../ui/divers/testOutOfClipUpdate.crow | 0 Samples/ShowCase/ui/divers/testPropLess.crow | 0 Samples/ShowCase/ui/divers/testStacks.crow | 0 Samples/ShowCase/ui/divers/testTextBox.crow | 0 .../ShowCase/ui/divers/testVisibility.crow | 0 Samples/ShowCase/ui/divers/test_stack.crow | 0 Samples/ShowCase/ui/showcase.crow | 0 Samples/common/ui/Interfaces/Container/0.crow | 0 Samples/common/ui/Interfaces/Container/1.crow | 0 Samples/common/ui/Interfaces/Container/2.crow | 0 Samples/common/ui/Interfaces/Container/3.crow | 0 Samples/common/ui/Interfaces/Divers/0.crow | 0 Samples/common/ui/Interfaces/Divers/2.crow | 0 Samples/common/ui/Interfaces/Divers/3.crow | 0 Samples/common/ui/Interfaces/Divers/4.crow | 0 Samples/common/ui/Interfaces/Divers/5.crow | 0 Samples/common/ui/Interfaces/Divers/6.crow | 0 .../common/ui/Interfaces/Divers/clip0.crow | 0 .../common/ui/Interfaces/Divers/clip1.crow | 0 .../common/ui/Interfaces/Divers/clip2.crow | 0 .../common/ui/Interfaces/Divers/clip3.crow | 0 .../common/ui/Interfaces/Divers/clip4.crow | 0 .../ui/Interfaces/Divers/colorPicker.crow | 0 Samples/common/ui/Interfaces/Divers/fps.crow | 0 .../ui/Interfaces/Divers/perfMeasures.crow | 0 .../common/ui/Interfaces/Divers/test1.1.crow | 0 .../common/ui/Interfaces/Divers/test1.2.crow | 0 .../common/ui/Interfaces/Divers/test1.crow | 0 .../ui/Interfaces/Divers/test2WayBinding.crow | 0 .../ui/Interfaces/Divers/testBind0.crow | 0 .../ui/Interfaces/Divers/testCtxMenu.crow | 0 .../ui/Interfaces/Divers/testFocus.crow | 0 .../ui/Interfaces/Divers/testImage.crow | 0 .../common/ui/Interfaces/Divers/testMenu.crow | 0 .../Divers/testOutOfClipUpdate.crow | 0 .../ui/Interfaces/Divers/testPropLess.crow | 0 .../ui/Interfaces/Divers/testSlider.crow | 13 + .../ui/Interfaces/Divers/testStacks.crow | 0 .../ui/Interfaces/Divers/testTextBox.crow | 0 .../ui/Interfaces/Divers/testVisibility.crow | 0 .../ui/Interfaces/Divers/test_stack.crow | 0 .../common/ui/Interfaces/DragAndDrop/0.crow | 0 .../Experimental/DockWindow.template | 0 .../Experimental/testTypeViewer.goml | 0 .../common/ui/Interfaces/GraphicObject/0.crow | 0 .../common/ui/Interfaces/GraphicObject/1.crow | 0 .../common/ui/Interfaces/GraphicObject/2.crow | 0 .../common/ui/Interfaces/GraphicObject/4.crow | 0 .../common/ui/Interfaces/GraphicObject/5.crow | 14 +- .../common/ui/Interfaces/GraphicObject/6.crow | 0 .../common/ui/Interfaces/GraphicObject/7.crow | 0 Samples/common/ui/Interfaces/Group/0.crow | 0 Samples/common/ui/Interfaces/Group/1.crow | 0 Samples/common/ui/Interfaces/Group/2.crow | 0 Samples/common/ui/Interfaces/Group/3.crow | 0 Samples/common/ui/Interfaces/Group/4.crow | 0 Samples/common/ui/Interfaces/Splitter/1.crow | 0 Samples/common/ui/Interfaces/Splitter/3.crow | 0 Samples/common/ui/Interfaces/Stack/0.crow | 0 Samples/common/ui/Interfaces/Stack/0h.crow | 0 Samples/common/ui/Interfaces/Stack/1.crow | 0 Samples/common/ui/Interfaces/Stack/1h.crow | 0 Samples/common/ui/Interfaces/Stack/2.crow | 0 Samples/common/ui/Interfaces/Stack/2h.crow | 0 Samples/common/ui/Interfaces/Stack/3.crow | 0 Samples/common/ui/Interfaces/Stack/3h.crow | 0 Samples/common/ui/Interfaces/Stack/4.crow | 0 .../ui/Interfaces/TemplatedContainer/0.crow | 0 .../ui/Interfaces/TemplatedContainer/6.crow | 0 .../ui/Interfaces/TemplatedContainer/7.crow | 0 .../TemplatedContainer/testGroupBox.crow | 0 .../TemplatedContainer/testMsgBox.crow | 0 .../TemplatedContainer/testPopper.crow | 0 .../TemplatedContainer/testTreeView.crow | 0 .../TemplatedContainer/testWindow.goml | 0 .../TemplatedContainer/testWindow2.goml | 0 .../TemplatedContainer/testWindow3.goml | 0 .../TemplatedContainer/test_Listbox.crow | 0 .../TemplatedControl/testButton.crow | 0 .../TemplatedControl/testCheckbox.crow | 0 .../TemplatedControl/testCombobox.crow | 0 .../TemplatedControl/testItemTemplateTag.crow | 0 .../TemplatedControl/testRadioButton.crow | 0 .../TemplatedControl/testScrollbar.crow | 0 .../TemplatedControl/testSpinner.crow | 0 .../ui/Interfaces/TemplatedGroup/0.crow | 0 .../ui/Interfaces/TemplatedGroup/1.crow | 0 .../ui/Interfaces/TemplatedGroup/2.crow | 0 .../common/ui/Interfaces/TmpExpandable.goml | 0 Samples/common/ui/Interfaces/Wrapper/1.1.crow | 0 Samples/common/ui/Interfaces/Wrapper/1.crow | 0 Samples/common/ui/Interfaces/Wrapper/2.1.crow | 0 Samples/common/ui/Interfaces/Wrapper/2.2.crow | 0 Samples/common/ui/Interfaces/Wrapper/2.crow | 0 Samples/common/ui/Interfaces/colorItem.crow | 0 Samples/common/ui/Interfaces/colorItem2.crow | 0 Samples/common/ui/Interfaces/itemTmp.goml | 0 Samples/common/ui/Interfaces/log.xml | 0 Samples/common/ui/Interfaces/perfMsr.crow | 0 Samples/common/ui/Interfaces/testMeter.goml | 0 .../common/ui/Interfaces/testWindow.goml.sav | 0 Samples/common/ui/Interfaces/tmpDirItem.goml | 0 Samples/common/ui/Interfaces/tmpMembers.goml | 0 Samples/common/ui/Interfaces/treeList.crow | 0 Tests/BasicTests.cs | 272 --- Tests/GraphicObjects/ColorCircleSelector.cs | 149 -- Tests/GraphicObjects/HexaContainer.cs | 89 - Tests/GraphicObjects/LaggingGraphicObject.cs | 86 - Tests/GraphicObjects/SimpleGauge.cs | 66 - Tests/GraphicObjects/TechBorder.cs | 88 - Tests/Interfaces/CheckBox2.imlt | 7 - Tests/Interfaces/Container/0.crow | 5 - Tests/Interfaces/Container/1.crow | 5 - Tests/Interfaces/Container/2.crow | 5 - Tests/Interfaces/Container/3.crow | 4 - Tests/Interfaces/Divers/0.crow | 162 -- Tests/Interfaces/Divers/2.crow | 13 - Tests/Interfaces/Divers/3.crow | 377 ---- Tests/Interfaces/Divers/4.crow | 1695 ----------------- Tests/Interfaces/Divers/5.crow | 64 - Tests/Interfaces/Divers/6.crow | 6 - Tests/Interfaces/Divers/clip0.crow | 10 - Tests/Interfaces/Divers/clip1.crow | 25 - Tests/Interfaces/Divers/clip2.crow | 15 - Tests/Interfaces/Divers/clip3.crow | 34 - Tests/Interfaces/Divers/clip4.crow | 58 - Tests/Interfaces/Divers/colorPicker.crow | 7 - Tests/Interfaces/Divers/fps.crow | 24 - Tests/Interfaces/Divers/perfMeasures.crow | 5 - Tests/Interfaces/Divers/test1.1.crow | 15 - Tests/Interfaces/Divers/test1.2.crow | 20 - Tests/Interfaces/Divers/test1.crow | 9 - Tests/Interfaces/Divers/test2WayBinding.crow | 5 - Tests/Interfaces/Divers/testBind0.crow | 5 - Tests/Interfaces/Divers/testCtxMenu.crow | 4 - Tests/Interfaces/Divers/testDisable.crow | 17 - Tests/Interfaces/Divers/testFileDialog.crow | 3 - Tests/Interfaces/Divers/testFocus.crow | 82 - Tests/Interfaces/Divers/testIMLContainer.crow | 2 - Tests/Interfaces/Divers/testImage.crow | 87 - Tests/Interfaces/Divers/testMenu.crow | 6 - .../Divers/testOutOfClipUpdate.crow | 6 - Tests/Interfaces/Divers/testPropLess.crow | 2 - Tests/Interfaces/Divers/testShape.crow | 6 - Tests/Interfaces/Divers/testStacks.crow | 86 - Tests/Interfaces/Divers/testTextBox.crow | 36 - Tests/Interfaces/Divers/testVisibility.crow | 8 - Tests/Interfaces/Divers/test_stack.crow | 25 - Tests/Interfaces/Divers/welcome.crow | 21 - Tests/Interfaces/DragAndDrop/0.crow | 20 - .../Experimental/DockWindow.template | 39 - Tests/Interfaces/Experimental/testDock.crow | 27 - Tests/Interfaces/Experimental/testDock2.crow | 26 - Tests/Interfaces/Experimental/testStack.crow | 32 - .../Experimental/testTypeViewer.goml | 10 - Tests/Interfaces/GraphicObject/0.crow | 4 - Tests/Interfaces/GraphicObject/1.crow | 3 - Tests/Interfaces/GraphicObject/2.crow | 4 - Tests/Interfaces/GraphicObject/4.crow | 377 ---- Tests/Interfaces/GraphicObject/5.crow | 10 - Tests/Interfaces/GraphicObject/6.crow | 6 - Tests/Interfaces/GraphicObject/7.crow | 46 - Tests/Interfaces/Group/0.crow | 11 - Tests/Interfaces/Group/1.crow | 33 - Tests/Interfaces/Group/2.crow | 33 - Tests/Interfaces/Group/3.crow | 33 - Tests/Interfaces/Group/4.crow | 7 - Tests/Interfaces/Splitter/1.crow | 30 - Tests/Interfaces/Splitter/3.crow | 44 - Tests/Interfaces/Stack/0.crow | 9 - Tests/Interfaces/Stack/0h.crow | 9 - Tests/Interfaces/Stack/1.crow | 9 - Tests/Interfaces/Stack/1h.crow | 9 - Tests/Interfaces/Stack/2.crow | 9 - Tests/Interfaces/Stack/2h.crow | 9 - Tests/Interfaces/Stack/3.crow | 45 - Tests/Interfaces/Stack/3h.crow | 45 - Tests/Interfaces/Stack/4.crow | 27 - Tests/Interfaces/TabItem.template | 24 - Tests/Interfaces/TemplatedContainer/0.crow | 13 - Tests/Interfaces/TemplatedContainer/6.crow | 21 - Tests/Interfaces/TemplatedContainer/7.crow | 25 - .../TemplatedContainer/testGroupBox.crow | 7 - .../TemplatedContainer/testMsgBox.crow | 4 - .../TemplatedContainer/testPopper.crow | 27 - .../TemplatedContainer/testTabView.crow | 37 - .../TemplatedContainer/testTabView2.crow | 65 - .../TemplatedContainer/testTreeView.crow | 4 - .../TemplatedContainer/testWindow.goml | 68 - .../TemplatedContainer/testWindow2.goml | 33 - .../TemplatedContainer/testWindow3.goml | 11 - .../TemplatedContainer/test_Listbox.crow | 13 - .../TemplatedControl/testButton.crow | 10 - .../TemplatedControl/testCheckbox.crow | 11 - .../TemplatedControl/testCombobox.crow | 4 - .../TemplatedControl/testItemTemplateTag.crow | 36 - .../TemplatedControl/testRadioButton.crow | 7 - .../TemplatedControl/testScrollbar.crow | 5 - .../TemplatedControl/testSpinner.crow | 10 - Tests/Interfaces/TemplatedGroup/0.crow | 28 - Tests/Interfaces/TemplatedGroup/1.crow | 9 - Tests/Interfaces/TemplatedGroup/2.crow | 25 - Tests/Interfaces/TmpExpandable.goml | 12 - Tests/Interfaces/Wrapper/1.1.crow | 14 - Tests/Interfaces/Wrapper/1.crow | 14 - Tests/Interfaces/Wrapper/2.1.crow | 14 - Tests/Interfaces/Wrapper/2.2.crow | 32 - Tests/Interfaces/Wrapper/2.crow | 14 - Tests/Interfaces/basicTests/7.crow | 144 -- Tests/Interfaces/colorItem.crow | 10 - Tests/Interfaces/colorItem2.crow | 10 - Tests/Interfaces/itemTmp.goml | 8 - Tests/Interfaces/log.xml | 21 - Tests/Interfaces/perfMsr.crow | 36 - Tests/Interfaces/testMeter.goml | 2 - Tests/Interfaces/testWindow.goml.sav | 26 - Tests/Interfaces/tmpDirItem.goml | 11 - Tests/Interfaces/tmpMembers.goml | 9 - Tests/Interfaces/treeList.crow | 2 - Tests/Showcase.cs | 229 --- Tests/Tests.NetStd.csproj | 42 - Tests/Tests.csproj | 486 ----- Tests/image/Mana.svg | 725 ------- Tests/image/blank-file.svg | 6 - Tests/image/crow0.svg | 30 - Tests/image/folder0.svg | 158 -- Tests/image/folder1.svg | 294 --- Tests/image/tetra.png | Bin 17748 -> 0 bytes Tests/image/textest.png | Bin 2188331 -> 0 bytes Tests/image/u.svg | 249 --- Tests/keysyms.cs | 85 - Tests/test.style | 43 - Tests/testClass.cs | 25 - Tests/ui/LabelButton.style | 8 - Tests/ui/MenuItem.style | 11 - Tests/ui/MenuItem.template | 25 - Tests/ui/Popper.template | 3 - Tests/ui/TreeExpandable.template | 30 - Tests/ui/dbgLog.crow | 34 - Tests/ui/dbgLogColors.crow | 60 - Tests/ui/showcase.crow | 25 - Tests/ui/test.crow | 37 - Tests/ui/test.style | 3 - Tests/ui/tmpWindow.crow | 19 - clean.sh | 2 +- unitTests/Program.cs | 30 +- unitTests/TestBackend.cs | 87 + unitTests/unitTests.csproj | 5 + 406 files changed, 535 insertions(+), 8380 deletions(-) mode change 100755 => 100644 Crow.ControlsLib/Templates/AnalogMeter0.goml mode change 100755 => 100644 Crow.ControlsLib/Templates/Checkbox2.goml mode change 100755 => 100644 Crow.ControlsLib/Templates/DockingView.template mode change 100755 => 100644 Crow.ControlsLib/Templates/ListBox.template mode change 100755 => 100644 Crow.ControlsLib/Templates/Popper.template mode change 100755 => 100644 Crow.ControlsLib/Templates/RadioButton.template mode change 100755 => 100644 Crow.ControlsLib/Templates/ScrollBar.template mode change 100755 => 100644 Crow.ControlsLib/Templates/Slider.template mode change 100755 => 100644 Crow.ControlsLib/Templates/Spinner (copier).goml mode change 100755 => 100644 Crow.ControlsLib/Templates/Spinner.template mode change 100755 => 100644 Crow.ControlsLib/Templates/ToolWindow.template mode change 100755 => 100644 Crow.ControlsLib/Templates/Window.template mode change 100755 => 100644 Crow.ControlsLib/Templates/imgItemTemplate.goml mode change 100755 => 100644 Crow.ControlsLib/Templates/tmpDirItem.goml mode change 100755 => 100644 Crow.ControlsLib/Templates/treeList.crow mode change 100755 => 100644 Crow/Icons/IconAlerte.svg mode change 100755 => 100644 Crow/Images/Icons/buttonB.svg mode change 100755 => 100644 Crow/Images/meter.svg mode change 100755 => 100644 Crow/Templates/ArrowBut.template mode change 100755 => 100644 Crow/Templates/Button.template mode change 100755 => 100644 Crow/Templates/CheckBox.template mode change 100755 => 100644 Crow/Templates/ColorPicker.template mode change 100755 => 100644 Crow/Templates/ColorPicker2.template mode change 100755 => 100644 Crow/Templates/ComboBox.template mode change 100755 => 100644 Crow/Templates/DefaultItem.template mode change 100755 => 100644 Crow/Templates/DirectoryView.template mode change 100755 => 100644 Crow/Templates/DockWindow.template mode change 100755 => 100644 Crow/Templates/EnumSelector.template mode change 100755 => 100644 Crow/Templates/Expandable.template mode change 100755 => 100644 Crow/Templates/GroupBox.template mode change 100755 => 100644 Crow/Templates/HScrollBar.template mode change 100755 => 100644 Crow/Templates/ListBox.template mode change 100755 => 100644 Crow/Templates/Popper.template mode change 100755 => 100644 Crow/Templates/RadioButton.template mode change 100755 => 100644 Crow/Templates/ScrollBar.template mode change 100755 => 100644 Crow/Templates/Slider.template mode change 100755 => 100644 Crow/Templates/Spinner.template mode change 100755 => 100644 Crow/Templates/ToolWindow.template mode change 100755 => 100644 Crow/Templates/Window.template mode change 100755 => 100644 Crow/Templates/imgItem.template mode change 100755 => 100644 Crow/Templates/treeList.template mode change 100755 => 100644 Properties/AssemblyInfo.cs create mode 100644 Samples/BasicTests/BasicTests.cs create mode 100644 Samples/BasicTests/BasicTests.csproj mode change 100755 => 100644 Samples/CrowIDE/ui/CategoryExp.template mode change 100755 => 100644 Samples/CrowIDE/ui/DockWindows/WinSchemaItem.template mode change 100755 => 100644 Samples/CrowIDE/ui/ItemTemplates/Enum.template mode change 100755 => 100644 Samples/CrowIDE/ui/ItemTemplates/Fill.template mode change 100755 => 100644 Samples/CrowIDE/ui/MembersItem.template mode change 100755 => 100644 Samples/CrowIDE/ui/MembersView.template mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Container/0.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Container/1.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Container/2.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Container/3.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/DragAndDrop/0.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Experimental/DockWindow.template mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Experimental/testTypeViewer.goml mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/GraphicObject/0.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/GraphicObject/1.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/GraphicObject/2.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/GraphicObject/4.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/GraphicObject/5.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/GraphicObject/6.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/GraphicObject/7.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Group/0.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Group/1.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Group/2.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Group/3.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Group/4.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Splitter/1.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Splitter/3.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Stack/0.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Stack/0h.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Stack/1.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Stack/1h.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Stack/2.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Stack/2h.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Stack/3.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Stack/3h.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Stack/4.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/0.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/6.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/7.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/testGroupBox.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/testMsgBox.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/testPopper.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/testTreeView.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow.goml mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow2.goml mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/testWindow3.goml mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedContainer/test_Listbox.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedControl/testButton.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedControl/testCheckbox.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedControl/testCombobox.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedControl/testItemTemplateTag.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedControl/testRadioButton.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedControl/testScrollbar.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedControl/testSpinner.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedGroup/0.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedGroup/1.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TemplatedGroup/2.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/TmpExpandable.goml mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Wrapper/1.1.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Wrapper/1.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Wrapper/2.1.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Wrapper/2.2.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/Wrapper/2.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/basicTests/7.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/colorItem.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/colorItem2.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/itemTmp.goml mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/log.xml mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/perfMsr.crow mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/testMeter.goml mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/testWindow.goml.sav mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/tmpDirItem.goml mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/tmpMembers.goml mode change 100755 => 100644 Samples/ShowCase/ui/Interfaces/treeList.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/0.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/2.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/3.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/4.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/5.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/6.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/clip0.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/clip1.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/clip2.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/clip3.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/clip4.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/colorPicker.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/fps.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/perfMeasures.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/test1.1.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/test1.2.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/test1.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/test2WayBinding.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/testBind0.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/testCtxMenu.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/testFocus.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/testImage.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/testMenu.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/testOutOfClipUpdate.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/testPropLess.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/testStacks.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/testTextBox.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/testVisibility.crow mode change 100755 => 100644 Samples/ShowCase/ui/divers/test_stack.crow mode change 100755 => 100644 Samples/ShowCase/ui/showcase.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Container/0.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Container/1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Container/2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Container/3.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/0.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/3.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/4.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/5.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/6.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/clip0.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/clip1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/clip2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/clip3.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/clip4.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/colorPicker.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/fps.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/perfMeasures.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/test1.1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/test1.2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/test1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/test2WayBinding.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/testBind0.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/testCtxMenu.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/testFocus.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/testImage.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/testMenu.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/testOutOfClipUpdate.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/testPropLess.crow create mode 100644 Samples/common/ui/Interfaces/Divers/testSlider.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/testStacks.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/testTextBox.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/testVisibility.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Divers/test_stack.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/DragAndDrop/0.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Experimental/DockWindow.template mode change 100755 => 100644 Samples/common/ui/Interfaces/Experimental/testTypeViewer.goml mode change 100755 => 100644 Samples/common/ui/Interfaces/GraphicObject/0.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/GraphicObject/1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/GraphicObject/2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/GraphicObject/4.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/GraphicObject/5.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/GraphicObject/6.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/GraphicObject/7.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Group/0.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Group/1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Group/2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Group/3.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Group/4.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Splitter/1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Splitter/3.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Stack/0.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Stack/0h.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Stack/1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Stack/1h.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Stack/2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Stack/2h.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Stack/3.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Stack/3h.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Stack/4.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/0.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/6.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/7.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/testGroupBox.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/testMsgBox.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/testPopper.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/testTreeView.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/testWindow.goml mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/testWindow2.goml mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/testWindow3.goml mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedContainer/test_Listbox.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedControl/testButton.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedControl/testCheckbox.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedControl/testCombobox.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedControl/testItemTemplateTag.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedControl/testRadioButton.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedControl/testScrollbar.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedControl/testSpinner.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedGroup/0.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedGroup/1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TemplatedGroup/2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/TmpExpandable.goml mode change 100755 => 100644 Samples/common/ui/Interfaces/Wrapper/1.1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Wrapper/1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Wrapper/2.1.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Wrapper/2.2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/Wrapper/2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/colorItem.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/colorItem2.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/itemTmp.goml mode change 100755 => 100644 Samples/common/ui/Interfaces/log.xml mode change 100755 => 100644 Samples/common/ui/Interfaces/perfMsr.crow mode change 100755 => 100644 Samples/common/ui/Interfaces/testMeter.goml mode change 100755 => 100644 Samples/common/ui/Interfaces/testWindow.goml.sav mode change 100755 => 100644 Samples/common/ui/Interfaces/tmpDirItem.goml mode change 100755 => 100644 Samples/common/ui/Interfaces/tmpMembers.goml mode change 100755 => 100644 Samples/common/ui/Interfaces/treeList.crow delete mode 100644 Tests/BasicTests.cs delete mode 100644 Tests/GraphicObjects/ColorCircleSelector.cs delete mode 100644 Tests/GraphicObjects/HexaContainer.cs delete mode 100644 Tests/GraphicObjects/LaggingGraphicObject.cs delete mode 100644 Tests/GraphicObjects/SimpleGauge.cs delete mode 100644 Tests/GraphicObjects/TechBorder.cs delete mode 100644 Tests/Interfaces/CheckBox2.imlt delete mode 100755 Tests/Interfaces/Container/0.crow delete mode 100755 Tests/Interfaces/Container/1.crow delete mode 100755 Tests/Interfaces/Container/2.crow delete mode 100755 Tests/Interfaces/Container/3.crow delete mode 100755 Tests/Interfaces/Divers/0.crow delete mode 100755 Tests/Interfaces/Divers/2.crow delete mode 100755 Tests/Interfaces/Divers/3.crow delete mode 100755 Tests/Interfaces/Divers/4.crow delete mode 100755 Tests/Interfaces/Divers/5.crow delete mode 100755 Tests/Interfaces/Divers/6.crow delete mode 100755 Tests/Interfaces/Divers/clip0.crow delete mode 100755 Tests/Interfaces/Divers/clip1.crow delete mode 100755 Tests/Interfaces/Divers/clip2.crow delete mode 100755 Tests/Interfaces/Divers/clip3.crow delete mode 100755 Tests/Interfaces/Divers/clip4.crow delete mode 100755 Tests/Interfaces/Divers/colorPicker.crow delete mode 100755 Tests/Interfaces/Divers/fps.crow delete mode 100755 Tests/Interfaces/Divers/perfMeasures.crow delete mode 100755 Tests/Interfaces/Divers/test1.1.crow delete mode 100755 Tests/Interfaces/Divers/test1.2.crow delete mode 100755 Tests/Interfaces/Divers/test1.crow delete mode 100755 Tests/Interfaces/Divers/test2WayBinding.crow delete mode 100755 Tests/Interfaces/Divers/testBind0.crow delete mode 100755 Tests/Interfaces/Divers/testCtxMenu.crow delete mode 100644 Tests/Interfaces/Divers/testDisable.crow delete mode 100644 Tests/Interfaces/Divers/testFileDialog.crow delete mode 100755 Tests/Interfaces/Divers/testFocus.crow delete mode 100644 Tests/Interfaces/Divers/testIMLContainer.crow delete mode 100755 Tests/Interfaces/Divers/testImage.crow delete mode 100755 Tests/Interfaces/Divers/testMenu.crow delete mode 100755 Tests/Interfaces/Divers/testOutOfClipUpdate.crow delete mode 100755 Tests/Interfaces/Divers/testPropLess.crow delete mode 100644 Tests/Interfaces/Divers/testShape.crow delete mode 100755 Tests/Interfaces/Divers/testStacks.crow delete mode 100755 Tests/Interfaces/Divers/testTextBox.crow delete mode 100755 Tests/Interfaces/Divers/testVisibility.crow delete mode 100755 Tests/Interfaces/Divers/test_stack.crow delete mode 100644 Tests/Interfaces/Divers/welcome.crow delete mode 100755 Tests/Interfaces/DragAndDrop/0.crow delete mode 100755 Tests/Interfaces/Experimental/DockWindow.template delete mode 100644 Tests/Interfaces/Experimental/testDock.crow delete mode 100644 Tests/Interfaces/Experimental/testDock2.crow delete mode 100644 Tests/Interfaces/Experimental/testStack.crow delete mode 100755 Tests/Interfaces/Experimental/testTypeViewer.goml delete mode 100755 Tests/Interfaces/GraphicObject/0.crow delete mode 100755 Tests/Interfaces/GraphicObject/1.crow delete mode 100755 Tests/Interfaces/GraphicObject/2.crow delete mode 100755 Tests/Interfaces/GraphicObject/4.crow delete mode 100755 Tests/Interfaces/GraphicObject/5.crow delete mode 100755 Tests/Interfaces/GraphicObject/6.crow delete mode 100755 Tests/Interfaces/GraphicObject/7.crow delete mode 100755 Tests/Interfaces/Group/0.crow delete mode 100755 Tests/Interfaces/Group/1.crow delete mode 100755 Tests/Interfaces/Group/2.crow delete mode 100755 Tests/Interfaces/Group/3.crow delete mode 100755 Tests/Interfaces/Group/4.crow delete mode 100755 Tests/Interfaces/Splitter/1.crow delete mode 100755 Tests/Interfaces/Splitter/3.crow delete mode 100755 Tests/Interfaces/Stack/0.crow delete mode 100755 Tests/Interfaces/Stack/0h.crow delete mode 100755 Tests/Interfaces/Stack/1.crow delete mode 100755 Tests/Interfaces/Stack/1h.crow delete mode 100755 Tests/Interfaces/Stack/2.crow delete mode 100755 Tests/Interfaces/Stack/2h.crow delete mode 100755 Tests/Interfaces/Stack/3.crow delete mode 100755 Tests/Interfaces/Stack/3h.crow delete mode 100755 Tests/Interfaces/Stack/4.crow delete mode 100644 Tests/Interfaces/TabItem.template delete mode 100755 Tests/Interfaces/TemplatedContainer/0.crow delete mode 100755 Tests/Interfaces/TemplatedContainer/6.crow delete mode 100755 Tests/Interfaces/TemplatedContainer/7.crow delete mode 100755 Tests/Interfaces/TemplatedContainer/testGroupBox.crow delete mode 100755 Tests/Interfaces/TemplatedContainer/testMsgBox.crow delete mode 100755 Tests/Interfaces/TemplatedContainer/testPopper.crow delete mode 100644 Tests/Interfaces/TemplatedContainer/testTabView.crow delete mode 100644 Tests/Interfaces/TemplatedContainer/testTabView2.crow delete mode 100755 Tests/Interfaces/TemplatedContainer/testTreeView.crow delete mode 100755 Tests/Interfaces/TemplatedContainer/testWindow.goml delete mode 100755 Tests/Interfaces/TemplatedContainer/testWindow2.goml delete mode 100755 Tests/Interfaces/TemplatedContainer/testWindow3.goml delete mode 100755 Tests/Interfaces/TemplatedContainer/test_Listbox.crow delete mode 100755 Tests/Interfaces/TemplatedControl/testButton.crow delete mode 100755 Tests/Interfaces/TemplatedControl/testCheckbox.crow delete mode 100755 Tests/Interfaces/TemplatedControl/testCombobox.crow delete mode 100755 Tests/Interfaces/TemplatedControl/testItemTemplateTag.crow delete mode 100755 Tests/Interfaces/TemplatedControl/testRadioButton.crow delete mode 100755 Tests/Interfaces/TemplatedControl/testScrollbar.crow delete mode 100755 Tests/Interfaces/TemplatedControl/testSpinner.crow delete mode 100755 Tests/Interfaces/TemplatedGroup/0.crow delete mode 100755 Tests/Interfaces/TemplatedGroup/1.crow delete mode 100755 Tests/Interfaces/TemplatedGroup/2.crow delete mode 100755 Tests/Interfaces/TmpExpandable.goml delete mode 100755 Tests/Interfaces/Wrapper/1.1.crow delete mode 100755 Tests/Interfaces/Wrapper/1.crow delete mode 100755 Tests/Interfaces/Wrapper/2.1.crow delete mode 100755 Tests/Interfaces/Wrapper/2.2.crow delete mode 100755 Tests/Interfaces/Wrapper/2.crow delete mode 100755 Tests/Interfaces/basicTests/7.crow delete mode 100755 Tests/Interfaces/colorItem.crow delete mode 100755 Tests/Interfaces/colorItem2.crow delete mode 100755 Tests/Interfaces/itemTmp.goml delete mode 100755 Tests/Interfaces/log.xml delete mode 100755 Tests/Interfaces/perfMsr.crow delete mode 100755 Tests/Interfaces/testMeter.goml delete mode 100755 Tests/Interfaces/testWindow.goml.sav delete mode 100755 Tests/Interfaces/tmpDirItem.goml delete mode 100755 Tests/Interfaces/tmpMembers.goml delete mode 100755 Tests/Interfaces/treeList.crow delete mode 100644 Tests/Showcase.cs delete mode 100644 Tests/Tests.NetStd.csproj delete mode 100644 Tests/Tests.csproj delete mode 100755 Tests/image/Mana.svg delete mode 100644 Tests/image/blank-file.svg delete mode 100644 Tests/image/crow0.svg delete mode 100644 Tests/image/folder0.svg delete mode 100644 Tests/image/folder1.svg delete mode 100755 Tests/image/tetra.png delete mode 100755 Tests/image/textest.png delete mode 100644 Tests/image/u.svg delete mode 100644 Tests/keysyms.cs delete mode 100644 Tests/test.style delete mode 100644 Tests/testClass.cs delete mode 100644 Tests/ui/LabelButton.style delete mode 100644 Tests/ui/MenuItem.style delete mode 100644 Tests/ui/MenuItem.template delete mode 100755 Tests/ui/Popper.template delete mode 100644 Tests/ui/TreeExpandable.template delete mode 100755 Tests/ui/dbgLog.crow delete mode 100755 Tests/ui/dbgLogColors.crow delete mode 100755 Tests/ui/showcase.crow delete mode 100755 Tests/ui/test.crow delete mode 100644 Tests/ui/test.style delete mode 100755 Tests/ui/tmpWindow.crow create mode 100644 unitTests/TestBackend.cs diff --git a/.gitignore b/.gitignore index d68b5a50..bff27cf1 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ packages src/GraphicObjects/Panel.cs src/GraphicObjects/VerticalWrappingWidget.cs src/GraphicObjects/HorizontalWrappingWidget.cs +TestResult.xml diff --git a/Crow.ControlsLib/Templates/AnalogMeter0.goml b/Crow.ControlsLib/Templates/AnalogMeter0.goml old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/Checkbox2.goml b/Crow.ControlsLib/Templates/Checkbox2.goml old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/DockingView.template b/Crow.ControlsLib/Templates/DockingView.template old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/ListBox.template b/Crow.ControlsLib/Templates/ListBox.template old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/Popper.template b/Crow.ControlsLib/Templates/Popper.template old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/RadioButton.template b/Crow.ControlsLib/Templates/RadioButton.template old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/ScrollBar.template b/Crow.ControlsLib/Templates/ScrollBar.template old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/Slider.template b/Crow.ControlsLib/Templates/Slider.template old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/Spinner (copier).goml b/Crow.ControlsLib/Templates/Spinner (copier).goml old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/Spinner.template b/Crow.ControlsLib/Templates/Spinner.template old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/ToolWindow.template b/Crow.ControlsLib/Templates/ToolWindow.template old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/Window.template b/Crow.ControlsLib/Templates/Window.template old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/imgItemTemplate.goml b/Crow.ControlsLib/Templates/imgItemTemplate.goml old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/tmpDirItem.goml b/Crow.ControlsLib/Templates/tmpDirItem.goml old mode 100755 new mode 100644 diff --git a/Crow.ControlsLib/Templates/treeList.crow b/Crow.ControlsLib/Templates/treeList.crow old mode 100755 new mode 100644 diff --git a/Crow.sln b/Crow.sln index df89d910..428cd52f 100644 --- a/Crow.sln +++ b/Crow.sln @@ -15,6 +15,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrowIDE", "CrowIDE\CrowIDE. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "unitTests", "unitTests\unitTests.csproj", "{0CC6DFAB-2E4A-4786-976C-89053D5EA6A2}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BasicTests", "Samples\BasicTests\BasicTests.csproj", "{7AEB6DD5-916E-4415-84E1-78EC6E5881CE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -39,6 +41,11 @@ Global {1E5C7065-28F9-4A1A-A2FB-DB5E03A63CB3}.Release|Any CPU.ActiveCfg = Release|Any CPU {0CC6DFAB-2E4A-4786-976C-89053D5EA6A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0CC6DFAB-2E4A-4786-976C-89053D5EA6A2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0CC6DFAB-2E4A-4786-976C-89053D5EA6A2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7AEB6DD5-916E-4415-84E1-78EC6E5881CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7AEB6DD5-916E-4415-84E1-78EC6E5881CE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7AEB6DD5-916E-4415-84E1-78EC6E5881CE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7AEB6DD5-916E-4415-84E1-78EC6E5881CE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution Policies = $0 @@ -82,5 +89,6 @@ Global {F535A8AB-CD93-49AB-B1B0-FFF9AE51ED6A} = {B2C7855A-2878-47FD-AD32-9A83DB4AB8C6} {56329D48-D382-4850-93DE-59C453894E8A} = {B2C7855A-2878-47FD-AD32-9A83DB4AB8C6} {91F1CE07-EECE-4F1D-A3EE-7239B563654A} = {B2C7855A-2878-47FD-AD32-9A83DB4AB8C6} + {7AEB6DD5-916E-4415-84E1-78EC6E5881CE} = {B2C7855A-2878-47FD-AD32-9A83DB4AB8C6} EndGlobalSection EndGlobal diff --git a/Crow/Crow.csproj b/Crow/Crow.csproj index 85b4ae96..36349716 100644 --- a/Crow/Crow.csproj +++ b/Crow/Crow.csproj @@ -1,8 +1,8 @@ - netstandard2.0 - + + net472 0.8.0 $(ReleaseVersion) @@ -20,7 +20,9 @@ https://opensource.org/licenses/MIT crow.png Copyright 2013-2019 - + + This release should solve most of ms dotnet exception, the win32 backend is + still untested. Next beta will have a glfw backend. True @@ -37,12 +39,13 @@ full - DEBUG;TRACE;_DEBUG_DISPOSE;_DEBUG_BINDING;DESIGN_MODE;_DEBUG_CLIP_RECTANGLE;_DEBUG_FOCUS;_DEBUG_DRAGNDROP + DEBUG;TRACE;_DEBUG_DISPOSE;_DEBUG_BINDING;DESIGN_MODE;_DEBUG_CLIP_RECTANGLE;_DEBUG_FOCUS;_DEBUG_DRAGNDROP;_DEBUG_LOG true + diff --git a/Crow/Icons/IconAlerte.svg b/Crow/Icons/IconAlerte.svg old mode 100755 new mode 100644 diff --git a/Crow/Images/Icons/buttonB.svg b/Crow/Images/Icons/buttonB.svg old mode 100755 new mode 100644 diff --git a/Crow/Images/meter.svg b/Crow/Images/meter.svg old mode 100755 new mode 100644 diff --git a/Crow/Templates/ArrowBut.template b/Crow/Templates/ArrowBut.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/Button.template b/Crow/Templates/Button.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/CheckBox.template b/Crow/Templates/CheckBox.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/ColorPicker.template b/Crow/Templates/ColorPicker.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/ColorPicker2.template b/Crow/Templates/ColorPicker2.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/ComboBox.template b/Crow/Templates/ComboBox.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/DefaultItem.template b/Crow/Templates/DefaultItem.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/DirectoryView.template b/Crow/Templates/DirectoryView.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/DockWindow.template b/Crow/Templates/DockWindow.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/EnumSelector.template b/Crow/Templates/EnumSelector.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/Expandable.template b/Crow/Templates/Expandable.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/GroupBox.template b/Crow/Templates/GroupBox.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/HScrollBar.template b/Crow/Templates/HScrollBar.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/ListBox.template b/Crow/Templates/ListBox.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/Popper.template b/Crow/Templates/Popper.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/RadioButton.template b/Crow/Templates/RadioButton.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/ScrollBar.template b/Crow/Templates/ScrollBar.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/Slider.template b/Crow/Templates/Slider.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/Spinner.template b/Crow/Templates/Spinner.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/ToolWindow.template b/Crow/Templates/ToolWindow.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/Window.template b/Crow/Templates/Window.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/imgItem.template b/Crow/Templates/imgItem.template old mode 100755 new mode 100644 diff --git a/Crow/Templates/treeList.template b/Crow/Templates/treeList.template old mode 100755 new mode 100644 diff --git a/Crow/src/Enums.cs b/Crow/src/Enums.cs index ea163608..4c55d451 100644 --- a/Crow/src/Enums.cs +++ b/Crow/src/Enums.cs @@ -86,12 +86,20 @@ namespace Crow SW, SE, } + /// + /// Cursor shape use in Sliders + /// public enum CursorType { + /// Only Background of cursor will be drawm, you may use a bmp, svg, or shape as background for custom shape. + None, Rectangle, Circle, Pentagone } + /// + /// Color component used in color widgets + /// public enum ColorComponent { Red, diff --git a/Crow/src/Interface.cs b/Crow/src/Interface.cs index 9a94d703..d201a714 100644 --- a/Crow/src/Interface.cs +++ b/Crow/src/Interface.cs @@ -83,17 +83,19 @@ namespace Crow FontRenderingOptions.HintStyle = HintStyle.Full; FontRenderingOptions.SubpixelOrder = SubpixelOrder.Default; } - - public Interface(int width=800, int height=600, IBackend _backend = null){ + public Interface(int width=800, int height=600, IBackend _backend = null, bool startUIThread = true) { CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture; CurrentInterface = this; clientRectangle = new Rectangle (0, 0, width, height); backend = _backend; - Thread t = new Thread (InterfaceThread) { - IsBackground = true - }; - t.Start (); + if (startUIThread) { + Thread t = new Thread (InterfaceThread) { + IsBackground = true + }; + t.Start (); + } + #if MEASURE_TIME PerfMeasures.Add (updateMeasure); PerfMeasures.Add (drawingMeasure); @@ -404,7 +406,7 @@ namespace Crow if (path.StartsWith ("#", StringComparison.Ordinal)) { string resId = path.Substring (1); - stream = Assembly.GetEntryAssembly ().GetManifestResourceStream (resId); + stream = Assembly.GetEntryAssembly ()?.GetManifestResourceStream (resId); if (stream != null) return stream; string assemblyName = resId.Split ('.') [0]; @@ -474,13 +476,11 @@ namespace Crow /// path of the iml file to load public Widget Load (string path) { - Monitor.Enter (UpdateMutex); - - Widget tmp = CreateInstance (path); - AddWidget (tmp); - - Monitor.Exit (UpdateMutex); - return tmp; + lock (UpdateMutex) { + Widget tmp = CreateInstance (path); + AddWidget (tmp); + return tmp; + } } /// /// Create an instance of a GraphicObject linked to this interface but not added to the GraphicTree @@ -489,11 +489,11 @@ namespace Crow /// path of the iml file to load public virtual Widget CreateInstance (string path) { - //try { + try { return GetInstantiator (path).CreateInstance (); - //} catch (Exception ex) { - // throw new Exception ("Error loading <" + path + ">:", ex); - //} + } catch (Exception ex) { + throw new Exception ("Error loading <" + path + ">:", ex); + } } /// /// Create an instance of a GraphicObject linked to this interface but not added to the GraphicTree @@ -1148,25 +1148,36 @@ namespace Crow return true; } - public virtual void OnKeyPress (char c) + public virtual bool OnKeyPress (char c) { - _focusedWidget?.onKeyPress (_focusedWidget, new KeyPressEventArgs (c)); + if (_focusedWidget == null) + return false; + _focusedWidget.onKeyPress (_focusedWidget, new KeyPressEventArgs (c)); + return true; } - public virtual void OnKeyUp (Key key) + public virtual bool OnKeyUp (Key key) { - _focusedWidget?.onKeyUp (_focusedWidget, new KeyEventArgs (key, false)); + if (_focusedWidget == null) + return false; + _focusedWidget.onKeyUp (_focusedWidget, new KeyEventArgs (key, false)); + return true; + + // if (keyboardRepeatThread != null) { // keyboardRepeatOn = false; // keyboardRepeatThread.Abort(); // keyboardRepeatThread.Join (); // } } - public virtual void OnKeyDown (Key key) + public virtual bool OnKeyDown (Key key) { //Keyboard.SetKeyState((Crow.Key)Key,true); lastKeyDownEvt = new KeyEventArgs (key, true); - _focusedWidget?.onKeyDown (_focusedWidget, new KeyEventArgs (key, false)); + if (_focusedWidget == null) + return false; + _focusedWidget.onKeyDown (_focusedWidget, new KeyEventArgs (key, false)); + return true; // keyboardRepeatThread = new Thread (keyboardRepeatThreadFunc); // keyboardRepeatThread.IsBackground = true; diff --git a/Crow/src/LayoutingQueueItem.cs b/Crow/src/LayoutingQueueItem.cs index 98c04ecc..23556d2b 100644 --- a/Crow/src/LayoutingQueueItem.cs +++ b/Crow/src/LayoutingQueueItem.cs @@ -1,28 +1,6 @@ -// -// LayoutingQueueItem.cs +// Copyright (c) 2013-2020 Jean-Philippe Bruyère // -// Author: -// Jean-Philippe Bruyère -// -// Copyright (c) 2013-2017 Jean-Philippe Bruyère -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. +// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) using System; using System.Diagnostics; @@ -67,8 +45,8 @@ namespace Crow Deleted, } public Result result; - public GraphicObject graphicObject { - get { return Layoutable as GraphicObject; } + public Widget graphicObject { + get { return Layoutable as Widget; } } public string Name { get { return graphicObject.Name; } @@ -94,8 +72,8 @@ namespace Crow LayoutingTries = 0; DiscardCount = 0; #if DEBUG_LOG - Slot = Rectangle.Empty; - NewSlot = Rectangle.Empty; + Slot = Rectangle.Zero; + NewSlot = Rectangle.Zero; result = Result.Register; DebugLog.AddEvent (DbgEvtType.GORegisterLayouting, this); #endif diff --git a/Crow/src/Widgets/PrivateContainer.cs b/Crow/src/Widgets/PrivateContainer.cs index 9f2dbdc5..fc5cb348 100644 --- a/Crow/src/Widgets/PrivateContainer.cs +++ b/Crow/src/Widgets/PrivateContainer.cs @@ -36,7 +36,7 @@ namespace Crow #endif protected Widget child; #if DEBUG_LOG - internal GraphicObject getTemplateRoot { + internal Widget getTemplateRoot { get { return child; } } #endif diff --git a/Crow/src/Widgets/Slider.cs b/Crow/src/Widgets/Slider.cs index c4caadb7..54ad33fa 100644 --- a/Crow/src/Widgets/Slider.cs +++ b/Crow/src/Widgets/Slider.cs @@ -3,6 +3,7 @@ // This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) using Crow.Cairo; +using System; using System.ComponentModel; namespace Crow @@ -37,6 +38,7 @@ namespace Crow int _cursorSize; Fill _cursorColor; Orientation _orientation; + CursorType cursorType; bool holdCursor = false; #endregion @@ -78,20 +80,19 @@ namespace Crow NotifyValueChanged ("Orientation", _orientation); } } + [DefaultValue (CursorType.Rectangle)] + public CursorType CursorType { + get => cursorType; + set { + if (cursorType == value) + return; + cursorType = value; + NotifyValueChanged ("CursorType", cursorType); + RegisterForRedraw (); + } + } #endregion - //[DefaultValue(10.0)] - //public override double Maximum { - // get { return base.Maximum; } - // set { - // if (value == base.Maximum) - // return; - // base.Maximum = value; - // LargeIncrement = base.Maximum / 10.0; - // SmallIncrement = LargeIncrement / 5.0; - // } - //} - #region GraphicObject Overrides protected override void onDraw (Context gr) { @@ -141,14 +142,26 @@ namespace Crow } protected virtual void DrawCursor(Context gr, Rectangle _cursor) { - CairoHelpers.CairoRectangle (gr, _cursor, CornerRadius); - Foreground.SetAsSource(gr, _cursor); - gr.StrokePreserve(); - CursorColor.SetAsSource(gr, _cursor); + if (cursorType != CursorType.None) { + switch (CursorType) { + case CursorType.Rectangle: + CairoHelpers.CairoRectangle (gr, _cursor, CornerRadius); + break; + case CursorType.Circle: + gr.Arc (_cursor.CenterD, 0.5 * _cursorSize, 0, Math.PI * 2.0); + break; + case CursorType.Pentagone: + break; + } + Foreground.SetAsSource (gr, _cursor); + gr.StrokePreserve (); + } + + CursorColor.SetAsSource(gr, _cursor); gr.Fill(); } - void computeCursorPosition() + void computeCursorPosition () { Rectangle r = ClientRectangle; PointD p1; @@ -229,5 +242,5 @@ namespace Crow base.onMouseMove (sender, e); } #endregion - } + } } diff --git a/Crow/src/Widgets/TemplatedControl.cs b/Crow/src/Widgets/TemplatedControl.cs index 962337de..32796c8a 100644 --- a/Crow/src/Widgets/TemplatedControl.cs +++ b/Crow/src/Widgets/TemplatedControl.cs @@ -118,7 +118,7 @@ namespace Crow if (!IFace.DefaultTemplates.ContainsKey (mdTok)) { string defTmpId = this.GetType ().FullName + ".template"; - Stream s = Assembly.GetEntryAssembly ().GetManifestResourceStream (defTmpId); + Stream s = Assembly.GetEntryAssembly ()?.GetManifestResourceStream (defTmpId); if (s == null) s = Assembly.GetAssembly (this.GetType ()).GetManifestResourceStream (defTmpId); if (s == null) diff --git a/Crow/src/Widgets/Widget.cs b/Crow/src/Widgets/Widget.cs index fee189b7..0ca6598b 100644 --- a/Crow/src/Widgets/Widget.cs +++ b/Crow/src/Widgets/Widget.cs @@ -176,7 +176,7 @@ namespace Crow #endregion #if DEBUG_LOG - internal static List GraphicObjects = new List(); + internal static List GraphicObjects = new List(); #endif //internal bool isPopup = false; diff --git a/Crow/src/backends/xlib/X11Keyboard.cs b/Crow/src/backends/xlib/X11Keyboard.cs index c73a2ee2..ebb24ddc 100644 --- a/Crow/src/backends/xlib/X11Keyboard.cs +++ b/Crow/src/backends/xlib/X11Keyboard.cs @@ -1,28 +1,7 @@ -// -// XCBKeyboard.cs +// Copyright (c) 2013-2020 Jean-Philippe Bruyère // -// Author: -// Jean-Philippe Bruyère -// -// Copyright (c) 2013-2017 Jean-Philippe Bruyère -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. +// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) + using System; using System.Runtime.InteropServices; diff --git a/Crow/src/backends/xlib/XLibBackend.cs b/Crow/src/backends/xlib/XLibBackend.cs index 544296a3..6b11d3db 100644 --- a/Crow/src/backends/xlib/XLibBackend.cs +++ b/Crow/src/backends/xlib/XLibBackend.cs @@ -1,28 +1,7 @@ -// -// XLibBackend.cs +// Copyright (c) 2020 Jean-Philippe Bruyère // -// Author: -// Jean-Philippe Bruyère -// -// Copyright (c) 2013-2017 Jean-Philippe Bruyère -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. +// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) + using System; using System.Diagnostics; using System.Runtime.InteropServices; diff --git a/Crow/src/debug/DbgEventTypeColors.cs b/Crow/src/debug/DbgEventTypeColors.cs index 1936704e..fdcfbd94 100644 --- a/Crow/src/debug/DbgEventTypeColors.cs +++ b/Crow/src/debug/DbgEventTypeColors.cs @@ -30,7 +30,7 @@ using System.Linq; namespace Crow { #if DEBUG_LOG - public class DbgEventTypeColors : GraphicObject + public class DbgEventTypeColors : Widget { protected override void onDraw (Context gr) { diff --git a/Crow/src/debug/DebugLogger.cs b/Crow/src/debug/DebugLogger.cs index f1eaf9c8..bfe1948f 100644 --- a/Crow/src/debug/DebugLogger.cs +++ b/Crow/src/debug/DebugLogger.cs @@ -91,15 +91,15 @@ namespace Crow public override string ToString () { - GraphicObject go = data as GraphicObject; + Widget go = data as Widget; if (go != null) - return string.Format ("{0};{1};{2};{3}", begin, end, type, GraphicObject.GraphicObjects.IndexOf(go).ToString()); + return string.Format ("{0};{1};{2};{3}", begin, end, type, Widget.GraphicObjects.IndexOf(go).ToString()); if (!(data is LayoutingQueueItem)) return string.Format ("{0};{1};{2}", begin, end, type); LayoutingQueueItem lqi = (LayoutingQueueItem)data; if (type == DbgEvtType.GOProcessLayouting) - return string.Format ("{0};{1};{2};{3};{4};{5}", begin, end, type, GraphicObject.GraphicObjects.IndexOf(lqi.graphicObject).ToString(), lqi.LayoutType.ToString(), lqi.result.ToString()); - return string.Format ("{0};{1};{2};{3};{4}", begin, end, type, GraphicObject.GraphicObjects.IndexOf(lqi.graphicObject).ToString(), lqi.LayoutType.ToString()); + return string.Format ("{0};{1};{2};{3};{4};{5}", begin, end, type, Widget.GraphicObjects.IndexOf(lqi.graphicObject).ToString(), lqi.LayoutType.ToString(), lqi.result.ToString()); + return string.Format ("{0};{1};{2};{3};{4}", begin, end, type, Widget.GraphicObjects.IndexOf(lqi.graphicObject).ToString(), lqi.LayoutType.ToString()); } } @@ -127,7 +127,7 @@ namespace Crow static int y, level; - static void parseTree (GraphicObject go) { + static void parseTree (Widget go) { if (go == null) return; @@ -137,7 +137,7 @@ namespace Crow Group gr = go as Group; if (gr != null) { - foreach (GraphicObject g in gr.Children) { + foreach (Widget g in gr.Children) { parseTree (g); } } else { @@ -152,15 +152,15 @@ namespace Crow y = 1; level = 0; - foreach (GraphicObject go in iface.GraphicTree) + foreach (Widget go in iface.GraphicTree) parseTree (go); using (StreamWriter s = new StreamWriter("debug.log")){ s.WriteLine ("[GraphicObjects]"); - lock (GraphicObject.GraphicObjects) { - GraphicObject.GraphicObjects = GraphicObject.GraphicObjects.OrderBy (o => o.yIndex).ToList(); - for (int i = 0; i < GraphicObject.GraphicObjects.Count; i++) { - GraphicObject g = GraphicObject.GraphicObjects [i]; + lock (Widget.GraphicObjects) { + Widget.GraphicObjects = Widget.GraphicObjects.OrderBy (o => o.yIndex).ToList(); + for (int i = 0; i < Widget.GraphicObjects.Count; i++) { + Widget g = Widget.GraphicObjects [i]; s.WriteLine ("{0};{1};{2};{3}", i, g.GetType ().Name, g.yIndex, g.xLevel); } } diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs old mode 100755 new mode 100644 diff --git a/Samples/BasicTests/BasicTests.cs b/Samples/BasicTests/BasicTests.cs new file mode 100644 index 00000000..1360b652 --- /dev/null +++ b/Samples/BasicTests/BasicTests.cs @@ -0,0 +1,220 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using Crow; + +namespace tests +{ + public class BasicTests : Interface + { + [STAThread] + static void Main () + { + using (BasicTests app = new BasicTests ()) { + app.Run (); + } + } + + protected override void Startup () + { + Commands = new List (new Crow.Command [] { + new Crow.Command(new Action(() => command1())) { Caption = "command1"}, + new Crow.Command(new Action(() => command2())) { Caption = "command2"}, + new Crow.Command(new Action(() => command3())) { Caption = "command3"}, + new Crow.Command(new Action(() => command4())) { Caption = "command4"}, + }); + + // += KeyboardKeyDown1; + + //testFiles = new string [] { @"Interfaces/Experimental/testDock.crow" }; + testFiles = new string [] { @"Interfaces/Divers/welcome.crow" }; + //testFiles = new string [] { @"Interfaces/Divers/testSlider.crow" }; + //testFiles = new string [] { @"Interfaces/Divers/colorPicker.crow" }; + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/GraphicObject", "*.crow")).ToArray (); + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Container", "*.crow")).ToArray (); + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Group", "*.crow")).ToArray (); + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Stack", "*.crow")).ToArray (); + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/TemplatedControl", "*.crow")).ToArray (); + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/TemplatedContainer", "*.crow")).ToArray (); + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/TemplatedGroup", "*.crow")).ToArray (); + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Splitter", "*.crow")).ToArray (); + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Wrapper", "*.crow")).ToArray (); + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Divers", "*.crow")).ToArray (); + testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/DragAndDrop", "*.crow")).ToArray (); + //testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Experimental", "*.crow")).ToArray (); + + Load (testFiles [idx]).DataSource = this; + } + + int idx = 0; + string [] testFiles; + + public Version CrowVersion { + get { + return System.Reflection.Assembly.GetAssembly (typeof (Widget)).GetName ().Version; + } + } + + public override bool OnKeyDown (Key key) + { + try { + switch (key) { + case Key.Escape: + Quit (); + break; + case Key.F2: + idx--; + break; + case Key.F3: + idx++; + break; + case Key.F1: + TestList.Add ("new string"); + NotifyValueChanged ("TestList", TestList); + break; + case Key.F4: + Load ("Interfaces/TemplatedContainer/testWindow.goml").DataSource = this; + return false; + case Key.F5: + Load ("Interfaces/Divers/testFileDialog.crow").DataSource = this; + return false; + case Key.F6: + Load ("Interfaces/Divers/0.crow").DataSource = this; + return false; + case Key.F7: + Load ("Interfaces/Divers/perfMeasures.crow").DataSource = this; + return false; + default: + return base.OnKeyDown (key); + } + + ClearInterface (); + + if (idx == testFiles.Length) + idx = 0; + else if (idx < 0) + idx = testFiles.Length - 1; + + Console.WriteLine ($"Loading {testFiles [idx]}."); + + Load (testFiles [idx]).DataSource = this; + } catch (Exception ex) { + (LoadIMLFragment ($"